Skip to main content

Module supporting the iCalendar specification as defined in RFC5545 as well as its predecessor RFC2445 and non-standard deviances from iCal (Apple), Outlook-calendar (Microsoft), ...

Project description

pyICSParser - ICALENDAR Parser

pyICSParser is an icalendar parser (parser for .ics or ical parser files) as defined by RFC5545 (previously RFC2445) into typed structure and returns json structure with explicit dates [[dates, description, uid]] for each instance

Typical installation

pip install pyICSParser

Typical usage for explicit date calculation:

#!/usr/bin/env python

import pyiCalendar

mycal = pyiCalendar.iCalendar()

#ics_fp being a string for the local full path to the icalendar file
mycal.local_load(ics_fp)
#dtstart and dtend are string objects of yyyymmdd formatting (%Y%M%d)
#dates will contain the json with all explicit dates of the events spec'ed by the icalendar file
dates = mycal.get_event_instances(dtstart,dtend)

Versions

  • Pre-alpha

    • v0.0.1: first pre-alpha
    • v0.0.27: fixed the dtstart to dtend problem for holiday
  • alpha

    • 0.4.x: first fully tested handling days - remains to be done is handling of time of events (test vectors are actual icalendar files)
    • 0.5.x: added support for EXDATE
    • 0.6.x: added support for DURATION and when DTEND no present
    • 0.7.x: added support for python 3; 9/10 cottage cheese with pyroma
    • 0.7.3: fixing issue #12

Release Flow

  1. run unit test
cd pyICSParser\test
python test.py
  1. run pyroma
cd pyICSParser
pyroma .
  1. build and upload
py -m build
py -m twine upload --repository pypi dist/*

Future developments

  1. handle of datetime (currently only handles date)
  2. handle of multiple EXRULE, RRULE as per icalendar spec

Credits

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

pyICSParser-0.7.4.tar.gz (33.5 kB view details)

Uploaded Source

Built Distribution

pyICSParser-0.7.4-py3-none-any.whl (30.5 kB view details)

Uploaded Python 3

File details

Details for the file pyICSParser-0.7.4.tar.gz.

File metadata

  • Download URL: pyICSParser-0.7.4.tar.gz
  • Upload date:
  • Size: 33.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.1

File hashes

Hashes for pyICSParser-0.7.4.tar.gz
Algorithm Hash digest
SHA256 747467694b2e25ca794c5390148d4ef0042d901f75ed7589d49b7187b632b5b5
MD5 b74f2f3cbae38ea634261abd8b5076c9
BLAKE2b-256 207631b5485e1c38f9f7cb678fdd358948f60cec34d9c213edd4d55536a1ee1e

See more details on using hashes here.

File details

Details for the file pyICSParser-0.7.4-py3-none-any.whl.

File metadata

  • Download URL: pyICSParser-0.7.4-py3-none-any.whl
  • Upload date:
  • Size: 30.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.1

File hashes

Hashes for pyICSParser-0.7.4-py3-none-any.whl
Algorithm Hash digest
SHA256 3ef7dc842a18b7a0dd02d85910e8da128a0935aacdf1ded5e60e68bc13da6b4d
MD5 5f4dd2a4c28d9c2826f8612f84409669
BLAKE2b-256 c8906c9c4161a07c3bfa5657b340433dc7a150c54f1d2a19918abbb16c1bbda5

See more details on using hashes here.

Supported by

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