Metadata-Version: 2.1
Name: ape-turnkey
Version: 0.8.0a0
Summary: ape-turnkey: turnkey.com plugin for Ape
Home-page: https://github.com/ApeWorX/ape-turnkey
Author: ApeWorX Ltd.
Author-email: admin@apeworx.io
License: Apache-2.0
Keywords: ethereum
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Natural Language :: English
Classifier: Operating System :: MacOS
Classifier: Operating System :: POSIX
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.9,<4
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: cryptography<45,>=44.0
Requires-Dist: eth-ape<0.9,>=0.8
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: pytest-xdist; extra == "dev"
Requires-Dist: pytest-cov; extra == "dev"
Requires-Dist: hypothesis<7,>=6.2; extra == "dev"
Requires-Dist: black>=25; extra == "dev"
Requires-Dist: mypy>=1.13; extra == "dev"
Requires-Dist: types-setuptools; extra == "dev"
Requires-Dist: types-requests; extra == "dev"
Requires-Dist: flake8>=7.1; extra == "dev"
Requires-Dist: flake8-breakpoint>=1.1; extra == "dev"
Requires-Dist: flake8-print>=5; extra == "dev"
Requires-Dist: flake8-pydantic; extra == "dev"
Requires-Dist: flake8-type-checking; extra == "dev"
Requires-Dist: isort>=5.13; extra == "dev"
Requires-Dist: mdformat>=0.7.19; extra == "dev"
Requires-Dist: mdformat-gfm>=0.3.5; extra == "dev"
Requires-Dist: mdformat-frontmatter>=0.4; extra == "dev"
Requires-Dist: mdformat-pyproject>=0.0.2; extra == "dev"
Requires-Dist: setuptools; extra == "dev"
Requires-Dist: wheel; extra == "dev"
Requires-Dist: twine; extra == "dev"
Requires-Dist: commitizen; extra == "dev"
Requires-Dist: pre-commit; extra == "dev"
Requires-Dist: pytest-watch; extra == "dev"
Requires-Dist: IPython; extra == "dev"
Requires-Dist: ipdb; extra == "dev"
Provides-Extra: lint
Requires-Dist: black>=25; extra == "lint"
Requires-Dist: mypy>=1.13; extra == "lint"
Requires-Dist: types-setuptools; extra == "lint"
Requires-Dist: types-requests; extra == "lint"
Requires-Dist: flake8>=7.1; extra == "lint"
Requires-Dist: flake8-breakpoint>=1.1; extra == "lint"
Requires-Dist: flake8-print>=5; extra == "lint"
Requires-Dist: flake8-pydantic; extra == "lint"
Requires-Dist: flake8-type-checking; extra == "lint"
Requires-Dist: isort>=5.13; extra == "lint"
Requires-Dist: mdformat>=0.7.19; extra == "lint"
Requires-Dist: mdformat-gfm>=0.3.5; extra == "lint"
Requires-Dist: mdformat-frontmatter>=0.4; extra == "lint"
Requires-Dist: mdformat-pyproject>=0.0.2; extra == "lint"
Provides-Extra: release
Requires-Dist: setuptools; extra == "release"
Requires-Dist: wheel; extra == "release"
Requires-Dist: twine; extra == "release"
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Requires-Dist: pytest-xdist; extra == "test"
Requires-Dist: pytest-cov; extra == "test"
Requires-Dist: hypothesis<7,>=6.2; extra == "test"

# Overview

Ape account plugin and CLI for [Turnkey](https://turnkey.com).
Recommended plugin for automation and use with the [Silverback Platform](https://silverback.apeworx.io).

## Dependencies

- [python3](https://www.python.org/downloads) version 3.9 up to 3.13.

## Installation

### via `pip`

You can install the latest release via [`pip`](https://pypi.org/project/pip/):

```bash
pip install ape-turnkey
```

### via `setuptools`

You can clone the repository and use [`setuptools`](https://github.com/pypa/setuptools) for the most up-to-date version:

```bash
git clone https://github.com/ApeWorX/ape-turnkey.git
cd ape-turnkey
python3 setup.py install
```

## Usage

In order to use this plugin, you will need the `TURNKEY_ORGANIZATION_ID`, `TURNKEY_API_PUBLIC_KEY`, and `TURNKEY_API_PRIVATE_KEY` variables.
You can see which account you are signed in with using the following command:

```sh
$ ape turnkey whoami
Logged in as '<your account nickname>' under '<organization name>'
```

After that, you can do actions like list your wallets:

```sh
$ ape turnkey wallets list
...
```

You can create a new wallet via:

```sh
$ ape turnkey wallets new turnkey-wallet ...
SUCCESS: Wallet ID '1234....beef' created!
```

You will then be able to use this wallet for signing messages and transactions with Ape now, for example:

```py
$ ape console

 In[0]: acct = accounts.load("turnkey-wallet")

 In[1]: acct.sign_message("Signing using the turnkey API!")
Out[1]: <MessageSignature v=0 r=... s=...>
```

## Development

Please see the [contributing guide](CONTRIBUTING.md) to learn more how to contribute to this project.
Comments, questions, criticisms and pull requests are welcomed.
