Skip to content

pytition/Pytition

Repository files navigation

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