A high-performance, spatially-aware Python framework for the analysis and modeling of Texas public education data.
teadata provides a robust, object-oriented interface for large-scale geographic and demographic datasets. By utilizing a high-speed, snapshot-based architecture, the engine enables rapid data integration and sophisticated spatial querying through an intuitive, Pythonic DSL.
Read the full documentation here (or run mkdocs serve to browse locally).
Using uv (Recommended for development)
git clone https://github.com/adpena/teadata.git
cd teadata
uv syncUsing pip
pip install teadataInstalling from GitHub (for Render or other CI/CD)
If you are using this in a Django application deployed on Render, add it to your requirements.txt:
teadata @ git+https://github.com/adpena/teadata.git
Or install it directly via CLI:
pip install git+https://github.com/adpena/teadata.gitfrom teadata import DataEngine
# Fast-path: load the latest discovered snapshot
engine = DataEngine.from_snapshot(search=True)
# Retrieve district by TEA campus number
aldine = engine.get_district("101902")
print(aldine.name) # -> "Aldine ISD"
# Iterate campuses inside the district
for c in aldine.campuses:
print(c.name)- Rich domain objects:
DistrictandCampuswith geometry. - Fluent query language: Chain filters like
engine >> ("district", "101902") >> ("campuses_in",). - Spatial acceleration: Nearest neighbors, containment checks.
- Enrichment: Attach external datasets (finance, accountability) easily.
This project is licensed under the Business Source License 1.1.
- Personal & Educational Use: You may use, copy, modify, and distribute this software for personal, educational, or non-commercial research purposes.
- Commercial & Production Use: Prohibited without obtaining a separate commercial license from the Licensor.
See the LICENSE file for the full text.