Skip to main content

iCal feeds for Django based on Django's syndication feed framework.

Project description

django-ical
===========

|pypi| |docs| |build| |coverage| |jazzband|

django-ical is a simple library/framework for creating
`iCal <http://www.ietf.org/rfc/rfc2445.txt>`_
feeds based in Django's
`syndication feed framework <https://docs.djangoproject.com/en/3.0/ref/contrib/syndication/>`_.

This documentation is modeled after the documentation for the syndication feed
framework so you can think of it as a simple extension.

If you are familiar with the Django syndication feed framework you should be
able to be able to use django-ical fairly quickly. It works the same way as
the Django syndication framework but adds a few extension properties to
support iCalendar feeds.

django-ical uses the `icalendar <http://pypi.python.org/pypi/icalendar/>`_ library
under the hood to generate iCalendar feeds.

Documentation
-------------

Documentation is hosted on Read the Docs:

https://django-ical.readthedocs.io/en/latest/


.. |pypi| image:: https://img.shields.io/pypi/v/django-ical.svg
:alt: PyPI
:target: https://pypi.org/project/django-ical/

.. |docs| image:: https://readthedocs.org/projects/django-ical/badge/?version=latest
:alt: Documentation Status
:scale: 100%
:target: http://django-ical.readthedocs.io/en/latest/?badge=latest

.. |build| image:: https://github.com/jazzband/django-ical/workflows/Test/badge.svg
:target: https://github.com/jazzband/django-ical/actions
:alt: GitHub Actions

.. |coverage| image:: https://codecov.io/gh/jazzband/django-ical/branch/master/graph/badge.svg
:target: https://codecov.io/gh/jazzband/django-ical
:alt: Coverage

.. |jazzband| image:: https://jazzband.co/static/img/badge.svg
:target: https://jazzband.co/
:alt: Jazzband


Changes
=======


1.8.4 (2023-04-02)
------------------

- Fix content-type charset declarations.
[lchanouha]
- Update test matrix.
Add Python 3.11 and Django 4.1 support.
Deprecate Python 3.7 support.
[aleksihakli]

1.8.3 (2022-01-25)
------------------

- Enable Python 3.10 and Django 4.0 support.
[aleksihakli]


1.8.2 (2022-01-13)
------------------

- Deprecate universal Python 2 wheels.
[aleksihakli]


1.8.1 (2022-01-08)
------------------

- Drop Python 3.6 support and add Python 3.10 support.
[aleksihakli]


1.8.0 (2021-05-21)
------------------

- Add ``VALARM`` support and documentation.
[malteger]


1.7.3 (2021-05-03)
------------------

- Fix calendar ``Content-Type`` headers.
Previous configuration included multiple comma separated values
in the header, which is incompatible with the HTTP header specification.
[aleksihakli]


1.7.2 (2020-12-16)
------------------

- Add support for Python 3.9. [aleksihakli]
- Add support for Django 3.1. [aleksihakli]
- Add tox QA with black and prospector. [aleksihakli]
- Migrate from Travis to GitHub Actions. [aleksihakli]


1.7.1 (2020-05-09)
------------------

- Drop support for Django 1.11 LTS. [aleksihakli]
- Fix string comparison in tests. [aleksihakli]


1.7.0 (2019-10-09)
------------------

- Add calendar MIME types for feeds. [xkill]
- Add attendees for calendar events. [webaholik]


1.6.2 (2019-08-30)
------------------

- Language and documentation improvements.


1.6.1 (2019-08-30)
------------------

- Python 3.8 and PyPy support.


1.6 (2019-08-27)
----------------

- Drop support for old Python and Django versions.
This enables support for new Django versions
which do not have Python 2 compatibility shims.
- Add continuous delivery via Jazzband.
- Add SCM versioning via setuptools_scm.


1.5 (2018-10-10)
----------------

- Add support for Django 1.11. *Thanks, Martin Bächtold*
- Drop support for Python 2.6. *Thanks, Martin Bächtold*
- Add support for categories, rrule, exrule, rrdate, exdate. *Thanks, Armin Leuprecht*
- Fix a documentation typo. *Thanks, Giorgos Logiotatidis*
- Add documentation and testing around recurring events. *Thanks, Christian Ledermann*
- Remove tests for Django versions < 1.8 *Thanks, Christian Ledermann*


1.4 (2016-05-08)
----------------

- Django up to 1.9 is supported.
- Added new `ttl` parameter. *Thanks, Diaz-Gutierrez*
- Added support for Python 3. *Thanks, Ben Lopatin*
- Fixed LAST-MODIFIED support. *Thanks, Brad Bell*


1.3 (2014-11-26)
----------------

- Django up to 1.7 is supported.
- Added a new `file_name` parameter. *Thanks, browniebroke*
- Added support for the `ORGANIZER` field. *Thanks, browniebroke*


1.2 (2012-12-12)
----------------

- Removed support for Django 1.2. It should still work, but it's not supported.
- We now require icalendar 3.1.
- Added support for the `GEO` field. *Thanks, null_radix!*


1.1 (2012-10-26)
----------------

- Fixed issues running tests on Django 1.2 and Django 1.5.


1.0 (2012-05-06)
----------------

- Initial Release

Supported by

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