# emnify Python SDK
[![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=EMnify_emnify-sdk-python&metric=reliability_rating&token=cb362b064422f10be97244bb527b8bc37e1378b4)](https://sonarcloud.io/summary/new_code?id=EMnify_emnify-sdk-python)
[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=EMnify_emnify-sdk-python&metric=coverage&token=cb362b064422f10be97244bb527b8bc37e1378b4)](https://sonarcloud.io/summary/new_code?id=EMnify_emnify-sdk-python)
[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=EMnify_emnify-sdk-python&metric=sqale_rating&token=cb362b064422f10be97244bb527b8bc37e1378b4)](https://sonarcloud.io/summary/new_code?id=EMnify_emnify-sdk-python)
[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=EMnify_emnify-sdk-python&metric=security_rating&token=cb362b064422f10be97244bb527b8bc37e1378b4)](https://sonarcloud.io/summary/new_code?id=EMnify_emnify-sdk-python)
[![Bugs](https://sonarcloud.io/api/project_badges/measure?project=EMnify_emnify-sdk-python&metric=bugs&token=cb362b064422f10be97244bb527b8bc37e1378b4)](https://sonarcloud.io/summary/new_code?id=EMnify_emnify-sdk-python)
[![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=EMnify_emnify-sdk-python&metric=vulnerabilities&token=cb362b064422f10be97244bb527b8bc37e1378b4)](https://sonarcloud.io/summary/new_code?id=EMnify_emnify-sdk-python)

Supply your swarm of IoT devices with cloud connectivity by [emnify](https://emnify.com).
Automate your routines with this SDK for Python.  

## Installation

### Prerequisites

- Python ([version 3.9.0](https://www.python.org/downloads/release/python-390/) or higher)

### Install from source (requires build)

```shell
git clone https://github.com/emnify/emnify-sdk-python.git
cd emnify-sdk-python
python -m build --sdist --wheel
```

For local development install with pipenv:
```shell
git clone https://github.com/emnify/emnify-sdk-python.git
cd emnify-sdk-python
brew install pipenv # for macOS
python -m pip install pipenv # for other OS
pipenv sync
```

### Install with pip

The emnify Python SDK is also available on [PyPI as `emnify-sdk`](https://pypi.org/project/emnify-sdk/):

```shell
pip install emnify-sdk
```

## Documentation

Read more about working with the Python SDK and the underlying concepts in the [emnify product documentation](https://docs.emnify.com/sdks/python).

### API reference

We use [sphinx-autoapi](https://github.com/readthedocs/sphinx-autoapi) to auto-generate the API reference documentation within this repository. 
This documentation is hosted separately on [GitHub Pages](https://emnify.github.io/emnify-sdk-python/autoapi/index.html). 

> 🗺️ _Note: We plan to eventually migrate the API reference documentation into our [product documentation platform](https://docs.emnify.com/)._

See our [documentation guide](./docs/README.md) if you're interested in contributing to the API reference or running the documentation locally.

## Contributing

If you've found a bug or want to add new features, [open an issue](https://github.com/emnify/emnify-sdk-python/issues/new) or [create a pull request](https://github.com/emnify/emnify-sdk-python/pulls) to this GitHub repository.

See our [development guide](./DEVELOPMENT.md) for how to get started.

Please note that this project is governed by [emnify's Code of Conduct](https://github.com/emnify/.github/blob/main/CODE_OF_CONDUCT.md). By participating, you agree to abide by its terms.

## Get support

If you need help using our services, please [file a support ticket](https://support.emnify.com/hc/en-us/requests/new).
