Python client for the AutoCare API
Project description
AutoCare Python Client
A Python client library for interacting with AutoCare Association databases and services.
Features
- OAuth2 authentication with automatic token refresh
- Database and table listing
- Record fetching with pagination support
- Comprehensive error handling and logging
- Type safety with dataclasses
- Context manager support
Installation
From PyPI (Recommended)
pip install autocare
From Source
git clone https://github.com/TranstarIndustries/autocare-python.git
cd autocare-python
uv sync --all-extras
Quick Start
from autocare.client import AutoCareAPI
# Initialize client
with AutoCareAPI(
client_id="your_client_id",
client_secret="your_client_secret",
username="your_username",
password="your_password"
) as client:
# List databases
databases = client.list_databases()
# List tables
tables = client.list_tables("VCdb")
# Fetch records
records = client.fetch_all_records("VCdb", "Make")
# Or iterate with pagination
for record in client.fetch_records("VCdb", "BaseVehicle", limit=1000):
print(record)
API Reference
Main Methods
list_databases()- List available databaseslist_tables(db_name)- List tables in a databasefetch_records(db_name, table_name, limit=None, page_size=None)- Fetch records with paginationfetch_all_records(db_name, table_name)- Fetch all records as a listvalidate_credentials()- Validate API credentials
Data Classes
DatabaseInfo- Database metadataTableInfo- Table metadataAPIResponse- API response wrapper
Exceptions
AuthenticationError- Authentication failuresAPIConnectionError- Connection issuesAPIResponseError- API error responsesDataValidationError- Data validation failures
Development
Setup
# Install dev dependencies
just dev-sync
# Install pre-commit hooks
just install-hooks
Commands
just validate # Run all checks (format, lint, test)
just format # Format code
just lint # Run linting
just test # Run tests
Configuration
Set environment variables or use parameters:
AUTOCARE_CLIENT_ID=your_client_id
AUTOCARE_CLIENT_SECRET=your_client_secret
AUTOCARE_USERNAME=your_username
AUTOCARE_PASSWORD=your_password
Requirements
- Python 3.13+
- Valid AutoCare API credentials
License
MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
autocare-0.2.0.tar.gz
(24.5 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
autocare-0.2.0-py3-none-any.whl
(16.6 kB
view details)
File details
Details for the file autocare-0.2.0.tar.gz.
File metadata
- Download URL: autocare-0.2.0.tar.gz
- Upload date:
- Size: 24.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6b2dfd76c970f2fdf2b2d3facadeef92b6ad6bde90441416804a94ab229a317c
|
|
| MD5 |
4fe8f03d62599e28c614a03bbc840fe2
|
|
| BLAKE2b-256 |
9d2d45d95190e71419a7171fbdf2a5884d12bd31a5142e21658ccfb6517fbb78
|
File details
Details for the file autocare-0.2.0-py3-none-any.whl.
File metadata
- Download URL: autocare-0.2.0-py3-none-any.whl
- Upload date:
- Size: 16.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
05d0b4811e17f53a21882241718c02db0eb96e0178c83982c2e44395942e1858
|
|
| MD5 |
faff6f2fc9871085858bce9ce388359c
|
|
| BLAKE2b-256 |
b4f52e4f3b9f22863fede6afb3244584f131d3abb33d2369735a008e5c87e779
|