Standardizing code formatting and linting; modernizing package installation #1
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.
I'm opening this PR onto a
refactoring
branch as I'd like to add more tests to make sure the repo is in a better state before merging tomain
, but I'm open to your feedback, and we can discuss each of these changes.Summary
setup.py
topyproject.toml
(we can probably removesetup.py
entirely if we switch from setuptools to hatch).task(s)
->service(s)
.uv
, which should be simpler and faster thanpip
orconda
.--work-dir
and--run-dir
to make it explicit where Shepherd executes scripts from and where it creates output files.run
here refers to a SADE Simulation Run, and it could be renamed before this is merged withmain
.Minimum Python version
Minimum Python version is 3.10 (type hints fail on 3.9, possibly other things do too). You can try it with this one-liner:
uv run --python=3.10 examples/example3/run_test.sh # uv run also installs all dependencies and even the 3.10 interpreter if needed
And the most recent stable Python version: