Metadata-Version: 2.4
Name: anchorpy3
Version: 0.3.4
Summary: The Python Anchor client with support for new Anchor IDL formats (fork of anchorpy by kevinheavey)
Project-URL: Repository, https://github.com/kakagri/anchorpy
Project-URL: Documentation, https://kevinheavey.github.io/anchorpy/
Project-URL: Original Repository, https://github.com/kevinheavey/anchorpy
Project-URL: Issue Tracker, https://github.com/kakagri/anchorpy/issues
Project-URL: Changelog, https://github.com/kakagri/anchorpy/blob/main/CHANGELOG.md
Author-email: kakagri <kh.grira@gmail.com>, kevinheavey <kevinheavey123@gmail.com>
Maintainer-email: kakagri <kh.grira@gmail.com>
License: MIT
License-File: LICENSE
Keywords: anchor,blockchain,crypto,solana,web3
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Distributed Computing
Requires-Python: ~=3.10
Requires-Dist: anchorpy3-core<0.4,>=0.3.4
Requires-Dist: based58<0.2,>=0.1.1
Requires-Dist: borsh-construct<0.2,>=0.1.0
Requires-Dist: construct-typing<0.6,>=0.5.1
Requires-Dist: pyheck<0.2,>=0.1.4
Requires-Dist: solana<1.0,>=0.36.1
Requires-Dist: solders<1.0,>=0.21.0
Requires-Dist: toml<0.11,>=0.10.2
Requires-Dist: toolz<0.12,>=0.11.2
Provides-Extra: cli
Requires-Dist: autoflake~=1.4; extra == 'cli'
Requires-Dist: black<23,>=22.3.0; extra == 'cli'
Requires-Dist: genpy~=2021.1; extra == 'cli'
Requires-Dist: ipython<9,>=8.0.1; extra == 'cli'
Requires-Dist: typer==0.4.1; extra == 'cli'
Provides-Extra: pytest
Requires-Dist: py<2,>=1.11.0; extra == 'pytest'
Requires-Dist: pytest-asyncio<0.22,>=0.21.0; extra == 'pytest'
Requires-Dist: pytest-xprocess<0.19,>=0.18.1; extra == 'pytest'
Requires-Dist: pytest<8,>=7.2.0; extra == 'pytest'
Description-Content-Type: text/markdown

# AnchorPy3
<div align="center">
    <img src="https://raw.githubusercontent.com/kevinheavey/anchorpy/main/docs/img/logo.png" width="40%" height="40%">
</div>

---

[![PyPI](https://img.shields.io/pypi/v/anchorpy3.svg)](https://pypi.org/project/anchorpy3/)
[![Python Version](https://img.shields.io/pypi/pyversions/anchorpy3)](https://pypi.org/project/anchorpy3/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

> **Note:** This is a fork of [kevinheavey/anchorpy](https://github.com/kevinheavey/anchorpy) with added support for new Anchor IDL formats (v0.1.0 spec). All credit for the original implementation goes to [kevinheavey](https://github.com/kevinheavey).

## What's New in AnchorPy3

- **Full support for new Anchor IDL format (v0.1.0 spec)** with precomputed discriminators
- **100% backward compatibility** with legacy IDL format
- **Automatic format detection** - works seamlessly with both old and new IDL files
- **Decoupled architecture** - anchorpy-core is now a separate package
- **Updated for Python 3.10+**

## Overview

AnchorPy is the gateway to interacting with [Anchor](https://github.com/project-serum/anchor) programs in Python.
It provides:

- A static client generator
- A dynamic client similar to `anchor-ts`
- A Pytest plugin
- A CLI with various utilities for Anchor Python development.

Read the [Documentation](https://kevinheavey.github.io/anchorpy/).



## Installation (requires Python >=3.10)

### Install from PyPI

```sh
pip install anchorpy3[cli,pytest]
```

Or, if you're not using the CLI or Pytest plugin features:

```sh
pip install anchorpy3
```

### Install from GitHub (Latest)

```sh
pip install git+https://github.com/kakagri/anchorpy.git
```

**Note:** Installing from GitHub requires the Rust toolchain (for building anchorpy-core). See [Rust installation](https://www.rust-lang.org/tools/install).

### Development Setup

If you want to contribute to AnchorPy, follow these steps to get set up:

1. Install [uv](https://docs.astral.sh/uv/getting-started/installation/)
2. Run the unit tests:
```sh
uv run --all-extras pytest tests/unit

```
