Skip to main content

moveq-catalogue

Same / replace / omit registry for cross-country transport-equity questionnaires.

PyPI Python versions License

When a method built for one country (a coverage question, a deprivation proxy, a night-service indicator) is reused in another, three things happen in practice:

  1. some items transfer — the question is the same; only the local dataset changes (GTFS here, a national timetable there)
  2. some items do not transfer — the UK IMD is not the French grille de densité; you need a named local substitute
  3. some items cannot be measured at small-area resolution in the destination country, and should be dropped on the record

Without an explicit contract, the usual failure is silent omission: a base section is forgotten, inherited, or deleted in a spreadsheet, and the two countries are compared as if they answered the same questionnaire.

moveq-catalogue makes that contract programmatic. You list the base sections once. For a target country you must register each section as SAME, REPLACE, or OMIT. validate() returns leftover section ids; an empty list means every base item has been decided. There is no default. Forgetting is an error, not a zero.

This package has no numeric dependency (no NumPy). Most applications should install moveq, which re-exports Catalogue and SectionAction.

The three actions

Action Meaning What you must supply
SAME The question / method carries over against local data Optional note (local source, geography)
REPLACE A locally meaningful question takes its place Required replacement_title; optional note
OMIT No acceptable small-area variable exists Required note explaining the drop

REPLACE without a title, or OMIT without a note, raises. Registering an unknown section id also raises. Duplicate ids in the base list are rejected at construction.

summary() counts how many sections landed in each bucket, which is useful in a methods appendix (“12 same, 3 replaced, 1 omitted”).

The full taxonomy and a worked multi-country example: catalogue guide.

Installation

Requires Python 3.10+.

pip install moveq-catalogue

Usage

from moveq_catalogue import Catalogue, SectionAction

base_sections = ["coverage_pct", "service_deserts", "policy_scenarios"]

ie = Catalogue(base_sections, country="ireland")
ie.register("coverage_pct", SectionAction.SAME, note="TFI × CSO Small Area")
ie.register("service_deserts", SectionAction.SAME)
ie.register(
    "policy_scenarios",
    SectionAction.REPLACE,
    replacement_title="Connecting Ireland / Local Link / BusConnects",
)

issues = ie.validate()
if issues:
    raise SystemExit(issues)  # e.g. a base section with no decision
print(ie.summary())  # {'same': 2, 'replace': 1, 'omit': 0}

Documentation

License

BSD 3-Clause.

Metadata

Release files for moveq-catalogue 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for moveq-catalogue 0.2.0
File Size Uploaded
moveq_catalogue-0.2.0.tar.gz 6.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for moveq-catalogue 0.2.0
File Interpreter ABI Platform
moveq_catalogue-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 12.1 kB

Release files / moveq_catalogue-0.2.0.tar.gz

Download URL moveq_catalogue-0.2.0.tar.gz
Size 6.1 kB
Tags Source
SHA-256 checksum
How to use checksums
33579a40954ac4c4256557188df6bffcfd15f4a3332e2512c485ee9268ecd969
BLAKE2b-256 checksum
How to use checksums
4c00b59bf603e39aae2ca87212c763e5c62964a3a5ddd0f05bba82917d34a9fa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 5, 2026.

Transparency log

Release files / moveq_catalogue-0.2.0-py3-none-any.whl

Download URL moveq_catalogue-0.2.0-py3-none-any.whl
Size 6.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
88af9ac6d3c9490a0f86439e294c08750a246620c124f8664be0003e345cf291
BLAKE2b-256 checksum
How to use checksums
398dc76c49a4fcc80a714e773ceb68b13632b2415d6dd7eca9712d65fd24ac51
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 5, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page