Internet Calendaring and Scheduling (iCalendar) for Python
 
 
Go to file
Nicco Kunzmann 0080a3942f
Merge branch 'master' into error_handling_2
2022-08-22 13:53:02 +01:00
.github/workflows Merge pull request #366 from collective/maurits-require-python38 2022-08-15 09:34:43 +02:00
docs Merge pull request #324 from jacadzaca/fix-icalendar-tool 2022-08-22 13:08:45 +01:00
src/icalendar Merge branch 'master' into error_handling_2 2022-08-22 13:53:02 +01:00
venv make the cli tool test output entire diff when it fails 2022-08-22 13:51:29 +02:00
.gitignore Use GitHub Actions. 2021-11-22 22:23:59 +01:00
.readthedocs.yml Add a RTD config file 2019-05-14 09:59:19 -07:00
CHANGES.rst Merge branch 'master' into error_handling_2 2022-08-22 13:53:02 +01:00
CONTRIBUTING.rst update links (#378) 2022-08-17 00:31:15 +03:00
LICENSE.rst Clean up trailing and leading white space throughout project (#247) 2017-10-23 14:15:27 +02:00
MANIFEST.in Exclude editor backup files from egg distributions. Fixes #144. 2014-07-22 12:10:27 +02:00
README.rst remove markup errors 2022-08-19 14:45:18 +01:00
bootstrap.py update links (#378) 2022-08-17 00:31:15 +03:00
buildout.cfg Whitespaces cleanup 2014-08-26 00:55:26 +02:00
requirements_docs.txt use sphinx_rdt_theme and document how to generate docs 2014-11-20 13:14:45 +01:00
setup.cfg check-manifest 2020-03-21 01:55:15 +01:00
setup.py Remove any syntax required for python < 3.8 2022-08-15 09:58:40 +02:00
tox.ini Require Python 3.8. 2022-08-13 14:41:37 +02:00

README.rst

==========================================================
Internet Calendaring and Scheduling (iCalendar) for Python
==========================================================

The `icalendar`_ package is a `RFC 5545`_ compatible parser/generator for iCalendar
files.

----

:Homepage: https://icalendar.readthedocs.io
:Code: https://github.com/collective/icalendar
:Mailing list: https://github.com/collective/icalendar/issues
:Dependencies: `python-dateutil`_ and `pytz`_.
:Compatible with: Python 2.7 and 3.4+
:License: `BSD`_

----

.. image:: https://badge.fury.io/py/icalendar.svg
   :target: https://pypi.org/project/icalendar/
   :alt: Python Package Version on PyPI

.. image:: https://img.shields.io/pypi/dm/icalendar.svg
   :target: https://pypi.org/project/icalendar/#files
   :alt: Downloads from PyPI

.. image:: https://img.shields.io/github/workflow/status/collective/icalendar/tests/master?label=master&logo=github
    :target: https://github.com/collective/icalendar/actions/workflows/tests.yml?query=branch%3Amaster
    :alt: GitHub Actions build status for master

.. image:: https://img.shields.io/github/workflow/status/collective/icalendar/tests/4.x?label=4.x&logo=github
    :target: https://github.com/collective/icalendar/actions/workflows/tests.yml?query=branch%3A4.x++
    :alt: GitHub Actions build status for 4.x

.. _`icalendar`: https://pypi.org/project/icalendar/
.. _`RFC 5545`: https://www.ietf.org/rfc/rfc5545.txt
.. _`python-dateutil`: https://github.com/dateutil/dateutil/
.. _`pytz`: https://pypi.org/project/pytz/
.. _`BSD`: https://github.com/collective/icalendar/issues/2

Versions and Compatibility
--------------------------

``icalendar`` is a critical project used by many. It has been there for a long time and maintaining
long-term compatibility with projects conflicts partially with providing and using the features that
the latest Python versions bring.

Since we pour more `effort into maintaining and developing icalendar <https://github.com/collective/icalendar/discussions/360>`__,
we split the project into two:

- `Branch 4.x <https://github.com/collective/icalendar/tree/4.x>`__ with maximum compatibility to Python versions ``2.7`` and ``3.4+``, ``PyPy2`` and ``PyPy3``.
- `Branch master <https://github.com/collective/icalendar/>`__ with the compatibility to Python versions ``3.7+`` and ``PyPy3``.

We expect the ``master`` branch with versions ``5+`` receive the latest updates and features,
and the ``4.x`` branch the subset of security and bug fixes only.
We recomment migrating to later Python versions and also providing feedback if you depend on the ``4.x`` features.

Related projects
================

* `icalevents <https://github.com/irgangla/icalevents>`_. It is built on top of icalendar and allows you to query iCal files and get the events happening on specific dates. It manages recurrent events as well.
* `recurring-ical-events <https://pypi.org/project/recurring-ical-events/>`_. Library to query an ``ICalendar`` object for events happening at a certain date or within a certain time.
* `x-wr-timezone <https://pypi.org/project/x-wr-timezone/>`_. Library to make ``ICalendar`` objects and files using the non-standard ``X-WR-TIMEZONE`` compliant with the standard (RFC 5545).