You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* read TSVs
* bugfix when log dir is missing
* copy over from 2023 runner
* cache cleanup
* add warning if linked_trip_id exists
* add safeguard to prevent null IDs
* mostly working 2019
* cleanup caching prints
* Remove duplicate logging
* pipeline runs for 2019!
* clear deprecation warning
* bugfix bad if else
* Fix comments and update configuration to make 2019 / 2023 comparison easier
* Fix bug where travel date wasn't getting set
* quick purpose by mode analysis
* added 2019 weights, debug with 0 or nulls
* Add mkdocs-based documentation
* Add MkDocs documentation with GitHub Pages deployment
* Fix backslash
* Allow deployment from mkdocs branch
* Fix url
* Update TOC and add section on generating API Documentation
* Add mkdocs-include-markdown-plugin
To include existing Readmes into mkdocs
* Move read_write documentation into docstrings
Rather than maintaining parallel documentation in Readme
* Move link_trips documentation into docstrings
* Improve documentation formatting
and move more documentation to docstrings from Readme
* Consolidate multiple versions of extract tours documentation
And add imputation placeholder
* Consolidate and move CTRAMP-formatting related documentation to python docstrings
* Fix pre-commit errors
* Fix case problem for include.
* Consolidate and move daysim-formatting documentation to python docstrings
* Update Readmes
* Move final check documentation in python docstring
* Fix spacing
---------
Co-authored-by: nick-fournier <45876721+nick-fournier@users.noreply.github.com>
-[Generating API Documentation](#generating-api-documentation)
23
23
-[Running Tests](#running-tests)
24
24
-[Code Quality](#code-quality)
25
25
-[Pre-commit Hooks](#pre-commit-hooks)
@@ -51,6 +51,7 @@ Tools for processing and validating travel diary survey data into standardized f
51
51
The usage pattern for the pipeline is a bit different than the typical numbered scripts you might see elsewhere. *There is no monolithic integrated script*. Instead there is a standardized data processing pipeline that is configurable via YAML files and executed via a runner script.
52
52
53
53
There are three main components:
54
+
54
55
***Setup**
55
56
* This contains the point of entry defined in `project/run.py` and
56
57
* Pipeline configuration defined in `project/config.yaml`
@@ -179,20 +180,20 @@ The data processing pipeline consists of modular steps that transform raw survey
179
180
180
181
#### Core Processing Steps
181
182
182
-
1.**[Load Data](src/processing/read_write/README.md)** - Loads canonical survey tables from CSV, Parquet, or geospatial files into memory
4.**[Link Trips](src/processing/link_trips/README.md)** - Aggregates individual trip segments into complete journey records by detecting mode changes and transfers
6.**[Extract Tours](src/processing/tours/README.md)** - Builds hierarchical tour structures (home-based tours and work-based subtours) from linked trips
188
-
7.**Weighting***(placeholder)* - Calculates expansion weights to match survey sample to population targets
189
-
8.**[Format Output](src/processing/formatting/daysim/README.md)** - Transforms canonical data to model-specific formats (DaySim, ActivitySim, etc.)
190
-
-**[DaySim Format](src/processing/formatting/daysim/README.md)** - Formats data for DaySim model input
191
-
-**[CT-RAMP Format](src/processing/formatting/ctramp/README.md)** - Formats data for CT-RAMP model input
192
-
9.**[Final Check](src/processing/final_check/README.md)** - Validates complete dataset against canonical schemas before export
193
-
10.**[Write Data](src/processing/read_write/README.md)** - Writes processed tables to output files with optional validation
194
-
195
-
Each step README provides detailed documentation on:
183
+
1.**[Load Data](https://bayareametro.github.io/travel-diary-survey-tools/pipeline_steps/read_write/)** - Loads canonical survey tables from CSV, Parquet, or geospatial files into memory
4.**[Link Trips](https://bayareametro.github.io/travel-diary-survey-tools/pipeline_steps/link_trips/)** - Aggregates individual trip segments into complete journey records by detecting mode changes and transfers
6.**[Extract Tours](https://bayareametro.github.io/travel-diary-survey-tools/pipeline_steps/extract_tours/)** - Builds hierarchical tour structures (home-based tours and work-based subtours) from linked trips
189
+
7.**[Weighting](https://bayareametro.github.io/travel-diary-survey-tools/pipeline_steps/weighting/)***(placeholder)* - Calculates expansion weights to match survey sample to population targets
190
+
8.**Format Output** - Transforms canonical data to model-specific formats (DaySim, ActivitySim, etc.)
191
+
-**[DaySim Format](https://bayareametro.github.io/travel-diary-survey-tools/pipeline_steps/format_output/daysim/)** - Formats data for DaySim model input
192
+
-**[CT-RAMP Format](https://bayareametro.github.io/travel-diary-survey-tools/pipeline_steps/format_output/ctramp/)** - Formats data for CT-RAMP model input
193
+
9.**[Final Check](https://bayareametro.github.io/travel-diary-survey-tools/pipeline_steps/final_check/)** - Validates complete dataset against canonical schemas before export
194
+
10.**[Write Data](https://bayareametro.github.io/travel-diary-survey-tools/pipeline_steps/read_write/)** - Writes processed tables to output files with optional validation
195
+
196
+
Each step links to documentation generated by the step's docstring, and provides detailed documentation on:
196
197
- Input/output data requirements
197
198
- Core algorithm and processing logic
198
199
- Configuration parameters
@@ -443,6 +444,7 @@ def new_processing_step(
443
444
444
445
## Additional Documentation
445
446
For more details, see:
447
+
*[API Documentation](https://bayareametro.github.io/travel-diary-survey-tools/) - Auto-generated API documentation for data models, pipeline, and processing functions (deployed to GitHub Pages).
446
448
*[Validation Framework Documentation](docs/VALIDATION_README.md) - Which goes into more detail on the validation framework architecture and usage.
447
449
*[Column Requirements Documentation](docs/COLUMN_REQUIREMENTS.md) - Contains auto-generated tables and enums for easy reference on which fields are required for each processing step. Essentially summarizes the data models in a table.
448
450
@@ -510,6 +512,36 @@ travel-diary-survey-tools/
510
512
└── docs/ # Documentation
511
513
```
512
514
515
+
### Generating API Documentation
516
+
517
+
The project uses [MkDocs](https://www.mkdocs.org/) with [Material theme](https://squidfunk.github.io/mkdocs-material/) to generate API documentation from docstrings.
518
+
519
+
**Building locally:**
520
+
```bash
521
+
# Build documentation
522
+
uv run mkdocs build --strict
523
+
524
+
# Preview with live reload
525
+
uv run mkdocs serve
526
+
# View at http://127.0.0.1:8000
527
+
```
528
+
529
+
**How it works:**
530
+
-`mkdocstrings[python]` auto-generates docs from Python docstrings and type hints
531
+
-`griffe-pydantic` extension handles Pydantic model documentation
532
+
-`mkdocs-include-markdown-plugin` embeds algorithm documentation from processing module READMEs
0 commit comments