Skip to main content

License

PyPI - Version PyPI - Python Version

Modular SDK

You use Modular SDK to create, configure, and manage common entities, such as:

  • Customers;
  • Tenants;
  • TenantSettings;
  • Regions;
  • Applications;
  • Parents;

Prerequisites

  • Python 3.14 required

Building distribution archives

  • Make sure you have the latest version of PyPA’s build installed: python3 -m pip install --upgrade build
  • Run the command form the same directory where pyptoject.toml is located: python3 -m build
  • This command should output a lot of text and once completed should generate two files in the dist directory:
dist/
    modular_sdk-{version}.tar.gz
    modular_sdk-{version}-py3-none-any.whl

Installation

  • pip install modular-sdk

Usage

To use Modular SDK, you must import, configure and indicate which service or services you're going to use:

from modular_sdk.modular import Modular

modular_sdk = Modular()

parent_service = modular_sdk.parent_service()
tenant_service = modular_sdk.tenant_service()

For services that aren't tied to the service_mode configuration, you can use ModularServiceProvider:

from modular_sdk.modular import ModularServiceProvider

modular_sdk = ModularServiceProvider()

thread_local_storage_service = modular_sdk.thread_local_storage_service()

For now, Modular provides 3 ways of DB access. Depends on the way of database connection, different sets of env variables must be set:

  1. Onprem, Mongodb:
    modular_service_mode: docker,
    modular_mongo_user: $MONGO_USER,
    modular_mongo_password: $MONGO_PASSWORD,
    modular_mongo_url: $MONGO_URL,
    modular_mongo_db_name: $MONGO_DB_NAME,
    modular_mongo_srv: True, # Optional
    Alternatively, instead of specifying modular_mongo_user, modular_mongo_password,
    modular_mongo_url, and modular_mongo_srv, you can use:
    modular_mongo_uri: $MONGO_URI # Format: mongodb+srv://<USER>:<PASSWORD>@<URL>/
  2. SaaS, DynamoDB (cross-account access):
    modular_service_mode: saas # Optional
    modular_assume_role_arn: $ASSUME_ROLE_ARN
  3. SAAS, DynamoDB (same AWS account):
    modular_service_mode: saas # Optional

Alternatively, you can pass these parameters (fully or partially) on initialization:

from modular_sdk.modular import Modular

modular_sdk = Modular(modular_service_mode='docker',
                      modular_mongo_user='MONGO_USER',
                      modular_mongo_password='MONGO_PASSWORD',
                      modular_mongo_url='MONGO_URL',
                      modular_mongo_db_name='DB_NAME')

# initialize some services
application_service = modular_sdk.application_service()
parent_service = modular_sdk.parent_service()

More examples

Example 1: List Maestro Customers

from modular_sdk.modular import Modular

# initializing application service
customer_service = Modular().customer_service()

# listing available customers 
customers = customer_service.list()

# printing customer names
for customer in customers:
   print(customer.name)

Example 2: Update Maestro Application

from modular_sdk.modular import Modular

# initializing application service
application_service = Modular().application_service()

# extracting application by id
application = application_service.get_application_by_id(
   application_id="$APP_ID")

# updating application description
description_to_set = 'Updated application description'
application_service.update(application=application,
                           description=description_to_set)

# saving updated application
application_service.save(application=application)

Example 3: Delete Maestro Parent

from modular_sdk.modular import Modular

# initializing parent service
parent_service = Modular().parent_service()

# extracting parent by id
parent = parent_service.get_parent_by_id(parent_id="$PARENT_ID")

# deleting parent
parent_service.mark_deleted(parent=parent)

Metadata

Release files for modular-sdk 8.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for modular-sdk 8.1.0
File Size Uploaded Provenance Actions
modular_sdk-8.1.0.tar.gz 84.0 kB With provenance Details for modular_sdk-8.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for modular-sdk 8.1.0
File Interpreter ABI Platform Actions
modular_sdk-8.1.0-py3-none-any.whl Python 3 none any Details for modular_sdk-8.1.0-py3-none-any.whl

Total release size: 188.5 kB

Release files / modular_sdk-8.1.0.tar.gz

Download URL modular_sdk-8.1.0.tar.gz
Size 84.0 kB
Tags Source
SHA-256 checksum
How to use checksums
8b4ae2dc3a7682fcc15481f0305877cbc3911f0d4ac956e9409f7d8f4a84de31
BLAKE2b-256 checksum
How to use checksums
8f3aaffda7e83d4186762a7a6a567d6cb4bc968de99aa7a8973b213df40072de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 10, 2026.

Transparency log

Release files / modular_sdk-8.1.0-py3-none-any.whl

Download URL modular_sdk-8.1.0-py3-none-any.whl
Size 104.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
98da12ee604c442f995e181dc2ab690ae828e7d05fdca062442e4a9bde934218
BLAKE2b-256 checksum
How to use checksums
1ed705622246b06d1b0e3b5e3654749466d052a1d59869684bcdc07aa7f4709f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 10, 2026.

Transparency log

Security for modular-sdk 8.1.0

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for modular_sdk-8.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 10, 2026.

Transparency log

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.

Release history Release notifications | RSS feed

This release

8.1.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page