{
"info": {
"author": "David A Krauth",
"author_email": "dakrauth@gmail.com",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 5 - Production/Stable",
"Environment :: Web Environment",
"Framework :: Django",
"Framework :: Django :: 2.0",
"Framework :: Django :: 2.1",
"Framework :: Django :: 2.2",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Topic :: Office/Business :: Scheduling"
],
"description": "Django Swingtime\n================\n\n.. image:: https://travis-ci.org/dakrauth/django-swingtime.svg?branch=master\n :target: https://travis-ci.org/dakrauth/django-swingtime\n\n.. image:: https://badge.fury.io/py/django-swingtime.svg\n :target: http://badge.fury.io/py/django-swingtime\n\n:Version: 1.1.0\n:Demo: https://nerdfog.com/swingtime/\n:Download: https://pypi.org/project/django-swingtime/\n:Source: https://github.com/dakrauth/django-swingtime\n:Documentation: http://dakrauth.github.io/django-swingtime/ \n\n\nWelcome\n-------\n\nSwingtime is a `Django `_ application similar to\na stripped-down version of iCal for Mac OS X or Google Calendar.\n\nSwingtime provides a ``models.Event`` model that acts as metadata container\nfor one or more ``models.Occurrence`` objects, which describe specific\nstart and end times.\n\nSwingtime relies heavily upon both the ``datetime`` standard library package and\nthe ``dateutil`` package, featuring direct support for the ``dateutil.rrule``\ninterface to create occurrences.\n\nA fairly simple example:\n\n.. code:: python\n\n >>> from datetime import *\n >>> from swingtime import models as swingtime\n >>> et = swingtime.EventType.objects.create(abbr='work', label='Work Related Events')\n >>> evt = swingtime.Event.objects.create(\n ... title='New TPS Cover Sheet',\n ... description='Kiss off, Lumbergh!',\n ... event_type=et\n ... )\n >>> evt.add_occurrences(datetime(2018,3,18,16), datetime(2018,3,18,16,15), count=5)\n >>> for o in evt.occurrence_set.all():\n ... print(o)\n ...\n New TPS Cover Sheet: 2018-03-18T16:00:00\n New TPS Cover Sheet: 2018-03-19T16:00:00\n New TPS Cover Sheet: 2018-03-20T16:00:00\n New TPS Cover Sheet: 2018-03-21T16:00:00\n New TPS Cover Sheet: 2018-03-22T16:00:00\n\nA bit more elaborate example, using the the convenience function ``models.create_event``:\n\n.. code:: python\n\n >>> # pay day is the last Friday of the month at 5pm\n >>> evt = swingtime.create_event(\n ... 'Pay day',\n ... ('pay', 'Payroll'), # alternate means to add EventType on the fly\n ... freq=rrule.MONTHLY,\n ... byweekday=rrule.FR(-1),\n ... until=datetime(2013,8,1),\n ... start_time=datetime(2013,4,1,17)\n ... )\n >>> for o in evt.occurrence_set.all():\n ... print(o)\n ...\n Pay day: 2013-04-26T17:00:00\n Pay day: 2013-05-31T17:00:00\n Pay day: 2013-06-28T17:00:00\n Pay day: 2013-07-26T17:00:00\n\nDemo\n----\n\nTo view a demo, `click here `_.\n\nTo run a local demo using Docker, do the following:\n\n.. code:: bash\n\n $ docker build -t swingtime .\n $ docker run -p 8000:80 -d swingtime:latest\n\nAnd browse to `localhost:8000 `_.\n\n\nFeatures\n--------\n\n* Support for adding complex event occurrences via ``dateutil``\n* Ready-made ``forms.MultipleOccurrenceForm`` for handling complex input\n* Daily, monthly, and annual view functions\n* Grid-based daily view generator, complete with alternating or sequential\n ``EventType`` CSS-class handling\n* Slightly better than average documentation, a few test cases, and commented code\n* Active support (I have to eat my own dogfood)\n* Built-in demo project / application\n\nRequirements\n------------\n\n* Python 3.5+\n* `Django 2.0+ `_\n* `python-dateutil `_.\n\n\n\n",
"description_content_type": "text/x-rst",
"docs_url": "https://pythonhosted.org/django-swingtime/",
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/dakrauth/django-swingtime",
"keywords": "",
"license": "MIT License",
"maintainer": "",
"maintainer_email": "",
"name": "django-swingtime",
"package_url": "https://pypi.org/project/django-swingtime/",
"platform": "any",
"project_url": "https://pypi.org/project/django-swingtime/",
"project_urls": {
"Homepage": "https://github.com/dakrauth/django-swingtime"
},
"release_url": "https://pypi.org/project/django-swingtime/1.1.0/",
"requires_dist": [
"Django (<3.1,>=2.0)",
"python-dateutil (==2.8.0)"
],
"requires_python": ">=3.5, <4",
"summary": "A Django calendaring application.",
"version": "1.1.0"
},
"last_serial": 5998024,
"releases": {
"0.4": [
{
"comment_text": "",
"digests": {
"md5": "26f29a3951db5243cc5f3f4cac0cf55d",
"sha256": "e1d305fc996449423e148374e8c7652707e5b9aa44ce39fa67fd60953828b427"
},
"downloads": -1,
"filename": "django-swingtime-0.4.tar.gz",
"has_sig": false,
"md5_digest": "26f29a3951db5243cc5f3f4cac0cf55d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 15413,
"upload_time": "2014-09-18T14:44:45",
"url": "https://files.pythonhosted.org/packages/ab/cb/3887a91b03318599be744387319a15273db0e5a2e04a34556b1637361569/django-swingtime-0.4.tar.gz"
}
],
"0.4.1": [
{
"comment_text": "",
"digests": {
"md5": "1ae859fef95ac8a26747860b2313c25e",
"sha256": "d630333e74098950beafa02408fb3367fb6f67783babc35ba772517e3ae719d0"
},
"downloads": -1,
"filename": "django-swingtime-0.4.1.tar.gz",
"has_sig": false,
"md5_digest": "1ae859fef95ac8a26747860b2313c25e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 15494,
"upload_time": "2015-02-10T20:15:59",
"url": "https://files.pythonhosted.org/packages/d2/d5/320279baefab104e68de36b73c7b54963a36925dc853f3e246d7385d9068/django-swingtime-0.4.1.tar.gz"
}
],
"0.5": [
{
"comment_text": "",
"digests": {
"md5": "6a828aa6fbbfd9a2d258be37662935f7",
"sha256": "47263c30477f941ceaefe90c231fc331943678e2f9a988fe9bc487cafefedc64"
},
"downloads": -1,
"filename": "django-swingtime-0.5.tar.gz",
"has_sig": false,
"md5_digest": "6a828aa6fbbfd9a2d258be37662935f7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 31228,
"upload_time": "2015-02-11T14:11:12",
"url": "https://files.pythonhosted.org/packages/96/cd/333d86d8d5f782cd0fdf1f46fcbece80c805b8aa1c24b311034bc4fed587/django-swingtime-0.5.tar.gz"
}
],
"0.6": [
{
"comment_text": "",
"digests": {
"md5": "af7746991c9eb20114451680c311bc17",
"sha256": "6e3501356f0643b104e652ae598a682cd0ab29c6b8cf14181a14ee6fabf58b4e"
},
"downloads": -1,
"filename": "django-swingtime-0.6.tar.gz",
"has_sig": false,
"md5_digest": "af7746991c9eb20114451680c311bc17",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 31959,
"upload_time": "2015-04-05T10:21:03",
"url": "https://files.pythonhosted.org/packages/39/f1/f27f1a999f9d40c5645884450e15d9ab90b3b14e808196b33d1800c0750f/django-swingtime-0.6.tar.gz"
}
],
"0.6.1": [
{
"comment_text": "",
"digests": {
"md5": "02b7f440ee440eeca62567fefbf924a5",
"sha256": "f364d653bd003f2945ad013e909f95c0cc0fb49c7225d01c06bda5113fe5d86d"
},
"downloads": -1,
"filename": "django-swingtime-0.6.1.tar.gz",
"has_sig": false,
"md5_digest": "02b7f440ee440eeca62567fefbf924a5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 31873,
"upload_time": "2015-11-17T16:24:11",
"url": "https://files.pythonhosted.org/packages/23/de/d1ef62a42d38b5fa5df54ef4a848e6bcd22a143fec7e63a2be869f722f22/django-swingtime-0.6.1.tar.gz"
}
],
"0.6.2": [
{
"comment_text": "",
"digests": {
"md5": "998b0d000cae674ead8c503882307425",
"sha256": "2a20050e380d25ad0ff046e86faafe69d56dccc5406805f3e7b7fd419df51279"
},
"downloads": -1,
"filename": "django-swingtime-0.6.2.tar.gz",
"has_sig": false,
"md5_digest": "998b0d000cae674ead8c503882307425",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 31910,
"upload_time": "2015-11-18T22:14:47",
"url": "https://files.pythonhosted.org/packages/13/29/b6b8ae137f8d71d3232760266edbfb2f58dec354b20645a2c0b54c29ef84/django-swingtime-0.6.2.tar.gz"
}
],
"0.7.1": [
{
"comment_text": "",
"digests": {
"md5": "c8a466f2ff1793eed2321b573a3b1edb",
"sha256": "9c58532bbe3cb56e04d9364553d32a56ac5dc6f474f19e1bcd756cbeefb12ccb"
},
"downloads": -1,
"filename": "django-swingtime-0.7.1.tar.gz",
"has_sig": false,
"md5_digest": "c8a466f2ff1793eed2321b573a3b1edb",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 32898,
"upload_time": "2016-01-29T10:10:17",
"url": "https://files.pythonhosted.org/packages/54/e9/a5feb9a41a3c26d5d285754ab01f218deb4c40fa2b9cb92140af261d91d6/django-swingtime-0.7.1.tar.gz"
}
],
"0.8.0": [
{
"comment_text": "",
"digests": {
"md5": "784922ebbdba0d4bf08c25f6f8e73dfa",
"sha256": "271b6b95013da26e601597857be21887157ad41bdeb60ffcb4839277de504caf"
},
"downloads": -1,
"filename": "django-swingtime-0.8.0.tar.gz",
"has_sig": false,
"md5_digest": "784922ebbdba0d4bf08c25f6f8e73dfa",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 29132,
"upload_time": "2017-07-03T20:53:46",
"url": "https://files.pythonhosted.org/packages/d6/b1/020dae83690fd9bb643ea6078a6d5da0fc0e27716c79948cb8803e898ab8/django-swingtime-0.8.0.tar.gz"
}
],
"0.9.0": [
{
"comment_text": "",
"digests": {
"md5": "5b851a25116e9d10f0bafa7467dda6b6",
"sha256": "76535c2354f005782b8b96eb14affbbd674a4ad2537fcb843dd1ce452cdb37d3"
},
"downloads": -1,
"filename": "django-swingtime-0.9.0.tar.gz",
"has_sig": false,
"md5_digest": "5b851a25116e9d10f0bafa7467dda6b6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 18944,
"upload_time": "2018-01-07T16:06:58",
"url": "https://files.pythonhosted.org/packages/ed/8f/2f8f254b582dc0af51d23b4b717764995914991084576dbb9963ed25001e/django-swingtime-0.9.0.tar.gz"
}
],
"1.0.0": [
{
"comment_text": "",
"digests": {
"md5": "1190afafc76e1890856e6a7277f454b0",
"sha256": "b0266721859db0f184303fd06c79436bf41cfb375f7f4f9fbc047578518e0b6f"
},
"downloads": -1,
"filename": "django_swingtime-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1190afafc76e1890856e6a7277f454b0",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.4, <4",
"size": 19848,
"upload_time": "2019-02-02T21:33:33",
"url": "https://files.pythonhosted.org/packages/52/df/58a5d8d34d9d909bb2712bbe47b1c3769fbae23559846a3221f0b1b30a3b/django_swingtime-1.0.0-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "83516571aaaa67c83cd9f5338af5aad8",
"sha256": "053851df34a6369021bc4c89ac4cd24ca6b0aef60b7054cf0780c2ed1ad56365"
},
"downloads": -1,
"filename": "django-swingtime-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "83516571aaaa67c83cd9f5338af5aad8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.4, <4",
"size": 20059,
"upload_time": "2019-02-02T21:33:35",
"url": "https://files.pythonhosted.org/packages/93/80/814c32d3c662bfdc55982be1107d3429e41111d440cabcd9f91f9f7d3e02/django-swingtime-1.0.0.tar.gz"
}
],
"1.1.0": [
{
"comment_text": "",
"digests": {
"md5": "f39a0b36e47bab81d799a95ca518c937",
"sha256": "0dcb9b0f4a65804707a90b0a469e435ca13559cd9cfa954eadcedfc65d179a2d"
},
"downloads": -1,
"filename": "django_swingtime-1.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f39a0b36e47bab81d799a95ca518c937",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.5, <4",
"size": 19584,
"upload_time": "2019-10-18T23:24:02",
"url": "https://files.pythonhosted.org/packages/e3/b5/8b4d1c1553294aa600e010b5e898c2e2805517259f81cac6131ddb20dac3/django_swingtime-1.1.0-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "006a2a390d694d8fefb55d1997fa2c56",
"sha256": "6a39371936e9c5e3455e46f7169ef7cf5cb29dff9f6449eae5604ec7d71ee796"
},
"downloads": -1,
"filename": "django-swingtime-1.1.0.tar.gz",
"has_sig": false,
"md5_digest": "006a2a390d694d8fefb55d1997fa2c56",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.5, <4",
"size": 19476,
"upload_time": "2019-10-18T23:24:04",
"url": "https://files.pythonhosted.org/packages/8b/17/ae1a3e98c047b249cc6cbd751724886885aeb4715e7d805f4d23ceeec23e/django-swingtime-1.1.0.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "f39a0b36e47bab81d799a95ca518c937",
"sha256": "0dcb9b0f4a65804707a90b0a469e435ca13559cd9cfa954eadcedfc65d179a2d"
},
"downloads": -1,
"filename": "django_swingtime-1.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f39a0b36e47bab81d799a95ca518c937",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.5, <4",
"size": 19584,
"upload_time": "2019-10-18T23:24:02",
"url": "https://files.pythonhosted.org/packages/e3/b5/8b4d1c1553294aa600e010b5e898c2e2805517259f81cac6131ddb20dac3/django_swingtime-1.1.0-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "006a2a390d694d8fefb55d1997fa2c56",
"sha256": "6a39371936e9c5e3455e46f7169ef7cf5cb29dff9f6449eae5604ec7d71ee796"
},
"downloads": -1,
"filename": "django-swingtime-1.1.0.tar.gz",
"has_sig": false,
"md5_digest": "006a2a390d694d8fefb55d1997fa2c56",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.5, <4",
"size": 19476,
"upload_time": "2019-10-18T23:24:04",
"url": "https://files.pythonhosted.org/packages/8b/17/ae1a3e98c047b249cc6cbd751724886885aeb4715e7d805f4d23ceeec23e/django-swingtime-1.1.0.tar.gz"
}
]
}