Skip to main content

Official Python SDK for the Noesis on-chain intelligence API — Solana token & wallet analytics.

Project description

noesis-python

Official Python SDK for the Noesis on-chain intelligence API.

PyPI Python License Website


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

Project details


Download files

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

Source Distribution

noesis_api-0.3.1.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

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

noesis_api-0.3.1-py3-none-any.whl (7.5 kB view details)

Uploaded Python 3

File details

Details for the file noesis_api-0.3.1.tar.gz.

File metadata

  • Download URL: noesis_api-0.3.1.tar.gz
  • Upload date:
  • Size: 6.5 kB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for noesis_api-0.3.1.tar.gz
Algorithm Hash digest
SHA256 b09507a9c5098a2b6c9b2f89993f3bf1dc7a24b4bb11fc2281d25cf7cd2f0fc2
MD5 46c0aa94bce8e9066f808d79c3b424a9
BLAKE2b-256 d8018983278d15bfedff433b579fe5626d200ebbade8db4988e9a06e8cebaadc

See more details on using hashes here.

File details

Details for the file noesis_api-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: noesis_api-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 7.5 kB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for noesis_api-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d753b5477c17acf0f0d72d1c2ea1a08095262df6f2aeaefb0f9ace8a4f4e8b5a
MD5 ad97208f8e4ba8b8ac082927dbc58dcf
BLAKE2b-256 13a222fb76a31a08962fb27e0da7ec40160b1c0df8adf0c7a4ab370eba7ba072

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page