Bundled BHS-area school bell-schedule calendar data for the bells library
Project description
bhs-calendars (Python)
Bundled bell-schedule calendar data for Berkeley High School and nearby middle
schools, as a Python distribution. This is the Python counterpart of the npm
@peterseibel/bhs-calendars package and ships the same
per-year JSON.
It is data, not logic — pair it with the bells library to build
schedules without supplying your own {year}.json files.
pip install bhs-calendars
Usage
from bhs_calendars import by_id, load_all
from bells import BellSchedule
# Grouped by school, each school's years sorted chronologically:
years = by_id()["bhs"]
schedule = BellSchedule(years, {})
# Or the flat list of every bundled school-year:
all_years = load_all() # list[dict]
load_all() mirrors the npm package's default export (a flat list of yearly
calendar objects). by_id() groups those by their id field — "bhs",
"king-6", "king-7", "king-8", "longfellow-6", "longfellow-78",
"willard-6", "willard-78" — with each group's years sorted by firstDay.
Unlike the library's Calendars loader (which reads {year}.json from a
directory or URL), this data is bundled on disk with the package: no filesystem
layout or network access required. The trade-off is that it only covers the
BHS-area schools.
Data source
The single source of truth is the canonical bhs-calendars/ directory at the
repository root (also the npm package source). The JSON under bhs_calendars/data/
is a verbatim, build-time copy of it and is gitignored, not committed — the
build, test, and release flows (and CI) regenerate it so it can never drift from
the source.
When working in this repo, run make sync-py-calendars (or make sync-calendars
for both ports) from the repo root once after checkout, and again after the source
data changes, before building or testing this package.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bhs_calendars-2.10.0.tar.gz.
File metadata
- Download URL: bhs_calendars-2.10.0.tar.gz
- Upload date:
- Size: 12.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9c7ceae13006357f8b24c640be95cc189644b66bdc9f7b51a69586cc31930c45
|
|
| MD5 |
58b57a98992a5c5ace7b57697254cabf
|
|
| BLAKE2b-256 |
9bf11bba61b1c4301c9917c13faaba9095daa5fb154b43e283c6ea9833884399
|
Provenance
The following attestation bundles were made for bhs_calendars-2.10.0.tar.gz:
Publisher:
publish-calendars.yml on gigamonkey/bells
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
bhs_calendars-2.10.0.tar.gz -
Subject digest:
9c7ceae13006357f8b24c640be95cc189644b66bdc9f7b51a69586cc31930c45 - Sigstore transparency entry: 1998144388
- Sigstore integration time:
-
Permalink:
gigamonkey/bells@eea3e21a0a969e55b326357ddd6247a75d9dd4b2 -
Branch / Tag:
refs/tags/calendars-v2.10.0 - Owner: https://github.com/gigamonkey
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-calendars.yml@eea3e21a0a969e55b326357ddd6247a75d9dd4b2 -
Trigger Event:
push
-
Statement type:
File details
Details for the file bhs_calendars-2.10.0-py3-none-any.whl.
File metadata
- Download URL: bhs_calendars-2.10.0-py3-none-any.whl
- Upload date:
- Size: 26.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d94c2c5d0058c7f4c46bb1dcb1e7d5d0033ea6ad9c66f3c3f7507a2026a63be1
|
|
| MD5 |
bf409439b52523be13cdf75949001c07
|
|
| BLAKE2b-256 |
ee8b33781e156918807069358818189362ed9260054d22a6afe0ce4d2aa5d448
|
Provenance
The following attestation bundles were made for bhs_calendars-2.10.0-py3-none-any.whl:
Publisher:
publish-calendars.yml on gigamonkey/bells
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
bhs_calendars-2.10.0-py3-none-any.whl -
Subject digest:
d94c2c5d0058c7f4c46bb1dcb1e7d5d0033ea6ad9c66f3c3f7507a2026a63be1 - Sigstore transparency entry: 1998144492
- Sigstore integration time:
-
Permalink:
gigamonkey/bells@eea3e21a0a969e55b326357ddd6247a75d9dd4b2 -
Branch / Tag:
refs/tags/calendars-v2.10.0 - Owner: https://github.com/gigamonkey
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-calendars.yml@eea3e21a0a969e55b326357ddd6247a75d9dd4b2 -
Trigger Event:
push
-
Statement type: