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.serialize_iter())
# 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.3.tar.gz (191.0 kB view details)

Uploaded Source

Built Distribution

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

ics-0.7.3-py2.py3-none-any.whl (40.2 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: ics-0.7.3.tar.gz
  • Upload date:
  • Size: 191.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for ics-0.7.3.tar.gz
Algorithm Hash digest
SHA256 2dcd6876e8c913d40db76f1f1ca47bccd1c162178c73f69fbbedca1b844eface
MD5 14cd4026f9c248ad80172b0d30bf54ab
BLAKE2b-256 459df1fa704c153351f679245c0f1dc0099df2d5e3ddb94a06810403a8931bef

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ics-0.7.3-py2.py3-none-any.whl
  • Upload date:
  • Size: 40.2 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for ics-0.7.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 519f633f2e3d7b1528847e990a58dcb8807a2fffdcfd9dd880d1d5094d456af7
MD5 31ec958bbff8ef72660ddea6b63cd9b0
BLAKE2b-256 99cdb8b730bd5804554643610d15954c0fe4eac6ddfe8e78b4396a67c3cae93d

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