Skip to content

sor0ush/kitino

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

kitino

Local staging bundle manager for multi-asset workspaces: manifest.json, per-bundle meta.json, asset lifecycle, path resolution, and Pydantic schema hooks.

Requirements

  • Python 3.11+ (3.12, 3.13, and 3.14 supported)
  • uv (recommended for development)

Install

pip install kitino

Development

git clone https://github.com/sor0ush/kitino.git
cd kitino
uv python pin 3.11
uv sync

Tests

uv run python -m unittest discover -s tests -v

Quick example

from pathlib import Path

from kitino.bundle_manager import StagingWorkspace
from kitino.bundle_manager.meta import AssetKind
from kitino.bundle_manager.session import AssetSpec, BundleManagerSession

root = Path("staging/my-workspace")
ws = StagingWorkspace.create(root, workspace_id="demo", workspace_kind="generic")
session = BundleManagerSession.load_or_create(root / "bundle-a", "bundle-a", "demo.type")
ws.register_bundle(root / "bundle-a")

with session.prepare_asset(
    AssetSpec(key="main/data.json", kind=AssetKind.OUTPUT, created_by="example")
) as asset:
    asset.filepath.write_text('{"ok": true}', encoding="utf-8")

Documentation

License

Apache License 2.0 — see LICENSE.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages