MetOffice / MetOffice/mule

Relax mule's dependency requirements

Open
#18 0 comments 1 reaction 0 assignees View on GitHub
Dominant language
Python
Stars
5
Forks
8
Avg merge
4h 16m
Merged PRs (30d)
6

Description

## Overview
Mule's current `pyproject.toml` pins all dependecies to exact versions:

https://github.com/MetOffice/mule/blob/1957b135859760a1858d67bc86161977bbb69b1b/pyproject.toml#L7-L22

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
```toml
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",
]
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with pyproject.toml lines 7–22 and review the exact dependency pins against the proposed lower-bound declarations. Check the dependency list for consistency, then verify that the package can still be installed with the relaxed constraints; done means the metadata permits compatible newer versions without retaining unnecessary exact pins.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system
Issue type
Refactor
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.