Repository navigation
Build out ROADMAP.md sections 0-8 - #6
Merged
Merged
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Rename library/ -> fpc/ and update every import, test, doc, GUI, and demo. - Add a hatchling [build-system] so the repo installs with uv/pip. - Stop tracking per-user .idea/ settings. - Rewrite CLAUDE.md current-state section; drop stale README test count. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rence data - Fluids.colebrook_friction_factor (brentq) + Swamee-Jain approximation. - Design class: beam height by root finding; lightest beam by SLSQP with stress, deflection, and aspect-ratio constraints. - Properties class: pandas loading of cited tables in fpc/data/ with linear / cubic-spline interpolation and no silent extrapolation. - Reference tables: water (IAPWS-95 via CoolProp, generator included), materials (MatWeb/ASM typical), AISC W-shapes (self-consistency tested). - Utility.read_table / write_table for CSV and Excel; Thermo LMTD. - GUI preloads design and props. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- templates/engineering_script.py: inputs -> calculate -> report -> plot -> export. - examples/: pump sizing, beam selection (Pint + pandas), PID tuning, heat exchanger, motor sizing, shielding, pandas sensor-log analysis, vectorization lesson; radiology_demo.py moved here. - Smoke test runs every example and the template in a subprocess. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Fluids.pipe_flow chains continuity, Reynolds, Colebrook, Darcy-Weisbach. - examples/tools/: script -> argparse CLI -> tkinter form -> Streamlit app. - fpc/cli.py registered as the `fpc` console script (pipe-flow, water). - docs/building-tools.md walks the ladder; streamlit in the 'apps' group. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Three notebooks (getting started, pipe flow + data, beam design) generated from notebooks/make_notebooks.py; 'notebooks' dependency group; CI executes every notebook via nbclient. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Ruff lint (explicit rule set) + format, applied to the whole repo. - mypy (non-strict) on fpc; annotate the Pint registry. - pre-commit with local hooks (ruff check/format, pytest) using uv.lock versions. - mkdocs-material + mkdocstrings API reference from the docstrings; docs workflow builds strictly on PRs and deploys to GitHub Pages on main. - CI runs ruff, format check, mypy, and pytest (incl. notebooks/examples). - docs/units.md: plain SI floats for the math, Pint at the boundaries. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- PACKAGES.md: packages grouped by field with 'use it when' guidance, PyPI-vs-import names, curated lists; every package release date and link checked 2026-11-06 (PySpice, harold, pyradiomics flagged as stale). - README: top-10 package table linking PACKAGES.md, design/data section, 'use this library in your own project', developer tooling, new layout. - SPEC: mark vectorization, SciPy toolbox, and pandas items done. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- CONTRIBUTOR.md: new-domain-class checklist, full pre-PR check commands, units and reference-data conventions, PACKAGES.md for dependencies. - Issue forms: bug report, new domain/method, new worked example. - ROADMAP.md: sections 0-8 ticked with decisions noted; follow-ups added (enable Pages, verify materials/W-shape data at source, MkDocs EOL). - CLAUDE.md: current state reflects fpc/data and new classes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Resolves all 41 open Dependabot alerts (5 critical, 23 high, 13 moderate), every one of which is a Pillow advisory first patched in 13.0.0 - including heap buffer overflows in the JPEG/FlashPix/TIFF codecs and a Ghostscript argument injection. Pillow is a transitive dependency (via matplotlib). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Resolve the uv.lock conflict in favor of Pillow 13.0.0: 12.3.0 is still inside the vulnerable range of all 41 open alerts. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implements every item in
ROADMAP.md(sections 0–8), one commit per section.Decisions
library→fpc. This breaks existing imports; every import, test, doc, the GUI, and the demos are updated.docs/units.md).fpc/data/(not a top-leveldata/), so it ships when the package is installed elsewhere.What's new
fpcconsole command (fpc pipe-flow,fpc water).Fluids.colebrook_friction_factor(brentq),Fluids.pipe_flow,Design(root-finding sizing and SLSQP lightest beam),Properties(pandas tables with linear/cubic interpolation and no silent extrapolation),Utility.read_table/write_table(CSV/Excel),Thermo.log_mean_temperature_difference.templates/engineering_script.py; 8 worked examples plus the moved radiology demo; the tool-building ladder (docs/building-tools.md: script → argparse → tkinter → Streamlit → installed command); 3 notebooks;PACKAGES.md(every package's release date and link checked; PySpice, harold, and pyradiomics flagged as stale).main.Verification
ruff check,ruff format --check, andmypyare clean.mkdocs build --strictpasses.AppTest.fpcand reads the bundled data.Before / after merging
main.ROADMAP.md. Most important: verifymaterials.csvandw_shapes.csvagainst their original sources. The W-shape rows pass a physics self-consistency test, but neither table was copied from a fetched source.57c2113).🤖 Generated with Claude Code