deped-primitives
deped-primitives gives DepEd repositories one tested interpretation of shared
codes, names, hierarchies, school attributes, filters, metrics, and review
rules. Projects import the focused module they need instead of copying those
rules locally.
Provider contracts can be consumed through ProviderOutputReader, which binds
the producer identity and supported contract/schema window, resolves declared
SQLite paths inside the provider repository, validates public relations and
columns, delegates complete-receipt and selected output path/contract/hash
verification to deped-runtime, and opens the output read-only.
The package covers Philippine Standard Geographic Code (PSGC) identity, administrative hierarchies, boundaries, school vocabulary, access scopes, Structured Query Language (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
from deped_primitives.selection.navigation import build_territory_path
from deped_primitives.selection.search import SEARCH_TARGET_BY_KEY
Current shared semantics to check before copying local code:
deped_primitives.authority.governancefor DepEd source governance area IDs, canonical division authority ID grammar, division/school match keys, historical division-label aliases, and resolution/status vocabularies.deped_primitives.authority.policyfor shared immutable-policy freezing, required text, and canonical PSGC-ID validation.deped_primitives.selection.providersanddeped_primitives.selection.provider_contractsfor school-keyed provider context and provider contract metadata.deped_primitives.selection.marimofor notebook region-group, territory, and area-scope controls. Usedeped-runtimefor CLI, SQLite, file, workbook, and other non-semantic runtime plumbing.deped_primitives.selection.navigationanddeped_primitives.selection.searchfor application-neutral territory paths, sibling semantics, Directory targets, and literal matching policy.
Documentation
- DepEd Orchestrator shows where this shared library fits in the full workspace pipeline.
- 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
just package
As a shared semantic library, Primitives has no repository-level data product:
just build reports that boundary, while just package builds the Python
distribution. just preflight, just status --json, and just audit provide
the same read-only operating surface as the data repositories.
Useful narrower commands:
just test
uv run zensical build
uv run --extra marimo marimo check notebooks/*.py
Release files for deped-primitives 0.13.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| deped_primitives-0.13.0.tar.gz | 144.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| deped_primitives-0.13.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 344.9 kB
Release files / deped_primitives-0.13.0.tar.gz
| Download URL | deped_primitives-0.13.0.tar.gz |
|---|---|
| Size | 144.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7b10ea2cf3844a942d414f9bb676c656b0e607149ab72643f26b3983361fa56b
|
|
BLAKE2b-256 checksum How to use checksums |
04d211c9b83e5e89274d66d085102a15f40dd96b9edc1f2a61ea391c43571c88
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","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}
|
Release files / deped_primitives-0.13.0-py3-none-any.whl
| Download URL | deped_primitives-0.13.0-py3-none-any.whl |
|---|---|
| Size | 200.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d64fca356fe58f5fc18eeebe51b3c544732773d79ac873465954097b23482029
|
|
BLAKE2b-256 checksum How to use checksums |
981d82e5d0bfacfa431eb224ad018d99b3c870d5365b5cede55ce04e9956be1a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","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}
|