// readme

rashid

rashid checks whether a Portolan catalog follows the specification.

Give it a catalog directory, its root catalog.json, or the URL of a published catalog. rashid checks the metadata, structure, asset bytes, and hosting. It reports each problem with a stable rule ID.

The name comes from the Arabic root ر ش د. Its participles رَاشِدٌ and رَشِيدٌ mean “taking, or following, a right way or course or direction”.

Install

uv tool install rashid

rashid requires Python 3.11 or later.

Check a Catalog

rashid check path/to/catalog

Exit code 0 means the catalog breaks no MUST requirement. Exit code 1 means it breaks at least one.

By default, rashid checks:

  • Portolan metadata requirements.
  • STAC 1.1.0 core structure with schemas included in the package.
  • Local and remote asset bytes against their metadata and format rules.

Use --no-data when you only need a metadata and structure result. Use --data-scope local to keep byte checks inside the catalog directory.

rashid check path/to/catalog --data-scope local

Check a published…