activitysim icon indicating copy to clipboard operation
activitysim copied to clipboard

Dependency Pruning, Version Pin Review, and Conda Removal

Open i-am-sijia opened this issue 4 months ago • 0 comments

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.
    • E.g., [1][2] Most references are just instructional comments, but they should be cleaned up for consistency.

i-am-sijia avatar Jul 29 '25 01:07 i-am-sijia