[codex] Modernize Python compatibility, dependencies, tests, and docs#15
Draft
tuhulab wants to merge 5 commits intojranek:mainfrom
Draft
[codex] Modernize Python compatibility, dependencies, tests, and docs#15tuhulab wants to merge 5 commits intojranek:mainfrom
tuhulab wants to merge 5 commits intojranek:mainfrom
Conversation
|
@tuhulab i tried using your suggestion for installing the full environment using pip install .e [full], but i got an error regarding version availability such as muon ! |
Owner
|
Wow, thank you @tuhulab for all of these updates, this is super helpful!! I will work on reviewing the changes. As a note, Jolene |
Owner
|
Should now be resolved with sketchKH==0.1.3 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR modernizes QUICHE for current Python tooling while preserving the existing public API surface (
quiche.pp,quiche.tl,quiche.pl) and stabilizing install/test workflows.It addresses compatibility and maintenance pain points caused by old grammar-era packaging metadata, outdated pins, and eager imports of heavy optional dependencies.
Problem and user impact
Before this change:
pyproject.toml.This made installation brittle, especially for users on modern Python versions, and increased regression risk.
Root causes
What this PR changes
1) Packaging and dependency modernization
pyproject.tomlmetadata to PEP 621 format.>=3.10,<3.13.plotfulldevvenv_quiche.ymlto align with Python 3.10-3.12 and modern stack versions.2) Compatibility and correctness fixes (API-preserving)
except:handlers with explicit handling.compute_spatial_niches(khop=...)now passeskcorrectly.compute_spatial_nichesnow preserves row alignment viaobs_names.metricvariable in plotting defaults.generate_colors.3) Test suite + CI
tests/with deterministic synthetic fixtures and coverage for:4) Documentation
Validation performed
Local validation on Python 3.11:
pytest -q-> 19 passedpytest --cov=quiche --cov-report=term-missing-> 19 passed(One pandas FutureWarning remains in an existing statistical helper; behavior is unaffected.)
Backward compatibility statement
pip install .stays lightweight; conda remains the recommended route for R-backed analysis.Commit structure
packaging/deps: modernize metadata and envcode-compat: guard optional deps and fix runtime bugstests-ci: add synthetic tests and py3.10-3.12 matrixdocs: document migration, install paths, and limits