Skip to main content

Theus Agentic Framework - Industrial Grade Process-Oriented Programming (POP)

Project description

Theus: Process-Oriented Operating System for Python

PyPI version License: MIT Paper License: CC-BY 4.0 Python 3.12+

"Data is the Asset. Code is the Liability. Theus protects the Asset."

Theus is a next-generation architectural framework that treats your application not as a collection of objects, but as a deterministic workflow of processes. It introduces the Process-Oriented Programming (POP) paradigm to solve the chaos of state management in complex systems like AI Agents, Core Banking, and Industrial Automation.


🌪️ The Problem

In modern software (OOP, EDA, Microservices), the biggest source of bugs is State Management:

  • Implicit Mutations: Who changed user.balance? Was it the PaymentService or the RefundHandler?
  • Race Conditions: Transient events corrupting persistent data.
  • Zombie State: Old references pointing to stale data.
  • Audit Gaps: We log what happened, but we can't mathematically prove why it was allowed.

🛡️ The Theus Solution

Theus acts as a micro-kernel for your logic, enforcing strict architectural invariants at runtime:

1. The 3-Axis Context Model

State is no longer a "bag of variables". It is a 3D space defined by:

  • Layer: Global (Config), Domain (Session), Local (Process).
  • Semantic: Input (Read-only), Output (Write-only), SideEffect (env), Error.
  • Zone:
    • DATA: Persistent Assets (Replayable).
    • SIGNAL: Transient Events (Reset on Read).
    • META: Observability (Logs/Traces).
    • HEAVY: High-Perf Tensors/Blobs (Zero-Copy, Non-Transactional).
                                     [Y] SEMANTIC
                             (Input, Output, SideEffect, Error)
                                      ^
                                      |
                                      |
                                      |                +------+------+
                                      |               /|             /|
                                      +--------------+ |  CONTEXT   + |----------> [Z] ZONE
                                     /               | |  OBJECT    | |      (Data, Signal, Meta, Heavy)
                                    /                | +------------+ |
                                   /                 |/             |/
                                  /                  +------+------+
                                 v
                            [X] LAYER
                     (Global, Domain, Local)

2. Zero-Trust Memory

  • Default Deny: Processes cannot access ANY data unless explicitly declared in a @process Contract.
  • Immutability: Inputs are physically frozen (FrozenList, FrozenDict).
  • Isolation: Signals cannot be used as Inputs for Business Logic (Architectural Boundary enforcement).

3. Industrial-Grade Audit

  • Active Defense: Rules (min, max, regex) are enforced at Input/Output Gates.
  • Severity Levels:
    • S (Safety): Emergency Stop.
    • A (Abort): Hard Stop Workflow.
    • B (Block): Rollback Transaction.
    • C (Campaign): Warning.
  • Resilience: Configurable tolerance thresholds (e.g., "Allow 2 glitches, block on 3rd").

📦 Installation

Theus requires Python 3.12+ to leverage advanced typing and dataclasses.

pip install theus

⚡ Quick Start: Building a Bank

This example demonstrates Contracts, Zoning, and Transaction safety.

1. Define the Context (The Asset)

from dataclasses import dataclass, field
from theus.context import BaseSystemContext, BaseDomainContext, BaseGlobalContext

@dataclass
class BankDomain(BaseDomainContext):
    # DATA ZONE: Persistent Assets
    accounts: dict = field(default_factory=dict) # {user_id: balance}
    total_reserves: int = 1_000_000
    
    # SIGNAL ZONE: Control Flow
    sig_fraud_detected: bool = False

@dataclass
class BankSystem(BaseSystemContext):
    domain_ctx: BankDomain = field(default_factory=BankDomain)
    global_ctx: BaseGlobalContext = field(default_factory=BaseGlobalContext)

2. Define the Process (The Logic)

from theus.contracts import process

@process(
    # STRICT CONTRACT
    inputs=['domain_ctx.accounts'],
    outputs=['domain_ctx.accounts', 'domain_ctx.total_reserves', 'domain_ctx.sig_fraud_detected'],
    errors=['ValueError']
)
def transfer(ctx, from_user: str, to_user: str, amount: int):
    # 1. Input Validation
    if amount <= 0:
        raise ValueError("Amount must be positive")
    
    # 2. Business Logic (Operating on Shadow Copies)
    sender_bal = ctx.domain_ctx.accounts.get(from_user, 0)
    
    if sender_bal < amount:
        # Trigger Signal
        ctx.domain_ctx.sig_fraud_detected = True
        return "Failed: Insufficient Funds"

    # 3. Mutation (Optimistic Write)
    ctx.domain_ctx.accounts[from_user] -= amount
    ctx.domain_ctx.accounts[to_user] = ctx.domain_ctx.accounts.get(to_user, 0) + amount
    
    return "Success"

