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.19.1.tar.gz (33.3 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.19.1-py3-none-any.whl (44.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for mpt_extension_sdk-5.19.1.tar.gz
Algorithm Hash digest
SHA256 6449c9f53bc4531c96a0ee2dede7fa12f37acf8bd94cdfefa80825e8eeca89ca
MD5 241c537881be933332452be34c73b27c
BLAKE2b-256 12eb4cf2931c8322f6ea17e657444186a3437f09fb7b2424ec120991de9ec95f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mpt_extension_sdk-5.19.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2683108a97d74f19a4bd11f529c2e409f41c51ac54ff932b5e839de479b6e718
MD5 ec5131118d644bb039edb854912a872f
BLAKE2b-256 8138148288f10d78ef76532aa2195c90ebaf2ed86f213da740d064418450dc95

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