Skip to content
Django app for self-hosted privacy-friendly online petitions
Python HTML JavaScript CSS Shell Dockerfile
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Update FUNDING.yml Oct 26, 2019
dev README: put install instructions in external file Nov 17, 2019
nginx-uwsgi add some docker configuration to see the use with uwsgi/nginx Apr 18, 2019
pytition Update compiled French lang file Nov 17, 2019
.gitignore Add .swp and .db files in gitignore Apr 18, 2019
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md Feb 19, 2019
Dockerfile Update psycopg2 requirement to be compatible with Python 3.8 Nov 16, 2019
Jenkinsfile Do not run tests in parallel, we are hitting a Django bug Jul 13, 2019
LICENSE Initial commit Sep 28, 2017
README.md README: put install instructions in external file Nov 17, 2019
docker-compose.yml
requirements.txt
requirements_dev.txt add a mailer that handle retry on failure and asynchronous Apr 18, 2019

README.md

Build Status Coverage status

Pytition

Why using Pytition?

  • Because it allows you to host petitions without compromising the privacy of your signatories.
  • No tracking, ever: CSS, JS and all resources are self-hosted. Pytition does not use CDN.
  • Nice UI: Bootstrap 4 + JQuery 3.
  • Based on solid backend technology: Django.
  • Responsive UI: works well on phones/tablets/laptops/desktops.
  • If you host an instance of Pytition, you can guarantee your signatories that their informations won't leak to third parties.
  • It is Open Source and Free Software.

Features

  • Multi-lingual UI with i18n. For now only English and French translations available but you can send a Pull Request :)
  • You can pre-visualize petitions before publishing them.
  • Easy to use: petition content is typed-in via TinyMCE editors (like WordPress).
  • You can setup real SMTP account for the confirmation e-mail so that it is less likely considered as SPAM.
  • Supports Open Graph tags to provide description and image to allow nice cards to be shown when people post the petition link on social networks.
  • You can propose your signatories to subscribe to a newsletter/mailinglist (via HTTP GET/POST or EMAIL methods).
  • You can export signatures in CSV format.
  • Support for several organizations on the same Pytition instance v2.0
    • Fine grain per-user per-organization permissions
  • Email retry support through the use of a mail queue middleware
  • Nice (multiple) permlink support for each petition

Future features

  • Support for multi-lingual petition content: v3.0
  • Support for adding several petition templates: v4.0
  • Add optional Mastodon/Diaspora share-icons

Install development environment

See dev/CONTRIBUTE.md

Installing in production

See dev/INSTALL.md

Included dependencies

Those are external projects that are needed and used by Pytition, but included in Pytition source tree:

  • Bootstrap 4.2.1
  • JQuery 3.3.1
  • Popper 1.14.6
  • Open Iconic 1.1.1
  • TinyMCE 4.9.2
  • jQuery Smart Wizard 4

Dependencies

  • Python 3
  • Django 2.2.x
  • django-tinymce 2.8.0
  • django-colorfield 0.1.15
  • requests 2.20.x
  • mysqlclient 1.3.13
  • beautifulsoup4 4.6.3
  • django-formtools 2.1
  • bcrypt
You can’t perform that action at this time.