<p align="center">
  <a href="https://amplitude.com" target="_blank" align="center">
    <img src="https://static.amplitude.com/lightning/46c85bfd91905de8047f1ee65c7c93d6fa9ee6ea/static/media/amplitude-logo-with-text.4fb9e463.svg" width="280">
  </a>
  <br />
</p>

# Amplitude Python SDK

[![PyPI version](https://badge.fury.io/py/amplitude-analytics.svg)](https://badge.fury.io/py/amplitude-analytics)

The official Amplitude backend Python SDK for server-side instrumentation.

## Development
### Run Server Locally
Refer to `examples/README.md`.

### Run Unit Tests Locally
#### Run Directly
```
python3 -m unittest discover -s ./src -p 'test_*.py'
```

#### Run with `tox`
```
pip3 install --user tox
python3 -m tox -e py
```

## Amplitude and Ampli Wrapper
[Ampli SDK](https://www.docs.developers.amplitude.com/data/ampli/) is autogenerated library based on your pre-defined [tracking plan](https://developers.data.amplitude.com/what-is-a-tracking-plan). The Ampli Wrapper, is a lightweight wrapper over the Amplitude SDK that provides type-safety, supports linting, and enables features like input validation. The code replicates the spec in the Tracking Plan and enforces its rules and requirements. This repository is about **Amplitude SDK**. To learn more about Ampli Wrapper, please refer to the [Ampli Python](https://www.docs.developers.amplitude.com/data/sdks/python/ampli/) and [examples](https://github.com/amplitude/ampli-examples).

## Installation and Quick Start
Please visit the [Developer Center](https://docs.developers.amplitude.com/data/sdks/python/) for instructions on installing and using our the SDK.

## Changelog
View the [releases here](https://github.com/amplitude/Amplitude-Python/releases).

## Need Help?
If you have any issues using our SDK, feel free to [create a GitHub issue](https://github.com/amplitude/Amplitude-Python/issues/new) or submit a request on [Amplitude Help](https://help.amplitude.com/hc/en-us/requests/new).
