Skip to content

End of year cleanup#2971

Merged
EwoutH merged 3 commits intomesa:mainfrom
EwoutH:end_of_year_cleanup
Dec 23, 2025
Merged

End of year cleanup#2971
EwoutH merged 3 commits intomesa:mainfrom
EwoutH:end_of_year_cleanup

Conversation

@EwoutH
Copy link
Copy Markdown
Member

@EwoutH EwoutH commented Dec 18, 2025

Summary

This PR is an end-of-year repository cleanup focused on reducing maintenance overhead and consolidating project configuration. Removes over 3000 lines of unused code and configurations.

Key changes include the removal of containerization and alternative environment files (Docker, Nix, Binder), the deletion of obsolete maintenance scripts, and the migration of tool configurations into pyproject.toml.

Inspired by this Dutch hit duo.

Motive

It doesn't spark me joy.

If you want to really really keep anything, please say so (and motivate).

Removed Items

  • Docker: Deleted Dockerfile and docker-compose.yml to drop containerization support.
  • Nix: Deleted flake.nix and flake.lock to remove Nix-based environment management.
  • Binder: Removed binder/environment.yml to discontinue Binder interactive environment support. Keep until repo2docker#1427 is implemented
  • Lockfiles: Deleted uv.lock to decomplicate dependency handling.
  • Config Files: Removed .codespellignore, .coveragerc, and mypy.ini by consolidating settings into pyproject.toml.
  • Maintenance Scripts: Deleted fetch_unlabeled_prs.py as it is no longer in use. Replacement.
image

Before (left) and after (right)

Deleted Dockerfile, docker-compose.yml, flake.nix, flake.lock, uv.lock, and binder/environment.yml to remove containerization and environment management via Docker, Nix, and Binder. Also removed mypy.ini and a maintenance script, and refactored test_lifespan.py to rename 'inactivate' to 'deactivate' for consistency.
Removed .codespellignore and .coveragerc files and migrated their configurations into pyproject.toml. Updated pre-commit config to remove reference to .codespellignore, consolidating project configuration.
@EwoutH EwoutH added the maintenance Release notes label label Dec 18, 2025
@github-actions

This comment was marked as off-topic.

@quaquel
Copy link
Copy Markdown
Member

quaquel commented Dec 18, 2025

I like the PR, will wait for others, in particular @tpike3, to check if there is anything they use. But I am fine with merging this.

@tpike3
Copy link
Copy Markdown
Member

tpike3 commented Dec 19, 2025

This is awesome @EwoutH thanks!

We do need the binder/environment.yaml that is for the tutorials. We can't switch to pure colab, because colab and solara do not play well together. Although I did ping google to add solara support, cause why not.

@EwoutH
Copy link
Copy Markdown
Member Author

EwoutH commented Dec 19, 2025

Can you explain how it is used exactly? Maybe it can be integrated in the pyproject.toml?

@tpike3
Copy link
Copy Markdown
Member

tpike3 commented Dec 20, 2025

Can you explain how it is used exactly? Maybe it can be integrated in the pyproject.toml?

Binder uses pip install -e . to install from pyproject.toml as all the plotting libraries are optional dependencies the dependencies need for the tutorial won't install.

@EwoutH
Copy link
Copy Markdown
Member Author

EwoutH commented Dec 20, 2025

Would defining another optional dependency work?

mesa/pyproject.toml

Lines 47 to 55 in 9c67a63

[project.optional-dependencies]
# User collections
rec = ["mesa[network,viz]"]
all = ["mesa[network,viz,dev,examples,docs]"]
# Core dependencies
network = [
"networkx",
]
viz = [

@EwoutH
Copy link
Copy Markdown
Member Author

EwoutH commented Dec 21, 2025

Okay we can't remove this yet, see:

I will restore it. Any other comments on this PR?

Move to pyproject.toml when upstream implemented in jupyterhub/repo2docker#1427
@EwoutH
Copy link
Copy Markdown
Member Author

EwoutH commented Dec 21, 2025

Restored binder/environment.yml.

@EwoutH EwoutH merged commit 69172b0 into mesa:main Dec 23, 2025
25 of 27 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

maintenance Release notes label

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants