Metadata-Version: 2.5
Name: gotauth
Version: 0.0.1
Summary: Open-source auth for Python AI backends: sessions, social login, 2FA, passkeys, organizations, API keys, agent identities and an OAuth 2.1 server for MCP
Project-URL: Homepage, https://gotauth.dev
Project-URL: Documentation, https://gotauth.dev/docs
Project-URL: Repository, https://github.com/gotauth/gotauth
Project-URL: Changelog, https://github.com/gotauth/gotauth/blob/main/CHANGELOG.md
Author: GotAuth contributors
License-Expression: MIT
License-File: LICENSE
Keywords: api-keys,auth,authentication,authorization,fastapi,mcp,oauth,passkeys,sessions
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Framework :: AsyncIO
Classifier: Framework :: FastAPI
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Internet :: WWW/HTTP :: Session
Classifier: Topic :: Security
Classifier: Typing :: Typed
Requires-Python: >=3.11
Requires-Dist: cryptography>=44
Requires-Dist: httpx>=0.28
Requires-Dist: pydantic>=2
Requires-Dist: pyjwt>=2.10
Provides-Extra: argon2
Requires-Dist: argon2-cffi>=23.1; extra == 'argon2'
Provides-Extra: bcrypt
Requires-Dist: bcrypt>=4.2; extra == 'bcrypt'
Provides-Extra: fastapi
Requires-Dist: fastapi>=0.115; extra == 'fastapi'
Requires-Dist: python-multipart>=0.0.18; extra == 'fastapi'
Provides-Extra: litestar
Requires-Dist: litestar>=2.12; extra == 'litestar'
Provides-Extra: mcp
Requires-Dist: fastmcp>=4; extra == 'mcp'
Requires-Dist: mcp>=2; extra == 'mcp'
Provides-Extra: passkey
Requires-Dist: webauthn>=3; extra == 'passkey'
Provides-Extra: postgres
Requires-Dist: asyncpg>=0.30; extra == 'postgres'
Provides-Extra: redis
Requires-Dist: redis>=5.2; extra == 'redis'
Provides-Extra: smtp
Requires-Dist: aiosmtplib>=3; extra == 'smtp'
Provides-Extra: sqlalchemy
Requires-Dist: alembic>=1.14; extra == 'sqlalchemy'
Requires-Dist: sqlalchemy[asyncio]>=2.0.36; extra == 'sqlalchemy'
Provides-Extra: sqlite
Requires-Dist: aiosqlite>=0.20; extra == 'sqlite'
Provides-Extra: starlette
Requires-Dist: starlette>=0.46; extra == 'starlette'
Description-Content-Type: text/markdown

# GotAuth

**Got auth?** Open-source auth for Python AI backends: users, sessions, social login, 2FA, passkeys, organizations, API keys, agent identities and a built-in OAuth 2.1 server for your MCP servers. All of it lives in your own database.

Status: pre-alpha. The package layout, dev environment, tooling and CI are in place. The auth modules are being built as separate work packages (see the engineering plan below) and nothing is ready for production use yet.

## Quickstart for contributors

You need Git and Docker (Docker Desktop on Windows and macOS). Python, uv, Node and pnpm run inside the dev container, so there is nothing else to install.

```bash
git clone https://github.com/gotauth/gotauth.git
cd gotauth
./dev.sh uv sync --locked --all-extras   # PowerShell: .\dev.ps1 uv sync --locked --all-extras
./dev.sh uv run poe check                # format check, lint, types and tests
```

The first run builds the dev image and fills the dependency cache, which takes a few minutes. [CONTRIBUTING.md](CONTRIBUTING.md) covers the dev container, git worktrees, commits and pinned versions. Agents start with [AGENTS.md](AGENTS.md).

## Repository layout

| Path | Contents |
|---|---|
| `src/gotauth/` | The library: one subpackage per module or plugin |
| `tests/` | Tests, one folder per area |
| `spec/` | Language-neutral test vectors |
| `changes/` | News fragments for the changelog |
| `registry/` | UI components (shadcn registry) and the typed fetch client |
| `apps/landing/`, `apps/docs/` | Landing page and docs site |
| `examples/` | Runnable example apps |
| `docker/`, `compose.yaml`, `dev.sh`, `dev.ps1` | Dev container |
| `docs/` | Build plan, engineering plan, research, requests and contract change requests |

## Documents

| Document | What it covers |
|---|---|
| [docs/build-plan.md](docs/build-plan.md) | Pitch, positioning, comparison, architecture, roadmap, security approach |
| [docs/plan/README.md](docs/plan/README.md) | Engineering plan: work packages that several agents can build in parallel |
| [docs/plan/CONTRACTS.md](docs/plan/CONTRACTS.md) | Shared interfaces, frozen at milestone M0 |
| [AGENTS.md](AGENTS.md) | Rules every agent follows (copy of [docs/plan/AGENT-RULES.md](docs/plan/AGENT-RULES.md)) |
| [CONTRIBUTING.md](CONTRIBUTING.md) | Dev environment, worktrees, commits, pinned versions |
| [SECURITY.md](SECURITY.md) | How to report a vulnerability |
| [docs/research/validation-research.md](docs/research/validation-research.md) | Public evidence, competitors and validation gates (no interviews) |

## License

[MIT](LICENSE)
