Skip to main content

Tropass SDK helps you develop and manage your models for Tropass platform

Project description


tropass-sdk — это инструмент для разработки и управления ML-моделями на платформе Тропасс.


📦 Установка

# Для pip
pip install tropass-sdk[server]

# Для uv
uv add tropass-sdk[server]

# Для poetry
poetry add tropass-sdk[server]

🛠 Подготовка приложения

Для инициализации сервера достаточно передать функцию предсказания в класс ModelServer.

Ключевые требования:

  • Функция предсказания обязана принимать три аргумента model_input, common_resources и request_metadata.
  • Функция предсказания обязана возвращать схему ответа модели MLModelResponseSchema.
  • Инстанс ModelServer обязан находиться в файле main.py в корне проекта.
from tropass_sdk.server import ModelServer
from tropass_sdk.schemas.model_contract_schema import MLModelRequestMetadataSchema, MLModelRequestSchema, MLModelResponseSchema

def predict_handler(
    model_input: dict[str, list[typing.Any]],
    common_resources: dict[str, typing.Any],
    request_metadata: MLModelRequestMetadataSchema | None = None,
) -> MLModelResponseSchema:
    # Логика инференса модели
    return MLModelResponseSchema(panel_items=[])

server = ModelServer(
    model_func=predict_handler,
    model_name="my_model",
    model_description="Production model description",
    model_version="1.0.0",
    debug=False
)

⚡ Варианты запуска

Для запуска создайте экземпляр приложения c помощью метода build_application. Важно! Имя приложения обязательно должно быть application:

application = server.build_application()

Запуск: uvicorn main:application --host 0.0.0.0 --port 8000 --workers 4


🔍 Мониторинг и наблюдаемость

Благодаря интеграции с microbootstrap, сервис из коробки поддерживает:

  • Метрики: Доступны по эндпоинту /metrics в формате Prometheus.
  • Health Checks: Проверка состояния сервиса доступна по пути /health.
  • Логирование: Структурированные логи готовы к сбору в ELK/Loki.

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

tropass_sdk-0.3.1.tar.gz (12.1 kB view details)

Uploaded Source

Built Distribution

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

tropass_sdk-0.3.1-py3-none-any.whl (10.3 kB view details)

Uploaded Python 3

File details

Details for the file tropass_sdk-0.3.1.tar.gz.

File metadata

  • Download URL: tropass_sdk-0.3.1.tar.gz
  • Upload date:
  • Size: 12.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","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 tropass_sdk-0.3.1.tar.gz
Algorithm Hash digest
SHA256 628711b76babbabcbd0aa4922b6db1593061ef7174b5ee595521a070c64c5d99
MD5 ff8ecda78cd36cead0e0253a091fa477
BLAKE2b-256 89ac87d5b32cec334b71b1adcb5af5c56b6f4adddc1506796583a729ec424037

See more details on using hashes here.

File details

Details for the file tropass_sdk-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: tropass_sdk-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 10.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","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 tropass_sdk-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 df74edd971e19c15004932193884cd51539d9c8218617a299305ec3835a3f342
MD5 0a62c7cecbc79207f5a06a954c63bfe7
BLAKE2b-256 6c05e2ad7993f5b86290b572e767b737d8f3a42bce4dd1363df90c5aa7f8138a

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