Skip to main content

Extensions SDK for SoftwareONE Marketplace Platform

Project description

Quality Gate Status Coverage

Ruff

SoftwareONE Extension SDK

SDK for SoftwareONE python extensions

Getting started

Prerequisites

  • Docker and Docker Compose plugin (docker compose CLI)
  • make
  • Valid .env file
  • Adobe credentials and authorizations JSON files in the project root
  • CodeRabbit CLI (optional. Used for running review check locally)

Make targets overview

Common development workflows are wrapped in the makefile:

  • make help – list available commands
  • make bash – start the app container and open a bash shell
  • make build – build the application image for development
  • make build-package – build the package locally
  • make check – run code quality checks (ruff, flake8, lockfile check)
  • make check-all – run checks, formatting, and tests
  • make down – stop and remove containers
  • make format – apply formatting and import fixes
  • make review – check the code in the cli by running CodeRabbit
  • make shell – open a Django shell inside the running app container
  • make test – run the test suite with pytest

Running tests

Tests run inside Docker using the dev configuration.

Run the full test suite:

make test

Pass additional arguments to pytest using the args variable:

make test args="-k test_bla -vv"
make test args="tests/test_bla.py"

Developer utilities

Useful helper targets during development:

make bash          # open a bash shell in the app container
make build-package # build the package locally
make check         # run ruff, flake8, and lockfile checks
make check-all     # run checks and tests
make format        # auto-format code and imports
make review        # check the code in the cli by running CodeRabbit

Migration Guide

API Version Change (February 2026)

The MPT Extension SDK now uses the standardized API path /public/v1/ instead of /v1/.

What Changed

  • MPTClient now automatically appends /public/v1/ to the base URL
  • The MPT_API_BASE_URL environment variable should not include any version path

Migration Steps

Before:

# Old configuration (deprecated)
export MPT_API_BASE_URL=https://api.example.com/v1

After:

# New configuration (recommended)
export MPT_API_BASE_URL=https://api.example.com

Backward Compatibility

The SDK maintains backward compatibility with old configurations:

  • URLs with /v1/ or /v1 will trigger a deprecation warning but continue to work
  • URLs with /public/v1 are also supported
  • All formats will produce the correct final URL: https://api.example.com/public/v1/

Example

from mpt_extension_sdk.mpt_http.base import MPTClient

# Recommended usage
client = MPTClient(base_url="https://api.example.com", api_token="your-token")
# Results in: https://api.example.com/public/v1/

# Old format (will show deprecation warning)
client = MPTClient(base_url="https://api.example.com/v1/", api_token="your-token")
# Still works, results in: https://api.example.com/public/v1/

Action Required: Update your MPT_API_BASE_URL configuration to remove any version path suffixes.

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

mpt_extension_sdk-5.18.0.tar.gz (32.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mpt_extension_sdk-5.18.0-py3-none-any.whl (44.5 kB view details)

Uploaded Python 3

File details

Details for the file mpt_extension_sdk-5.18.0.tar.gz.

File metadata

  • Download URL: mpt_extension_sdk-5.18.0.tar.gz
  • Upload date:
  • Size: 32.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.7.22

File hashes

Hashes for mpt_extension_sdk-5.18.0.tar.gz
Algorithm Hash digest
SHA256 0d28b7037003a9af4ed8b27aab3e5700c0c1912904907abc76ee17dcabe697a9
MD5 d2ee395ab4fdb476f083ff69cfa440f0
BLAKE2b-256 8558bef2fe2cd8f45cada4a1cf9efe8a2a76f815df9860209e6a74ee1d7db8e2

See more details on using hashes here.

File details

Details for the file mpt_extension_sdk-5.18.0-py3-none-any.whl.

File metadata

File hashes

Hashes for mpt_extension_sdk-5.18.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0c40cb0f87cc5a9593f6719b79f9abed7b06a71ff9a8fcf486cd24db889573b7
MD5 5bc695dc78c75d77f84feac2b98c7e36
BLAKE2b-256 2401cf8cd677a858f9c37e828d1836daf245ba61bd6bd867dcc65bb536a240e3

See more details on using hashes here.

Supported by

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