Skip to content

Releases: dnv-opensource/farn

v0.4.2

06 Nov 12:29
2351789

Choose a tag to compare

Added

  • Added support for Python 3.14

Removed

  • Removed support for Python 3.10

Dependencies

  • Updated to dictIO>=0.4.2 (from dictIO>=0.4.1)
  • Updated to ospx>=0.3.2 (from ospx>=0.3.1)
  • Updated to ruff>=0.14.3 (from ruff>=0.9.2)
  • Updated to pyright>=1.1.407 (from pyright>=1.1.392)
  • Updated to sourcery>=1.40 (from sourcery>=1.31)
  • Updated to lxml>=6.0 (from lxml>=5.3)
  • Updated to types-lxml>=2025.8 (from types-lxml>=2024.12)
  • Updated to numpy>=2.3 (removed split version specifiers)
  • Updated to scipy>=1.16 (from scipy>=1.14)
  • Updated to pyDOE3>=1.6 (from pyDOE3>=1.0)
  • Updated to pandas>=2.3 (from pandas>=2.2)
  • Updated to pandas-stubs>=2.3 (from pandas-stubs>=2.2)
  • Updated to pillow>=12.0 (from Pillow>=11.1)
  • Updated to pytest>=8.4 (from pytest>=8.3)
  • Updated to pytest-cov>=7.0 (from pytest-cov>=6.0)
  • Updated to Sphinx>=8.2 (from Sphinx>=8.1)
  • Updated to sphinx-argparse-cli>=1.20 (from sphinx-argparse-cli>=1.19)
  • Updated to sphinx-autodoc-typehints>=3.5 (from sphinx-autodoc-typehints>=3.0)
  • Updated to furo>=2025.9 (from furo>=2024.8)
  • Updated to pre-commit>=4.3 (from pre-commit>=4.0)
  • Updated to mypy>=1.18 (from mypy>=1.14)
  • Updated to types-psutil>=7.0 (from types-psutil>=6.1)
  • Updated to checkout@v5 (from checkout@v4)
  • Updated to setup-python@v6 (from setup-python@v5)
  • Updated to setup-uv@v7 (from setup-uv@v5)
  • Updated to upload-artifact@v5 (from upload-artifact@v4)
  • Updated to download-artifact@v5 (from download-artifact@v4)

Changed

  • Renamed the CLI module (in folder src/farn/cli) from 'farn.py' to '__main__.py'.
    This follows current best practice (as in python_project_template).
    It avoids import errors caused by the fact that the cli module has the same name as the package it imports from.
  • Do not run code quality checks in nightly builds
  • Included uv.lock file in version control
  • pyproject.toml:
    • added required-environments to uv.tools (windows, linux, macos)
    • updated required Python version to ">= 3.11, < 3.15"
    • updated supported Python versions to 3.11, 3.12, 3.13, 3.14
    • removed deprecated pyright setting 'reportShadowedImports'
    • removed deprecated mypy plugin 'numpy.typing.mypy_plugin'
  • GitHub workflow _test.yml:
    • updated Python versions in test matrix to 3.11, 3.12, 3.13, 3.14
  • GitHub workflow _test_future.yml:
    • updated Python version in test_future to 3.15.0-alpha - 3.15.0
  • .pre-commit-config.yaml:
    • updated rev of pre-commit-hooks to v6.0.0
    • updated rev of ruff-pre-commit to v0.14.3
    • updated id of ruff to ruff-check
  • Sphinx conf.py:
    • removed ruff rule exception on file level
  • demos\folder_for_demos.py:
    • removed ruff rule exception
  • .sourcery.yaml:
    • updated the lowest Python version the project supports to '3.11'

Solved

  • Resolved issues raised by ruff 0.14.3

v0.4.1

19 Jan 16:00
ca4c549

Choose a tag to compare

Added

  • Added support for Python 3.13
  • Added CITATION.cff
  • pyproject.toml : Added keywords

Changed

  • ruff.toml : removed deprecated ruff rules ANN101 and ANN102 from excluded rules
  • Use f-string, where possible, instead of '%' style string formatting

Solved

  • src/farn/core/case.py : Changed the way how local variables get added / manipulated through code. Replaced access to locals() with sys._getframe().f_locals when manipulating local variables. This change became necessary as Python 3.13 changed the way Python's builtin locals() method works. See PEP 667 for details.
  • Resolved issues raised by ruff 0.9.2

Dependencies

  • Updated to ruff>=0.9.2 (from ruff>=0.6.3)
  • Updated to pyright>=1.1.392 (from pyright>=1.1.378)
  • Updated to sourcery>=1.31 (from sourcery>=1.22)
  • Updated to lxml>=5.3 (from lxml>=5.2)
  • Updated to types-lxml>=2024.12 (from types-lxml>=2024.4)
  • Updated to scipy>=1.15 (from scipy>=1.13)
  • Updated to matplotlib>=3.10 (from matplotlib>=3.9)
  • Updated to dictIO>=0.4.1 (from dictIO>=0.4.0)
  • Updated to Pillow>=11.1 (from Pillow>=10.4)
  • Updated to Sphinx>=8.1 (from Sphinx>=8.0)
  • Updated to sphinx-argparse-cli>=1.19 (from sphinx-argparse-cli>=1.17)
  • Updated to sphinx-autodoc-typehints>=3.0 (from sphinx-autodoc-typehints>=2.2)
  • Updated to mypy>=1.14 (from mypy>=1.11.1)
  • Updated to setup-uv@v5 (from setup-uv@v2)
  • Updated to ospx>=0.3.1 (from ospx>=0.3.0)
  • Updated to jupyter>=1.1 (from jupyter>=1.0)
  • Updated to pytest-cov>=6.0 (from pytest-cov>=5.0)
  • Updated to pre-commit>=4.0 (from pre-commit>=3.8)
  • Updated to types-psutil>=6.1 (from types-psutil>=6.0)
  • numpy: As Python 3.13 requires numpy 2.x, made minimum required numpy version in pyproject.toml dependent on Python version:
    • "numpy>=1.26; python_version < '3.13'",
    • "numpy>=2.2; python_version >= '3.13'",

v0.4.0

11 Nov 22:41
16d0111

Choose a tag to compare

Breaking changes

  • The code has been adapted to dictIO 0.4.0
    dictIO 0.4.0 introduced some breaking changes. With the current release 0.4.0 of farn, the code base has been adapted to these in changes.
    The most prominent change being that class dictIO.CppDict has been replaced by class dictIO.SDict.

Changed

  • Changed from pip/tox to uv as package manager
  • README.md : Completely rewrote section "Development Setup", introducing uv as package manager.
  • Changed publishing workflow to use OpenID Connect (Trusted Publisher Management) when publishing to PyPI
  • Updated copyright statement
  • VS Code settings: Turned off automatic venv activation
  • Replaced black formatter with ruff formatter

Solved

  • Sphinx documentation: Resolved issue that documentation of class members was generated twice.

Added

  • Sphinx documentation: Added extension to support Markdown-based diagrams

v0.4.0b4

11 Nov 21:50
a56b8fd

Choose a tag to compare

v0.4.0b4 Pre-release
Pre-release

Pre-release v0.4.0b4

v0.3.7

22 May 17:36
a6ef431

Choose a tag to compare

Dependencies

  • updated to ruff==0.4.2 (from ruff==0.2.1)
  • updated to pyright==1.1.360 (from pyright==1.1.350)
  • updated to sourcery==1.16 (from sourcery==1.15)
  • updated to lxml>=5.2 (from lxml>=5.1)
  • updated to types-lxml>=2024.4 (from types-lxml>=5.1)
  • updated to scipy>=1.13 (from scipy>=1.12)
  • updated to Pillow>=10.3 (from Pillow>=10.2)
  • updated to pytest>=8.2 (from pytest>=7.4)
  • updated to pytest-cov>=5.0 (from pytest-cov>=4.1)
  • updated to Sphinx>=7.3 (from Sphinx>=7.2)
  • updated to sphinx-argparse-cli>=1.15 (from sphinx-argparse-cli>=1.11)
  • updated to myst-parser>=3.0 (from myst-parser>=2.0)
  • updated to furo>=2024.4 (from furo>=2023.9.10)
  • updated to dictIO>=0.3.4 (from dictIO>=0.3.3)
  • updated to ospx>=0.2.14 (from ospx>=0.2.13)
  • updated to numpy>=1.26,<2.0 (from numpy>=1.26)
  • updated to matplotlib>=3.9 (from matplotlib>=3.8)
  • removed black

Changed

  • replaced black formatter with ruff formatter
  • Changed publishing workflow to use OpenID Connect (Trusted Publisher Management) when publishing to PyPI
  • Updated copyright statement
  • VS Code settings: Turned off automatic venv activation

Added

  • farn.core.case.Case: Added method add_parameters(), which allows to manually add user-defined parameters to a Case.

v0.3.6

21 Feb 20:27
af4c683

Choose a tag to compare

Added

  • README.md : Under Development Setup, added a step to install current package in "editable" mode, using the pip install -e option.
    This removes the need to manually add /src to the PythonPath environment variable in order for debugging and tests to work.

Removed

  • VS Code settings: Removed the setting which added the /src folder to PythonPath. This is no longer necessary. Installing the project itself as a package in "editable" mode, using the pip install -e option, solves the issue and removes the need to manually add /src to the PythonPath environment variable.

Changed

  • Moved all project configuration from setup.cfg to pyproject.toml
  • Moved all tox configuration from setup.cfg to tox.ini.
  • Moved pytest configuration from pyproject.toml to pytest.ini
  • Deleted setup.cfg

Dependencies

  • updated to black[jupyter]==24.1 (from black[jupyter]==23.12)
  • updated to version: '==24.1' (from version: '==23.12')
  • updated to ruff==0.2.1 (from ruff==0.1.8)
  • updated to pyright==1.1.350 (from pyright==1.1.338)
  • updated to sourcery==1.15 (from sourcery==1.14)
  • updated to lxml>=5.1 (from lxml>=4.9)
  • updated to scipy>=1.12 (from scipy>=1.11)
  • updated to pandas>=2.2 (from pandas>=2.1)
  • updated to Pillow>=10.2 (from Pillow>=10.1)

v0.3.5

09 Jan 17:38
bb6a4d9

Choose a tag to compare

Changed

  • farn/sampling/sampling.py:
    • _generate_values_using_uniform_lhs_sampling():
      replaced SALib latin with pyDOE2 lhs
    • _generate_values_using_sobol_sampling():
      replaced sobol-seq with scipy.stats.qmc.sobol
    • removed orphaned _cov argument from normalLhs sampling

Dependencies

  • Upgraded from pyDOE2>=1.3 to pyDOE3>=1.0
  • Removed SALib and sobol-seq
  • Updated to dictIO>=0.3.1 and ospx>=0.2.12

v0.3.4

25 Sep 16:10
7c1ac76

Choose a tag to compare

Dependencies

  • Updated dependencies to latest versions

v0.3.3

23 Jun 17:15

Choose a tag to compare

Changed

  • Modularized GitHub workflows
  • Changed default Python version in GitHub workflows from 3.10 to 3.11

Dependencies

  • updated to dictIO>=0.2.8 and ospx>=0.2.10
  • requirements-dev.txt: Updated dependencies to latest versions

v0.3.2

04 May 14:59

Choose a tag to compare

Changed

  • dependencies: updated dependencies to latest versions