Metadata-Version: 2.4
Name: locksmith-py
Version: 0.1.1
Summary: Official Python client for the Locksmith JWT authentication API (signup, login, OAuth, magic links).
Project-URL: Homepage, https://getlocksmith.dev
Project-URL: Documentation, https://getlocksmith.dev/docs/api
Project-URL: Repository, https://github.com/locksmith-app/sdks
Author: Locksmith
License-Expression: MIT
Keywords: api-client,auth,authentication,httpx,jwt,locksmith,oauth
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Typing :: Typed
Requires-Python: >=3.10
Requires-Dist: httpx<0.29,>=0.27
Requires-Dist: pyjwt[crypto]<3,>=2.8
Provides-Extra: dev
Requires-Dist: pytest>=8; extra == 'dev'
Requires-Dist: ruff>=0.6; extra == 'dev'
Description-Content-Type: text/markdown

# `locksmith-py`

Official **Python 3** client for the [Locksmith](https://getlocksmith.dev) public auth API.

- **Docs:** [getlocksmith.dev/docs/api](https://getlocksmith.dev/docs/api)

## Install

```bash
pip install locksmith-py
```

## Requirements

- Python **3.10+**
- API key prefix `lsm_live_` or `lsm_sbx_` (environment is derived automatically).

## Quick start

```python
import os
from locksmith import LocksmithClient

c = LocksmithClient(api_key=os.environ["LOCKSMITH_API_KEY"])

result = c.sign_up(email="user@example.com", password="secure-password")
print(result["user"]["id"], result["accessToken"])

me = c.get_user(result["accessToken"])
```

## Local JWT verification

```python
payload = c.verify_token(access_token, public_key_pem)
```

## License

MIT
