Getting Started
Properties Library is a local Flask and Bootstrap application for engineering property lookup, fluid state calculations, material selection, standards review, and report export.
Start the app
Install or refresh the repo-local dependencies once:
python3 install_repo_deps.py
Start the server:
python3 run.py
Open:
http://127.0.0.1:5057/
If the port is already occupied, stop the existing process instead of starting many new ports:
lsof -tiTCP:5057
kill <PID>
Main workflows
- Use Fluids to search fluids, open the state-point calculator, compare fluids, and export fluid reports.
- Use Materials to search material records, review physical, thermal, and mechanical properties, compare candidates, and export datasheets.
- Use Material Standards to review purchasing and inspection requirements linked to material records.
- Use API when another tool needs structured JSON, OpenAPI, bulk routes, or PLM-shaped material payloads.
What to trust first
Use the visible source-quality badge and the Source and validity panel before using a value in a calculation. Fluid and material records carry metadata for quality, validity, review status, and unit contract.
Normal calculation flow
- Search the catalog.
- Open the material, fluid calculator, or standard detail page.
- Select input units and output unit system.
- Calculate or review the result.
- Check source quality, validity, and warnings.
- Export PDF, CSV, or API data when needed.
Where values live
- Cleared public materials:
data/public/materials.json - Cleared public standards:
data/public/material_standards.json - Private material overlay:
data/private/materials.overlay.json - Private standards overlay:
data/private/material_standards.overlay.json - Fluid catalog records:
data/fluids/catalog.v1.json - Validation cases:
data/property_validation_cases.json
The private edition reads the public catalog first and then adds the private overlay. The public edition never reads the private directory. Import scripts for DIN, GOST, and uncleared engineering references write to the private overlay.
Run python3 run.py --edition public for the public runtime. Build a package that physically excludes private data with python3 scripts/build_edition.py public --archive.