Install
pip install noesis-api
Fully type-hinted (PEP 561) — mypy, pyright, and Pylance see the annotations out of the box.
Quick start
from noesis import Noesis
client = Noesis(api_key="se_...")
# Token preview
preview = client.token.preview("<MINT>")
print(preview)
# Wallet profile
wallet = client.wallet.profile("<ADDRESS>")
print(wallet)
# Bundle detection
bundles = client.token.bundles("<MINT>")
print(bundles)
Get an API key at noesisapi.dev/keys.
Async
AsyncNoesis mirrors the sync client. Every method is async; streams are async generators.
import asyncio
from noesis import AsyncNoesis
async def main():
async with AsyncNoesis(api_key="se_...") as client:
preview = await client.token.preview("<MINT>")
print(preview)
async for token in client.streams.pumpfun_new_tokens():
print("New token:", token)
asyncio.run(main())
Use this inside FastAPI handlers, Jupyter cells, or any asyncio program.
Live streams
from noesis import Noesis
client = Noesis(api_key="se_...")
for token in client.streams.pumpfun_new_tokens():
print("New token:", token)
Available streams: pumpfun_new_tokens, pumpfun_migrations, raydium_new_pools, meteora_new_pools.
API
Token
client.token.preview(mint, chain="sol")
client.token.scan(mint, chain="sol")
client.token.info(mint, chain="sol")
client.token.top_holders(mint, chain="sol")
client.token.holders(mint, chain="sol", limit=100, cursor=None)
client.token.bundles(mint)
client.token.fresh_wallets(mint)
client.token.team_supply(mint, chain="sol")
client.token.entry_price(mint, chain="sol")
client.token.dev_profile(mint, chain="sol")
client.token.best_traders(mint, chain="sol")
client.token.early_buyers(mint, hours=1, chain="sol")
Wallet
client.wallet.profile(address, chain="sol")
client.wallet.history(address, chain="sol", limit=20, type=None, source=None, before=None)
client.wallet.connections(address, min_sol=0.1, max_pages=20)
client.wallet.batch_identity(addresses)
client.wallet.cross_holders(tokens)
client.wallet.cross_traders(tokens)
Chain / on-chain
client.chain.status()
client.chain.account(address)
client.chain.accounts_batch(addresses)
client.chain.parse_transactions(signatures)
Error handling
Non-2xx responses raise a typed subclass of NoesisError:
import time
from noesis import (
Noesis, NoesisError,
NoesisAuthError, NoesisNotFoundError, NoesisRateLimitError,
)
client = Noesis(api_key="se_...")
try:
client.token.preview("<MINT>")
except NoesisRateLimitError as e:
# e.limit == "1 request/5 seconds"
# e.limit_type == "Light" | "Heavy" | "VeryHeavy"
# e.signed_in is a bool
time.sleep(e.retry_after_seconds or 5)
except NoesisAuthError:
print("Invalid or missing API key")
except NoesisNotFoundError:
print("Wallet/token/route not found")
except NoesisError as e:
print(e.status, e.message, e.details)
retry_after_seconds reads the JSON body and falls back to the
Retry-After response header.
Context manager
with Noesis(api_key="se_...") as client:
data = client.token.preview("<MINT>")
License
MIT — see LICENSE.
Links
Metadata
Release files for noesis-api 0.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| noesis_api-0.3.1.tar.gz | 6.5 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| noesis_api-0.3.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 14.0 kB
Release files / noesis_api-0.3.1.tar.gz
| Download URL | noesis_api-0.3.1.tar.gz |
|---|---|
| Size | 6.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b09507a9c5098a2b6c9b2f89993f3bf1dc7a24b4bb11fc2281d25cf7cd2f0fc2
|
|
BLAKE2b-256 checksum How to use checksums |
d8018983278d15bfedff433b579fe5626d200ebbade8db4988e9a06e8cebaadc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Manjaro Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / noesis_api-0.3.1-py3-none-any.whl
| Download URL | noesis_api-0.3.1-py3-none-any.whl |
|---|---|
| Size | 7.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d753b5477c17acf0f0d72d1c2ea1a08095262df6f2aeaefb0f9ace8a4f4e8b5a
|
|
BLAKE2b-256 checksum How to use checksums |
13a222fb76a31a08962fb27e0da7ec40160b1c0df8adf0c7a4ab370eba7ba072
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Manjaro Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for noesis-api 0.3.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.