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)
| File | Size | Uploaded | |
|---|---|---|---|
| glueplate-1.3.0.tar.gz | 58.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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