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.1.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.1-py3-none-any.whl (44.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mpt_extension_sdk-5.18.1.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.1.tar.gz
Algorithm Hash digest
SHA256 d874639406b0c9b0f3fef20ae014347627c6de469ee3d19d0b8454bf40900bd8
MD5 abba9f492baa77579f860762513ac5e0
BLAKE2b-256 adfdb4e9988e9564a0af535195607e0a04ca7b7301f139b715191b41597a811a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mpt_extension_sdk-5.18.1-py3-none-any.whl
Algorithm Hash digest
SHA256 30423b46ae105eaf6b666d18c4044b292259af9a428d93fc60ea22299aec8af8
MD5 ed3bc7eb37d7f168277b2396aff74c6d
BLAKE2b-256 a09999e3928e8d905515967794ef48515937ca1ef49a8d5f53c7ded42041eb97

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