Skip to main content

kf-sdk (import kappa_apk)

License BSD 3.0 Python 3.9–3.13 PyPI version PyPI downloads GitHub release

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

Реализован на Rust + PyO3. PyPI: kf-sdk · импорт: import kappa_apk (имя дистрибутива сохранено для совместимости с ранними публикациями).

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

Версия 3.0.4
Требует Kappa ≥ 2.11.0 (min_backend_version())
Python 3.9+
Rust edition 2024
Лицензия BSD-3-Clause (LICENSE.md)

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

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

Авторы

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

Назначение

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

Функции

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

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

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

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 / kappa_apk)

Требования

  • 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_package(
        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.

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.4.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.4-cp313-cp313-win_amd64.whl (3.2 MB view details)

Uploaded CPython 3.13Windows x86-64

kf_sdk-3.0.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

kf_sdk-3.0.4-cp312-cp312-win_amd64.whl (3.2 MB view details)

Uploaded CPython 3.12Windows x86-64

kf_sdk-3.0.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

kf_sdk-3.0.4-cp311-cp311-win_amd64.whl (3.2 MB view details)

Uploaded CPython 3.11Windows x86-64

kf_sdk-3.0.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

kf_sdk-3.0.4-cp310-cp310-win_amd64.whl (3.2 MB view details)

Uploaded CPython 3.10Windows x86-64

kf_sdk-3.0.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

kf_sdk-3.0.4-cp39-cp39-win_amd64.whl (3.2 MB view details)

Uploaded CPython 3.9Windows x86-64

kf_sdk-3.0.4-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

File details

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

File metadata

  • Download URL: kf_sdk-3.0.4.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.4.tar.gz
Algorithm Hash digest
SHA256 0d9d6802817989897482b9cc0bf4f2b791a921a13638bb61607c3ca50a594c4b
MD5 cdf55e86505c4b5cf8cafe0f55c591f5
BLAKE2b-256 60986f8ddce79b337442628a01973d688c88a6627ce79dbcf28d609b04f6032f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kf_sdk-3.0.4-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 3.2 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.4-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 051224df0c5ed012bbf1afbb3e52a8307b6494748965544c86671c7aabde49a8
MD5 34c5b4c3b860b276cc7d3724f7c62888
BLAKE2b-256 9d9a4fa38ff62327fa7140a5d50a19656db70053dcd09fd15d7efa8ba363153f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kf_sdk-3.0.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 8ba9ccde1f8f75c9ee5159e11aa27299d99c3ea53a791e87e4fc437620b16770
MD5 b963c80782edf945374f2ef5fff576ad
BLAKE2b-256 faa5865e1af8e1f51aa33779b059be32fb454a553af4ff847efaa17de47d0d44

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kf_sdk-3.0.4-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 3.2 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.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 72b2346f5b09bffc9c41781487316a2fc5ff078f42151211ace0b8cc11d8c115
MD5 c4493b0d177271f7aef00322ddd3d793
BLAKE2b-256 57b01f8c2c673740ed0aae81dca609a9d112d822df7c90400ad2931ce5a932f3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kf_sdk-3.0.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 de7638af5e6e1cbc0cc9f1ee8db0e1efc37ea230897763ab5a6bee564d86aba5
MD5 a84a1348615034796505ffca2e1d833e
BLAKE2b-256 2bcdf2d134b3879084dcdb3b176ea9ecac8b1f3adfc6ef0ebc7ce0e4853bc700

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kf_sdk-3.0.4-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 3.2 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.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 04448e48e84c63e3de2525653b12c5a7169510da0078583f706925204158dff6
MD5 3f9caa6b261c7fe51332b0b7dde06a4a
BLAKE2b-256 80130e4f1eb39b153cce85767078f462ba7990c8780e0ac900ff03400d62c545

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kf_sdk-3.0.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 a320d36145bdacbfbd2c1cacc6ce7a3b6d3e57820b3b7e4ac1a409b7c6a90249
MD5 f304edb72be5de65fb5cb59efe04d7dc
BLAKE2b-256 09aff79b50c6f011c2e69099f391c35824c0c097602c382d03dacc9b7c44b9d0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kf_sdk-3.0.4-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 3.2 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.4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 53b9cb33b927c75191b5a6098d54a86154d22ecc8c6504e993491a91d159f3d9
MD5 31c5d34e5c8eb859086f96faf736edbc
BLAKE2b-256 341a3719162c219b700283c2861c638869c6d9f5e26467cdac030ab30b0853ca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kf_sdk-3.0.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 00f71ec629ce648ac687aca0dd8e310568511b46e8edccd8e9a40a6788ccdd3f
MD5 f574c7a4fa0faa1444bcb329a31215dd
BLAKE2b-256 3060e7562254405c69057fe32c66f13c38f3cac1726cf71e58a5707e1d9ef3ac

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kf_sdk-3.0.4-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 3.2 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.4-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 64db3ca59a2c94f298a7b9340c4742a4f6d7e83b0e7772c6f25545326cc5081b
MD5 5c8bafe30a3096fdd8a2af5e4617d6d4
BLAKE2b-256 c3a8bf4285da55aac4843b13812026a34ed3218d197af7c42898504dd845e927

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kf_sdk-3.0.4-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 fd90c886dfabf82fbac1f19fb580224aea6ad139d4ccbcae30030f3c26e45f65
MD5 ce14f4c35d58ac004a5cd10e8d13d6c7
BLAKE2b-256 ff8b48fc8aae85a8476c17955dee30c43b6607d384dc5cf4e6752750c9cfad99

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 Sentry Error logging StatusPage Status page