Overview
Mule's current pyproject.toml pins all dependecies to exact versions:
|
dependencies = [ |
|
"cpplint == 2.0.2", |
|
"ruff == 0.12.1", |
|
"shellcheck-py == 0.10.0.1", |
|
"sphinx == 8.2.3", |
|
"sphinx-lint == 1.0.0", |
|
"pydata-sphinx-theme == 0.16.1", |
|
"sphinx-design == 0.6.1", |
|
"sphinx-copybutton == 0.5.2", |
|
"sphinx-lint == 1.0.0", |
|
"sphinx-sitemap == 2.8.0", |
|
"sphinxcontrib-svg2pdfconverter == 1.3.0", |
|
"numpy == 2.3.3", |
|
"six == 1.17.0", |
|
"pillow == 11.3.0", |
|
] |
This makes mule difficult to install alongside other Python packages and, more generally, within custom Python environments. In the Python packaging ecosystem, pinning dependencies to exact versions is usually discouraged for libraries (unless strictly necessary).
Would it be possible to relax these constraints?
For example, instead of pinning to exact versions, could mule declare only lower bounds for its dependencies (example below), allowing greater flexibility while still ensuring compatibility?
Example
dependencies = [
"cpplint >= 2.0.2",
"ruff >= 0.12.1",
"shellcheck-py >= 0.10.0.1",
"sphinx >= 8.2.3",
"sphinx-lint >= 1.0.0",
"pydata-sphinx-theme >= 0.16.1",
"sphinx-design >= 0.6.1",
"sphinx-copybutton >= 0.5.2",
"sphinx-lint >= 1.0.0",
"sphinx-sitemap >= 2.8.0",
"sphinxcontrib-svg2pdfconverter >= 1.3.0",
"numpy >= 2.3.3",
"six >= 1.17.0",
"pillow >= 11.3.0",
]
Overview
Mule's current
pyproject.tomlpins all dependecies to exact versions:mule/pyproject.toml
Lines 7 to 22 in 1957b13
This makes
muledifficult to install alongside other Python packages and, more generally, within custom Python environments. In the Python packaging ecosystem, pinning dependencies to exact versions is usually discouraged for libraries (unless strictly necessary).Would it be possible to relax these constraints?
For example, instead of pinning to exact versions, could
muledeclare only lower bounds for its dependencies (example below), allowing greater flexibility while still ensuring compatibility?Example