Skip to main content

Python client SDK for the Kappa-framework ML/AI platform

Project description

kf-sdk

License BSD 3.0 Python 3.9–3.13 PyPI Downloads Releases

Python-клиент SDK для Kappa-framework — самостоятельно развёртываемой микросервисной платформы для исследовательских ML/AI рабочих процессов.

Реализован на Rust + PyO3, распространяется как Python-пакет kf-sdk (import kappa_apk).

Документация SDK: docs/ru/README.md (RU) · docs/README.md (EN) | English version: README.en.md

Версия 3.0.0
Python 3.9+
Rust edition 2024
Лицензия BSD-3-Clause (LICENSE.md)

Каппа — ϰ-фреймворк управления датасетами и моделями, версия 3.0.0

Каппа — набор концептуального и программного обеспечения (фреймворк) для осуществления функций курации датасетов и моделей (Исследовательский центр в сфере искусственного интеллекта по направлению «Строительство и городская среда» НГУ, Новосибирск).

Авторы

Кумар Р., Павловский Е.Н., Иванков П.С., Денисов С.С., Мищенко А.С., Болотов К.Ю., Безруков Я.С., Глушенко А.В., Дербаль Р., Бобо С.

Назначение

  • Распределение ответственности при формировании набора данных;
  • Контроль за обучением моделей машинного обучения с обратной связью на датасет;
  • Испытание цифровых двойников на базе моделей искусственного интеллекта;
  • Отслеживание соблюдения этических норм и стандартов.

Функции

  • [Реализовано в 2024, версия 1.0.0] Отслеживание авторства разметки, в т.ч. с использованием средств автоматизации разметки
  • [Реализовано в 2025, версия 2.0.0] Бенчмаркинг ИИ-моделей
  • [Реализовано в 2026, версия 3.0.0] Индексация всех датасетов в интернете (для сферы строительства и городской среды), индексация всех ИИ-задач, из научных публикаций и открытых кодов (для сферы строительства и городской среды)

Проекты на базе фреймворка

Финансовая поддержка

2024: Исследование выполнено за счёт финансовой поддержки (гранта) исследовательских центров, предоставленной Автономной некоммерческой организацией «Аналитический центр при Правительстве Российской Федерации», идентификатор соглашения о предоставлении субсидии 000000D730324P540002, договор о предоставлении гранта с Новосибирским государственным университетом от 27.12.2023 № 70-2023-001318.

2025: Исследование выполнено в рамках гранта (Соглашение о предоставлении из федерального бюджета гранта в форме субсидии от 17.04.2025 № 139-15-2025-006 ИГК 000000Ц313925P3S0002), направление «Строительство и городская среда», мероприятие № 56 Плана деятельности Исследовательского центра в сфере ИИ НГУ.

2026: Исследование выполнено в рамках гранта (Соглашение о предоставлении из федерального бюджета гранта в форме субсидии от 17.04.2025 № 139-15-2025-006 ИГК 000000Ц313925P3S0002), направление «Строительство и городская среда», мероприятие № 85 Плана деятельности Исследовательского центра в сфере ИИ НГУ.

Датасеты

На базе фреймворка зарегистрировано три датасета:

  • «Датасет по ретроконверсии библиотечных карточек (строительство)» — свидетельство о регистрации базы данных № 2025620303 от 17 января 2025 г.
  • «Датасет по наблюдениям за флорой и фауной в городской среде» — свидетельство о регистрации базы данных № 2025620139 от 10 января 2025 г.
  • «Датасет по извлечению аннотаций из библиотечных ресурсов» — свидетельство о регистрации базы данных № 2026620302 от 21 января 2026 г.

Установка kf-sdk

Требования

  • Python 3.9+
  • Для сборки из исходников: Rust toolchain + maturin >= 1.9

Установка

Из PyPI (рекомендуется)

pip install kf-sdk

Сборки wheels публикуются для Linux (manylinux), macOS (Intel + Apple Silicon) и Windows, Python 3.9–3.13.

import kappa_apk
print(kappa_apk.version())

Из исходников (требуется Rust)

pip install maturin
git clone https://github.com/nsu-ai/kappa.git
cd kappa
maturin develop --release

Локальная сборка wheel

# Только локальная сборка → dist/ (без загрузки)
./build_wheel.sh
./build_wheel.sh --local --no-sdist -v 3.11

# Сборка + установка + smoke test
./build_wheel.sh -i

# Сборка + загрузка на PyPI
./build_wheel.sh --upload

