https://github.com/labd/commercetools-python-sdk
Commercetools Python SDK
https://github.com/labd/commercetools-python-sdk
commercetools commercetools-sdk
Last synced: about 1 year ago
JSON representation
Commercetools Python SDK
- Host: GitHub
- URL: https://github.com/labd/commercetools-python-sdk
- Owner: labd
- License: mit
- Created: 2018-09-07T07:10:00.000Z (almost 8 years ago)
- Default Branch: main
- Last Pushed: 2024-04-06T07:08:44.000Z (about 2 years ago)
- Last Synced: 2025-04-08T11:19:42.904Z (about 1 year ago)
- Topics: commercetools, commercetools-sdk
- Language: Python
- Homepage: https://commercetools-python-sdk.readthedocs.io/en/latest/
- Size: 4.49 MB
- Stars: 17
- Watchers: 10
- Forks: 16
- Open Issues: 13
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGES.md
- License: LICENSE
Awesome Lists containing this project
README
.. start-no-pypi
.. image:: https://github.com/labd/commercetools-python-sdk/workflows/Python%20Tests/badge.svg
:target: https://github.com/labd/commercetools-python-sdk/actions
.. image:: http://codecov.io/github/labd/commercetools-python-sdk/coverage.svg?branch=main
:target: http://codecov.io/github/labd/commercetools-python-sdk?branch=main
.. image:: https://img.shields.io/pypi/v/commercetools.svg
:target: https://pypi.python.org/pypi/commercetools/
.. image:: https://readthedocs.org/projects/commercetools-python-sdk/badge/?version=latest
:target: https://commercetools-python-sdk.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status
.. end-no-pypi
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
-------
.. code-block:: python
from commercetools.platform import Client
client = Client(
client_id="",
client_secret="",
scope=[""],
url="https://api.europe-west1.gcp.commercetools.com",
token_url="https://auth.europe-west1.gcp.commercetools.com",
)
product = (
client
.with_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:
.. code-block:: sh
export CTP_CLIENT_SECRET=""
export CTP_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=""
And then constructing a client without arguments:
.. code-block:: python
from commercetools.platform import Client
client = Client()
product = (
client
.with_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)
.. code-block:: sh
bumpversion --tag
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:
.. code-block:: sh
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.