Metadata-Version: 2.1
Name: pypechain
Version: 0.0.6
Summary: Codegen python interfaces for web3.py contracts.
Author-email: Matthew Brown <matt@delv.tech>, Dylan Paiton <dylan@delv.tech>, Sheng Lundquist <sheng@delv.tech>, Mihai Cosma <mihai@delv.tech>
Requires-Python: >=3.10, <3.11
Description-Content-Type: text/markdown
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Requires-Dist: flit
Requires-Dist: black
Requires-Dist: jinja2
Requires-Dist: web3
Requires-Dist: pypechain[base,build,test] ; extra == "all"
Requires-Dist: black ; extra == "base"
Requires-Dist: jinja2 ; extra == "base"
Requires-Dist: multimethod ; extra == "base"
Requires-Dist: web3 ; extra == "base"
Requires-Dist: build ; extra == "build"
Requires-Dist: setuptools ; extra == "build"
Requires-Dist: wheel ; extra == "build"
Requires-Dist: twine ; extra == "build"
Requires-Dist: pytest ; extra == "test"
Requires-Dist: pytest-snapshot ; extra == "test"
Requires-Dist: pyright ; extra == "test"
Requires-Dist: pylint ; extra == "test"
Requires-Dist: coverage ; extra == "test"
Project-URL: Bug Tracker, https://github.com/delvtech/pypechain/issues
Project-URL: Homepage, https://github.com/delvtech/pypechain
Provides-Extra: all
Provides-Extra: base
Provides-Extra: build
Provides-Extra: test

[![](https://codecov.io/gh/delvtech/pypechain/branch/main/graph/badge.svg?token=1S60MD42ZP)](https://app.codecov.io/gh/delvtech/pypechain?displayType=list)
[![](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![](https://img.shields.io/badge/testing-pytest-blue.svg)](https://docs.pytest.org/en/latest/contents.html)
<br><a href="https://app.codecov.io/gh/delvtech/pypechain?displayType=list"><img height="50px" src="https://codecov.io/gh/delvtech/pypechain/graphs/tree.svg?token=A3BTPZ02E6"><a>

# Pypechain

Static python bindings for ethereum smart contracts.

- Parses JSON ABIs to create typesafe web3.py contract instances
- Functions have typesafe function parameters and return values
- Smart Contract internal types are exposed as dataclasses

This project is a work-in-progress. All code is provided as is and without guarantee.

## Install

```bash
pip install --upgrade pypechain
```

For development install instructions, see toplevel [INSTALL.md](https://github.com/delvtech/pypechain/blob/main/INSTALL.md)

## Usage

```bash
#  pypechain <ABI_FILE>          <OUT_FILE>
❯❯ pypechain './abis/ERC20.json' './build/ERC20Contract.py'
```

