# oz-defender
Package for interacting with Open Zeppelin's Defender API
## Installation
Using `pip`
```bash
$ pip install oz-defender
```
Using `poetry`
```bash
$ poetry add oz-defender
```
## Usage
This package is intended to mirror as closely as possible the [defender-client](https://github.com/OpenZeppelin/defender-client) JavaScript package to provide a unified API across languages.
### Relay
See [defender-relay-client](https://www.npmjs.com/package/defender-relay-client) for this module's inspiration.
For the [Relay API](https://docs.openzeppelin.com/defender/relay-api-reference#relay-client-module), used for administrating your team's relayers:
```python
from oz_defender.relay import RelayClient
relay = RelayClient(api_key='defender-team-api-key', api_secret='defender-team-api-secret')
relay.list_relayers()
```
For the [Relayer API](https://docs.openzeppelin.com/defender/relay-api-reference#relay-signer-module), used for transaction related operations with a specific relayer
```python
from oz_defender.relay import RelayerClient
relayer = RelayerClient(api_key='relayer-api-key', api_secret='relayer-api-secret')
relayer.list_transactions()
```
## Contributing
`oz-defender` is under active development so we welcome any and all contributions to improve the package!
### Issues
To make it as simple as possible for us to help you, please include the following when [creating an issue](https://github.com/franklin-systems/oz-defender/issues):
- OS
- python version
- `oz-defender` version
**NOTE: Unless the change you're making is minor, please open an issue in GitHub to discuss a change before opening a PR**
### Development
This package is developed using [poetry](https://python-poetry.org/docs/). Make sure its installed on your machine and peep the documentation to familiarize yourself with its commands.
1. Clone this repository
```bash
$ git clone https://github.com/franklin-systems/oz-defender
```
2. Install `pre-commit` and its hooks
```bash
$ pip install pre-commit
```
or if you're using macOS
```bash
$ brew install pre-commit
```
then
```bash
$ pre-commit install
```
3. Check out a new branch
```bash
$ git checkout my-new-feature-branch
```
4. Commit and create your PR with a detailed description and tag the GitHub issue that your work addresses
### Testing `oz_defender` locally
1. Install (if it's your first time) or update deps
```bash
$ poetry install
```
or
```bash
$ poetry update
```
2. Initialize a shell in `poetry` virtual env
```bash
$ poetry shell
```
3. Enter a python REPL
```bash
(oz-defender-py3.10) $ python3
```
4. Import `oz_defender` and off you go
```python
>>> from oz_defender import *
>>> relayer = RelayerClient(api_key='relayer-api-key', api_secret='relayer-api-secret')
```
5. Quit the python REPL and re-initialize to pick up code changes as you develop
Raw data
{
"_id": null,
"home_page": "https://github.com/franklin-systems/oz-defender",
"name": "oz-defender",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.10,<4.0",
"maintainer_email": "",
"keywords": "openzeppelin,open zeppelin,oz,defender,ethereum,relayer,gasless,api",
"author": "Franklin Developers",
"author_email": "developers@hellofranklin.co",
"download_url": "https://files.pythonhosted.org/packages/c2/6a/b9d85a3fa0ed409fe46d8c07afb0fc452ad90aa4e188734214b0b473550d/oz_defender-0.1.1.tar.gz",
"platform": null,
"description": "# oz-defender\nPackage for interacting with Open Zeppelin's Defender API\n\n## Installation\nUsing `pip`\n```bash\n$ pip install oz-defender\n```\n\nUsing `poetry`\n```bash\n$ poetry add oz-defender\n```\n\n## Usage\nThis package is intended to mirror as closely as possible the [defender-client](https://github.com/OpenZeppelin/defender-client) JavaScript package to provide a unified API across languages.\n\n### Relay\nSee [defender-relay-client](https://www.npmjs.com/package/defender-relay-client) for this module's inspiration.\n\nFor the [Relay API](https://docs.openzeppelin.com/defender/relay-api-reference#relay-client-module), used for administrating your team's relayers:\n```python\nfrom oz_defender.relay import RelayClient\n\nrelay = RelayClient(api_key='defender-team-api-key', api_secret='defender-team-api-secret')\nrelay.list_relayers()\n```\n\nFor the [Relayer API](https://docs.openzeppelin.com/defender/relay-api-reference#relay-signer-module), used for transaction related operations with a specific relayer\n```python\nfrom oz_defender.relay import RelayerClient\n\nrelayer = RelayerClient(api_key='relayer-api-key', api_secret='relayer-api-secret')\nrelayer.list_transactions()\n```\n\n## Contributing\n`oz-defender` is under active development so we welcome any and all contributions to improve the package!\n### Issues\nTo make it as simple as possible for us to help you, please include the following when [creating an issue](https://github.com/franklin-systems/oz-defender/issues):\n- OS\n- python version\n- `oz-defender` version\n\n**NOTE: Unless the change you're making is minor, please open an issue in GitHub to discuss a change before opening a PR**\n\n### Development\nThis package is developed using [poetry](https://python-poetry.org/docs/). Make sure its installed on your machine and peep the documentation to familiarize yourself with its commands.\n\n1. Clone this repository\n```bash\n$ git clone https://github.com/franklin-systems/oz-defender\n```\n2. Install `pre-commit` and its hooks\n```bash\n$ pip install pre-commit\n```\nor if you're using macOS\n```bash\n$ brew install pre-commit\n```\nthen\n```bash\n$ pre-commit install\n```\n3. Check out a new branch\n```bash\n$ git checkout my-new-feature-branch\n```\n4. Commit and create your PR with a detailed description and tag the GitHub issue that your work addresses\n\n### Testing `oz_defender` locally\n1. Install (if it's your first time) or update deps\n```bash\n$ poetry install\n```\nor\n```bash\n$ poetry update\n```\n2. Initialize a shell in `poetry` virtual env\n```bash\n$ poetry shell\n```\n3. Enter a python REPL\n```bash\n(oz-defender-py3.10) $ python3\n```\n4. Import `oz_defender` and off you go\n```python\n>>> from oz_defender import *\n>>> relayer = RelayerClient(api_key='relayer-api-key', api_secret='relayer-api-secret')\n```\n5. Quit the python REPL and re-initialize to pick up code changes as you develop\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "",
"version": "0.1.1",
"project_urls": {
"Homepage": "https://github.com/franklin-systems/oz-defender",
"Repository": "https://github.com/franklin-systems/oz-defender"
},
"split_keywords": [
"openzeppelin",
"open zeppelin",
"oz",
"defender",
"ethereum",
"relayer",
"gasless",
"api"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "272bbf764f60399c005a17b478acf9ee9308f858f9ab837921da387155c0b174",
"md5": "63f320676706ded3500e7ee533c11591",
"sha256": "8a1e8defca961323feb19624f151ab6590949e52ac1039b6c385bdb61c9019b8"
},
"downloads": -1,
"filename": "oz_defender-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "63f320676706ded3500e7ee533c11591",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10,<4.0",
"size": 4859,
"upload_time": "2023-05-08T16:27:49",
"upload_time_iso_8601": "2023-05-08T16:27:49.398089Z",
"url": "https://files.pythonhosted.org/packages/27/2b/bf764f60399c005a17b478acf9ee9308f858f9ab837921da387155c0b174/oz_defender-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c26ab9d85a3fa0ed409fe46d8c07afb0fc452ad90aa4e188734214b0b473550d",
"md5": "954c04dab643bf03772ac2abe739fb93",
"sha256": "d309c7654fe8746afacaceae5e2db390ba3d19121620a08788358bd5c46c996b"
},
"downloads": -1,
"filename": "oz_defender-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "954c04dab643bf03772ac2abe739fb93",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10,<4.0",
"size": 4513,
"upload_time": "2023-05-08T16:27:51",
"upload_time_iso_8601": "2023-05-08T16:27:51.155203Z",
"url": "https://files.pythonhosted.org/packages/c2/6a/b9d85a3fa0ed409fe46d8c07afb0fc452ad90aa4e188734214b0b473550d/oz_defender-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-05-08 16:27:51",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "franklin-systems",
"github_project": "oz-defender",
"github_not_found": true,
"lcname": "oz-defender"
}