activitysim
activitysim copied to clipboard
Dependency Pruning, Version Pin Review, and Conda Removal
Following the implementation of dependency locking for ActivitySim using UV in Phase 10 (PR #956), several follow-up items were identified that were out of scope for that phase but are important for future maintenance and simplification of the environment. @josiekre
Tasks to Consider
- [ ] Remove unused dependencies.
- The initial implementation (PR #956) retained all dependencies from the legacy Conda environment YAML files.
- Some unused packages (e.g., orca), were removed, but a complete cleanup requires careful auditing and testing, which was beyond the Phase 10 scope.
- [ ] Remove version pins in pyproject.toml, e.g., [1][2].
- With UV, we should avoid manually pinning dependency versions with upper bounds (lower bounds are acceptable).
- If a pin is absolutely necessary, it should be tracked via a GitHub issue and regularly re-evaluated.
- We should also aim to include only direct dependencies in pyproject.toml.
- [ ] Fix Sharrow test failures on Mac and Linux
- Some Sharrow tests were failing on Mac and Linux [1], although all of them pass on Windows.
- [ ] Update benchmarking functions
- These functions require code changes to remove Conda dependencies [1], or we should consider deprecating them.
- [ ] Remove conda references from all Jupyer notebooks in the repository.