Skip to main content

Unified developer surface for TsugiCinema's open-source distributed-training SDKs. pip install tsugi pulls tsugi-mend (Apache-2.0; patent-independent) and tsugi-kpool (Apache-2.0; patent-aligned) and re-exports both under one namespace.

Project description

tsugi

PyPI version Python versions License: Apache 2.0 CI

Unified developer surface for TsugiCinema's open-source distributed-training SDKs.

pip install tsugi

tsugi is a thin packaging-level wrapper that depends on and re-exports two physically separate Apache-2.0 SDKs published by TsugiCinema, Inc.

PyPI package Imports as Role Patent posture
tsugi-mend tsugi.mend Cross-rack reducer Patent-independent
tsugi-kpool tsugi.kpool K-Pool LoRA / Infinity analog Patent-aligned

(tsugi-mend integrates Decoupled DiLoCo + DES-LOC + async-TP + FALCON; tsugi-kpool is the software analog of US App. 64/060,315 and 64/055,093. See the sections below.)

The two sub-SDKs share zero code. This meta-package exposes them under a unified import namespace for developer convenience. Both sub-SDKs and this meta-package are licensed under the Apache License, Version 2.0.

Status

Pre-Alpha (0.1.2). APIs are stabilizing. Cross-SDK integration patterns may evolve. The sub-SDK packages (tsugi-mend 0.1.4, tsugi-kpool 0.1.2) are pinned by exact version in this meta-package's dependencies.

Quickstart

import tsugi

tsugi.about()
# tsugi 0.1.2  unified developer surface
#   tsugi-mend  0.1.4  Apache-2.0  patent-independent (Decoupled DiLoCo + DES-LOC + async-TP + FALCON)
#   tsugi-kpool 0.1.2  Apache-2.0  patent-aligned (US App. 64/060,315 K-Pool LoRA + US App. 64/055,093 Infinity)

Cross-rack reducer (tsugi.mend)

from tsugi.mend import MendConfig, mend_init, mend_shutdown

# After your model is wrapped (FSDP, TP, etc.):
config = MendConfig(quorum_min_learners=2, grace_window_ms=2000)
mend_init(model, config)

# ... train ...

mend_shutdown(model)

See tsugi-mend for benchmark protocols, the multi-stage validation record (Stage A through Stage E-prime), and the Phase 2 sprint plan.

K-Pool LoRA / Infinity (tsugi.kpool)

from tsugi.kpool import KPoolLoraConfig, plesio_init, plesio_shutdown

config = KPoolLoraConfig(
    r=16,
    lora_alpha=32,
    n_adapters=8,
    k_active=4,
    sideband_enabled=True,
    aggregation_mode="buffer_convergence",
)
plesio_init(model, config)

# ... train with K-of-N adapter routing ...

plesio_shutdown(model)

See tsugi-kpool for the buffer-convergence trigger characterization and the K-of-N routing semantics.

Architecture

tsugi itself is a torch-free import: import tsugi resolves only to configuration dataclasses on each sub-SDK. The runtime functions (mend_init, plesio_init, etc.) lazy-import torch via each sub-SDK's facade on first call. This keeps documentation builds and torch-free CI environments working.

When you actually call a runtime function, that sub-SDK loads torch and its own runtime machinery. The two sub-SDKs never cross-reference each other; they can be installed and used independently of this meta-package.

License and IP posture

Apache-2.0 with full automatic patent grant. See LICENSE for the preamble that distinguishes this meta-package's grant scope from each sub-SDK's grant scope, and NOTICE for the attribution chain to the upstream sub-SDKs.

The patent posture, in brief:

  • This meta-package itself contains no patent-exercising code. Its Apache-2.0 patent grant covers only the thin wrapper code in this repository.
  • tsugi-mend is patent-independent. Its Apache-2.0 grant does not extend to TsugiCinema's K-Pool LoRA or Infinity patent estates.
  • tsugi-kpool is patent-aligned. Its Apache-2.0 grant in Section 3 extends to TsugiCinema's K-Pool LoRA (US App. 64/060,315) and Infinity (US App. 64/055,093) patent estates AS PRACTICED BY THE SDK CODE AS DISTRIBUTED. Apache-2.0 Section 3's "necessarily infringed by their Contribution" language bounds the patent license to the specific embodiment present in the SDK code, not the broader scope of the patent claims as filed.

Links

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

tsugi-0.1.2.tar.gz (14.7 kB view details)

Uploaded Source

Built Distribution

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

tsugi-0.1.2-py3-none-any.whl (11.1 kB view details)

Uploaded Python 3

File details

Details for the file tsugi-0.1.2.tar.gz.

File metadata

  • Download URL: tsugi-0.1.2.tar.gz
  • Upload date:
  • Size: 14.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for tsugi-0.1.2.tar.gz
Algorithm Hash digest
SHA256 67d5a77487639ab20c360d1866bf70b59561fa989a95e1da6dfec802883a15e7
MD5 0a1848df99bc345e56ccf0922ec62dcf
BLAKE2b-256 5db5ad77f9b51bda0bf1df7b7cf79a6e9a51f2929125153246cb11872b42894d

See more details on using hashes here.

Provenance

The following attestation bundles were made for tsugi-0.1.2.tar.gz:

Publisher: release.yml on tsugiai/tsugi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tsugi-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: tsugi-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 11.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for tsugi-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 cc06f0bce4dd24e84bf2705f737f7d3a07d282f311ed188618dabb0079802d45
MD5 bb090ae087d31b168b83aa8166712d0d
BLAKE2b-256 fd6239b20b8955e98d61dbb5fd269f25471a0fa7f71b399bc290cbadbd226fcd

See more details on using hashes here.

Provenance

The following attestation bundles were made for tsugi-0.1.2-py3-none-any.whl:

Publisher: release.yml on tsugiai/tsugi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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