Skip to main content

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

Metadata

Release files for pyICSParser 0.7.4

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

Source distribution (sdist)

Source distribution for pyICSParser 0.7.4
File Size Uploaded
pyICSParser-0.7.4.tar.gz 33.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyICSParser 0.7.4
File Interpreter ABI Platform
pyICSParser-0.7.4-py3-none-any.whl Python 3 none any Details

Total release size: 64.0 kB

Release files / pyICSParser-0.7.4.tar.gz

Download URL pyICSParser-0.7.4.tar.gz
Size 33.5 kB
Tags Source
SHA-256 checksum
How to use checksums
747467694b2e25ca794c5390148d4ef0042d901f75ed7589d49b7187b632b5b5
BLAKE2b-256 checksum
How to use checksums
207631b5485e1c38f9f7cb678fdd358948f60cec34d9c213edd4d55536a1ee1e
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / pyICSParser-0.7.4-py3-none-any.whl

Download URL pyICSParser-0.7.4-py3-none-any.whl
Size 30.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3ef7dc842a18b7a0dd02d85910e8da128a0935aacdf1ded5e60e68bc13da6b4d
BLAKE2b-256 checksum
How to use checksums
c8906c9c4161a07c3bfa5657b340433dc7a150c54f1d2a19918abbb16c1bbda5
Upload date
Uploaded using Trusted Publishing?
What is 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
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