Project Card Data Schema
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.
Schema
The ProjectCard schema is represented as a json-schema in the /schema directory and is documented on the schemas page.
Example Data
Example project cards can be found in the /examples directory and on the examples page
Basic Usage
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.
Command Line
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
Python API
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"])
Installation
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.
Development Environment
-
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 .
Metadata
Release files for projectcard 0.3.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| projectcard-0.3.3.tar.gz | 75.3 kB | Without provenance | Details for projectcard-0.3.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| projectcard-0.3.3-py3-none-any.whl | Python 3 | none | any | Details for projectcard-0.3.3-py3-none-any.whl |
Total release size: 152.7 kB
Release files / projectcard-0.3.3.tar.gz
| Download URL | projectcard-0.3.3.tar.gz |
|---|---|
| Size | 75.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e0249b4745af82fe7615b6b06a717bf7e9a46524cbc5845fd29c044acbc45ffc
|
|
BLAKE2b-256 checksum How to use checksums |
39b2fd710a53d0da6104148527ebcb945c9dee567dda0968009f3478e011da0e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.0 CPython/3.12.7
|
Release files / projectcard-0.3.3-py3-none-any.whl
| Download URL | projectcard-0.3.3-py3-none-any.whl |
|---|---|
| Size | 77.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0323af41e6b1fb6e96f53b459ab2316a48f9fbd8c16a6b7452a5130a0fb08237
|
|
BLAKE2b-256 checksum How to use checksums |
63553d6b5f8909d7b0c6bf4743d5d9217f2e9ad3ef4d89fa07a2a6e518a67a76
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.0 CPython/3.12.7
|
Security for projectcard 0.3.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.