Python Incubed client
This library is based on the C version of Incubed, which limits the compatibility for Cython, so please contribute by compiling it to your own platform and sending us a pull-request!
Go to our readthedocs page for more.
Quickstart
Install with pip
pip install in3
In3 Client API
import in3
in3_client = in3.Client()
# Sends a request to the Incubed Network, that in turn will collect proofs from the Ethereum client,
# attest and sign the response, then send back to the client, that will verify signatures and proofs.
block_number = in3_client.eth.block_number()
print(block_number) # Mainnet's block number
in3_client # incubed network api
in3_client.eth # ethereum api
in3_client.eth.account # ethereum account api
in3_client.eth.contract # ethereum smart-contract api
Developing & Tests
Install dev dependencies, IDEs should automatically recognize interpreter if done like this.
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
Compile local libraries and run tests. Make sure you have cmake installed.
./buidl_libs.sh
coverage run -m pytest --pylama && coverage report && coverage-badge -fo docs/coverage.svg
Index
Explanation of this source code architecture and how it is organized. For more on design-patterns see here or on Martin Fowler's Catalog of Patterns of Enterprise Application Architecture.
- in3.init.py: Library entry point, imports organization. Standard for any pipy package.
- in3.client: Incubed Client and API.
- in3.model: MVC Model classes for the Incubed client module domain.
- in3.transport: HTTP Transport function and error handling.
- in3.wallet: WiP - Wallet API.
- in3.exception: Custom exceptions.
- in3.eth: Ethereum module.
- in3.eth.api: Ethereum API.
- in3.eth.account: Ethereum accounts.
- in3.eth.contract: Ethereum smart-contracts API.
- in3.eth.model: MVC Model classes for the Ethereum client module domain. Manages serialization.
- in3.eth.factory: Ethereum Object Factory. Manages deserialization.
- in3.libin3: Module for the libin3 runtime. Libin3 is written in C and can be found here.
- in3.libin3.shared: Native shared libraries for multiple operating systems and platforms.
- in3.libin3.enum: Enumerations mapping C definitions to python.
- in3.libin3.lib_loader: Bindings using Ctypes.
- in3.libin3.runtime: Runtime object, bridging the remote procedure calls to the libin3 instances.
Metadata
Release files for in3 3.3.3
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 | |
|---|---|---|---|---|
| in3-3.3.3.tar.gz | 8.6 MB | Without provenance | Details |
Release files / in3-3.3.3.tar.gz
| Download URL | in3-3.3.3.tar.gz |
|---|---|
| Size | 8.6 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
eca3f2b2d7e748db527e789c13c5e019e14b7992a9a998041862460003dfffde
|
|
BLAKE2b-256 checksum How to use checksums |
9cafc7d8c8ce18974756f7ac8ed0ddc59a6dd111e1150df74e3af87a9edd29a0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.40.0 CPython/3.7.3
|
Security for in3 3.3.3
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.
To learn more about protecting yourself from malicious actors, visit our package security documentation.