Skip to main content

Python icalendar (rfc5545) parser

Project description

Original repository (GitHub) - Bugtracker and issues (GitHub) - PyPi package (ics) - Documentation (Read The Docs).

Apache 2 License

Ics.py is a pythonic and easy iCalendar library. Its goals are to read and write ics data in a developer friendly way.

iCalendar is a widely-used and useful format but not user friendly. Ics.py is there to give you the ability of creating and reading this format without any knowledge of it.

It should be able to parse every calendar that respects the rfc5545 and maybe some more… It also outputs rfc compliant calendars.

iCalendar (file extension .ics) is used by Google Calendar, Apple Calendar, Android and many more.

Ics.py is available for Python>=3.6 and is Apache2 Licensed.

Quickstart

$ pip install ics
from ics import Calendar, Event
c = Calendar()
e = Event()
e.name = "My cool event"
e.begin = '2014-01-01 00:00:00'
c.events.add(e)
c.events
# [<Event 'My cool event' begin:2014-01-01 00:00:00 end:2014-01-01 00:00:01>]
with open('my.ics', 'w') as my_file:
    my_file.writelines(c)
# and it's done !

More examples are available in the documentation.

Documentation

All the documentation is hosted on readthedocs.org and is updated automatically at every commit.

Contribute

Contribution are welcome of course! For more information, see contributing.

Testing & Docs

# setup virtual environment
$ sudo pip install virtualenv
$ virtualenv ve
$ source ve/bin/activate

# tests
$ pip install -r requirements.txt
$ pip install -r dev/requirements-test.txt
$ python setup.py test

# tests coverage
$ pip install -r requirements.txt
$ pip install -r dev/requirements-test.txt
$ python setup.py test
$ coverage html
$ firefox htmlcov/index.html

# docs
$ pip install -r requirements.txt
$ pip install -r dev/requirements-doc.txt
$ cd doc
$ make html

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ics-0.7.tar.gz (189.4 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

ics-0.7-py3.7.egg (97.4 kB view details)

Uploaded Egg

ics-0.7-py2.py3-none-any.whl (42.9 kB view details)

Uploaded Python 2Python 3

File details

Details for the file ics-0.7.tar.gz.

File metadata

  • Download URL: ics-0.7.tar.gz
  • Upload date:
  • Size: 189.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for ics-0.7.tar.gz
Algorithm Hash digest
SHA256 81113a2bb3166c1afcd71cd450c968d40efc385601e9d8344733e00ad8f53429
MD5 8b89b74d41738d6ab458b3a82ad5b550
BLAKE2b-256 790d7fbe65f161ecde7cf022644da5e1128f94787f27ae645a9375f1f61775b4

See more details on using hashes here.

File details

Details for the file ics-0.7-py3.7.egg.

File metadata

  • Download URL: ics-0.7-py3.7.egg
  • Upload date:
  • Size: 97.4 kB
  • Tags: Egg
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.6

File hashes

Hashes for ics-0.7-py3.7.egg
Algorithm Hash digest
SHA256 3b606205b9582ad27dff77f9b227a30d02fdac532731927fe39df1f1ddf8673f
MD5 e185f0728e0a04dc0638dd900d6e91be
BLAKE2b-256 ff6ad7c69b0657396d6848488d7df8ee73aa88ecde3ce96c245396da5e78b08f

See more details on using hashes here.

File details

Details for the file ics-0.7-py2.py3-none-any.whl.

File metadata

  • Download URL: ics-0.7-py2.py3-none-any.whl
  • Upload date:
  • Size: 42.9 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.6

File hashes

Hashes for ics-0.7-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 bf5fbdef6e1e073afdadf1b996f0271186dd114a148e38e795919a1ae644d6ac
MD5 0f8555004bab21c81b4dd4611a3feeef
BLAKE2b-256 42e2b09e44126e2858346c8b3a722d8de4b9baf4a58e9bc3931b579aaa0ac763

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page