NYC apartment search: share-site pipeline#
Last updated: Oct 21, 2026, 1:22:18 AM
Table of Contents#
Pipeline Charts 📈
Pipeline Dataframes 📊
Pipeline Specs#
Pipeline Name |
NYC apartment search: share-site pipeline |
|---|---|
Pipeline ID |
|
Maintainer |
Gonzalorrd |
Contributors |
|
Repository |
|
Pipeline Web Page |
|
Date of Last Code Update |
2026-10-21 01:22:04 |
OS Compatibility |
Windows, Linux |
Linked Dataframes |
gonzalorrd/nyc-apartment-search:buildings |
Build Commands:
uv run doit
This is the documentation for the pipeline behind the apartment search page. It started as a data-pipeline class exercise: automate the flow from a private local database to a public, visual page, using GitHub Actions.
laptop: apartments.db --apartment-hunter publish--> site_data/snapshot.json --git push-->
Actions: validate -> enrich -> transform -> render -> chartbook -> GitHub Pages
Step |
What it does |
Code |
|---|---|---|
publish |
Writes an allowlisted snapshot: buildings, units, commutes and risks only. Notes are redacted; contacts, tours, tasks and evaluations never leave the laptop. |
|
validate |
Data contract (the app’s Pydantic schemas, foreign keys, unique ids) and privacy gate (allowlist, redaction, email/phone patterns). Fails the build on any problem. |
|
enrich |
Map coordinates from the US Census Geocoder, cached between runs. Matches on a different street are rejected. Outages never block a deploy. |
|
transform |
Ranks units with the app’s own |
|
render |
Plotly charts, the phone-first landing page and CSV downloads. |
|
chartbook |
This documentation site, with a page for every chart and table. |
|
Run everything locally with uv run doit from the repository root, and list the
tasks with uv run doit list. The output is written to share/public/.
Limits: “checked” means a public source was looked at on that date. It is not a confirmed December offer, an inspection or a measured commute. Household ratings are never published, so rankings here leave out the deal-breaker and preference scores that the private app uses. Units marked as deal breakers are removed before publishing.