Skip to main content

Shared DepEd PSGC, hierarchy, territory, SQL, and Marimo primitives.

Project description

deped-primitives

Github CI

deped-primitives is the shared semantic contract layer for the DepEd data ecosystem. It centralizes reusable rules for PSGC identity, administrative hierarchies, boundaries, school vocabularies, access scopes, SQL construction, provider context, metrics, and review helpers.

It is intentionally small. Producer repos own source ingestion and artifacts; consumer repos own products, notebooks, dashboards, and runtime state. This package owns the deterministic interpretation rules that those repos should not copy locally.

Quick Start

from deped_primitives.identity import GeoType, ancestor_codes, normalize_code
from deped_primitives.identity.codes import normalize_boundary_pcode_to_psgc_id
from deped_primitives.schools.names import clean_school_name
from deped_primitives.selection.access import AccessScope, scope_locks_from_access

assert normalize_code(" 13-3900-0000 ") == "1339000000"
assert ancestor_codes("1380610001", GeoType.BGY) == [
    "1300000000",
    "1380600000",
    "1380610000",
]
assert normalize_boundary_pcode_to_psgc_id("PH0102801") == "0102801000"
assert clean_school_name("baliwag nhs") == "Baliwag National High School"
assert scope_locks_from_access(
    AccessScope(level="regional", psgc_region_id="1300000000")
).locked_levels == ("region",)

Import specialized semantics from their owner modules rather than from the root package:

from deped_primitives.areas.boundaries import usable_area_boundary_components
from deped_primitives.authority.legislative import legislative_child_rollups
from deped_primitives.selection.providers import provider_context_sql

Current shared semantics to check before copying local code:

  • deped_primitives.authority.governance for DepEd source governance area IDs, canonical division authority ID grammar, division/school match keys, historical division-label aliases, and resolution/status vocabularies.
  • deped_primitives.selection.providers and deped_primitives.selection.provider_contracts for school-keyed provider context and provider contract metadata.
  • deped_primitives.selection.marimo for notebook territory and area-scope controls. Use deped-runtime for CLI, SQLite, file, workbook, and other non-semantic runtime plumbing.

Documentation

  • Overview explains the domain flow and reading path.
  • Ecosystem explains sibling-repo ownership boundaries and what belongs in this package.
  • Status is the current capability map.
  • Package reference lists the curated package surface and owner-module references.
  • Migration to 0.1 covers the current public import layout.

Development

pre-commit run --all-files
just check

Useful narrower commands:

just test
uv run zensical build
uv run --extra marimo marimo check notebooks/*.py

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

deped_primitives-0.9.1.tar.gz (610.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

deped_primitives-0.9.1-py3-none-any.whl (185.0 kB view details)

Uploaded Python 3

File details

Details for the file deped_primitives-0.9.1.tar.gz.

File metadata

  • Download URL: deped_primitives-0.9.1.tar.gz
  • Upload date:
  • Size: 610.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for deped_primitives-0.9.1.tar.gz
Algorithm Hash digest
SHA256 80a4ad65a093091c60b99e23ac72929afcbd2d44c500cd0f98875f83f665ac2f
MD5 61e6e909cf48679be1bd2a6e491edd5f
BLAKE2b-256 fe94cc26f40f5df79a9d47030e9e7303c7144e21078f8a122b166bd4faad4e25

See more details on using hashes here.

File details

Details for the file deped_primitives-0.9.1-py3-none-any.whl.

File metadata

  • Download URL: deped_primitives-0.9.1-py3-none-any.whl
  • Upload date:
  • Size: 185.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for deped_primitives-0.9.1-py3-none-any.whl
Algorithm Hash digest
SHA256 535851be9ae5ad2a28b62c243a7fed4553b4b424b033e93362ad382ad7bd803d
MD5 81fcd8cee63ad78ddecd1ca5edef6beb
BLAKE2b-256 dc73db200e1b81b96f44962d0f1fea49ab2f3cff0bfafe4e63498863fe283dae

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page