# Magic Admin Python SDK
The Magic Admin Python SDK provides convenient ways for developers to interact with Magic API endpoints and an array of utilities to handle [DID Token](https://magic.link/docs/auth/introduction/decentralized-id).
## Table of Contents
* [Documentation](#documentation)
* [Quick Start](#quick-start)
* [Development](#development)
* [Changelog](#changelog)
* [License](#license)
## Documentation
See the [Magic doc](https://magic.link/docs/auth/api-reference/server-side-sdks/python)!
## Installation
You can directly install the SDK with:
pip:
```
pip install magic-admin
```
conda:
```
conda install magic-admin
```
### Prerequisites
- Python 3.6
**Note**: This package has only been tested with `Python 3.6`. `Python 3.7` and `Python 3.8` have not been tested yet. We will get to it very soon. Support for `Python 2.7+` will not be actively worked on. If you are interested using this package with earlier versions of Python, please create a ticket and let us know :)
## Quick Start
Before you start, you will need an API secret key. You can get one from the [Magic Dashboard](https://dashboard.magic.link/). Once you have the API secret key, you can instantiate a Magic object.
```
from magic_admin import Magic
magic = Magic(api_secret_key='<YOUR_API_SECRET_KEY>')
magic.Token.validate('DID_TOKEN')
# Read the docs to learn more! 🚀
```
Optionally if you would like, you can load the API secret key from the environment variable, `MAGIC_API_SECRET_KEY`.
```
# Set the env variable `MAGIC_API_SECRET_KEY`.
magic = Magic()
```
**Note**: The argument passed to the `Magic(...)` object takes precedence over the environment variable.
### Configure Network Strategy
The `Magic` object also takes in `retries`, `timeout` and `backoff_factor` as optional arguments at the object instantiation time so you can override those values for your application setup.
```
magic = Magic(retries=5, timeout=10, backoff_factor=0.03)
```
## Development
We would love to have you contributing to this SDK. To get started, you can clone this repository and create a virtualenv.
```
make development
```
This will create a virtualenv for all the local development dependencies that the SDK will needs.
Once it is done, you can `source` the virtualenv. It makes your local development easier!
```
source virtualenv_run/bin/activate
```
To make sure your new code works with the existing SDK, run the test against the current supported Python versions.
```
make test
```
To clean up existing virtualenv, tox log and pytest cache, do a
```
make clean
```
This repository is installed with [pre-commit](https://pre-commit.com/). All of the pre-commit hooks are run automatically with every new commit. This is to keep the codebase styling and format consistent.
You can also run the pre-commit manually. You can find all the pre-commit hooks [here](.pre-commit-config.yaml).
```
pre-commit run
```
Please also see our [CONTRIBUTING](CONTRIBUTING.md) guide for other information.
## Changelog
See [Changelog](CHANGELOG.md)
## License
See [License](LICENSE.txt)
Raw data
{
"_id": null,
"home_page": "https://magic.link",
"name": "magic-admin",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": "",
"keywords": "magic python sdk",
"author": "Magic",
"author_email": "support@magic.link",
"download_url": "https://files.pythonhosted.org/packages/bc/1d/192304389bb523dfe75f821e927c5db3948817d32e413c81268820824f3d/magic-admin-1.0.0.tar.gz",
"platform": null,
"description": "# Magic Admin Python SDK\n\nThe Magic Admin Python SDK provides convenient ways for developers to interact with Magic API endpoints and an array of utilities to handle [DID Token](https://magic.link/docs/auth/introduction/decentralized-id).\n\n## Table of Contents\n\n* [Documentation](#documentation)\n* [Quick Start](#quick-start)\n* [Development](#development)\n* [Changelog](#changelog)\n* [License](#license)\n\n## Documentation\nSee the [Magic doc](https://magic.link/docs/auth/api-reference/server-side-sdks/python)!\n\n## Installation\nYou can directly install the SDK with:\n\npip:\n\n```\npip install magic-admin\n```\n\nconda:\n\n```\nconda install magic-admin\n```\n\n### Prerequisites\n\n- Python 3.6\n\n**Note**: This package has only been tested with `Python 3.6`. `Python 3.7` and `Python 3.8` have not been tested yet. We will get to it very soon. Support for `Python 2.7+` will not be actively worked on. If you are interested using this package with earlier versions of Python, please create a ticket and let us know :)\n\n## Quick Start\nBefore you start, you will need an API secret key. You can get one from the [Magic Dashboard](https://dashboard.magic.link/). Once you have the API secret key, you can instantiate a Magic object.\n\n```\nfrom magic_admin import Magic\n\nmagic = Magic(api_secret_key='<YOUR_API_SECRET_KEY>')\n\nmagic.Token.validate('DID_TOKEN')\n\n# Read the docs to learn more! \ud83d\ude80\n```\n\nOptionally if you would like, you can load the API secret key from the environment variable, `MAGIC_API_SECRET_KEY`.\n\n```\n# Set the env variable `MAGIC_API_SECRET_KEY`.\n\nmagic = Magic()\n```\n\n**Note**: The argument passed to the `Magic(...)` object takes precedence over the environment variable.\n\n### Configure Network Strategy\nThe `Magic` object also takes in `retries`, `timeout` and `backoff_factor` as optional arguments at the object instantiation time so you can override those values for your application setup.\n\n```\nmagic = Magic(retries=5, timeout=10, backoff_factor=0.03)\n```\n\n## Development\nWe would love to have you contributing to this SDK. To get started, you can clone this repository and create a virtualenv.\n\n```\nmake development\n```\n\nThis will create a virtualenv for all the local development dependencies that the SDK will needs.\n\nOnce it is done, you can `source` the virtualenv. It makes your local development easier!\n\n```\nsource virtualenv_run/bin/activate\n```\n\nTo make sure your new code works with the existing SDK, run the test against the current supported Python versions.\n\n```\nmake test\n```\n\nTo clean up existing virtualenv, tox log and pytest cache, do a\n\n```\nmake clean\n```\n\nThis repository is installed with [pre-commit](https://pre-commit.com/). All of the pre-commit hooks are run automatically with every new commit. This is to keep the codebase styling and format consistent.\n\nYou can also run the pre-commit manually. You can find all the pre-commit hooks [here](.pre-commit-config.yaml).\n\n```\npre-commit run\n```\n\nPlease also see our [CONTRIBUTING](CONTRIBUTING.md) guide for other information.\n\n## Changelog\nSee [Changelog](CHANGELOG.md)\n\n## License\nSee [License](LICENSE.txt)\n\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Magic Python Library",
"version": "1.0.0",
"project_urls": {
"Homepage": "https://magic.link",
"Website": "https://magic.link"
},
"split_keywords": [
"magic",
"python",
"sdk"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "bafad366e68f837c81846398d7566f3f1b8faa8d072cbc62d9be44836144b983",
"md5": "cae694349c54e5268b4b2278c9f04aae",
"sha256": "513423e56725f3e931e7c03e87cef6fa1840cf29f1307c0133d9457e41728141"
},
"downloads": -1,
"filename": "magic_admin-1.0.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "cae694349c54e5268b4b2278c9f04aae",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3.6",
"size": 12768,
"upload_time": "2023-07-10T17:50:45",
"upload_time_iso_8601": "2023-07-10T17:50:45.521465Z",
"url": "https://files.pythonhosted.org/packages/ba/fa/d366e68f837c81846398d7566f3f1b8faa8d072cbc62d9be44836144b983/magic_admin-1.0.0-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "bc1d192304389bb523dfe75f821e927c5db3948817d32e413c81268820824f3d",
"md5": "9fc315c92eb86a51fee149d0502dbd66",
"sha256": "173818eaa09bcd28da0d5ca94dd0a46c18b0b092f3783192ce0e3788166d30e1"
},
"downloads": -1,
"filename": "magic-admin-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "9fc315c92eb86a51fee149d0502dbd66",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 10667,
"upload_time": "2023-07-10T17:50:46",
"upload_time_iso_8601": "2023-07-10T17:50:46.732586Z",
"url": "https://files.pythonhosted.org/packages/bc/1d/192304389bb523dfe75f821e927c5db3948817d32e413c81268820824f3d/magic-admin-1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-07-10 17:50:46",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "magic-admin"
}