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
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)
| File | Size | Uploaded | |
|---|---|---|---|
| pyICSParser-0.7.4.tar.gz | 33.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|