%global _empty_manifest_terminate_build 0 Name: python-amplitude-python-sdk Version: 0.2.0 Release: 1 Summary: Client for the Amplitude HTTP V1 and V2 API (https://developers.amplitude.com/docs). License: MIT URL: https://github.com/researchrabbit/amplitude-python-sdk Source0: https://mirrors.nju.edu.cn/pypi/web/packages/34/25/267558128b6d3184826b35d4ac1d06c99145284ad0db35e3986d0990de05/amplitude-python-sdk-0.2.0.tar.gz BuildArch: noarch Requires: python3-pydantic Requires: python3-requests %description # amplitude-python-sdk **Unofficial** SDK for the Amplitude HTTP API, providing a user-friendly interface through Pydantic models. See [the Amplitude docs](https://developers.amplitude.com/docs) for more information on the various API methods and their parameters. **WARNING: This library is in very early development, and APIs are not guaranteed to be stable. Please bear that in mind when using this library.** # Installation ``` pip install amplitude-python-sdk ``` ## Dependencies * [pydantic](https://github.com/samuelcolvin/pydantic) is used to create cleaner and more readable data models within this library. * [requests](https://github.com/psf/requests) is used to handle all HTTP interactions with the Amplitude API. # Usage ## Methods supported Currently, only the [Identify API](https://developers.amplitude.com/docs/identify-api) and the [HTTP API V2](https://developers.amplitude.com/docs/http-api-v2) are supported. Support for other API methods coming soon! ## Identify API Example ```python import logging from amplitude_python_sdk.common.exceptions import AmplitudeAPIException from amplitude_python_sdk.v1.client import AmplitudeV1APIClient from amplitude_python_sdk.v1.models.identify import Identification, UserProperties client = AmplitudeV1APIClient(api_key='') try: resp = client.identify([Identification(user_id='example', user_properties=UserProperties()]) except AmplitudeAPIException: logging.exception('Failed to send identify request to Amplitude') ``` ## Event API Client Example ```python import logging from amplitude_python_sdk.common.exceptions import AmplitudeAPIException from amplitude_python_sdk.v2.clients.event_client import EventAPIClient from amplitude_python_sdk.v2.models.event import Event from amplitude_python_sdk.v2.models.event.options import EventAPIOptions client = EventAPIClient(api_key='') try: events = [ Event( user_id='example', event_type='Clicked on Foo', event_properties={ 'foo_id': 'bar', 'click_position': 5, } ) ] client.upload( events=events, options=EventAPIOptions(min_id_length=1), ) except AmplitudeAPIException: logging.exception('Failed to log event to Amplitude') ``` ## Batch Event Upload API Example Exactly the same as the Event V2 API example, just substitute `client.batch_upload` for `client.upload`. %package -n python3-amplitude-python-sdk Summary: Client for the Amplitude HTTP V1 and V2 API (https://developers.amplitude.com/docs). Provides: python-amplitude-python-sdk BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-amplitude-python-sdk # amplitude-python-sdk **Unofficial** SDK for the Amplitude HTTP API, providing a user-friendly interface through Pydantic models. See [the Amplitude docs](https://developers.amplitude.com/docs) for more information on the various API methods and their parameters. **WARNING: This library is in very early development, and APIs are not guaranteed to be stable. Please bear that in mind when using this library.** # Installation ``` pip install amplitude-python-sdk ``` ## Dependencies * [pydantic](https://github.com/samuelcolvin/pydantic) is used to create cleaner and more readable data models within this library. * [requests](https://github.com/psf/requests) is used to handle all HTTP interactions with the Amplitude API. # Usage ## Methods supported Currently, only the [Identify API](https://developers.amplitude.com/docs/identify-api) and the [HTTP API V2](https://developers.amplitude.com/docs/http-api-v2) are supported. Support for other API methods coming soon! ## Identify API Example ```python import logging from amplitude_python_sdk.common.exceptions import AmplitudeAPIException from amplitude_python_sdk.v1.client import AmplitudeV1APIClient from amplitude_python_sdk.v1.models.identify import Identification, UserProperties client = AmplitudeV1APIClient(api_key='') try: resp = client.identify([Identification(user_id='example', user_properties=UserProperties()]) except AmplitudeAPIException: logging.exception('Failed to send identify request to Amplitude') ``` ## Event API Client Example ```python import logging from amplitude_python_sdk.common.exceptions import AmplitudeAPIException from amplitude_python_sdk.v2.clients.event_client import EventAPIClient from amplitude_python_sdk.v2.models.event import Event from amplitude_python_sdk.v2.models.event.options import EventAPIOptions client = EventAPIClient(api_key='') try: events = [ Event( user_id='example', event_type='Clicked on Foo', event_properties={ 'foo_id': 'bar', 'click_position': 5, } ) ] client.upload( events=events, options=EventAPIOptions(min_id_length=1), ) except AmplitudeAPIException: logging.exception('Failed to log event to Amplitude') ``` ## Batch Event Upload API Example Exactly the same as the Event V2 API example, just substitute `client.batch_upload` for `client.upload`. %package help Summary: Development documents and examples for amplitude-python-sdk Provides: python3-amplitude-python-sdk-doc %description help # amplitude-python-sdk **Unofficial** SDK for the Amplitude HTTP API, providing a user-friendly interface through Pydantic models. See [the Amplitude docs](https://developers.amplitude.com/docs) for more information on the various API methods and their parameters. **WARNING: This library is in very early development, and APIs are not guaranteed to be stable. Please bear that in mind when using this library.** # Installation ``` pip install amplitude-python-sdk ``` ## Dependencies * [pydantic](https://github.com/samuelcolvin/pydantic) is used to create cleaner and more readable data models within this library. * [requests](https://github.com/psf/requests) is used to handle all HTTP interactions with the Amplitude API. # Usage ## Methods supported Currently, only the [Identify API](https://developers.amplitude.com/docs/identify-api) and the [HTTP API V2](https://developers.amplitude.com/docs/http-api-v2) are supported. Support for other API methods coming soon! ## Identify API Example ```python import logging from amplitude_python_sdk.common.exceptions import AmplitudeAPIException from amplitude_python_sdk.v1.client import AmplitudeV1APIClient from amplitude_python_sdk.v1.models.identify import Identification, UserProperties client = AmplitudeV1APIClient(api_key='') try: resp = client.identify([Identification(user_id='example', user_properties=UserProperties()]) except AmplitudeAPIException: logging.exception('Failed to send identify request to Amplitude') ``` ## Event API Client Example ```python import logging from amplitude_python_sdk.common.exceptions import AmplitudeAPIException from amplitude_python_sdk.v2.clients.event_client import EventAPIClient from amplitude_python_sdk.v2.models.event import Event from amplitude_python_sdk.v2.models.event.options import EventAPIOptions client = EventAPIClient(api_key='') try: events = [ Event( user_id='example', event_type='Clicked on Foo', event_properties={ 'foo_id': 'bar', 'click_position': 5, } ) ] client.upload( events=events, options=EventAPIOptions(min_id_length=1), ) except AmplitudeAPIException: logging.exception('Failed to log event to Amplitude') ``` ## Batch Event Upload API Example Exactly the same as the Event V2 API example, just substitute `client.batch_upload` for `client.upload`. %prep %autosetup -n amplitude-python-sdk-0.2.0 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-amplitude-python-sdk -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Fri May 05 2023 Python_Bot - 0.2.0-1 - Package Spec generated