geodefi
geodefi is a Python library for interacting with geode.fi smart contract infrastructure.
geode.fi an open source Decentralized Infrastructure Provider aiming to create a secure closed-environment for the wider Decentralized Finance landscape. Currently providing a set of smart contracts which allows anyone to create their own Staking Pool on Ethereum. Soon, much more.
Built on top of web3.py Geodefi offers a comprehensive set of functions and utilities that simplify the process of interacting with the protocol's smart contract infrastructure.
Whether you're looking to query contract data or execute transactions, geodefi Python SDK has you covered! With a user-friendly and highly efficient interface, this SDK also provides cool features such as built-in cache, easy wallet management etc.
Features
- Supports Ethereum Holesky testnet (as of v2.1.0) where The Protocol is deployed.
- Provides a simple and intuitive API for managing validators, operators, pools, tokens, and other smart contracts/packages.
- Dynamically adapts to the contract upgrades.
- Mostly chain agnostic. However, might differ according to the unique PoS implementations.
- Compatible with Python versions that are bigger than 3.8.
Installation
pip install geodefi
Documentation
Detailed documentation for this project is available on Geodefi SDK Read The Docs.
Sphinx
If your feature needs to have additional section in Read The Docs. Please check the docs in your local computer first.
built docs page is located in docs/_build/html/index.html.
You will need a sphinx server to render rst files:
Build
sphinx-build docs docs/_build/html
Auto-build
sphinx-autobuild docs docs/_build/html
Contributing
We welcome contributions from the community! To contribute to this project, please follow these steps:
-
Fork the Repository: Click the "Fork" button at the top right corner of this repository to create your own copy.
-
Clone the Repository: Clone the forked repository to your local machine using the following command:
git clone https://github.com/<your_user_name>/geode-py.git
-
Build from source: Take a look at the Build section
-
Create a Branch: Create a new branch for your contribution:
git checkout -b feature/your-feature-name
-
Stage Changes: Stage your changes to be commited
git add <your-modified-files>
-
Commit Changes: Commit your changes with a descriptive commit message:
git commit -m "Add feature: your feature description"
-
Push Changes: Push your changes to your forked repository:
git push origin feature/your-feature-name
-
Create a Pull Request: Go to the original repository on GitHub and click on the "Pull Request" button. Fill out the necessary information and submit the pull request. Your pull request will be reviewed by the maintainers. Be ready to respond to any feedback or changes requested. You might need to make additional commits based on the feedback.
Building
We do not recommend using pip and your local python installation.
Use pipx to manage your local packages, which in this case will be used to install pyenv.
Use pyenv to manage your python version.
Use poetry for dependency management and packaging.
Create virtual env
Simply do:
poetry shell
This will create and activate a virtual environment.
If you want to set the python version from start you can also do:
poetry env use <python_version/3.9/3.9.19/etc>
This will output:
Using virtualenv: <path_to_venv> copy <path_to_venv> and use it above to activate
source <path_to_venv>/bin/activate
Install deps
Install project dependencies with:
poetry install
Release
Old method:
- Use main branch for releases.
- test with
VERSION=1.0.0 python -m buildif you want, then:
git tag -a "v0.0.1-beta" -m "beta version testing"
git push --tags
New Method:
poetry publish --build
License
geodefi python sdk is licensed under MIT.
Metadata
Release files for geodefi 3.2.0
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 | Actions |
|---|---|---|---|---|
| geodefi-3.2.0.tar.gz | 245.0 kB | Without provenance | Details for geodefi-3.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| geodefi-3.2.0-py3-none-any.whl | Python 3 | none | any | Details for geodefi-3.2.0-py3-none-any.whl |
Total release size: 501.2 kB
Release files / geodefi-3.2.0.tar.gz
| Download URL | geodefi-3.2.0.tar.gz |
|---|---|
| Size | 245.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
687149cde79efbffbd19e6f4ec42dea25981c6369bb67c612031f6db190fd33f
|
|
BLAKE2b-256 checksum How to use checksums |
ef7b2b1317b7cdc323a238b701986c9a03dc50003874efd29797bbf9f6b3d102
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.3 CPython/3.10.14 Linux/6.5.0-1025-azure
|
Release files / geodefi-3.2.0-py3-none-any.whl
| Download URL | geodefi-3.2.0-py3-none-any.whl |
|---|---|
| Size | 256.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7f8a31fb8ff0330acabd65bdd90d7878abefe8317cdd378e30d494fe0651954d
|
|
BLAKE2b-256 checksum How to use checksums |
511d57cbba4b464a2f8d181cc31a4a4f1ffdfb50e3a2b4b389f8ff62bf444d9b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.3 CPython/3.10.14 Linux/6.5.0-1025-azure
|
Security for geodefi 3.2.0
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.