Author: Pierre-Yves Chibon <pingou@pingoured.fr>

fedocal is a web based calendar application.

Get this project:

Source: http://git.fedorahosted.org/cgit/fedocal.git/ Mirror on github: https://github.com/fedora-infra/fedocal (Please use fedorahosted as the main repository and make sure you run your patch against it)

Documentation: http://fedocal.rtfd.org


This project is a Flask application. The calendars and meetings are stored into a relational database using SQLAlchemy as Object Relational Mapper (ORM) and alembic to handle database scheme changes. fedocal provides an iCal feed for each calendar and relies on python-vobject for this. Finally, pytz is used to handle the timezone changes and dateutil to allow date manipulation over months/years.

The dependency list is therefore:

Running a development instance:

Clone the source:

git clone https://github.com/fedora-infra/fedocal.git

Copy the configuration files:

cp fedocal.cfg.sample fedocal.cfg
cp alembic.ini.sample alembic.ini

Adjust the configuration file (secret key, database URL, admin group...)

Create the database scheme:

FEDOCAL_CONFIG=fedocal.cfg sh createdb

Run the server:

FEDOCAL_CONFIG=fedocal.cfg sh runserver

You should be able to access the server at http://localhost:5000


the part FEDOCAL_CONFIG=fedocal.cfg is only really needed if you run fedocal on a dedicated database instead of the default sqlite one.


This project contains unit-tests allowing you to check if your server has all the dependencies correctly set.

To run them:



To stop the test at the first error or failure you can try:

./run_tests.sh -x

Reporting issues:

For any issue you may encounter please file a ticket and submit it to:

Fedocal Pagure: https://pagure.io/fedocal/issues

Contributors can use the same tracker to find existing bugs to work on. You need to login with your FAS account to submit or modify a ticket.


This project is licensed GPLv3+.