Skip to main content

Pythonic iCalendar (RFC 5545) 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.7, 3.8, 3.9, 3.10, 3.11 and is Apache2 Licensed.

Quickstart

$ pip install ics
from datetime import datetime
from ics import Calendar, Event

c = Calendar()
e = Event()
e.summary = "My cool event"
e.description = "A meaningful description"
e.begin = datetime.fromisoformat("2022-06-06T12:05:23+02:00")
e.end = datetime.fromisoformat("2022-06-06T13:05:23+02:00")
c.events.append(e)
c
# Calendar(extra=Container('VCALENDAR', []), extra_params={}, version='2.0', prodid='ics.py 0.8.0-dev0 - http://git.io/lLljaA', scale=None, method=None, events=[Event(extra=Container('VEVENT', []), extra_params={}, timespan=EventTimespan(begin_time=datetime.datetime(2022, 6, 6, 12, 5, 23, tzinfo=datetime.timezone(datetime.timedelta(seconds=7200))), end_time=None, duration=None, precision='second'), summary=None, uid='ed7975c7-01f1-42eb-bfc4-435afd76b33d@ed79.org', description=None, location=None, url=None, status=None, created=None, last_modified=None, dtstamp=datetime.datetime(2022, 6, 6, 19, 28, 14, 575558, tzinfo=Timezone.from_tzid('UTC')), alarms=[], attach=[], classification=None, transparent=None, organizer=None, geo=None, attendees=[], categories=[])], todos=[])
with open("my.ics", "w") as f:
    f.write(c.serialize())

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 and how to setup, see contributing.

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.8.0.dev0.tar.gz (297.8 kB view details)

Uploaded Source

Built Distribution

ics-0.8.0.dev0-py3-none-any.whl (60.8 kB view details)

Uploaded Python 3

File details

Details for the file ics-0.8.0.dev0.tar.gz.

File metadata

  • Download URL: ics-0.8.0.dev0.tar.gz
  • Upload date:
  • Size: 297.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for ics-0.8.0.dev0.tar.gz
Algorithm Hash digest
SHA256 51169026b9368e88abf167e7a86cb39c576299d7c36a871f1a39e36beabcfcae
MD5 41523ca76795bf1a97592db3b9ead7a0
BLAKE2b-256 d49ed551e7429876a59ca0ae66f41664e09f2a403d6eb18047388741c68486c0

See more details on using hashes here.

File details

Details for the file ics-0.8.0.dev0-py3-none-any.whl.

File metadata

  • Download URL: ics-0.8.0.dev0-py3-none-any.whl
  • Upload date:
  • Size: 60.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for ics-0.8.0.dev0-py3-none-any.whl
Algorithm Hash digest
SHA256 7b78a02d3aa7e7143f27ff9072390cbda5795839f59fd09bd2f404932b49eaf6
MD5 f8e6437e4b805dda77c54173053cf9a6
BLAKE2b-256 4b7a510a6aa44638923bc1b46ad4f529169875fe744da92ad44cf274c80c1779

See more details on using hashes here.

Supported by

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