Skip to main content

APIXIS

中文 | English

面向 Python asyncio 应用的事件驱动图编排。

PyPI Python License

源码 · 问题 · API 参考

APIXIS 提供两个可组合的运行时:

  • 一个异步事件系统,支持通配符订阅、有序处理器、背压和可插拔通道;
  • 一个有状态图运行时,支持命令驱动的步骤、并行节点、快照、流式处理以及中断/恢复工作流。

需要 Python 3.12+。运行时 API 专为 asyncio 设计。

安装

pip install apixis

要安装本地检出,请在仓库根目录运行:

python -m pip install .

如需开发和发布工具:

python -m pip install -e ".[dev]"
python -m pytest

使用 uv 时,请使用 uv sync --extra dev --locked 和 uv run --extra dev pytest。 有关构建和发布到 PyPI,请参阅发布指南。

快速开始

import asyncio

from apixis import GraphManager


def increment(state: dict) -> dict:
    return {"value": state["value"] + 1}


async def master() -> None:
    graph = (
        GraphManager()
        .add_node(increment)
        .compile_graph(entry_point="increment")
    )
    try:
        result = await graph.invoke({"value": 1})
        print(result)  # {'value': 2}
    finally:
        graph.decompose()


asyncio.run(master())

文档

许可证

根据 Apache License 2.0 授权。请参阅 LICENSE。 捆绑的 IdGenerator 组件采用 MIT 许可证;请参阅第三方声明。


APIXIS

English | 中文

Event-driven graph orchestration for Python asyncio applications.

PyPI Python License

Source · Issues · API Reference

APIXIS provides two composable runtimes:

  • an asynchronous event system with wildcard subscriptions, ordered handlers, backpressure, and pluggable channels;
  • a stateful graph runtime with Command-driven steps, parallel nodes, snapshots, streaming, and interruption/resume workflows.

Python 3.12+ is required. Runtime APIs are designed for asyncio.

Install

pip install apixis

To install a local checkout, run from the repository root:

python -m pip install .

For development and release tools:

python -m pip install -e ".[dev]"
python -m pytest

With uv, use uv sync --extra dev --locked and uv run --extra dev pytest. See the release guide for building and publishing to PyPI.

Quick start

import asyncio

from apixis import GraphManager


def increment(state: dict) -> dict:
    return {"value": state["value"] + 1}


async def master() -> None:
    graph = (
        GraphManager()
        .add_node(increment)
        .compile_graph(entry_point="increment")
    )
    try:
        result = await graph.invoke({"value": 1})
        print(result)  # {'value': 2}
    finally:
        graph.decompose()


asyncio.run(master())

Documentation

License

Licensed under the Apache License 2.0. See LICENSE. The bundled IdGenerator component is MIT licensed; see third-party notices.

Metadata

Release files for apixis 1.0.3

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

Source distribution (sdist)

Source distribution for apixis 1.0.3
File Size Uploaded Provenance
apixis-1.0.3.tar.gz 267.3 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for apixis 1.0.3
File Interpreter ABI Platform
apixis-1.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 347.6 kB

Release files / apixis-1.0.3.tar.gz

Download URL apixis-1.0.3.tar.gz
Size 267.3 kB
Tags Source
SHA-256 checksum
How to use checksums
010cb81a1589b65d4fdce8734aa47390535a99c9d714f4455216e4623cee0947
BLAKE2b-256 checksum
How to use checksums
cbc62ca341089401a15fff03fe51a9fee0d2e6074e0dcf48bbc272d97b400196
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.12

Release files / apixis-1.0.3-py3-none-any.whl

Download URL apixis-1.0.3-py3-none-any.whl
Size 80.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9ceba080c51de91087b7685fa905cdcdced954116cc7a2ade353e62e94d4a5da
BLAKE2b-256 checksum
How to use checksums
efd4c831ab1ea146784eb45a135b9403ef1aa4c61c4dd0c4f3b8cb07a0cf05fc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.12

Security for apixis 1.0.3

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.

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