3. Run with Safety (The Engine)

from theus.engine import TheusEngine

# Setup Data
sys_ctx = BankSystem()
sys_ctx.domain_ctx.accounts = {"Alice": 1000, "Bob": 0}

# Initialize Engine
engine = TheusEngine(sys_ctx, strict_mode=True)

# 🚀 PRO TIP: Auto-Discovery
# Instead of registering manually, you can scan an entire directory:
# engine.scan_and_register("src/processes")

engine.register_process("transfer", transfer)

# Execute
result = engine.run_process("transfer", from_user="Alice", to_user="Bob", amount=500)

print(f"Result: {result}")
print(f"Alice: {sys_ctx.domain_ctx.accounts['Alice']}") # 500

🛠️ CLI Tools

Theus provides a powerful CLI suite to accelerate development and maintain architectural integrity.

  • python -m theus.cli init <project_name>: Scaffolds a new project with the standard V2 structure (src/, specs/, workflows/).
  • python -m theus.cli audit gen-spec: Scans your @process functions and automatically populates specs/audit_recipe.yaml with rule skeletons.
  • python -m theus.cli audit inspect <process_name>: Inspects the effective audit rules, side effects, and error contracts for a specific process.
  • python -m theus.cli schema gen: Infers and generates specs/context_schema.yaml from your Python Dataclass definitions.

🧠 Advanced Architecture

The Transaction Engine

Theus uses a Hybrid Transaction Model:

  • Scalars: Updated in-place with an Undo Log (for speed).
  • Collections: Updated via Shadow Copy (for safety). If a process crashes or is blocked by Audit, Theus rolls back the entire state instantly.

The Heavy Zone (Optimization)

For AI workloads (Images, Tensors) > 1MB, use heavy_ variables.

  • Behavior: Writes bypass the Transaction Log (Zero-Copy).
  • Trade-off: Changes to Heavy data are NOT reverted on Rollback.

The Audit Recipe (audit.yaml)

Decouple your business rules from your code.

process_recipes:
  transfer:
    inputs:
      - field: "amount"
        max: 10000        # Max transfer limit
        level: "B"        # Block transaction
    outputs:
      - field: "domain.total_reserves"
        min: 0            # Reserves must never be negative
        level: "S"        # Safety Interlock (Stop System)

The Orchestrator (FSM)

Manage complex flows using workflow.yaml:

states:
  IDLE:
    events:
      CMD_TX: "PROCESSING"
  PROCESSING:
    entry: "transfer"
    events:
      EVT_SUCCESS: "NOTIFY"
      EVT_FAIL: "IDLE"

📚 Documentation


⚖️ License

Maintained by: Hoàng Đỗ Huy

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

theus-2.2.1.tar.gz (275.1 kB view details)

Uploaded Source

Built Distributions

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

theus-2.2.1-cp313-cp313-win_amd64.whl (296.4 kB view details)

Uploaded CPython 3.13Windows x86-64

