Make authenticated API calls using OAuth2 in Python applications
Project description
Swift OAuth2 Client
Swift OAuth2 Client is a Python SDK that provides a simple and efficient way to interact with OAuth2-protected APIs. It handles token management, API calls, and file downloads with support for asynchronous operations.
Features
- Asynchronous API calls using
httpx
- Automatic token management and renewal
- Support for various request body types and response formats
- File download capabilities
- Easy-to-use interface with type hints
- Comprehensive documentation
Installation
pip install swift-oauth2-client
Quick Start
Here's a basic example of how to use the Swift OAuth2 Client:
from oauth2_client import OAuth2Config, new_api_client
config = OAuth2Config(
token_url="https://api.example.com/oauth/token",
client_id="your_client_id",
client_secret="your_client_secret",
scopes=["read", "write"]
)
with new_api_client(config, "https://api.example.com") as client:
response, status = client.call_api("GET", "/users")
print(f"Status: {status}, Response: {response}")
Asynchronous usage:
import asyncio
from oauth2_client import OAuth2Config, new_api_client_async
async def main():
config = OAuth2Config(
token_url="https://api.example.com/oauth/token",
client_id="your_client_id",
client_secret="your_client_secret",
scopes=["read", "write"]
)
async with new_api_client_async(config, "https://api.example.com") as client:
response, status = await client.call_api("GET", "/users")
print(f"Status: {status}, Response: {response}")
asyncio.run(main())
For more comprehensive examples, check out the examples/oauth2_client_example_async.py
and examples/oauth2_client_example.py
files in the repository.
Documentation
For detailed documentation, including API reference and usage guides, visit our documentation site.
Development
To set up the development environment:
- Ensure you have Poetry installed
- Clone the repository
- Run
poetry install
to install dependencies - Run tests with
poetry run pytest
Docs
- Build documentation with
poetry run mkdocs build
- Serve the documentation with
poetry run mkdocs serve
. - Open a web browser and go to http://127.0.0.1:8000/.
License
This project is licensed under the Apache License, Version 2.0.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file swift_oauth2_client-0.5.0.tar.gz
.
File metadata
- Download URL: swift_oauth2_client-0.5.0.tar.gz
- Upload date:
- Size: 10.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.0 Darwin/23.6.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2acfc8bdd4c2823927b71fa3f4aa200152da4c3099c0b7aaa38271af320432af |
|
MD5 | 99b263ca8683a3d898a1fd85777bb382 |
|
BLAKE2b-256 | 510bf572662b17a39d8b0a1060ca6bfa81a0f48ecd8aebb4dec2c7456239bc08 |
File details
Details for the file swift_oauth2_client-0.5.0-py3-none-any.whl
.
File metadata
- Download URL: swift_oauth2_client-0.5.0-py3-none-any.whl
- Upload date:
- Size: 13.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.0 Darwin/23.6.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1ff59be6040bfe5f43e398df302200d4ae3c500ccc59b69532105edbc5360de4 |
|
MD5 | ae17a5756995a74382ecc716ea7ff1cf |
|
BLAKE2b-256 | 1a3a85bd629d15049ef75121a884effe757636390b03410eb0874baccf1e248f |