Skip to main content

Authentication modules for the Django framework.

Project description

Ievv auth

Library for managing api keys and json web tokens



Use conventional commits for GIT commit messages

See You can use this git commit message format in many different ways, but the easiest is:

Install hatch and commitizen

NOTE: You only need hatch if you need to build releases, and you only need commitizen for releases OR to make it easy to follow conventional commits for your commit messages (see Use conventional commits for GIT commit messages above).

First install pipx with:

brew install pipx
pipx ensurepath

Then install hatch and commitizen:

pipx install hatch 
pipx install commitizen

See, and for more install alternatives if needed, but we really recommend using pipx since that is isolated.

Install development dependencies

Install a local python version with pyenv:

pyenv install 3.10
pyenv local 3.10

Create virtualenv


Alternatively, create virtualenv manually (this does the same as

python -m venv .venv

the ./tools/ script is just here to make creating virtualenvs more uniform across different repos because some repos will require extra setup in the virtualenv for package authentication etc.

Install dependencies

.venv/bin/pip install -e ".[dev,test]"

Upgrade your local packages

This will upgrade all local packages according to the constraints set in pyproject.toml:

pip install --upgrade --upgrade-strategy=eager ".[dev,test]"



python runserver

To wipe out the database delete the database (dbdev.sqlite3) and run:

python migrate
python runserver

Run tests

source .venv/bin/activate   # enable virtualenv
pytest ievv_auth

How to release ievv_auth

First make sure you have NO UNCOMITTED CHANGES!

Release (create changelog, increment version, commit and tag the change) with:

cz bump
git push && git push --tags

NOTE (release):

  • cz bump automatically updates, updates version file(s), commits the change and tags the release commit.
  • If you are unsure about what cz bump will do, run it with --dry-run. You can use options to force a specific version instead of the one it automatically selects from the git log if needed, BUT if this is needed, it is a sign that someone has messed up with their conventional commits.
  • cz bump only works if conventional commits (see section about that above) is used.
  • cz bump can take a specific version etc, but it automatically select the correct version if conventional commits has been used correctly. See
  • If you need to add more to (migration guide, etc), you can just edit after the release, and commit the change with a docs: some useful message commit.
  • The cz command comes from commitizen (install documented above).

What if the release fails?

See How to revert a bump in the commitizen FAQ.

Release to pypi:

hatch build -t sdist
hatch publish
rm dist/*              # optional cleanup

Use ievv_auth in projects


pip install ievv_auth


See ievv_auth.ievv_jwt.settings for default settings

Backend settings

How to override default settings:

    'default': {
        'ISSUER': 'ievv'

Custom backends will use default settings, but you can also override settings for the particular backend:

    'backend-name': {
        'ISSUER': 'ievv'

global settings

How to override global settings:

    'global': {
        'AUTH_HEADER_TYPES': ('JWT',)

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ievv_auth-3.1.2.tar.gz (17.5 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page