theus-2.2.1-cp313-cp313-manylinux_2_24_x86_64.whl (441.9 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ x86-64

theus-2.2.1-cp313-cp313-manylinux_2_24_aarch64.whl (436.2 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ ARM64

theus-2.2.1-cp313-cp313-macosx_11_0_arm64.whl (395.6 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

theus-2.2.1-cp313-cp313-macosx_10_12_x86_64.whl (407.3 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

theus-2.2.1-cp312-cp312-win_amd64.whl (296.4 kB view details)

Uploaded CPython 3.12Windows x86-64

theus-2.2.1-cp312-cp312-manylinux_2_24_x86_64.whl (442.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ x86-64

theus-2.2.1-cp312-cp312-manylinux_2_24_aarch64.whl (436.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ ARM64

theus-2.2.1-cp312-cp312-macosx_11_0_arm64.whl (396.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

theus-2.2.1-cp312-cp312-macosx_10_12_x86_64.whl (407.8 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

theus-2.2.1-cp311-cp311-win_amd64.whl (293.9 kB view details)

Uploaded CPython 3.11Windows x86-64

theus-2.2.1-cp311-cp311-manylinux_2_24_x86_64.whl (441.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ x86-64

theus-2.2.1-cp311-cp311-manylinux_2_24_aarch64.whl (434.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ ARM64

theus-2.2.1-cp311-cp311-macosx_11_0_arm64.whl (402.3 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

theus-2.2.1-cp311-cp311-macosx_10_12_x86_64.whl (417.0 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

theus-2.2.1-cp310-cp310-win_amd64.whl (293.8 kB view details)

Uploaded CPython 3.10Windows x86-64

theus-2.2.1-cp310-cp310-manylinux_2_24_x86_64.whl (441.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ x86-64

theus-2.2.1-cp310-cp310-manylinux_2_24_aarch64.whl (434.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ ARM64

theus-2.2.1-cp310-cp310-macosx_11_0_arm64.whl (402.3 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

theus-2.2.1-cp310-cp310-macosx_10_12_x86_64.whl (417.3 kB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

theus-2.2.1-cp39-cp39-manylinux_2_24_x86_64.whl (442.1 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.24+ x86-64

theus-2.2.1-cp39-cp39-manylinux_2_24_aarch64.whl (435.8 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.24+ ARM64

theus-2.2.1-cp38-cp38-manylinux_2_24_x86_64.whl (441.8 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.24+ x86-64

theus-2.2.1-cp38-cp38-manylinux_2_24_aarch64.whl (435.7 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.24+ ARM64

File details

Details for the file theus-2.2.1.tar.gz.

File metadata

  • Download URL: theus-2.2.1.tar.gz
  • Upload date:
  • Size: 275.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.11.2

File hashes

Hashes for theus-2.2.1.tar.gz
Algorithm Hash digest
SHA256 41089642ddbe0f8891787e4f8f6dc39e935de3c09905d5c78228f7659548961d
MD5 778df694aab23ebcf6854be9ad7d2ee7
BLAKE2b-256 9c6ee6262528173728529ab4a203a9b2b3f5dc38e0092cd2cf0a943f3ebb8a66

See more details on using hashes here.

File details

Details for the file theus-2.2.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: theus-2.2.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 296.4 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.11.2

File hashes

Hashes for theus-2.2.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 f1cb1c49c87ad01fbfeed1a44408f295fcaf19769c2dd96c1d398e96c95d6496
MD5 6161f879afd212aeb28dd0e818e9ae2d
BLAKE2b-256 7cc897c798837495f692806b4dfe6640d085faced8f2a7586a2e3cd627a68c14

See more details on using hashes here.

File details

Details for the file theus-2.2.1-cp313-cp313-manylinux_2_24_x86_64.whl.

File metadata

File hashes

Hashes for theus-2.2.1-cp313-cp313-manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 40047110399e81b96e9329f67b399b0b1fb8f563c6bd5dd5266a4b9dbb110c01
MD5 49cbbb197e7ab255080dc237b230e563
BLAKE2b-256 bdfa14ed2bcbb0aa896334f6ab063dfb5def0d23526ae9ae2327873ba464f9fc

See more details on using hashes here.

File details

Details for the file theus-2.2.1-cp313-cp313-manylinux_2_24_aarch64.whl.

File metadata

File hashes

Hashes for theus-2.2.1-cp313-cp313-manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 ebf765f526f459b192006de541c0f559b726ec72667e6c7c52280d290da02c2d
MD5 8d252f080a13ee8fa212ed9b16267e99
BLAKE2b-256 3f9df22e5283e264c5e20b6e2ad5e0e3e62ee33c8907eab69a0b79e319f61c06

See more details on using hashes here.

File details

Details for the file theus-2.2.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for theus-2.2.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 07817080681028ebb63ace441f012740f4cfc882a4376818591a762e60a05f9b
MD5 a14628f4fdfc02112da8e2b22e5577d3
BLAKE2b-256 f6fb5047d7897fb88f603e461808f7e9096e47b3aeb4524690b6bbc4962760de

See more details on using hashes here.

File details

Details for the file theus-2.2.1-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for theus-2.2.1-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3bea4a7e337f19ed034c47c94f5916054da6655984243ac3cfd58e94419d98a9
MD5 4af45526500214ef61fd42696a8d4435
BLAKE2b-256 8b9138c02dc30ea77bbd9b51d7731d324c551ad22b767e33490b527c2dbb76f7

See more details on using hashes here.

File details

Details for the file theus-2.2.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: theus-2.2.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 296.4 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.11.2

File hashes

Hashes for theus-2.2.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 16005b1274070aba32f42febd91fc36fb5c4a6fbca54392af6241c48485e60ec
MD5 cdee8e3d3fe92a8176f6f2c72f23070c
BLAKE2b-256 f37f401f1aa4035e96e6a840a98778716684dc2cac7f3798f6818714207561bd

See more details on using hashes here.

File details

Details for the file theus-2.2.1-cp312-cp312-manylinux_2_24_x86_64.whl.

File metadata

File hashes

Hashes for theus-2.2.1-cp312-cp312-manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 7e6e1ce3230f9fda1ac2365dfd768a94dcc9b947ba365fec20c5a4fd45eb99b4
MD5 df17e333651cce771731c0e0a9e29af3
BLAKE2b-256 b669044f4c85d03264ef9fca9eafc0ad51b3a255519fe733b896a0b03383ebb8

See more details on using hashes here.

File details

Details for the file theus-2.2.1-cp312-cp312-manylinux_2_24_aarch64.whl.

File metadata

File hashes

Hashes for theus-2.2.1-cp312-cp312-manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 ec2d8e820b15907a6cd0e015c312249219972ebf14a33d9e50f050d93390312b
MD5 9a0c77b30848285c5848d0867e6568f4
BLAKE2b-256 285841b995667262f1a109ca44ebd9f5447b5191a32869093d89cee84e3399be

See more details on using hashes here.

File details

Details for the file theus-2.2.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for theus-2.2.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4a40c148509d7cb597c8b5dc2720340169508cce5d44fa4297fa1170ccb180d8
MD5 5a6572bca30ad774e3be0fe2b7d4b46a
BLAKE2b-256 25465bc6f41a23ebd1f06ff0d105757c08d62937a7bd6602c5f8cfb5a490cbf4

See more details on using hashes here.

File details

Details for the file theus-2.2.1-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for theus-2.2.1-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2a7bdfcd9be85da84fa46a769988613fc13c78cee0db78128284a1f187c62944
MD5 5c65408f6c7fa9644148718091c764df
BLAKE2b-256 9c135323a08f8cda35335664f7ef8a8585cfb01429ce0a9ccbbf673b6d5d832c

See more details on using hashes here.

File details

Details for the file theus-2.2.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: theus-2.2.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 293.9 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.11.2

File hashes

Hashes for theus-2.2.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 69c6440b8218eff0124a376b16ba1a728fdfd8f4fbab35027f2cd355273c0926
MD5 eef96765c0e5acd144efc4c6fd09aa98
BLAKE2b-256 023c0f6acfe673792f8206ce5946154f3db72fa9b1e9539a700e218d1a5fcc2f

See more details on using hashes here.

File details

Details for the file theus-2.2.1-cp311-cp311-manylinux_2_24_x86_64.whl.

File metadata

File hashes

Hashes for theus-2.2.1-cp311-cp311-manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 222d26a7831452476941dc3b055af3588fd8bc11616e17925262a6bac26c7f72
MD5 3989e609ce71b471624ce45fb230edce
BLAKE2b-256 98ff5b5ad29dd2fbd2a49be7af93af607b95841d4946626de75132ff39f2a3ee

See more details on using hashes here.

File details

Details for the file theus-2.2.1-cp311-cp311-manylinux_2_24_aarch64.whl.

File metadata

File hashes

Hashes for theus-2.2.1-cp311-cp311-manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 5547bc802dd00e82dc15f8702534604d11eabfce221a04ed5b24d9223804095a
MD5 50ad1845628bd998f0cfe8156dae1275
BLAKE2b-256 2ec1b29a33594330c32df56c13973d01405a807aca648b9a85b6fed8012bb095

See more details on using hashes here.

File details

Details for the file theus-2.2.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for theus-2.2.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 74e37600f1089d86e4d0448c85a835db89d37c54c883c64d730f01223538a604
MD5 b4c692ff1a8f1fcec813fef93f9dcece
BLAKE2b-256 d6023784675cd0a709e79c61f8b598834d76fc73a131ec87c694d162cbbda6e6

See more details on using hashes here.

File details

Details for the file theus-2.2.1-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for theus-2.2.1-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 5f123ecd51e77395685ca97b9e460dd9a02dc9a727f3881c3447a1a315aa6705
MD5 84baad276d950a882db136035c9de5f2
BLAKE2b-256 6929c7303119ff7f67ec81c49aa713e7e8cdd43ffe1e46379858c270c5c84d21

See more details on using hashes here.

File details

Details for the file theus-2.2.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: theus-2.2.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 293.8 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.11.2

File hashes

Hashes for theus-2.2.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 351e742b7a3306185f75ecf758a4c16b7d948008add4ecb84cf8a092fad3f8b9
MD5 fed535a6920822835e044aa90985af44
BLAKE2b-256 d9e43f47a52dca4b96d1693935ce189ab680ce4e43ef65ad2ba3326c7a281ea7

See more details on using hashes here.

File details

Details for the file theus-2.2.1-cp310-cp310-manylinux_2_24_x86_64.whl.

File metadata

File hashes

Hashes for theus-2.2.1-cp310-cp310-manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 0f8df05bfd0136504576eb653b93157964fadc3bf86aca0a5d5b821ee3d4aa88
MD5 fc8efaa1bb6c806bbe26628c40c1274f
BLAKE2b-256 479a39b2979d32f8f525d497d94994ed88679b38fe85383ab5cd9281b23a0609

See more details on using hashes here.

File details

Details for the file theus-2.2.1-cp310-cp310-manylinux_2_24_aarch64.whl.

File metadata

File hashes

Hashes for theus-2.2.1-cp310-cp310-manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 9515709f2a4f85d8479740b73260ef5e70ea3022ccd5a79c4202365378ccc670
MD5 72feb61ab98092c80d89705e122702b2
BLAKE2b-256 e1e5b25d97aeb79c7b8680d5652068e285b0102d91b99dd9554db55c1ec8eccf

See more details on using hashes here.

File details

Details for the file theus-2.2.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for theus-2.2.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 aa55802fd3ecfa50b84f3f5661b62973d3060de20b239edbdd6b0192d3acef7b
MD5 362714b231b7bbd9f6c5ff63b3583d41
BLAKE2b-256 060b44b202b20b18e56fd7276e311ddf530f569dae39fda26f4c5404ec093af7

See more details on using hashes here.

File details

Details for the file theus-2.2.1-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for theus-2.2.1-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2e327a057f97ad673bfec67f57482b6a7ddf90092f0f21a8b443e30bce12a906
MD5 d897a777ecf851b63d02e3084ee9b386
BLAKE2b-256 ef0c113600ce46aada700b45d4915438b2942d5bee778c3cd693e54d37e9a4d1

See more details on using hashes here.

File details

Details for the file theus-2.2.1-cp39-cp39-manylinux_2_24_x86_64.whl.

File metadata

File hashes

Hashes for theus-2.2.1-cp39-cp39-manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 f6b664b3b3ca0a9c1cfb6a5518ef16eea832f7f16bd0c6a00939c2123cd95e2a
MD5 5e49ff5bc2f4b0564b222e991e79755b
BLAKE2b-256 99b1af54cd886de0405a328fbba57bfadb1b391014aac92bd4dba4a78807604d

See more details on using hashes here.

File details

Details for the file theus-2.2.1-cp39-cp39-manylinux_2_24_aarch64.whl.

File metadata

File hashes

Hashes for theus-2.2.1-cp39-cp39-manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 31f33b4e3ad97adcce00863282f6f24fb9da72d0ef3739c2dea16c6d500bcdc6
MD5 07a6c95d2a84002c7811fb66abca9242
BLAKE2b-256 14674fc33e0a30806b81687fb4eb58ff0117cc9171b567e7da00b56e4f0b2538

See more details on using hashes here.

File details

Details for the file theus-2.2.1-cp38-cp38-manylinux_2_24_x86_64.whl.

File metadata

File hashes

Hashes for theus-2.2.1-cp38-cp38-manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 8762032f2380b41a7e56aaf6bbf962e547d73f5c038d37387d30197f61499980
MD5 efa19fce8167ac8e3fb8a65f93f9e39e
BLAKE2b-256 faaa7e32fd2ec0a30193d8d845b830fc7949c3dc832ad96fbd3471646f1accaf

See more details on using hashes here.

File details

Details for the file theus-2.2.1-cp38-cp38-manylinux_2_24_aarch64.whl.

File metadata

File hashes

Hashes for theus-2.2.1-cp38-cp38-manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 a9b8fc8f83a32144ab47bf2a5c1c88f7bb306ac41ff05609e454dfd7407ba94f
MD5 efa49eb3b29cd88803b5de355123776c
BLAKE2b-256 f674295f3d425f4814a95ffd5ed110e0c3de2b6fa5db35ceee0235cccd5652e3

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