Skip to main content

Phzyx Auth

Secure-by-default identity, sessions, JWT, API keys, and RBAC for Forge apps and AdminBoard.

This is an optional battery. Most apps start with:

uv add phzyx-forge
uv add 'phzyx-forge[auth]'
# or: uv add phzyx-auth

Full docs live on the website

PyPI is the install surface. Tutorials, production notes, and product context are on phzyx.xyz:

Auth tutorial https://phzyx.xyz/forge/tutorials/auth
Forge docs https://phzyx.xyz/forge
Getting started https://phzyx.xyz/forge/getting-started
Product home https://phzyx.xyz
Source https://github.com/phzyxyz/forge

After install → open phzyx.xyz/forge/tutorials/auth.


Install

uv add 'phzyx-forge[auth]'
# equivalent
uv add 'phzyx-auth[fastapi]'

Requires phzyx-forge (product wheel).


What you get (0.1)

Area Capability
Passwords Argon2id, policy min length
Sessions Opaque cookie sessions (hashed at rest), idle + absolute TTL
JWT HS256 access + rotating refresh
API keys phx_ prefix, scopes, list/revoke
RBAC Groups / permissions, Principal, guards
Lockout Failed-login counter + rate limits + audit log
Reset / change Forgot/reset (anti-enum), change password, revoke sessions
CSRF Double-submit cookie + X-CSRF-Token for session mutations
AdminBoard Permission bridge for staff UI
CLI phzyx-auth create-superuser

Pre-1.0: APIs may change. Prefer lockfiles.


Quick start (FastAPI)

from fastapi import Depends, FastAPI
from phzyx.auth import AuthConfig, AuthService, Principal
from phzyx.auth.adapters.fastapi import mount_auth, require_user

app = FastAPI()
svc = AuthService(
    config=AuthConfig(
        secret="use-PHZYX_AUTH_SECRET-32+bytes-in-prod!!",
        production=False,
        cookie_secure=False,
    )
)
mount_auth(app, svc)

@app.get("/private")
async def private(user: Principal = Depends(require_user)):
    return {"email": user.email}
phzyx-auth create-superuser --email admin@example.com --password 'longpassword1'

Full walkthrough: Auth tutorial.


Related

License

MIT · phzyx.xyz

Metadata

Release files for phzyx-auth 0.1.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for phzyx-auth 0.1.6
File Size Uploaded
phzyx_auth-0.1.6.tar.gz 48.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for phzyx-auth 0.1.6
File Interpreter ABI Platform
phzyx_auth-0.1.6-py3-none-any.whl Python 3 none any Details

Total release size: 100.5 kB

Release files / phzyx_auth-0.1.6.tar.gz

Download URL phzyx_auth-0.1.6.tar.gz
Size 48.3 kB
Tags Source
SHA-256 checksum
How to use checksums
78584af476fef4a37d2ee6c469034d139ccb510b41f04f6b157be553c1a514dd
BLAKE2b-256 checksum
How to use checksums
ed434b0b35a3d447732c1477a328ebf5aa4b2f3c41e3a8de216e3611f2969383
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 Jul 30, 2026.

Transparency log

Release files / phzyx_auth-0.1.6-py3-none-any.whl

Download URL phzyx_auth-0.1.6-py3-none-any.whl
Size 52.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f2733451c0b5ac26929cbca6d12c606a8a4fed4e3fe87ebdfb6e02187ff1444d
BLAKE2b-256 checksum
How to use checksums
78ffc9677fb64bac48d902ac4debe8f5e920c514a15a15ab4260a886c30cca87
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 Jul 30, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.6 This release

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page