Skip to main content

Moonstream entity API client library

Project description

Moonstream Entity Python Client and CLI

In order to use this client, you will need a Moonstream access token. You can generate one at https://moonstream.to/account/tokens.

Detailed documentation you can find at https://docs.moonstream.to/engine/entity

The client library reads this token from the MOONSTREAM_ACCESS_TOKEN environment variable. To set it:

export MOONSTREAM_ACCESS_TOKEN="<your_access_token>"

Install package from PyPI:

pip install moonstream-entity

Import and initialize client in your code:

import os

from entity.client import Entity

MOONSTREAM_ACCESS_TOKEN = os.environ.get("MOONSTREAM_ACCESS_TOKEN")

ec = Entity()
response = ec.list_collections(
    token=MOONSTREAM_ACCESS_TOKEN,
    timeout=10,
)

print(response.json())

Work with collections via CLI

Create collection:

entity --token "$MOONSTREAM_ACCESS_TOKEN" collections create --name "My Ethereum addresses"

List collections:

entity --token "$MOONSTREAM_ACCESS_TOKEN" collections list

Delete collection:

export MOONSTREAM_ENTITY_COLLECTION_ID="<your_collection_id>"

entity --token "$MOONSTREAM_ACCESS_TOKEN" collections delete --collection_id "$MOONSTREAM_ENTITY_COLLECTION_ID"

Work with entities via CLI

export MOONSTREAM_ENTITY_COLLECTION_ID="<your_collection_id>"

Create entity:

entity --token "$MOONSTREAM_ACCESS_TOKEN" entities create --collection_id "$MOONSTREAM_ENTITY_COLLECTION_ID" --address "0x000000000000000000000000000000000000dEaD" --blockchain ethereum --name "Dead address" --required_field '{"dead": true}' --required_field '{"owner": "unknown"}' --secondary_field '{"description": "Dangerous address for tokens burning mechanism."}'

Create entity bulk from csv:

Input file addresses.csv contains list of addresses:

address,name
0xe1991fFb1f2271Bc645293cCDf4e38a3f1b7a13c,Address 1
0x37309157eC7863b04c66B6fB2bf7b21EE8B03bA1,Address 2
entity --token "$MOONSTREAM_ACCESS_TOKEN" entities bulk --blockchain ethereum --collection_id "$MOONSTREAM_ENTITY_COLLECTION_ID" --input addresses.csv --required_field '{"owner": "me"}' --secondary_field '{"description": "My bot address"}'

List entities in collection:

entity --token "$MOONSTREAM_ACCESS_TOKEN" entities list --collection_id "$MOONSTREAM_ENTITY_COLLECTION_ID"

Delete entity:

export MOONSTREAM_ENTITY_ID="<your_entity_id>"

entity --token "$MOONSTREAM_ACCESS_TOKEN" entities delete --collection_id "$MOONSTREAM_ENTITY_COLLECTION_ID" --entity_id "$MOONSTREAM_ENTITY_ID"

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

moonstream-entity-0.0.5.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

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

moonstream_entity-0.0.5-py3-none-any.whl (8.1 kB view details)

Uploaded Python 3

File details

Details for the file moonstream-entity-0.0.5.tar.gz.

File metadata

  • Download URL: moonstream-entity-0.0.5.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for moonstream-entity-0.0.5.tar.gz
Algorithm Hash digest
SHA256 864cf3800742810acb68cbd0da45ca67483a0ee1edeae28dc620af17c109f5f1
MD5 fe76f768e555d76209691631f449321b
BLAKE2b-256 fa9aecd8c3d7ab6ad8f18c8065934a47c87ae7f5b35a15b428d786f733c580a9

See more details on using hashes here.

File details

Details for the file moonstream_entity-0.0.5-py3-none-any.whl.

File metadata

File hashes

Hashes for moonstream_entity-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 ecb77978fe4bc50611466ba88a85aab337b9fa541182174f188ca7e07c524158
MD5 08139c23cf9f256d1bd7ba0482bdfd3c
BLAKE2b-256 949b0c773486fcf3fbebf964661590afbeb0b1b84c7fbdd99c7995dfb46e6906

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