Skip to content
All projects
Core engineering libraryData Manager

paths_manager.py — Cross-Platform Path Resolution

BCHPR · 16 dependent scripts · 2023 – present

Every project script reads and writes under a shared SharePoint-synced tree. Hard-coding those paths breaks the moment a script runs on another machine, under WSL, or inside Airflow. 586 lines resolve 213 named paths across 27 project groups, from one environment variable.

Highlights

  • Platform detected once at construction — Windows, WSL (sniffed from the kernel release string), or POSIX — and every path rewritten to match.
  • Validation is extension-aware: a path with no file extension that does not exist is reported missing and can be created, while file-shaped paths are skipped so the pass never tries to mkdir a template.
  • New path groups are picked up automatically by type dispatch rather than manual registration.
  • Paths are exported both as a structured object and as module-level names, so the older call sites that predate the class redesign keep working unchanged.