Python SDK for Commercetools
This is an unofficial Python SDK for the Commercetools platform. It only supports Python 3.6+ and uses type annotation for an improved development experience.
The API is generated using the commercetools api RAML file and uses marshmallow for the serialization and deserialization.
Installation
pip install commercetools
Example
from commercetools.platform import Client
client = Client(
client_id="<your-client-id>",
client_secret="<your-client-secret>",
scope=["<scopes>"],
url="https://api.europe-west1.gcp.commercetools.com",
token_url="https://auth.europe-west1.gcp.commercetools.com",
)
product = (
client
.with_project_key("<your-project-key>")
.products()
.with_id("00633d11-c5bb-434e-b132-73f7e130b4e3")
.get())
print(product)
The client can also be configured by setting the following environment variables:
export CTP_CLIENT_SECRET="<client secret>"
export CTP_CLIENT_ID="<client id>"
export CTP_AUTH_URL="https://api.europe-west1.gcp.commercetools.com"
export CTP_API_URL="https://auth.europe-west1.gcp.commercetools.com"
export CTP_SCOPES="<comma seperated list of scopes>"
And then constructing a client without arguments:
from commercetools.platform import Client
client = Client()
product = (
client
.with_project_key("<your-project-key>")
.products()
.with_id("00633d11-c5bb-434e-b132-73f7e130b4e3")
.get())
print(product)
Releasing
To release this package first (pip) install bump2version and update the CHANGES file. Then update the version (either major/minor/patch depending on the change)
bumpversion --tag <major,minor,patch>
bumpversion is naive because it string replaces, so do a sanity check it didn’t accidentally update a Pypi dependency. If not, push the code:
git push --follow-tags
We use GitHub actions so make sure the build succeeds and then go to the tags tab (https://github.com/labd/commercetools-python-sdk/tags).
Click the dots to trigger a release action. Copy the changelog items in the release description and enter the release version. This will upload the release to PyPi.
Metadata
Release files for commercetools 2026.10.12
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| commercetools-2026.10.12.tar.gz | 651.3 kB | Without provenance | Details for commercetools-2026.10.12.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| commercetools-2026.10.12-py3-none-any.whl | Python 3 | none | any | Details for commercetools-2026.10.12-py3-none-any.whl |
Total release size: 1.8 MB
Release files / commercetools-2026.10.12.tar.gz
| Download URL | commercetools-2026.10.12.tar.gz |
|---|---|
| Size | 651.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0881b74e21081871efee6b62ad3646ee1d18787075d4c433557266c63767b2cf
|
|
BLAKE2b-256 checksum How to use checksums |
7f295be0fd6d5c3c90b0b5821701ec5d79d39f8ced4199ad9e15f5b7856db168
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / commercetools-2026.10.12-py3-none-any.whl
| Download URL | commercetools-2026.10.12-py3-none-any.whl |
|---|---|
| Size | 1.1 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
aac07b3938dc7d84a90fd69e090bcdc3e134da726df89e044a269f8c9fb7b03e
|
|
BLAKE2b-256 checksum How to use checksums |
eea48ccb9f2a032376fd396ed59cf54f54d247ed02af29e641f3abc26b20c0b1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Security for commercetools 2026.10.12
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.