Downloads in the 30 and 7 days to October 10, 2026. Refreshed weekly.
Package Information
No reported malware or high/critical advisories · Details
The current version has no OSV.dev malware reports and no critical or high-severity vulnerabilities.
Package Insights
((week_daily_avg - month_daily_avg) / month_daily_avg) * 100More insights and metrics
Downloads by OS
Python Versions
Top Countries
Weekly Downloads
GitHub Stars
Dependencies
-
absl-py
==2.5.0
python_version >= "3.10"
-
asgiref
==3.12.1
python_version >= "3.10"
-
asttokens
==3.0.2
python_version >= "3.8"
-
bazel-runfiles
==2.3.4
python_version >= "3.7"
-
cachetools
==6.2.6
python_version >= "3.9"
-
certifi
==2026.7.22
python_version >= "3.7"
-
cffi
==2.1.1
python_version >= "3.10"
-
charset-normalizer
==3.5.2
python_version >= "3.7"
-
codeforlife
==1.0.3
python_version == "3.12"
-
cryptography
==50.0.1
python_version >= "3.9" and python_full_version not in "3.9.0, 3.9.1"
-
diff-match-patch
==20241021
python_version >= "3.7"
-
django
==5.2.17
python_version >= "3.10"
-
django-cors-headers
==4.7.0
python_version >= "3.9"
- django-countries ==7.6.1
- django-csp ==3.8
-
django-filter
==25.1
python_version >= "3.9"
-
django-formtools
==2.7
python_version >= "3.10"
-
django-import-export
==4.4.1
python_version >= "3.9"
-
django-otp
==1.7.3
python_version >= "3.8"
-
django-phonenumber-field
==8.5.0
python_version >= "3.10"
-
django-pipeline
==4.1.0
python_version >= "3.9"
-
django-reverse-js
==0.1.8
python_version >= "3.10"
-
django-two-factor-auth
==1.18.1
python_version >= "3.9"
-
djangorestframework
==3.17.2
python_version >= "3.10"
-
executing
==2.2.1
python_version >= "3.8"
-
google-api-core
==2.40.0
python_version >= "3.10"
-
google-auth
==2.48.0
python_version >= "3.8"
-
google-cloud-kms
==3.17.0
python_version >= "3.10"
-
google-cloud-secret-manager
==2.27.0
python_version >= "3.9"
-
google-crc32c
==1.8.0
python_version >= "3.9"
-
googleapis-common-protos
==1.75.5
python_version >= "3.10"
-
grpc-google-iam-v1
==0.14.5
python_version >= "3.10"
-
grpcio
==1.84.0
python_version >= "3.10"
-
grpcio-status
==1.84.0
python_version >= "3.10"
-
hiredis
==3.4.2
python_version >= "3.8"
-
idna
==3.20
python_version >= "3.9"
-
ipython
==9.17.1
python_version >= "3.11"
-
ipython-pygments-lexers
==1.1.1
python_version >= "3.8"
-
jedi
==0.20.0
python_version >= "3.10"
-
libsass
==0.23.0
python_version >= "3.8"
-
matplotlib-inline
==0.2.2
python_version >= "3.9"
-
more-itertools
==8.7.0
python_version >= "3.5"
-
numpy
==2.5.3
python_version >= "3.12"
-
opentelemetry-api
==1.45.0
python_version >= "3.10"
-
packaging
==26.3
python_version >= "3.9"
-
pandas
==3.0.6
python_version >= "3.11"
-
parso
==0.8.7
python_version >= "3.6"
-
pexpect
==4.9.0
sys_platform != "win32" and sys_platform != "emscripten"
-
pgeocode
==0.4.0
python_version >= "3.8"
-
prompt-toolkit
==3.0.53
python_version >= "3.10"
-
proto-plus
==1.29.0
python_version >= "3.10"
-
protobuf
==7.36.2
python_version >= "3.10"
-
psutil
==7.0.0
python_version >= "3.6"
-
psycopg2-binary
==2.9.9
python_version >= "3.7"
- ptyprocess ==0.7.0
- pure-eval ==0.2.4
-
pyasn1
==0.6.4
python_version >= "3.8"
-
pyasn1-modules
==0.4.2
python_version >= "3.8"
-
pycparser
==3.0
python_version >= "3.10"
-
pygments
==2.21.0
python_version >= "3.9"
-
pyhamcrest
==2.0.2
python_version >= "3.5"
-
pyjwt
==2.15.1
python_version >= "3.9"
-
pyotp
==2.9.0
python_version >= "3.7"
-
python-dateutil
==2.9.0.post0
python_version >= "2.7" and python_version not in "3.0, 3.1, 3.2, 3.3"
-
qrcode
==8.2
python_version >= "3.9" and python_version < "4.0"
-
redis
==5.2.1
python_version >= "3.8"
-
regex
==2024.11.6
python_version >= "3.8"
-
requests
==2.34.2
python_version >= "3.10"
-
rsa
==4.9.1
python_version >= "3.6" and python_version < "4"
-
setuptools
==84.0.0
python_version >= "3.10"
-
six
==1.17.0
python_version >= "2.7" and python_version not in "3.0, 3.1, 3.2, 3.3"
-
sqlparse
==0.6.0
python_version >= "3.10"
- stack-data ==0.6.3
-
tablib
==3.10.0
python_version >= "3.10"
-
tink
==1.13.0
python_version >= "3.9"
-
traitlets
==5.16.1
python_version >= "3.10"
-
typing-extensions
==4.16.0
python_version >= "3.9"
-
urllib3
==2.8.0
python_version >= "3.10"
-
wcwidth
==0.9.1
python_version >= "3.9"
-
wheel
==0.48.0
python_version >= "3.9"
112 optional dependencies
-
absl-py==2.5.0[dev]python_version >= "3.10" and extra == "dev"
-
asgiref==3.12.1[dev]python_version >= "3.10" and extra == "dev"
-
attrs==26.1.0[dev]python_version >= "3.9" and extra == "dev"
-
bazel-runfiles==2.3.4[dev]python_version >= "3.7" and extra == "dev"
-
black==26.5.1[dev]python_version >= "3.10" and extra == "dev"
-
cachetools==6.2.6[dev]python_version >= "3.9" and extra == "dev"
-
certifi==2026.7.22[dev]python_version >= "3.7" and extra == "dev"
-
cffi==2.1.1[dev]python_version >= "3.10" and extra == "dev"
-
charset-normalizer==3.5.2[dev]python_version >= "3.7" and extra == "dev"
-
click==8.5.0[dev]python_version >= "3.10" and extra == "dev"
-
codeforlife==1.0.3[dev]python_version == "3.12" and extra == "dev"
-
codeforlife-portal==8.15.12[dev]extra == "dev"
-
coverage==7.16.2[dev]python_version >= "3.10" and extra == "dev"
-
cryptography==50.0.1[dev](python_version >= "3.9" and python_full_version not in "3.9.0, 3.9.1") and extra == "dev"
-
diff-match-patch==20241021[dev]python_version >= "3.7" and extra == "dev"
-
django==5.2.17[dev]python_version >= "3.10" and extra == "dev"
-
django-classy-tags==4.1.0[dev]python_version >= "3.8" and extra == "dev"
-
django-constance==4.3.4[dev]python_version >= "3.8" and extra == "dev"
-
django-cors-headers==4.7.0[dev]python_version >= "3.9" and extra == "dev"
-
django-countries==7.6.1[dev]extra == "dev"
-
django-csp==3.8[dev]extra == "dev"
-
django-extensions==4.1[dev]python_version >= "3.9" and extra == "dev"
-
django-filter==25.1[dev]python_version >= "3.9" and extra == "dev"
-
django-formtools==2.7[dev]python_version >= "3.10" and extra == "dev"
-
django-import-export==4.4.1[dev]python_version >= "3.9" and extra == "dev"
-
django-otp==1.7.3[dev]python_version >= "3.8" and extra == "dev"
-
django-phonenumber-field==8.5.0[dev]python_version >= "3.10" and extra == "dev"
-
django-pipeline==4.1.0[dev]python_version >= "3.9" and extra == "dev"
-
django-preventconcurrentlogins==0.8.2[dev]extra == "dev"
-
django-ratelimit==3.0.1[dev]python_version >= "3.4" and extra == "dev"
-
django-recaptcha==4.1.0[dev]extra == "dev"
-
django-sekizai==4.1.0[dev]python_version >= "3.8" and extra == "dev"
-
django-selenium-clean==1.0.1[dev]extra == "dev"
-
django-test-migrations==1.4.0[dev](python_version >= "3.9" and python_version < "4.0") and extra == "dev"
-
django-treebeard==4.8.0[dev]python_version >= "3.10" and extra == "dev"
-
django-two-factor-auth==1.18.1[dev]python_version >= "3.9" and extra == "dev"
-
djangorestframework==3.17.2[dev]python_version >= "3.10" and extra == "dev"
-
execnet==2.1.2[dev]python_version >= "3.8" and extra == "dev"
-
google-api-core==2.40.0[dev]python_version >= "3.10" and extra == "dev"
-
google-auth==2.48.0[dev]python_version >= "3.8" and extra == "dev"
-
google-cloud-kms==3.17.0[dev]python_version >= "3.10" and extra == "dev"
-
google-cloud-secret-manager==2.27.0[dev]python_version >= "3.9" and extra == "dev"
-
google-crc32c==1.8.0[dev]python_version >= "3.9" and extra == "dev"
-
googleapis-common-protos==1.75.5[dev]python_version >= "3.10" and extra == "dev"
-
grpc-google-iam-v1==0.14.5[dev]python_version >= "3.10" and extra == "dev"
-
grpcio==1.84.0[dev]python_version >= "3.10" and extra == "dev"
-
grpcio-status==1.84.0[dev]python_version >= "3.10" and extra == "dev"
-
h11==0.16.0[dev]python_version >= "3.8" and extra == "dev"
-
hiredis==3.4.2[dev]python_version >= "3.8" and extra == "dev"
-
idna==3.20[dev]python_version >= "3.9" and extra == "dev"
-
importlib-metadata==4.13.0[dev]python_version >= "3.7" and extra == "dev"
-
iniconfig==2.3.0[dev]python_version >= "3.10" and extra == "dev"
-
isort==9.0.2[dev]python_full_version >= "3.10.0" and extra == "dev"
-
libsass==0.23.0[dev]python_version >= "3.8" and extra == "dev"
-
markupsafe==3.0.3[dev]python_version >= "3.9" and extra == "dev"
-
more-itertools==8.7.0[dev]python_version >= "3.5" and extra == "dev"
-
mypy-extensions==1.1.0[dev]python_version >= "3.8" and extra == "dev"
-
numpy==2.5.3[dev]python_version >= "3.12" and extra == "dev"
-
opentelemetry-api==1.45.0[dev]python_version >= "3.10" and extra == "dev"
-
outcome==1.3.0.post0[dev]python_version >= "3.7" and extra == "dev"
-
packaging==26.3[dev]python_version >= "3.9" and extra == "dev"
-
pandas==3.0.6[dev]python_version >= "3.11" and extra == "dev"
-
pathspec==1.1.1[dev]python_version >= "3.9" and extra == "dev"
-
pgeocode==0.4.0[dev]python_version >= "3.8" and extra == "dev"
-
phonenumbers==8.12.12[dev]extra == "dev"
-
pillow==12.3.0[dev]python_version >= "3.10" and extra == "dev"
-
platformdirs==4.12.2[dev]python_version >= "3.10" and extra == "dev"
-
pluggy==1.6.0[dev]python_version >= "3.9" and extra == "dev"
-
proto-plus==1.29.0[dev]python_version >= "3.10" and extra == "dev"
-
protobuf==7.36.2[dev]python_version >= "3.10" and extra == "dev"
-
psutil==7.0.0[dev]python_version >= "3.6" and extra == "dev"
-
psycopg2-binary==2.9.9[dev]python_version >= "3.7" and extra == "dev"
-
pyasn1==0.6.4[dev]python_version >= "3.8" and extra == "dev"
-
pyasn1-modules==0.4.2[dev]python_version >= "3.8" and extra == "dev"
-
pycparser==3.0[dev]python_version >= "3.10" and extra == "dev"
-
pygments==2.21.0[dev]python_version >= "3.9" and extra == "dev"
-
pyjwt==2.15.1[dev]python_version >= "3.9" and extra == "dev"
-
pyopenssl==26.4.0[dev]python_version >= "3.9" and extra == "dev"
-
pyotp==2.9.0[dev]python_version >= "3.7" and extra == "dev"
-
pysocks==1.7.1[dev](python_version >= "2.7" and python_version not in "3.0, 3.1, 3.2, 3.3") and extra == "dev"
-
pytest==8.4.2[dev]python_version >= "3.9" and extra == "dev"
-
pytest-cov==7.1.0[dev]python_version >= "3.9" and extra == "dev"
-
pytest-django==4.8.0[dev]python_version >= "3.8" and extra == "dev"
-
pytest-order==1.5.0[dev]python_version >= "3.9" and extra == "dev"
-
pytest-xdist==3.8.0[dev]python_version >= "3.9" and extra == "dev"
-
python-dateutil==2.9.0.post0[dev](python_version >= "2.7" and python_version not in "3.0, 3.1, 3.2, 3.3") and extra == "dev"
-
pytokens==0.4.1[dev]python_version >= "3.8" and extra == "dev"
-
pyyaml==6.0.2[dev]python_version >= "3.8" and extra == "dev"
-
qrcode==8.2[dev](python_version >= "3.9" and python_version < "4.0") and extra == "dev"
-
redis==5.2.1[dev]python_version >= "3.8" and extra == "dev"
-
regex==2024.11.6[dev]python_version >= "3.8" and extra == "dev"
-
reportlab==4.5.1[dev](python_version >= "3.9" and python_version < "4") and extra == "dev"
-
requests==2.34.2[dev]python_version >= "3.10" and extra == "dev"
-
requests-toolbelt==1.0.0[dev](python_version >= "2.7" and python_version not in "3.0, 3.1, 3.2, 3.3") and extra == "dev"
-
rsa==4.9.1[dev](python_version >= "3.6" and python_version < "4") and extra == "dev"
-
selenium==4.29.0[dev]python_version >= "3.9" and extra == "dev"
-
setuptools==84.0.0[dev]python_version >= "3.10" and extra == "dev"
-
six==1.17.0[dev](python_version >= "2.7" and python_version not in "3.0, 3.1, 3.2, 3.3") and extra == "dev"
-
sniffio==1.3.1[dev]python_version >= "3.7" and extra == "dev"
-
sortedcontainers==2.4.0[dev]extra == "dev"
-
sqlparse==0.6.0[dev]python_version >= "3.10" and extra == "dev"
-
tablib==3.10.0[dev]python_version >= "3.10" and extra == "dev"
-
tink==1.13.0[dev]python_version >= "3.9" and extra == "dev"
-
trio==0.34.0[dev]python_version >= "3.10" and extra == "dev"
-
trio-websocket==0.12.2[dev]python_version >= "3.8" and extra == "dev"
-
typing-extensions==4.16.0[dev]python_version >= "3.9" and extra == "dev"
-
urllib3==2.8.0[dev]python_version >= "3.10" and extra == "dev"
-
websocket-client==1.9.2[dev]python_version >= "3.10" and extra == "dev"
-
werkzeug==3.1.7[dev]python_version >= "3.9" and extra == "dev"
-
wheel==0.48.0[dev]python_version >= "3.9" and extra == "dev"
-
wsproto==1.3.2[dev]python_version >= "3.10" and extra == "dev"
-
zipp==4.1.0[dev]python_version >= "3.10" and extra == "dev"