Skip to main content

glueplate

Glueplate provides composable settings for Python frameworks and libraries. Settings are dictionaries that support attribute access, recursive merging, list extension, and inheritance from other Glueplate configurations.

Installation

python -m pip install glueplate

Glueplate requires Python 3.11 or later.

Define base settings

Create a module that exports a settings value. GLUE_PLATE_ENVIRONMENT_VARIABLE_KEY names the environment variable that points to the user's settings module.

from glueplate import Glue

settings = Glue(
    GLUE_PLATE_ENVIRONMENT_VARIABLE_KEY='MY_APP_SETTINGS_MODULE',
    debug=False,
    paths=['base'],
    database={'host': 'localhost', 'port': 5432},
)

Set GLUE_PLATE_BASE_MODULE to that module and the configured environment variable to the user's module.

export GLUE_PLATE_BASE_MODULE=my_app.default_settings
export MY_APP_SETTINGS_MODULE=my_project.settings

The user's module only needs to contain overrides.

from glueplate import Glue

settings = Glue(
    debug=True,
    database={'host': 'database.example.com'},
)

Load the merged settings through glueplate.config.

from glueplate import config

assert config.settings.debug is True
assert config.settings.database.host == 'database.example.com'
assert config.settings.database.port == 5432

Extend lists

Use GLUE_PLATE_PLUS_BEFORE_ or GLUE_PLATE_PLUS_AFTER_ followed by the target setting name.

from glueplate import Glue

settings = Glue(
    GLUE_PLATE_PLUS_BEFORE_paths=['project-first'],
    GLUE_PLATE_PLUS_AFTER_paths=['project-last'],
)

The merged value is ['project-first', 'base', 'project-last'].

Inherit settings

A base settings module can include other Glueplate settings modules.

from glueplate import Glue

settings = Glue(
    GLUE_PLATE_ENVIRONMENT_VARIABLE_KEY='MY_APP_SETTINGS_MODULE',
    GLUE_PLATE_PARENT_MODULES=[
        'another_library.default_settings',
    ],
)

Development

The development environment is managed with uv.

uv sync --locked
uv run pytest
uv run ruff check .
uv run pyrefly check
uv build
uv run twine check dist/*

License

Glueplate is distributed under the MIT License.

Release files for glueplate 1.3.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 glueplate 1.3.0
File Size Uploaded
glueplate-1.3.0.tar.gz 58.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for glueplate 1.3.0
File Interpreter ABI Platform
glueplate-1.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 63.4 kB

Release files / glueplate-1.3.0.tar.gz

Download URL glueplate-1.3.0.tar.gz
Size 58.7 kB
Tags Source
SHA-256 checksum
How to use checksums
dfdb4d1b94e31ac0a194cc8b6bd881768fedd04a31002015541602cce563b735
BLAKE2b-256 checksum
How to use checksums
d54ed5172ca67a39febea5b6e024d062f1d718c8df3ebe7b3e076f976b6cda73
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 Sep 19, 2026.

Transparency log

Release files / glueplate-1.3.0-py3-none-any.whl

Download URL glueplate-1.3.0-py3-none-any.whl
Size 4.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f2165ca96527d5ab749cdd3d9936f7fce068091643b82c37e8d21bbec23d9f49
BLAKE2b-256 checksum
How to use checksums
5d4d3005c7ca455d95b111c3b06f8c22615f8778fe760863b22a25f4c0545382
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 Sep 19, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.3.0 This release

2 release files

1.2.0

1 release file

1.1.0

2 release files

1.0.2

1 release file

1.0.1

2 release files

1.0

1 release file

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