Skip to main content

Python client for the AutoCare API

Project description

AutoCare Python Client

Python Tests PyPI Version PyPI Downloads

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 databases
  • list_tables(db_name) - List tables in a database
  • fetch_records(db_name, table_name, limit=None, page_size=None) - Fetch records with pagination
  • fetch_all_records(db_name, table_name) - Fetch all records as a list
  • validate_credentials() - Validate API credentials

Data Classes

  • DatabaseInfo - Database metadata
  • TableInfo - Table metadata
  • APIResponse - API response wrapper

Exceptions

  • AuthenticationError - Authentication failures
  • APIConnectionError - Connection issues
  • APIResponseError - API error responses
  • DataValidationError - 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


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)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

autocare-0.2.0-py3-none-any.whl (16.6 kB view details)

Uploaded Python 3

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

Hashes for autocare-0.2.0.tar.gz
Algorithm Hash digest
SHA256 6b2dfd76c970f2fdf2b2d3facadeef92b6ad6bde90441416804a94ab229a317c
MD5 4fe8f03d62599e28c614a03bbc840fe2
BLAKE2b-256 9d2d45d95190e71419a7171fbdf2a5884d12bd31a5142e21658ccfb6517fbb78

See more details on using hashes here.

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

Hashes for autocare-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 05d0b4811e17f53a21882241718c02db0eb96e0178c83982c2e44395942e1858
MD5 faff6f2fc9871085858bce9ce388359c
BLAKE2b-256 b4f52e4f3b9f22863fede6afb3244584f131d3abb33d2369735a008e5c87e779

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page