Skip to main content

Simple and universal library for authorization.

Project description

Jam

logo

Python Version PyPI - Version PyPI Downloads tests Ask DeepWiki GitHub License

Install

pip install jamlib

Quick example

from jam import Jam

jam = Jam(config="config.toml")

jwt = jam.jwt_encode(payload={"user": 1})
session_id = jam.session_create(session_key="username", data={"user": 1})
otp_code = jam.otp_code(secret="3DB7FOAOFBCI3WFDRE7EPF43CA")

Why Jam?

Jam is a library that provides the most popular AUTH* mechanisms right out of the box.

Framework integrations

Jam provides ready-to-use integrations for the most popular frameworks:

Each integration offers built-in middleware or plugin support for JWT and session-based authentication.

Why choose Jam?

Jam supports many authentication methods out of the box with minimal dependencies. Here is a comparison with other libraries:

Features / Library Jam Authx PyJWT AuthLib OTP Auth
JOSE ❌ only JWT ❌ only JWT
JWT black/white lists
PASETO
Server side sessions
OTP
OAuth2
Flexible config
Modularity

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

jamlib-3.2.0rc2.tar.gz (93.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jamlib-3.2.0rc2-py3-none-any.whl (140.4 kB view details)

Uploaded Python 3

File details

Details for the file jamlib-3.2.0rc2.tar.gz.

File metadata

  • Download URL: jamlib-3.2.0rc2.tar.gz
  • Upload date:
  • Size: 93.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for jamlib-3.2.0rc2.tar.gz
Algorithm Hash digest
SHA256 ad4f4f9e20aae94be65cd0b735365338b698441cbc56d7ec97862dbbe0b09561
MD5 ce0694b7a4a3cd8397950260e3b70325
BLAKE2b-256 2f600a53d6932cdf1b240a864ca1678c0768a9cd04480535516d595df7df95ec

See more details on using hashes here.

File details

Details for the file jamlib-3.2.0rc2-py3-none-any.whl.

File metadata

  • Download URL: jamlib-3.2.0rc2-py3-none-any.whl
  • Upload date:
  • Size: 140.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for jamlib-3.2.0rc2-py3-none-any.whl
Algorithm Hash digest
SHA256 a1126159f25d64079c7ee40280eac50279b25201181c699e24e50c3e0c6ff8b4
MD5 6bc96853a44cb59ba779e263ad3f033b
BLAKE2b-256 50afe0f31154200806eb9bae98d2a3f410e453fbc2e0bde5735fd0178b2f33ca

See more details on using hashes here.

Supported by

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