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 · Example

APIXIS provides two composable runtimes:

  • an asynchronous event system with wildcard subscriptions, ordered handlers, backpressure, and a local event queue;
  • 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.1.1

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.1.1
File Size Uploaded Provenance
apixis-1.1.1.tar.gz 212.6 kB Without provenance Details

Built distribution (wheel)

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

Total release size: 284.4 kB

Release files / apixis-1.1.1.tar.gz

Download URL apixis-1.1.1.tar.gz
Size 212.6 kB
Tags Source
SHA-256 checksum
How to use checksums
1f5f224591d4c89cc05b01c27a0121f4650f96395f85d9c6e36529237a605efb
BLAKE2b-256 checksum
How to use checksums
d7b9b219352c4823db0c54100e78ed2bbe902f76b9e4ac6c0eed1e22be9c1a5f
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.1.1-py3-none-any.whl

Download URL apixis-1.1.1-py3-none-any.whl
Size 71.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
175a8b2eb3f4d13cc73d349aa3439992e7823d818dcd620865c11671a4c55d2a
BLAKE2b-256 checksum
How to use checksums
74c0a9c9f663190ab2c3db19dcc1f3bae107cc9e6f862f7af9617e780da8240a
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.1.1

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