Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

axis-synome

A Python framework for defining and validating financial specifications, with a focus on DeFi primitives and risk calculations. Includes:

  • ASC Specifications — Actively Stabilizing Capital entities (assets, tokens, networks, protocols) and formulas (collateral ratios, incentives, resting/latent ASC)
  • Spec Validator — Flake8 plugin for enforcing Python subset constraints on spec files
  • Metadata & Utilities — Support for spec documentation and validated dataclasses
  • SpecRuntime — Pluggable runtime abstraction for opaque operations (linear interpolation, ...) that specs can call without depending on a specific implementation library

Installation

Install from PyPI:

pip install axis-synome

To enable the built-in ReferenceSpecRuntime (numpy-backed), install with the runtime extra:

pip install axis-synome[runtime]

Or install from a private registry:

pip install axis-synome --index-url https://npm.pkg.github.com/archon-research

Usage

ASC Entities

from axis_synome.spec.entities import primes, tokens, networks, protocol_sets

ASC Formulas

from axis_synome.spec.asc.formulas import asc, asc_collateral_ratio, asc_incentive

Opaque Operations in Specs

from axis_synome.spec_support.runtime import math

values = math.linear_interp([1.5], [1.0, 2.0], [10.0, 20.0])  # -> [15.0]

The active runtime is selected once at import time. Resolution order:

  1. AXIS_SYNOME_SPEC_RUNTIME=module.path:ClassName env var
  2. A registered axis_synome.spec_runtimes entry point (declared by a consumer package's pyproject.toml)
  3. The bundled ReferenceSpecRuntime (requires axis-synome[runtime])

If none is available, importing axis_synome.spec_support.runtime.math raises ImportError — the runtime is required at import time, not on first call.

Spec Validation

Specs are validated by two complementary gates:

  1. Static gate — the spec_validator flake8 plugin enforces the declarative Python subset specs are written in (no mutation, no imperative control flow, restricted imports, …).
  2. Semantic gate — the parser (python -m axis_synome.parser) round-trips every spec module into a SymPy expression graph and identity records. If a spec uses a construct the parser cannot lower, parsing fails — even if it would lint clean. Run via make parse-specs (also part of make check-all).

See ADR-0002 for the rationale behind co-locating the parser with the specs.

from axis_synome.spec_validator import validate_file

validate_file("my_spec.py")

Or use as a flake8 plugin:

flake8 --select=AXS your_spec.py

Examples

Runnable examples that show how to navigate the entity graph (assets, tokens, networks, protocols of a prime) live under examples/. Run any of them with:

uv run python examples/02_assets_and_tokens_of_a_prime.py

Highlights:

  • 01_prime_basics.py — basic facts about each PrimeAgent.
  • 02_assets_and_tokens_of_a_prime.py — list assets, tokens, underlying tokens, and group by network/protocol.
  • 03_inverse_lookups.pywhich primes hold token X?, which primes are on network Y?, which prime owns this address?
  • 04_atlas_provenance.py — trace each asset back to its Atlas document.
  • 05_feeding_a_formula.py — bridge external records into Positions and call asc(...).

About

axis-synome is a specification framework for defining financial and risk calculations in DeFi, with emphasis on formalized, auditable spec files.

For more information on writing specifications, see WRITING_SPECS.md.

Requirements

  • Python >= 3.11
  • pydantic >= 2.0.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

axis_synome-0.2.0.dev202607240944.tar.gz (336.2 kB view details)

Uploaded Source

Built Distribution

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

axis_synome-0.2.0.dev202607240944-py3-none-any.whl (227.1 kB view details)

Uploaded Python 3

File details

Details for the file axis_synome-0.2.0.dev202607240944.tar.gz.

File metadata

  • Download URL: axis_synome-0.2.0.dev202607240944.tar.gz
  • Upload date:
  • Size: 336.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for axis_synome-0.2.0.dev202607240944.tar.gz
Algorithm Hash digest
SHA256 9d757d2125a2c7ab9ca3ec20bafcce42068b85dc267f6967732375b7c807d75c
MD5 ccd9300f0d436274a970488abb61c423
BLAKE2b-256 c35b41b7ffbd65851fcb5a53f200bf0f889ab00335dee22edc393dfb2086a6ec

See more details on using hashes here.

File details

Details for the file axis_synome-0.2.0.dev202607240944-py3-none-any.whl.

File metadata

  • Download URL: axis_synome-0.2.0.dev202607240944-py3-none-any.whl
  • Upload date:
  • Size: 227.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for axis_synome-0.2.0.dev202607240944-py3-none-any.whl
Algorithm Hash digest
SHA256 fa5c8dd7828530554380c2f772f16e292ebd22534ceefbd34eae8704c1aef593
MD5 b2cfb64ca21ec163db0a20e7c312eaa5
BLAKE2b-256 5d4a409458200638b7c7592135b3f6aa1210127ae99bf949095db31ffa45d6ea

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.2.0.dev202607240944 This release

2 files

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