Project Cards represent information about a tranportation infrastructure projects sufficient for usage in a regional travel demand model. This package supports validation and usage of this schema.
The ProjectCard schema is represented as a json-schema in the /schema
directory and is documented on the schemas page.
Example project cards can be found in the /examples
directory and on the examples page
This package should generally be used to validate or update project cards.
There is also a limited object model, ProjectCard
which can be used to organize and manage project cards.
Validate project card(s) from a directory or specific file path, optionally filtering by a tag.
validate_card card_search_dir --filter_tags ['tag_to_search_for']
Update older project card(s) to current format from a directory or specific file path. Cards should still be validated afterwards.
update_projectcard_schema card_search_dir output_dir
from projectcard.io import read_cards
# Read in cards from a directory with the tag "Baseline 2030"
project_cards = read_cards(directory, filter_tags=["Baseline2030"])
# Iterate through a deck of cards for validity
for project_name,card in project_cards.items():
print(f"{project_name}: {card.valid}")
# Print out a summary of the card with the project name "4th Ave Busway"
print(project_cards["4th Ave Busway"])
pip install projectcard
Note: Generally it is not necessary to install the projectcard package as the main purpose of this repository is to maintain the project card schema. Projects that use the package to validate project cards usually include projectcards as a requirement and install it on their own.
-
Fork and clone repo locally
-
Install dependencies
conda install --yes --file requirements.txt
or
pip install -r requirements.txt
- Install from working directory
pip install -e .