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.5
Требует Kappa ≥ 2.11.0 (min_backend_version())
Python 3.9+
Rust edition 2024
Лицензия BSD-3-Clause (LICENSE.md)

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

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

Авторы

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

Назначение

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

Функции

  • [Реализовано в 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)   # кэш ОС: 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.

Metadata

Release files for kf-sdk 3.0.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kf-sdk 3.0.5
File Size Uploaded Provenance Actions
kf_sdk-3.0.5.tar.gz 2.2 MB Without provenance Details for kf_sdk-3.0.5.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for kf-sdk 3.0.5
File Actions
kf_sdk-3.0.5-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for kf_sdk-3.0.5-cp313-cp313-win_amd64.whl
kf_sdk-3.0.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details for kf_sdk-3.0.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
kf_sdk-3.0.5-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for kf_sdk-3.0.5-cp312-cp312-win_amd64.whl
kf_sdk-3.0.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details for kf_sdk-3.0.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
kf_sdk-3.0.5-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for kf_sdk-3.0.5-cp311-cp311-win_amd64.whl
kf_sdk-3.0.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details for kf_sdk-3.0.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
kf_sdk-3.0.5-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for kf_sdk-3.0.5-cp310-cp310-win_amd64.whl
kf_sdk-3.0.5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details for kf_sdk-3.0.5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
kf_sdk-3.0.5-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details for kf_sdk-3.0.5-cp39-cp39-win_amd64.whl
kf_sdk-3.0.5-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details for kf_sdk-3.0.5-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Total release size: 36.4 MB

Release files / kf_sdk-3.0.5.tar.gz

Download URL kf_sdk-3.0.5.tar.gz
Size 2.2 MB
Tags Source
SHA-256 checksum
How to use checksums
4e4258febef75d839830695d0c79d1a224f1c42dec649a28760ee70700325429
BLAKE2b-256 checksum
How to use checksums
1449c56d1e0d1598746d68ceca2fd91c986106aac0ea371caaeac1f4be0639f5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.8

Release files / kf_sdk-3.0.5-cp313-cp313-win_amd64.whl

Download URL kf_sdk-3.0.5-cp313-cp313-win_amd64.whl
Size 3.3 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
04027090ecc6f36378240d0bcc868a9fcec6056be00c74bbc52677d3c7e03b79
BLAKE2b-256 checksum
How to use checksums
a529033ec0fba47226debd708b4268df58757e42aed8e29cec62b8fcf382cab7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.8

Release files / kf_sdk-3.0.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL kf_sdk-3.0.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 3.6 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
98c458c0ce0b861f51281a7fabb429481c53c2ffe9ada9ae4a081836146c269a
BLAKE2b-256 checksum
How to use checksums
f44eb73679a3b9e7cd2c22b6f5a23b5880555fbc1f6fe5385bea394f77e549d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.8

Release files / kf_sdk-3.0.5-cp312-cp312-win_amd64.whl

Download URL kf_sdk-3.0.5-cp312-cp312-win_amd64.whl
Size 3.3 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
67d059ba32e1e44ba5154a4177429796437fbd8fc27667cc788771d2e52c200e
BLAKE2b-256 checksum
How to use checksums
032b79d10fe44edfc41b131d7ae12c8abb270690de3a03f926368f0a9c4faea2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.8

Release files / kf_sdk-3.0.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL kf_sdk-3.0.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 3.6 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
bfb9f69424b95ca12e6cb6456246e2caa6c83ef6f63aa617b909edd6956d353c
BLAKE2b-256 checksum
How to use checksums
d28e192b9bcab0846e00520ded9178486d77d5c2052fefe48db0a0c367d0e216
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.8

Release files / kf_sdk-3.0.5-cp311-cp311-win_amd64.whl

Download URL kf_sdk-3.0.5-cp311-cp311-win_amd64.whl
Size 3.3 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
1a20bdef2cf2e2054a96b4f659253f59a69d30b80d0b8a894bb46e17bdf6c3e9
BLAKE2b-256 checksum
How to use checksums
cd73999e015f9acda91d2dc3122c1d046342e57c5967832a3d7d187f4f21d714
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.8

Release files / kf_sdk-3.0.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL kf_sdk-3.0.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 3.6 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
e95f60b44f8430db319996b4924936c820962cca7e987f53ddc3b56d906c44fc
BLAKE2b-256 checksum
How to use checksums
25b43c9fa6247242abeaaf1d5339004a4e09671d5dd42d966198f5e7171960fb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.8

Release files / kf_sdk-3.0.5-cp310-cp310-win_amd64.whl

Download URL kf_sdk-3.0.5-cp310-cp310-win_amd64.whl
Size 3.3 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
3c7a8da7189fc921876ede1f0c52b3e48f38d5a712bf454444f0391ad9e1c09c
BLAKE2b-256 checksum
How to use checksums
6874c58793da3a21d4300fa14d3fbce16e1e0f1ac10bb57e604ed3e7b408efcf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.8

Release files / kf_sdk-3.0.5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL kf_sdk-3.0.5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 3.6 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
e3422b90b79537a8cca2bcb560b6e640ca5b2680b995bdd46680e41812df6c73
BLAKE2b-256 checksum
How to use checksums
3ee501364d92af081af29bccafee65fe6188e5386db60e39131972c22731458b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.8

Release files / kf_sdk-3.0.5-cp39-cp39-win_amd64.whl

Download URL kf_sdk-3.0.5-cp39-cp39-win_amd64.whl
Size 3.3 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
bbafdc371b95270220e45ab516b31cc304aa0083e6ef90e2fa9b8d4596173cd7
BLAKE2b-256 checksum
How to use checksums
8eacb10ab4f23c94914d2d472cc5c73656b7c5dad713b8326f8493f33ea3473a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.8

Release files / kf_sdk-3.0.5-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL kf_sdk-3.0.5-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 3.6 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
117a262f6b49a3220099dfc23736644829b86ea6f112c3407fab99ab0a4ab453
BLAKE2b-256 checksum
How to use checksums
7fff94c6e3b425a5c1e2e114311ee9c43e029a29f01352f87aa3ef565e0c2a8e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.8

Security for kf-sdk 3.0.5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page