MESC is the Multiple Endpoint Shared Configuration Standard
Project description
Python MESC Implementation
This is a reference implementation of the Python MESC Standard
It has no external dependencies.
Installation
From PyPI
pip install mesc
From Source
git clone https://github.com/paradigmxyz/mesc
cd mesc
pip install ./
Example Usage
from typing import Any, Mapping, Sequence
import mesc
# check whether mesc is enabled
enabled: bool = mesc.is_mesc_enabled()
# get the default endpoint
endpoint: Endpoint | None = mesc.get_default_endpoint()
# get the default endpoint of a network
endpoint: Endpoint | None = mesc.get_endpoint_by_network(5)
# get the default endpoint for a particular tool
endpoint: Endpoint | None = mesc.get_default_endpoint(profile='xyz_tool')
# get the default endpoint of a network for a particular tool
endpoint: Endpoint | None = mesc.get_endpoint_by_network(5, profile='xyz_tool')
# get an endpoint by name
endpoint: Endpoint | None = mesc.get_endpoint_by_name('local_goerli')
# parse a user-provided string into a matching endpoint
# (first try 1. endpoint name, then 2. chain id, then 3. network name)
endpoint: Endpoint | None = mesc.get_endpoint_by_query(user_str, profile='xyz_tool')
# find all endpoints matching given criteria
endpoints: Sequence[Endpoint] = mesc.find_endpoints(chain_id=5)
# get non-endpoint metadata
metadata: Mapping[str, Any] = mesc.get_global_metadata(profile='xyz_tool')
Reference
from typing import Any, MutableMapping, TypedDict, Literal, Sequence
class RpcConfig(TypedDict):
mesc_version: str
default_endpoint: str | None
endpoints: MutableMapping[str, Endpoint]
network_defaults: MutableMapping[str, str]
network_names: MutableMapping[str, str]
profiles: MutableMapping[str, Profile]
global_metadata: MutableMapping[str, Any]
class Endpoint(TypedDict):
name: str
url: str
chain_id: str | None
endpoint_metadata: MutableMapping[str, Any]
class Profile(TypedDict):
name: str
default_endpoint: str | None
network_defaults: MutableMapping[str, str]
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
mesc-0.2.1.tar.gz
(26.6 kB
view details)
Built Distribution
mesc-0.2.1-py3-none-any.whl
(26.7 kB
view details)
File details
Details for the file mesc-0.2.1.tar.gz
.
File metadata
- Download URL: mesc-0.2.1.tar.gz
- Upload date:
- Size: 26.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.31.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6ec8f7f8daae54fc2e2d3da016664db35a0c40acc1aae46f6681a0f26340b133 |
|
MD5 | d2288bebcd5d1f1c113a63235788b083 |
|
BLAKE2b-256 | a33dd0b34ffb74c7706e877f1a09374a4c38d2a5625d0fe1c87bcdc9535b5b41 |
File details
Details for the file mesc-0.2.1-py3-none-any.whl
.
File metadata
- Download URL: mesc-0.2.1-py3-none-any.whl
- Upload date:
- Size: 26.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.31.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c919cefc242ce04fc78ea4e2c3f8358d9ce368d202c0f48c920a72bbf6b9f34e |
|
MD5 | 0943486be21c28370a45573ec6696bf4 |
|
BLAKE2b-256 | cefb166a25261d7cca68d6cdb5d4074afc62e0f27c4ac67c6cb8599292776614 |