Django voting application that allows voting without a logged in user.
Provides abstract base model for types that the user wishes to allow voting on as well as related utilities including generic views to ease the addition of ‘anonymous’ voting to a Django project.
Maintained by Basil Shubin, and some great contributors.
Documentation
For more details, see the documentation at Read The Docs.
Contributing
If you like this module, forked it, or would like to improve it, please let us know! Pull requests are welcome too. :-)
Credits
django-secretballot was originally started by James Turk who has now unfortunately abandoned the project.
License
django-secretballot is released under the BSD license.
Changes
2.0.2 (2026-08-17)
switch docs badges to badge.fury.io and GitHub Actions
2.0.1 (2026-08-16)
drop support for Python < 3.10 and Django < 5.2
add support for Django 6.0 and 6.1
switch packaging to pyproject.toml, drop setup.py/setup.cfg
switch CI to GitHub Actions, add pre-commit and dependabot config
2.0.0 (2021-10-26)
drop compatibility code for Django 1.10 and below
make it possible to customize Vote model per project
1.0.0 (2017-12-05)
final release that supports Django 1.8 and up
0.7.1 (2017-10-03)
improved support for Django 2.0
0.7.0 (2017-05-05)
improved support for Django 1.11
0.6.0 (2016-10-07)
support for Django 1.10 new manager rules
add migrations
fix case where object is not fetched through correct manager
0.5.0 (2015-11-02)
drop South support
drop support for Django < 1.8, add support for Django 1.9
0.4.0 (2015-05-27)
drop South support
drop support for Django < 1.7, add support for Django >= 1.7
add Python 3 support
add a ton of tests
fix bug if vote_name was set in enable_voting_on
0.3.0 (2015-04-17)
related_fields and get_object_or_404 fix from François Chapuis
add property to check if secretballot is present on a class
add indexed timestamps to votes via Simon de Han
make response valid JSON for mimetype compatibility via Dan Drinkard
0.2.3 (2010-03-30)
bugfixes, thanks to Gennadiy Potapov
0.2.2 (2009-11-27)
fixed embarassing SyntaxError in vote
0.2.1 (2009-11-24)
fix some documentation issues left from 0.1
make content_type more flexible (can now take a model, content_type, or ‘app.model’ string)
0.2.0 (2009-02-11)
replace inheritance from VotableObject with enable_voting_on
when injecting manager methods inherit from existing manager
0.1.0 (2009-01-24)
initial working release
Metadata
Release files for django-secretballot 2.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| django_secretballot-2.0.2.tar.gz | 12.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| django_secretballot-2.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 28.1 kB
Release files / django_secretballot-2.0.2.tar.gz
| Download URL | django_secretballot-2.0.2.tar.gz |
|---|---|
| Size | 12.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d71c26060fed182b68ead0780b9c312bfb8ba99f936d71c581508f08ac257035
|
|
BLAKE2b-256 checksum How to use checksums |
d87c4854b4e33f0b2add4613a0608d7e7a3488b5c429e3f869a1c31c3092fd34
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.
Transparency logRelease files / django_secretballot-2.0.2-py3-none-any.whl
| Download URL | django_secretballot-2.0.2-py3-none-any.whl |
|---|---|
| Size | 15.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a79e7bd50038f4dca637cd0c40a88d07c5b35958f1b55f9bea1906cca75d70bf
|
|
BLAKE2b-256 checksum How to use checksums |
0c174e352b581c73a430dcc792f3f639d7ab24299e3709f81586cc76f582d379
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.
Transparency log