Skip to main content

Ics.py : iCalendar for Humans

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

Metadata

Release files for ics 0.7.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ics 0.7.1
File Size Uploaded Provenance Actions
ics-0.7.1.tar.gz 190.7 kB Without provenance Details for ics-0.7.1.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for ics 0.7.1
File Interpreter ABI Platform Actions
ics-0.7.1-py3.9.egg Legacy Egg format - - Details for ics-0.7.1-py3.9.egg
ics-0.7.1-py2.py3-none-any.whl Python 2, Python 3 none any Details for ics-0.7.1-py2.py3-none-any.whl

Total release size: 321.5 kB

Release files / ics-0.7.1.tar.gz

Download URL ics-0.7.1.tar.gz
Size 190.7 kB
Tags Source
SHA-256 checksum
How to use checksums
f2b1c9e56e89a91209403a17cf704a1dc76c87c00f1b633d65bc0404901e70fb
BLAKE2b-256 checksum
How to use checksums
9e42d54cb60f911f3c5f6562246916b7a6bfebf556ed2ab90b4cc6f0f95433ed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / ics-0.7.1-py3.9.egg

Download URL ics-0.7.1-py3.9.egg
Size 90.8 kB
Tags Egg
SHA-256 checksum
How to use checksums
9ed1a83228272e606af3c47b589b3d4043873090f8410b7718bbe3c122612bbf
BLAKE2b-256 checksum
How to use checksums
cc0a2f3ad614cf78bd8d4eae11ede9a12bb60bca841bde4cf03bef0cd3b82c05
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / ics-0.7.1-py2.py3-none-any.whl

Download URL ics-0.7.1-py2.py3-none-any.whl
Size 40.1 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
e7505c36d446d72e3d8095d2a958d185300b81d1cee6b33645b4164d92f75bdd
BLAKE2b-256 checksum
How to use checksums
3d3e63ececcf9c128d1a7e88926a0067e33080b234f820a1df645a6a8bea6fd2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Security for ics 0.7.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page