Metadata-Version: 2.4
Name: tc-auth
Version: 1.5.0
Summary: A modular authentication library for FastAPI
Author: Atharv Thakre
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: fastapi<1.0,>=0.115
Requires-Dist: sqlalchemy<3.0,>=2.0
Requires-Dist: psycopg2-binary<3.0,>=2.9
Requires-Dist: authlib<2.0,>=1.4
Requires-Dist: starlette<2.0,>=0.46
Requires-Dist: itsdangerous<3.0,>=2.2
Requires-Dist: httpx<1.0,>=0.27
Requires-Dist: email-validator<3.0,>=2.2
Requires-Dist: PyJWT<3.0,>=2.10
Requires-Dist: python-jose<4.0,>=3.3
Requires-Dist: bcrypt<6.0,>=4.2
Dynamic: license-file

# tc_auth

`tc_auth` is a Python authentication module designed for FastAPI applications.
It provides reusable services for account management, login/signup flows, session handling, OTP verification, and OAuth login integrations.

## What this code includes

- **Auth bootstrap class** (`tc_auth/auth.py`) to wire services, dependencies, and exception handlers.
- **Database models** (`tc_auth/db/models.py`) for accounts, sessions, OTP records, and OAuth-linked accounts.
- **Core services** (`tc_auth/service/`) for authentication, account operations, sessions, OTP, OAuth, and user lookup.
- **Dependency helpers** (`tc_auth/dependencies/`) to retrieve current user/session and enforce role/status checks.
- **OAuth adapters** (`tc_auth/oauth/`) for Google and GitHub login flows.
- **JWT utilities and exception handling** for token generation/verification and auth-specific errors.

## Typical usage

Create an `Auth` instance with your SQLAlchemy engine and FastAPI app, then use exposed services/dependencies in your routes.
