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
- run unit test
cd pyICSParser\test
python test.py
- run pyroma
cd pyICSParser
pyroma .
- build and upload
py -m build
py -m twine upload --repository pypi dist/*
Future developments
- handle of datetime (currently only handles date)
- handle of multiple EXRULE, RRULE as per icalendar spec
Credits
- http://www.tele3.cz/jbar/rest/rest.html: reST to HTML & reST validator
- http://guide.python-distribute.org/contributing.html: registering a package on pypi and password information
- http://guide.python-distribute.org/creation.html: uploading a package to pypi
- http://blog.msbbc.co.uk/2007/06/using-googles-free-svn-repository-with.html: how to use google codes, subclipse and eclipse
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
747467694b2e25ca794c5390148d4ef0042d901f75ed7589d49b7187b632b5b5
|
|
| MD5 |
b74f2f3cbae38ea634261abd8b5076c9
|
|
| BLAKE2b-256 |
207631b5485e1c38f9f7cb678fdd358948f60cec34d9c213edd4d55536a1ee1e
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3ef7dc842a18b7a0dd02d85910e8da128a0935aacdf1ded5e60e68bc13da6b4d
|
|
| MD5 |
5f4dd2a4c28d9c2826f8612f84409669
|
|
| BLAKE2b-256 |
c8906c9c4161a07c3bfa5657b340433dc7a150c54f1d2a19918abbb16c1bbda5
|