Требования для сборки

  • Rust toolchain (curl https://sh.rustup.rs | sh)
  • maturin >= 1.9 (pip install maturin)
  • Python 3.9–3.13
  • Опционально: cibuildwheel для кроссплатформенных wheels (см. docs/ru/BuildAndPublish.md)

Начало работы

Все запросы идут через шлюз Traefik API — укажите base_url как адрес шлюза. Идентификация (пользователь, организация) определяется JWT-токеном на стороне сервера; идентификаторы пользователей в URL не передаются.

from kappa_apk import KappaApkClient

base_url = "https://kappa.nsu.ru:8061"

# Подключение через контекстный менеджер (автоматический вход/выход)
with KappaApkClient(base_url, "user@example.com", "secret") as client:

    # Список датасетов
    page = client.list_datasets(size=50)
    print(page["items"])

    # Загрузка архива версии датасета (кэшируется на диске)
    info = client.download_dataset_version_archive(
        dataset_id=582,
        version_no="1.0.0",
    )
    print(info.data_path)   # ~/cache/kappa-framework/datasets/...

    # Или загрузка напрямую в загрузчик данных для обучения
    loader = client.get_dataset_loader(
        dataset_name="MyDataset",
        version_no="1.0.0",
        batch_size=32,
        shuffle=True,
    )
    for batch in loader:
        print(batch[0]["entity_id"])

Основные понятия

Понятие Описание
KappaApkClient Основной HTTP-клиент — аутентификация, датасеты, бенчмарки
KappaDataset Датасет в памяти (__len__ / __getitem__)
KappaDataLoader Пакетный загрузчик на Rust с учётом эпох
vision / text / audio Подмодули преобразований для предобработки

Документация

Русский · English: README.en.md · docs/README.md

Руководство (RU) Руководство (EN) Описание
docs/ru/GettingStarted.md docs/GettingStarted.md Установка, шлюз, аутентификация
docs/ru/KappaApkClient.md docs/KappaApkClient.md Справочник API клиента
docs/ru/Datasets.md docs/Datasets.md CRUD датасетов, сущности, версии
docs/ru/LoadersAndTransforms.md docs/LoadersAndTransforms.md Загрузчики данных и преобразования
docs/ru/Benchmarks.md docs/Benchmarks.md Рабочий процесс бенчмарков
docs/ru/DataModels.md docs/DataModels.md Модели запросов и ответов
docs/ru/BuildAndPublish.md docs/BuildAndPublish.md Wheels, CI, публикация на PyPI
code_examples/ Запускаемые примеры

Лицензия

См. LICENSE.md — BSD 3-Clause License, Copyright (c) 2024, Novosibirsk State University, Ai-Center.

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

kf_sdk-3.0.0.tar.gz (2.1 MB view details)

Uploaded Source

Built Distributions

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

kf_sdk-3.0.0-cp313-cp313-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.13Windows x86-64

kf_sdk-3.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

kf_sdk-3.0.0-cp312-cp312-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.12Windows x86-64

kf_sdk-3.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

kf_sdk-3.0.0-cp311-cp311-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.11Windows x86-64

kf_sdk-3.0.0-cp311-cp311-manylinux_2_34_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

kf_sdk-3.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

kf_sdk-3.0.0-cp310-cp310-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.10Windows x86-64

kf_sdk-3.0.0-cp310-cp310-manylinux_2_34_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

kf_sdk-3.0.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

kf_sdk-3.0.0-cp39-cp39-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.9Windows x86-64

kf_sdk-3.0.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

File details

Details for the file kf_sdk-3.0.0.tar.gz.

File metadata

  • Download URL: kf_sdk-3.0.0.tar.gz
  • Upload date:
  • Size: 2.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.0rc1

File hashes

Hashes for kf_sdk-3.0.0.tar.gz
Algorithm Hash digest
SHA256 2e69fc95fb81d13cb4719e7707e2825b55c7805148b6c2111213a2280d752c33
MD5 cd590c4adba0d602cd73c66cc8d87bef
BLAKE2b-256 de40763a9739598ab4c35b65969832eacaaab84c52ca5f14d6ba84f2bdb9749c

See more details on using hashes here.

File details

Details for the file kf_sdk-3.0.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: kf_sdk-3.0.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.0rc1

File hashes

Hashes for kf_sdk-3.0.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 f2b320f61d4535fb8ab9b691cdedf256da1fcc6888f48fd024503cf2d97aae96
MD5 3c2d2f3f795511eb9dcc21b7120a5391
BLAKE2b-256 cf31a11ea204c65a0a439fd2897a78586f954cc4d6f82ecd7d4005e74ffa4e51

See more details on using hashes here.

File details

Details for the file kf_sdk-3.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for kf_sdk-3.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 57918115ceed8aee8eb72ffdc7c533a0ee05e61cbf87a7698f41390758a63f2b
MD5 48c36be8ab445b464ad5049170588d19
BLAKE2b-256 45fba09fa5b5a59c9a6eeadfa44172edd426bbd0c280be93e62e8128c0be4cca

See more details on using hashes here.

File details

Details for the file kf_sdk-3.0.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: kf_sdk-3.0.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.0rc1

File hashes

Hashes for kf_sdk-3.0.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 4c02dd89661c10c26762a35ed6ff3f19a0cf26b42f3d76317e63c86fd4d150d0
MD5 f20052053d080869eae15950ff2aa11b
BLAKE2b-256 f0c6eee00aabef26f18352f32f2ce5a83b418450ae718a1fc2f5c99f85b91bdc

See more details on using hashes here.

File details

Details for the file kf_sdk-3.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for kf_sdk-3.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 7a6f2407a6d390167cf087f049439b0585b51ff91d9defbd7f19e58a847d1252
MD5 335ea4a4b3ecd5ace0dab3ab706bc71b
BLAKE2b-256 ea6ddb7e761e0e5fd54c134ed9fa0e1cdb10e7938867d9bacd79fa7b4a1c7802

See more details on using hashes here.

File details

Details for the file kf_sdk-3.0.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: kf_sdk-3.0.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.0rc1

File hashes

Hashes for kf_sdk-3.0.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 c52522cf0c1658da3790af4dfaf5a5ce04a08dfeb1eb19b07d97a213f56a759e
MD5 ae2f2279e46356448dc98748c67d90d5
BLAKE2b-256 3eca37c7a37956cc41f16c9e7cb85b2e00803b9eff0c3d7e28061a0965cacb77

See more details on using hashes here.

File details

Details for the file kf_sdk-3.0.0-cp311-cp311-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for kf_sdk-3.0.0-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 b541a4462efc0cda68d548435ff7495a69f3004b84dabc9d8b99d8989c48e054
MD5 87dfc6d5c3ce066f9bc2f07882724b21
BLAKE2b-256 04193952607dc102c9e10b35df53643425e6d80e4f5880d9d1c4bd8fbeeba475

See more details on using hashes here.

File details

Details for the file kf_sdk-3.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for kf_sdk-3.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 e4f6ce03fb0c1bcd864aeb76c6d86b2aed7d87b6e346455588b0a4033e381bad
MD5 f02dc16bb3a235e8e64c3e91766310c0
BLAKE2b-256 7e95bda6f9c5d7cf7d2f67022d448c38ee9cb1b38e1d376ff1685d8312d96bb5

See more details on using hashes here.

File details

Details for the file kf_sdk-3.0.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: kf_sdk-3.0.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.0rc1

File hashes

Hashes for kf_sdk-3.0.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 817c6ae8119ecd4b4df40224bb4b02e2b94caec35e2ebc0e118ce71df8f5a57f
MD5 bbc1cfd8bbe7fcc6e24e4b5aad017f31
BLAKE2b-256 bfdda9493bd13182b4ece453227bbe1f28f4f1bbd3a0fc11d26a8c1348842660

See more details on using hashes here.

File details

Details for the file kf_sdk-3.0.0-cp310-cp310-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for kf_sdk-3.0.0-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 88de49afa91377609c0a054eb743c9928f7baf72a3d6d1fc14cd1f9863f29f23
MD5 963618c4c121c3d26e7799ab40b44574
BLAKE2b-256 02cdc210c98306a59101897488db0c7ba473d59261f369c8f51ce594ba5af704

See more details on using hashes here.

File details

Details for the file kf_sdk-3.0.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for kf_sdk-3.0.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 94a3d8e7501650f817283604b661620263c95a7bcc9a96dfb9dca1fef3ba9ada
MD5 f63c9a5ed560e37d4685035e45ffda59
BLAKE2b-256 da946646c0b67cec6d38c933e03dd66a6cb2dfbb34b362c1753119958e2613e0

See more details on using hashes here.

File details

Details for the file kf_sdk-3.0.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: kf_sdk-3.0.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.0rc1

File hashes

Hashes for kf_sdk-3.0.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 3e6e91861f8be5955d9ed911b0b4343a38837244eae9a8c3276525844bd339ce
MD5 68daffbffa172401e30e7d095beab816
BLAKE2b-256 cf73dda2e02ef67db09f39fedbaa787180347e20916da58050c11a5fe4167fc7

See more details on using hashes here.

File details

Details for the file kf_sdk-3.0.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for kf_sdk-3.0.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 86987bd4a9d76a46785e038b1431fca7ad3446a2a9a316215645a3c9e7181fe6
MD5 3ea81bb8fed5d1b45c617ec21a27c959
BLAKE2b-256 b960f1053c3cf454c8b7d8a9da4c7249f70fcbe2013ae8769af632107f913f02

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