Skip to main content

Autonomize Core contains the unified authentication source to access platform.

Project description

Autonomize Core

Python Version PyPI Version Code Formatter Code Linter Code Checker Code Coverage

Overview

Autonomize Core houses the core functionality about authentication of our in-house platform.

Features

  • Authentication: The SDK allows you to authenticate tokens for Modelhub.
  • High scalability: Built to handle large-scale data retrieval and generation, enabling robust, production-ready applications.

Installation

  1. Create a virtual environment, we recommend Miniconda for environment management:
    conda create -n autocore python=3.12
    conda activate autocore
    
  2. Install the package:
    pip install autonomize-core
    

To install with optional dependencies like Qdrant, Huggingface, OpenAI, Modelhub, etc., refer to the Installation Guide.

Usage

Authentication Types

The SDK supports three authentication methods:

  1. OAuth 2.0 Client Credentials Flow (default)
  2. API Key Authentication
  3. Permanent Token Authentication

Sync Usage

OAuth Authentication (Default)

import os
from autonomize.core.credential import ModelhubCredential

cred = ModelhubCredential(
    modelhub_url=MODELHUB_URI,
    client_id=MODELHUB_AUTH_CLIENT_ID,
    client_secret=MODELHUB_AUTH_CLIENT_SECRET,
)

token = cred.get_token()  # Returns JWT token from OAuth flow

API Key Authentication

from autonomize.core.credential import ModelhubCredential

# Using API key directly (no OAuth flow)
cred = ModelhubCredential(
    api_key="your-api-key-here"
)

token = cred.get_token()  # Returns API key directly

Permanent Token Authentication

from autonomize.core.credential import ModelhubCredential
from autonomize.types.core.credential import AuthType

# Using permanent token with explicit auth_type
cred = ModelhubCredential(
    token="your-permanent-token-here",
    auth_type=AuthType.PERMANENT_TOKEN
)

token = cred.get_token()  # Returns token directly without validation

Async Usage

Simply use sync methods with a prefix and use await for each call:

import asyncio
from autonomize.core.credential import ModelhubCredential
from autonomize.types.core.credential import AuthType

async def main():
    # OAuth authentication
    cred = ModelhubCredential(
        modelhub_url=MODELHUB_URI,
        client_id=MODELHUB_AUTH_CLIENT_ID,
        client_secret=MODELHUB_AUTH_CLIENT_SECRET,
    )
    token = await cred.aget_token()

    # API key authentication
    cred_api = ModelhubCredential(api_key="your-api-key")
    api_key = await cred_api.aget_token()

    # Permanent token authentication
    cred_perm = ModelhubCredential(
        token="your-permanent-token",
        auth_type=AuthType.PERMANENT_TOKEN
    )
    perm_token = await cred_perm.aget_token()

asyncio.run(main())

New preferred environment variables:

MODELHUB_URI=https://your-modelhub.com
MODELHUB_AUTH_CLIENT_ID=your_client_id
MODELHUB_AUTH_CLIENT_SECRET=your_secret
MODELHUB_API_KEY=your_api_key
GENESIS_CLIENT_ID=your_genesis_client
GENESIS_COPILOT_ID=your_copilot

Old environment variables (still work for backward compatibility):

MODELHUB_BASE_URL=https://your-modelhub.com
MODELHUB_CLIENT_ID=your_client_id
MODELHUB_CLIENT_SECRET=your_secret
CLIENT_ID=your_client
COPILOT_ID=your_copilot

Contribution

To contribute in our Autonomize Core SDK, please refer to our Contribution Guidelines.

License

Copyright (C) Autonomize AI - All Rights Reserved

The contents of this repository cannot be copied and/or distributed without the explicit permission from Autonomize.ai

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

autonomize_core-0.1.15.tar.gz (11.2 kB view details)

Uploaded Source

Built Distribution

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

autonomize_core-0.1.15-py3-none-any.whl (14.2 kB view details)

Uploaded Python 3

File details

Details for the file autonomize_core-0.1.15.tar.gz.

File metadata

  • Download URL: autonomize_core-0.1.15.tar.gz
  • Upload date:
  • Size: 11.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.12.11 Linux/6.11.0-1018-azure

File hashes

Hashes for autonomize_core-0.1.15.tar.gz
Algorithm Hash digest
SHA256 07cad8cd9668d922e5df83eb2e7c9c6a5afd61ddbdd661d256dfcf0337722345
MD5 8938564e1479d723f35dc9fb6db91e5c
BLAKE2b-256 5e6046ad3550c698dc31dd5816b220b960d26e3245ee5dba1556346124d55e14

See more details on using hashes here.

File details

Details for the file autonomize_core-0.1.15-py3-none-any.whl.

File metadata

  • Download URL: autonomize_core-0.1.15-py3-none-any.whl
  • Upload date:
  • Size: 14.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.12.11 Linux/6.11.0-1018-azure

File hashes

Hashes for autonomize_core-0.1.15-py3-none-any.whl
Algorithm Hash digest
SHA256 f9c148f50ae7f768ea94571431f1dc2e890cde10b3b2a8dfb22af95e4305f983
MD5 6aec4573ce2e3077563449e32b2ec3c2
BLAKE2b-256 be8f9620637de851e6e5f4afb8219093fc9522e19f2fc54e0280f1b29edecaed

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