Skip to main content

Python library with the neurion networks

Project description

NeurionPy

NeurionPy is the official Python SDK for interacting with the Neurion blockchain, a Cosmos SDK-based network designed for privacy-preserving AI, federated learning, and decentralized automation. NeurionPy provides developers with all the necessary tools to create wallets, sign transactions, and interact with various modules on the blockchain.

Features

  • Wallet Management: Generate wallets from private keys, mnemonics, or existing addresses.
  • Transaction Signing: Sign and broadcast transactions securely.
  • Querying the Blockchain: Retrieve blockchain state, account balances, and contract data.
  • Module Interactions: Full support for all Neurion modules:
    • Sanctum: Privacy-preserving dataset sharing and usage requests.
    • Crucible: Federated learning, model training, and validation.
    • Fusion: AI model aggregation and dispute resolution.
    • Ganglion: AI agent and workflow automation.
  • GRPC & REST Support: Seamlessly interact with the Neurion blockchain via GRPC and REST APIs.

Installation

Install NeurionPy using pip:

pip install neurionpy

Package available on PyPI: NeurionPy

Getting Started

Importing NeurionPy

import grpc
from neurionpy.synapse.client import NeurionClient, NetworkConfig
from neurionpy.synapse.wallet import LocalWallet

Creating a Wallet

wallet = LocalWallet.from_mnemonic(
    "your mnemonic here",
    "neurion"
)
print("Address:", wallet.address)

Connecting to Neurion

client = NeurionClient(NetworkConfig.neurion_localnet(), wallet)

Module Interactions

Below are examples of interactions with the different Neurion modules. More operations are supported; refer to the API documentation for the full list.

Sanctum (Privacy-Preserving Dataset Management)

Example: Submitting a Dataset Application

tx = client.sanctum.tx.SubmitDatasetApplication(
    message=MsgSubmitDatasetApplication(
        creator=str(wallet.address()),
        encrypted_data_link="https://encrypted_data_link",
        explanation_link="https://explanation_link",
        contact="contact",
        stake=100000000,
        proof_of_authenticity="proof_of_authenticity",
        dataset_usage_fee=100000000
    )
)
print(f"TX {tx.tx_hash} submitted.")

Other available Sanctum operations:

  • Approve dataset applications
  • Request to use datasets
  • Manage dataset processing

Crucible (Federated Learning & Model Validation)

Example: Registering as a Model Trainer

tx = client.crucible.tx.RegisterTrainer(
    message=MsgRegisterTrainer(
        creator=str(wallet.address()),
        task_id=1
    )
)
print(f"Trainer Registration TX: {tx.tx_hash}")

Other available Crucible operations:

  • Submit training results
  • Stake tokens to tasks
  • Report model plagiarism

Fusion (AI Model Aggregation & Dispute Resolution)

Example: Proposing a Model for a Task

tx = client.fusion.tx.ProposeModel(
    message=MsgProposeModel(
        creator=str(wallet.address()),
        task_id=1,
        model_link="https://model_link",
        metadata_link="https://metadata_link"
    )
)
print(f"Model Proposal TX: {tx.tx_hash}")

Other available Fusion operations:

  • Register as a proposer or validator
  • Dispute model scores
  • Claim rewards from tasks

Ganglion (AI Agent & Workflow Automation)

Example: Registering an AI Agent (Ion)

tx = client.ganglion.tx.RegisterIon(
    message=MsgRegisterIon(
        capacities=["SCRAPER", "EXTRACTOR"],
        stake=10000000,
        endpoints=["http://localhost", "http://66.63.66.66"],
        description="A scraper and extractor",
        input_schema='{"name":"string","flag":"boolean"}',
        output_schema='{"another_flag":"boolean","fullname":"string"}',
        fee_per_thousand_calls=18,
    )
)
print(f"Ion Registration TX: {tx.tx_hash}")

Other available Ganglion operations:

  • Report and validate Ions
  • Register and update pathways
  • Stake and claim rewards from Ganglion

License

This project is licensed under the MIT License.

Disclaimer

Use NeurionPy at your own risk. Ensure you store private keys securely and follow best security practices when interacting with blockchain assets.

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

neurionpy-0.16.0.tar.gz (442.1 kB view details)

Uploaded Source

Built Distribution

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

neurionpy-0.16.0-py3-none-any.whl (1.1 MB view details)

Uploaded Python 3

File details

Details for the file neurionpy-0.16.0.tar.gz.

File metadata

  • Download URL: neurionpy-0.16.0.tar.gz
  • Upload date:
  • Size: 442.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.9.21 Linux/6.8.0-1021-azure

File hashes

Hashes for neurionpy-0.16.0.tar.gz
Algorithm Hash digest
SHA256 e7fb4e6d49fccd782da2c1b9558c5415f95dab1d6a809e2bbc712959d2d11dc0
MD5 b4329f9b2be0bde0e1d0ee67bbe54595
BLAKE2b-256 e81949eebc7db81d0f3f7851d5d7bbde20de47a894361b3e0dff3501f830f486

See more details on using hashes here.

File details

Details for the file neurionpy-0.16.0-py3-none-any.whl.

File metadata

  • Download URL: neurionpy-0.16.0-py3-none-any.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.9.21 Linux/6.8.0-1021-azure

File hashes

Hashes for neurionpy-0.16.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c83a1790fbc3bd0bebb1bc3488270fb8d22f5484c02617fd9349cfe40382cee7
MD5 9adf0193fc22a762495b3791bee65382
BLAKE2b-256 60f5a647bb48db3af77db55eb65712b12a0d3fdce66fc6f5f6b648e84352358c

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