Omnichain
Omnichain-py is a python library for humans and AI Agents to interact with all blockchain networks
Supported Blockchain Networks
- EVM
- UTXO (Bitcoin and bit-like networks)
- Solana
- Sui
- Stellar
- XRP Ledger
- Tron
- TON
Installation
pip install omnichain
Development
This project uses Hatch for environment, build, and publish management.
# install hatch (once)
pip install hatch
# run tests inside the managed environment
hatch run test
# build sdist + wheel into ./dist
hatch build
# bump version (edits src/omnichain/__init__.py)
hatch version patch # or: minor / major / "1.2.3"
# publish to PyPI (needs HATCH_INDEX_USER / HATCH_INDEX_AUTH or ~/.pypirc)
hatch publish
Running tests
The default Hatch environment defines test = "pytest {args:tests}", so any
arguments after hatch run test are forwarded to pytest.
# run the entire test suite
hatch run test
# run a specific file
hatch run test tests/impl/evm/test_evm_chain_e2e.py
hatch run test tests/impl/solana/test_solana_chain_e2e.py
# run a single class
hatch run test tests/impl/evm/test_evm_chain_e2e.py::TestEvmChains
hatch run test tests/impl/solana/test_solana_chain_e2e.py::TestSolanaChainGenesisHash
# run a single parametrized case (quote because of the brackets)
hatch run test "tests/impl/evm/test_evm_chain_e2e.py::TestEvmChains::test_asset_symbol_and_decimals_match_chain[ETHEREUM_USDC]"
hatch run test "tests/impl/solana/test_solana_chain_e2e.py::TestSolanaChainGenesisHash::test_asset_symbol_and_decimals_match_chain[SOLANA_MAINNET_USDC]"
# forward extra pytest flags
hatch run test tests/impl/solana/test_solana_chain_e2e.py -k genesis_hash -x -s
# one-off invocation without the script alias
hatch run pytest tests/impl/solana/test_solana_chain_e2e.py
# drop into the env shell and run pytest directly
hatch shell
pytest tests/impl/evm/test_evm_chain_e2e.py
Running groups of tests by marker
pytest.ini registers markers for both the kind of test (unit, integration,
e2e) and the network it exercises (evm, solana, stellar, sui,
sui_graphql, tron, xrpl). Use -m to select tests by marker:
# run all unit / integration / e2e tests
hatch run test -m unit
hatch run test -m integration
hatch run test -m e2e
# run all tests for a specific network
hatch run test -m evm
hatch run test -m solana
hatch run test -m sui_graphql
# combine markers with boolean expressions
hatch run test -m "e2e and evm" # only EVM e2e tests
hatch run test -m "unit or integration" # everything except e2e
hatch run test -m "evm and not e2e" # EVM unit + integration only
hatch run test -m "e2e and (solana or sui)"
# chain a marker selection with a name filter and a path
hatch run test tests/impl/evm -m e2e -k genesis_hash
E2E tests load tests/.test.env themselves via python-dotenv, so Hatch needs
no extra config — just populate tests/.test.env with the RPC URLs and
TEST_1_MNEMONIC / TEST_2_MNEMONIC you want to exercise. Tests whose
required env vars are missing are skipped automatically.
License
Copyright (C) 2026 Rango Community
GNU Affero General Public License v3.0 or later — see LICENSE.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. It is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file omnichain-0.0.3.tar.gz.
File metadata
- Download URL: omnichain-0.0.3.tar.gz
- Upload date:
- Size: 399.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
Hatch/1.16.5 cpython/3.12.12 HTTPX/0.28.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bfd93547517d85b68bc8cb597db5554852753454ccf4081ad6413c699c6eacf6
|
|
| MD5 |
85a2847e45e5c0eeeb464fbcc658b5ce
|
|
| BLAKE2b-256 |
7136aa92627596c69829dca779125d1bd50b1be4b0c42b5c23a73f5aa2ea9fd8
|
File details
Details for the file omnichain-0.0.3-py3-none-any.whl.
File metadata
- Download URL: omnichain-0.0.3-py3-none-any.whl
- Upload date:
- Size: 366.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
Hatch/1.16.5 cpython/3.12.12 HTTPX/0.28.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
03da362e0470890abb5a8ac639e1edba18b0a7dae259f3e724dbff67817217f6
|
|
| MD5 |
288919cd70b7ed5adbd5f5f178685a45
|
|
| BLAKE2b-256 |
0c0918e059c05314b7895beedf91594f4160a7044ff4e984500186330567c70d
|