Skip to main content

A unified Python SDK for seamless integration with Autonomize services, providing telemetry, logging, and tracing capabilities.

Project description

Auto Genesis SDK

Python Version PyPI Version Code Style Imports Type Checking Tests

The Auto Genesis SDK serves as the unified interface for all Autonomize service SDKs. It provides a streamlined way to access and utilize various Autonomize capabilities through a single, cohesive package. This centralized approach simplifies dependency management and ensures version compatibility across all Autonomize SDKs.

Features

The Auto Genesis SDK provides several key advantages:

  • Unified Access: Single entry point for all Autonomize SDKs
  • Version Compatibility: Guaranteed compatibility between different SDK modules
  • Simplified Dependencies: Managed dependencies and requirements across all SDKs
  • Consistent Interface: Standardized API patterns across all SDK modules
  • Integrated Configuration: Unified configuration management for all services

Available SDKs

Currently, the Auto Genesis SDK includes the following modules:

Telemetry SDK

Comprehensive observability solution built on OpenTelemetry, providing:

  • Unified metrics, logging, and tracing capabilities
  • FastAPI auto-instrumentation
  • Configurable export endpoints
  • Structured logging with context
  • Custom metric creation and management

Installation

You can install the Auto Genesis SDK using pip:

pip install auto-genesis-sdk

Or using Poetry:

poetry add auto-genesis-sdk

Quick Start

Here's how to get started with the Auto Genesis SDK:

from auto_genesis_sdk import Telemetry, TelemetryConfig

# Configure telemetry service
config = TelemetryConfig(
    service_name="my-service",
    environment="production",
    otlp_endpoint="http://localhost:4317",
    version="1.0.0"
)

# Initialize telemetry
telemetry = Telemetry(config)
await telemetry.start()

try:
    # Use telemetry features
    telemetry.logging.info("Application started", {"version": "1.0.0"})

    # Create metrics
    request_counter = telemetry.metrics.create_counter(
        name="http.requests",
        description="Number of HTTP requests"
    )

    # Use tracing
    async def my_operation():
        return "result"

    result = await telemetry.tracing.create_span(
        "my-operation",
        my_operation
    )
finally:
    await telemetry.shutdown()

Configuration

Each SDK module maintains its own configuration options while sharing common patterns. For example, the Telemetry SDK configuration:

TelemetryConfig(
    service_name="my-service",
    environment="production",
    version="1.0.0",
    otlp_endpoint="http://localhost:4317",
    metric_interval_ms=5000,
    log_level="INFO"
)

Development

To set up the development environment:

  1. Clone the repository:
git clone https://github.com/autonomize-ai/auto-genesis-sdk.git
  1. Install dependencies with uv:
uv venv
uv pip install -e .
  1. Install pre-commit hooks:
uv pip install pre-commit
pre-commit install

Testing

Run the test suite using pytest:

uv pip install pytest
pytest

Contributing

We welcome contributions to the Auto Genesis SDK! Please read our Contributing Guide before making any changes.

When contributing, keep in mind:

  • Follow the existing code style and documentation patterns
  • Add tests for new features
  • Update documentation as needed
  • Maintain compatibility with existing SDK modules

License

This project is licensed under the terms of the 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

auto_genesis_sdk-0.0.3.tar.gz (6.2 kB view details)

Uploaded Source

Built Distribution

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

auto_genesis_sdk-0.0.3-py3-none-any.whl (3.4 kB view details)

Uploaded Python 3

File details

Details for the file auto_genesis_sdk-0.0.3.tar.gz.

File metadata

  • Download URL: auto_genesis_sdk-0.0.3.tar.gz
  • Upload date:
  • Size: 6.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.2

File hashes

Hashes for auto_genesis_sdk-0.0.3.tar.gz
Algorithm Hash digest
SHA256 0c74490fce14ad29a790797abe423ccd7b880777ab3227e55c83b30145fb840a
MD5 590aa4232edf67040298cb95e17f32ef
BLAKE2b-256 06d9b617dafbbb97480b97ec69819b3b146bb4d7062d147e2eb174f6e3fe6e8c

See more details on using hashes here.

File details

Details for the file auto_genesis_sdk-0.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for auto_genesis_sdk-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 816802a71eefe477fa973b80c26f90747281d218a79e78c4f736fcbde224d5f9
MD5 6368e554b216bab100500ee8498c1c30
BLAKE2b-256 2571532a8a626dfbffe9b1d6486e4a5d46b2c1e406092f13237a7250b57bbbda

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