All notable changes to PyCFAST are documented in this file.
- Add
Visualizationcomponent for Smokeview outputs (2-D/3-D slices, isosurfaces) (#129, #194) Compartment: addgridparameter to control Smokeview slice-file resolution (#197)- Add CFAST 7.7.7 support (#163)
Device.location,Device.normal,Device.convection_coefficientsand other sequence parameters acrossCompartment,Fire,CeilingFloorVent,MechanicalVent,WallVentnow expecttupleinstead oflist(#198)
CFASTModel: raiseValueErrorfor models with zero compartments (#165, #166)Fire: preserve multiple fire instances sharing aFIRE_ID(#136, #190)- Raise
TypeErrorinstead ofValueErrorfor wrong parameter types acrossCompartment,Device,SurfaceConnection, andCFASTModel.save()(#199)
- Update Docker workflows for the
hatch-vcsmigration; version is now derived automatically from git tags (#200) - Documentation and dependency updates
Compartment: support multiple materials for wall, floor and ceiling (#132)- Add CFAST 7.7.6 support (#128)
- Add validation suite (#135)
Device: allow zero value forspray_density(#131)CFASTModel.save(): restore_written_contentwhen using alternatefile_name(#120)
- Add JOSS paper and bibliography (#141, #142)
First Beta release.
Fire: support dict format fordata_tablewith named columns (#94)CFASTModel.add(): now accepts any component type, replacing specificadd_*()methods (#112)
Material:thickness,conductivity,density,specific_heatare now requiredDevice:setpointandrtirequired forHEAT_DETECTOR/SPRINKLER;spray_densityrequired forSPRINKLERFire:set_pointrequired whenignition_criterionis setCFASTModel: removed dict-like access (model['compartments']); usemodel.compartmentsdirectly
CFASTModel.run(): CFAST executable resolution raisesFileNotFoundErrorwith a clear message for each failed path (explicit,$CFASTenv var, PATH) (#111)- Enhanced validation across all components with stricter rules and clearer error messages (#109)
- All components now validate on attribute assignment after initialization (#109)
- Removed
__repr_html__andbuild_cardHTML methods fromCFASTModel(#96) - Doctests added for all public components;
make testandmake test-doctestnow include them (#109) - Documentation and dependency updates
- Implement base component class for all CFAST components (#85)
- Add input validation for all components (#59)
- Rename component classes from plural to singular (#83)
- Replace logger with warnings for error handling (#88)
- Use Path for handling file paths and remove deprecated parameters (#87)
- Refactor CFASTModel methods to avoid repetition (#86)
- Add Windows CI for latest CFAST commit (#76)
- Update Python version to 3.14
- Fix missing
_validate()in__setitem__for some components (#65) - Documentation and dependency updates
- Remove CFAST binary distribution due to complexity (#34)
- Add testing for multiple CFAST versions on Windows and Linux from version 7.7.0 to 7.7.5 (#33)
- Refactor Dockerfile
- Add CODE_OF_CONDUCT.md
- Improve documentation and installation instructions (#35, #36)
- Add wheels with CFAST precompiled binaries for Linux (#21)
- Add bug report and feature request issue templates
- Add CITATION.cff file with Zenodo DOI
- Update documentation and example improvements
- Improve CI/CD workflows (Windows testing, workflow dispatch)
- Release made for Zenodo archived (10.5281/zenodo.18703351)
- Initial release, compatible with CFAST 7.7.5