Repository navigation
campus-common 0.2.2
New campus.common.services module: the service URL registry. One resolver (get_base_url / resolve_base_url) owns where Campus services live, replacing the URL tables duplicated across campus.config, the campus_python SDK, and per-app resolvers.
- Resolution precedence:
CAMPUS_<SERVICE>_URL><SERVICE>_URL>CAMPUS_BASE_URL>BASE_URL> the per-environmentBASE_URLStable. CAMPUS_-prefixed forms are primary (collision-safe on shared hosts); bare forms are aliases for dedicated hosts.CAMPUS_BASE_URL/BASE_URLsupport gateway / single-server deployments: one origin fronting auth+api+audit; callers append route prefixes themselves.- Override/base values must be bare origins, validated like
PUBLIC_URL; errors name the variable. get_base_urlkeeps deployment semantics (testing + in-process self-calls resolve to the canonical origin);resolve_base_urlis the client semantics the SDK needs.env.pydeclares the override variables. Environment resolution:ENV>CAMPUS_ENV> development (SDK duality, unified).
Additive change → patch bump per the versioning policy. Full notes in CHANGELOG.md.