Skip to content

ai-chem/chemx-client-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ChemX Python Client

chemx-client — это Python-библиотека для доступа к научной платформе ChemX.

ChemX — это экосистема для работы с научными данными о наноматериалах. Наша цель — предоставить исследователям и аналитикам готовые инструменты для доступа и анализа данных. Платформа состоит из трёх ключевых компонентов:

  1. ChemX-DBT: ELT-пайплайн, который очищает, стандартизирует и готовит витрины данных.
  2. ChemX-Backend: API-сервер на FastAPI, который предоставляет доступ к этим данным через REST API.
  3. ChemX-Client-Python (эта библиотека): Удобный инструмент для получения данных с нашего API напрямую в Python.

Эта библиотека избавляет вас от необходимости делать прямые HTTP-запросы и возвращает данные в удобном формате pandas.DataFrame, готовом для анализа и использования в Jupyter Notebooks, ML-моделях и других скриптах.


Быстрый старт

1. Установка

Вы можете установить последнюю версию библиотеки напрямую с GitHub:

!pip install --upgrade git+https://github.com/ai-chem/chemx-client-python

2. Пример использования

Вот как просто начать работу. Всего три шага, чтобы получить нужные вам данные:

from chemx_client.client import ChemXClient, ChemXAPIError

# Шаг 1: Инициализируйте клиент
client = ChemXClient()

# Шаг 2: Посмотрите, какие наборы данных вообще доступны
try:
    schema = client.get_schema()
    print("Доступные домены:", schema['available_domains'])
    print("Доступные типы данных:", schema['available_data_types'])
except ChemXAPIError as e:
    print(f"Ошибка: {e}")

# Шаг 3: Загрузите нужный вам датасет
try:
    # Например, получим ML-версию данных для домена 'cytotox'
    df = client.get_dataset(domain='cytotox', data_type='ml_data')
    print("\nУспешно загружены данные по цитотоксичности:")
    print(df.head())
except ChemXAPIError as e:
    print(f"Ошибка: {e}")

Интерактивный туториал

Для подробного пошагового руководства с практическими примерами анализа и визуализации, пожалуйста, откройте наш Jupyter ноутбук:

Справочник по методам (API Reference)

Библиотека предоставляет два способа получения данных: универсальный (рекомендуемый) и специфичный.

Универсальные методы (Рекомендуемый подход)

Это самый гибкий способ получить любые данные.

Метод Описание Возвращает
get_schema() Получает словарь со списками всех доступных доменов и типов данных. dict
get_dataset(domain, data_type, ...) Загружает указанный датасет по его домену и типу. pandas.DataFrame

Специфичные методы (Методы-сокращения)

Для удобства и обратной совместимости сохранены методы для прямого доступа к каждому датасету. Они являются просто "короткими командами" для get_dataset().

Пример: client.get_cytotox_ml_data() — это то же самое, что и client.get_dataset(domain='cytotox', data_type='ml_data').

Список методов:

  • Данные о цитотоксичности: get_cytotox_data(), get_cytotox_ml_data(), get_cytotox_column_stats(), и т.д.
  • Данные о наномагнетизме: get_nanomag_data(), get_nanomag_ml_data(), get_nanomag_column_stats(), и т.д.
  • (и так далее для остальных доменов...)

Обработка ошибок

Все методы могут выбросить исключение ChemXAPIError в случае проблем с сетью или сервером. Рекомендуется оборачивать вызовы в блок try...except.

try:
    df = client.get_dataset(domain='non_existent_domain', data_type='all_data')
except ChemXAPIError as e:
    print(f"Произошла ошибка при запросе к API: {e}")

The ChemX Ecosystem

This repository is the central hub for the ChemX project. The full ecosystem consists of several repositories designed to work together:

  • ChemX: Contains 10 datasets, documentation, and code for running baseline and agentic experiments for information extraction.
  • ChemX-dbt: Contains database models (dbt) to use ChemX datasets and build ETL pipelines.
  • ChemX-backend: Contains backend code to serve ChemX datasets via API.
  • ChemX-RAG: Contains code to build Retrieval-Augmented Generation (RAG) applications using ChemX datasets.
  • ChemX-client-python: Contains a Python client for accessing ChemX datasets via the API.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors