Releases: gerlero/foamlib
Releases · gerlero/foamlib
v1.3.2
v1.3.1
What's Changed
- Update type aliases by @gerlero in #534
- Update docs by @gerlero in #535
- Fix serialization of multi-mappings by @gerlero in #536
- Remove alias comments for Dimensioned and DimensionSet by @gerlero in #537
- Update FoamFile context docstrings by @gerlero in #538
- Update docs by @gerlero in #540
- Add missing docstrings by @gerlero in #541
- Fix docstrings by @gerlero in #542
- Remove delitem method from _run.py by @gerlero in #543
- Mark positional-only parameter in getitem method by @gerlero in #544
- Add delitem method documentation for FoamCaseBase by @gerlero in #545
- Update case copy and clone dosctrings by @gerlero in #546
- Add check for paths outside case in FoamCaseBase file method by @gerlero in #547
Full Changelog: v1.3.0...v1.3.1
v1.3.0
🌟 v1.3.0 Highlights
- Simplified API: The
DimensionedandDimensionSetclasses are now (also) available at the top level. - Better docs: Improved documentation, re-organized pages, fixed typos, and added more cross-references.
- [
foamlib.preprocessing] Easier automation: You can now create parameter studies directly from Python. - [
foamlib.preprocessing][foamlib.postprocessing] Better error messages: When attempting to import without the required extras dependencies.
What's Changed
- Improve error message when importing modules without extra dependencies by @gerlero in #500
- Update type hints by @gerlero in #503
- Improve typing by @gerlero in #504
- Update typing by @gerlero in #505
- Update README.md by @gerlero in #506
- Remove redundant onerror parameter in _rmtree by @gerlero in #507
- Update _cases._util module by @gerlero in #508
- Update type hints by @gerlero in #509
- Move is_sequence function to _util module by @gerlero in #511
- Rename type variables by @gerlero in #512
- Rename internal submodules by @gerlero in #513
- Update dependency groups by @gerlero in #515
- Update typing by @gerlero in #517
- Potential fix for code scanning alert no. 1: Workflow does not contain permissions by @gerlero in #518
- Potential fix for code scanning alert no. 2: Workflow does not contain permissions by @gerlero in #519
- Create parameter studies from records by @greole in #502
- Exposed
DimensionedandDimensionSetclasses at the top level by @gerlero in #521 - Update documentation pages of extra modules by @gerlero in #501
- Switch preprocessing.system functions to PEP 8/
FoamCase-like names by @gerlero in #510 - Update README.md by @gerlero in #523
- Update README.md by @gerlero in #524
- Update docs site by @gerlero in #525
- Update docs by @gerlero in #527
- Fix docstring typos, language issues, and add cross-references by @Copilot in #526
- Update docs by @gerlero in #528
- Update README.md by @gerlero in #529
- Fix dimensions type hint by @gerlero in #530
- Update .readthedocs.yaml by @gerlero in #531
- Clarify foamlib description and paper reference by @gerlero in #532
- Update docs by @gerlero in #533
New Contributors
Full Changelog: v1.2.1...v1.3.0
v1.2.1
What's Changed
- Update FoamFile docstring by @gerlero in #489
- Bump Docker image Python to 3.13 by @gerlero in #490
- Add basic diffusion check example to examples directory by @gerlero in #491
- Rearrange documentation pages by @gerlero in #492
- Improve typing by @gerlero in #493
- Improve and refresh README.md with modern formatting and enhanced content by @Copilot in #494
- Update README.md by @gerlero in #495
- Update README.md by @gerlero in #497
- Fix eval-type-backport dependency condition by @gerlero in #496
- Update serialization logic by @gerlero in #498
Full Changelog: v1.2.0...v1.2.1
v1.2.0
🚀 foamlib v1.2.0
This release brings improved parsing, better progress tracking, and a modernized codebase.
Highlights
- Log file monitoring to track OpenFOAM case progress even when run scripts are used.
- Smarter parsing with clearer errors (foamlib now raises
ValueErroron parsing failures). - Support for files with multiple directives of the same kind at the same level (e.g.
#includes) viamulticollections. - Dropped support for Python 3.7 (Python 3.8+ required).
What's Changed
- Add log file monitoring for progress tracking in OpenFOAM cases by @Copilot in #440
- Add MultiMapping and MutableMultiMapping ABCs by @gerlero in #442
- Add multidict dependency by @gerlero in #443
- Add comprehensive tests for MultiMapping/MutableMultiMapping classes to verify multidict compatibility by @Copilot in #448
- Drop multidict requirement and remove unused MultiMapping utility classes by @Copilot in #451
- Use MultiDicts where necessary to allow multiple equivalent keywords by @gerlero in #455
- Remove unneeded typing ignores by @gerlero in #456
- Reduce code duplication in _parsing.Parsed class by extracting helper methods by @Copilot in #458
- Reduce code duplication in FoamFile: setitem and add methods by @Copilot in #457
- Refactor Parsed.delitem to use MutableMultiMapping default and centralize removal logic by @Copilot in #459
- Drop support for Python 3.7 by @gerlero in #460
- Remove ignore for Ruff rule UP007 and fix all occurrences by @Copilot in #461
- Require mypy 1.16 by @gerlero in #464
- Introduce Python 3.8+ constructs throughout codebase by @Copilot in #462
- Re-enable extra Ruff rules by @gerlero in #465
- Re-enable unused-ignore mypy error code by @gerlero in #466
- Add @OverRide decorators to resolve mypy errors by @Copilot in #468
- Enable mypy explicit-override optional check by @gerlero in #467
- Add pragma: no cover to TYPE_CHECKING-gated imports by @gerlero in #469
- Update pyproject.toml by @gerlero in #470
- Switch to uv build backend by @gerlero in #471
- Bump multicollections to 0.3 by @gerlero in #473
- Bump multicollections to 0.4 by @gerlero in #474
- Improve parsing by @gerlero in #475
- Add license and license-files to pyproject.toml by @gerlero in #476
- Update Parsed.as_dict implementation to return MultiDicts where needed by @gerlero in #480
- Simplify parsing logic by @gerlero in #481
- Refactor Parsed object creation by @gerlero in #482
- Remove unused function by @gerlero in #483
- Update parsing by @gerlero in #484
- Rearrange documentation pages by @gerlero in #486
- Raise ValueError on parsing failures by @gerlero in #485
- Add tests for ValueError-raising parsing errors by @Copilot in #487
- Bump multicollections requirement by @gerlero in #488
Full Changelog: v1.1.6...v1.2.0
v1.1.6
What's Changed
- Update pytest-asyncio requirement from <0.27,>=0.21 to >=0.21,<1.2 by @dependabot[bot] in #431
- Bump actions/checkout from 4 to 5 by @dependabot[bot] in #430
- Fix #319: Prevent accumulation of blank lines in sub-dictionary updates by @Copilot in #434
- Fix parsing issues with complex keys containing special characters in parentheses by @Copilot in #436
- Fix mypy errors in tests/test_files/test_issue_319.py by @Copilot in #438
New Contributors
- @Copilot made their first contribution in #434
Full Changelog: v1.1.5...v1.1.6