Adobe Target Python SDK
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:
geo.pyneeds to be updated according to this commit
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.jsonneeds 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.
Metadata
Release files for target-python-sdk 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| target-python-sdk-1.1.0.tar.gz | 87.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| target_python_sdk-1.1.0-py2.py3-none-any.whl | Python 2, Python 3 | none | any | Details |
Total release size: 272.5 kB
Release files / target-python-sdk-1.1.0.tar.gz
| Download URL | target-python-sdk-1.1.0.tar.gz |
|---|---|
| Size | 87.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8a3c06f5a66f43fb56691ffc37419fc65ba9cac784a2164fcbcd0fbf9c73bd53
|
|
BLAKE2b-256 checksum How to use checksums |
819be4b36eaeea168214eb85a041b20f81d6bfca7875c4d05ea27b918bf52393
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / target_python_sdk-1.1.0-py2.py3-none-any.whl
| Download URL | target_python_sdk-1.1.0-py2.py3-none-any.whl |
|---|---|
| Size | 184.5 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
74cd702df74ad1bc373501262fb9a82ce548c63b33a362f32838e621885c7c4c
|
|
BLAKE2b-256 checksum How to use checksums |
e2015ed89c1790b597943ba9a63d66cc542e82f0f26d39c369bbdafefe2f2014
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|