Skip to main content

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.1
Python 3.9+
Rust edition 2024
Лицензия BSD-3-Clause (LICENSE.md)

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

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

Авторы

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

Назначение

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

Функции

  • [Реализовано в 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

Требования

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

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

Uploaded CPython 3.13Windows x86-64

kf_sdk-3.0.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.12Windows x86-64

kf_sdk-3.0.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.11Windows x86-64

kf_sdk-3.0.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.10Windows x86-64

kf_sdk-3.0.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.9Windows x86-64

kf_sdk-3.0.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

File details

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

File metadata

  • Download URL: kf_sdk-3.0.1.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.1.tar.gz
Algorithm Hash digest
SHA256 4836aefb684c7d3afe6ddb0df34eb9beab73a0422330e6ccdd3b067a3ac15b18
MD5 aaf9f7824bb89e533af0531352202d49
BLAKE2b-256 b141293cb82e457254fd3e6a552bb80ffbf28743172f95a9be9032479d4b84e1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kf_sdk-3.0.1-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.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 efb78bcbc0789905221bced5fa3d59bda27d0b33a7e83b24137f91aea0b034c4
MD5 cc6756db6a4dbdf427bfe14cbfa2a861
BLAKE2b-256 2e556cf85bcae1cdf8235d8853dcc27f33faab65900f23d73f9c113951a7b0e9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kf_sdk-3.0.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 c634698e619d69b9ef507bb59b6b7c9b7812c21d52840983da6f9e70e980e78a
MD5 d320a990516899d11160af393c010777
BLAKE2b-256 524772cbfb40a38290faf5436b5040f450a79ad729e10eb36a38d69dc4174c64

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kf_sdk-3.0.1-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.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 7bb6c5ad8a0861c77d942d073f14dc514452057c8f6bb25e9beb7728f92c4704
MD5 4d19c102c727ca046c056a3224c132f2
BLAKE2b-256 bf7db708fe798a3bfe24a3ae78f2df7a12f9266c6b24e5437b31c20d1af23311

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kf_sdk-3.0.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 c1420c33ce429d21dbf1baa9358ceba1f232b0eb12b70207c23b9f366263af88
MD5 1b8a1c74fefb192d656c12f14e654c52
BLAKE2b-256 a76289dd8aca371e10eac8aadb0549916dac1583de55de549e72f7a2373b150d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kf_sdk-3.0.1-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.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 7a8deb8745ce19a76b585590af30bce7a65505ad9cd4e8cc5ce3470037f8fff7
MD5 b78e2aa965dc3e04be2df568fdf71c06
BLAKE2b-256 d5f52ca96b0222122485cbb46133068679e1a4da5efab2c5517b2b966a0755c0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kf_sdk-3.0.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 6af867b8cd8f5f76816ff5cb8a28fa80e2bfde56ce397bb2f1c4c7c9ebb53abf
MD5 ae9c0e509ab0430d398d973ba34c50d5
BLAKE2b-256 fab068a7c75ffec27702e18e43462517a6ce5486203bbe9c2f46b6034c9bf5fb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kf_sdk-3.0.1-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.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 65970d9a8201ada4ae15181a4265350c2fdf1e60da7e1dcad13dc35a895dd684
MD5 83532f4cc71db0dfc7ead4bd964c8624
BLAKE2b-256 34fe500a38ad0936d7398a3d68d48b613f00d99ffdbf21abab0868f13c7554ea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kf_sdk-3.0.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 fe732d4912ed7632713be75ad65a16f9662a51b5e2f5d534f818bd7996b4c68a
MD5 617a2795e29081d3a77676273872f295
BLAKE2b-256 2bd2e2e792c4340698cc1c25e42709730c61be442ff911c5f9c8717682739ec1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kf_sdk-3.0.1-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.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 c44600987aa517ecf8d1eedaf26bdb89d7abf1f60418fe911a285658537b4d2e
MD5 803de2e36710c618a21cdcf1c3f746b9
BLAKE2b-256 c7a8a388932f2c97a508266d09a581d1cf9929f3b5684471b641924271735e45

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kf_sdk-3.0.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 9c4c82b9124656e56c8c217c5e19fc859a881ea120e208b4f8edabe5332aa360
MD5 57c12c11990c4316d11304cfbbd85088
BLAKE2b-256 8cc3c28260d7fc008265cba40cf6f6e5426f2aad9c010c2710a5ec7e47174596

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