Skip to main content

Adobe Target Python SDK

Project description

Adobe Target Python SDK

Coverage Status

Requirements

All currently maintained versions of Python are supported, see Python Releases. Older Python releases may likely work too, but are not officially supported.

NPM 6+ (required by openapi-generator-cli)
Java 8+ (required by openapi-generator)
GNU Make

Set PYTHON_PATH

Various build commands are supported via Makefile, but first you must export environment variable PYTHON_PATH to specify which python install to use to set up your virtual env.

$ export PYTHON_PATH=python2.7  # Symlink to Mac OS built-in version of python
$ export PYTHON_PATH=/usr/local/bin/python3

Setup virtual env to make it easy to switch between python 2.7 and 3

$ make new_env          # Deletes existing virtual env and creates new one based on PYTHON_PATH
$ make install          # Install dependencies in virtual env

Code generation

The SDK depends on Target Open API. It uses Open API and the Open API generator to generate the low level HTTP client.

To be able to use Target Open API for code generation, we are leveraging Git subtree.

To import Target Open API as openapi folder please use commands:

$ git subtree add --prefix openapi git@github.com:adobe/target-openapi.git main --squash

To refresh the imported subtree use this command:

$ git subtree pull --prefix openapi git@github.com:adobe/target-openapi.git main --squash

Once all the tools are installed, there is no need to invoke them directly, everything is wrapped in a Makefile command, which can be invoked by running:

$ make codegen

However, there are some deviations from the other SDKs, in which a manual code change is needed:

Run tests and format code

$ make test
$ make format

Integration Test Generation

There is an integration test suite used by many of the Target SDKs. To get the latest version of these tests, follow the instructions defined here in the test repo. Note the following deviation from the other SDKs:

  • this SDK does not currently support the telemetry feature, so TEST_SUITE_TELEMETRY.json needs to be modified according to this commit

Release build package

Releases are triggered through Github publish workflow. Input version part to update before publishing to pypi - [patch, minor, major]

Running Github Workflows on forked repositories

Github Workflows don't run on forked repositories by default. You must enable GitHub Actions in the Actions tab of the forked repository.

See more details at https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows#pull-request-events-for-forked-repositories

Contributing

Contributions are welcomed! Read the Contributing Guide for more information.

Licensing

This project is licensed under the Apache V2 License. See LICENSE for more information.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

target-python-sdk-1.1.0.tar.gz (87.9 kB view details)

Uploaded Source

Built Distribution

target_python_sdk-1.1.0-py2.py3-none-any.whl (184.5 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file target-python-sdk-1.1.0.tar.gz.

File metadata

  • Download URL: target-python-sdk-1.1.0.tar.gz
  • Upload date:
  • Size: 87.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for target-python-sdk-1.1.0.tar.gz
Algorithm Hash digest
SHA256 8a3c06f5a66f43fb56691ffc37419fc65ba9cac784a2164fcbcd0fbf9c73bd53
MD5 f623a187632ccbd2a21cd3dd5e14e0de
BLAKE2b-256 819be4b36eaeea168214eb85a041b20f81d6bfca7875c4d05ea27b918bf52393

See more details on using hashes here.

File details

Details for the file target_python_sdk-1.1.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for target_python_sdk-1.1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 74cd702df74ad1bc373501262fb9a82ce548c63b33a362f32838e621885c7c4c
MD5 ecd99f9b45ee9bd40907a6e99b30789d
BLAKE2b-256 e2015ed89c1790b597943ba9a63d66cc542e82f0f26d39c369bbdafefe2f2014

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page