Skip to content

Releases: dnv-opensource/dictIO

v0.4.1

18 Jan 13:55
c0fae3d
Compare
Choose a tag to compare

Added

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

Solved

  • 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 types-lxml>=2024.12 (from types-lxml>=2024.4)
  • Updated to sphinx-autodoc-typehints>=3.0 (from sphinx-autodoc-typehints>=2.2)
  • Updated to mypy>=1.14 (from mypy>=1.13)
  • Updated to setup-uv@v5 (from setup-uv@v2)
  • Updated to lxml>=5.3 (from lxml>=5.2)
  • Updated to jupyter>=1.1 (from jupyter>=1.0)
  • Updated to pytest-cov>=6.0 (from pytest-cov>=5.0)
  • Updated to Sphinx>=8.1 (from Sphinx>=8.0)
  • Updated to sphinx-argparse-cli>=1.19 (from sphinx-argparse-cli>=1.17)
  • Updated to pre-commit>=4.0 (from pre-commit>=3.8)
  • Updated to mypy>=1.14 (from mypy>=1.11.1)
  • 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:13
0889ccb
Compare
Choose a tag to compare

Breaking changes

  • Renamed modules: Following modules have been renamed in order to comply with PEP8 naming conventions:
    dictIO.dictReader -> dictIO.dict_reader
    dictIO.dictWriter -> dictIO.dict_writer
    dictIO.dictParser -> dictIO.dict_parser
    dictIO.cppDict -> dictIO.cpp_dict
  • Module formatter.py :
    Renamed Formatter.format_type() -> Formatter.format_value()
  • Module parser.py :
    Renamed Parser.parse_type() -> Parser.parse_value()
    Renamed Parser.parse_types() -> Parser.parse_values()
  • class CppDict in module dictIO.cppDict has been replaced with the new class SDict[K, V] in module dictIO.dict.
    In order to maintain backward compatibility, a thin wrapper class named CppDict is kept in version ~0.4.0.
    It is marked as deprecated, though, and will be removed with release 0.5.0.
  • Where CppDict inherited from UserDict, SDict inherits directly from Python's dict class,
    allowing to use it in any context where a dict or any other MutableMapping is expected.
  • SDict is generic: Static type checkers will hence require type arguments when SDict is used.
    Where in dictIO < 0.4.0 you could write
    my_dict: CppDict = CppDict(),
    you will now need to specify the type arguments, e.g.
    my_dict: SDict[str, Any] = SDict().
    With this change, type hinting is in line with how Python's builtin dict class works, and offers more control in static type checking.

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 created with Mermaid.
  • Added instance methods dump() and load() to SDict
  • Added mypy as static type checker (in addition to pyright)

GitHub workflows

  • (all workflows): Adapted to use uv as package manager
  • _test_future.yml : updated Python version to 3.13.0-alpha - 3.13.0
  • _test_future.yml : updated name of test job to 'test313'

Dependencies

  • Updated to ruff>=0.6.3 (from ruff==0.4.2)
  • Updated to pyright>=1.1.378 (from pyright==1.1.360)
  • Updated to sourcery>=1.22 (from sourcery==1.16)
  • Updated to pytest>=8.3 (from pytest>=8.2)
  • Updated to Sphinx>=8.0 (from Sphinx>=7.3)
  • Updated to sphinx-argparse-cli>=1.17 (from sphinx-argparse-cli>=1.16)
  • Updated to myst-parser>=4.0 (from myst-parser>=3.0)
  • Updated to furo>=2024.8 (from furo>=2024.5)
  • updated to setup-python@v5 (from setup-python@v4)
  • updated to actions-gh-pages@v4 (from actions-gh-pages@v3)
  • updated to upload-artifact@v4 (from upload-artifact@v3)
  • Updated to download-artifact@v4 (from download-artifact@v3)
  • updated to checkout@v4 (from checkout@v3)

v0.4.0b10

11 Nov 18:21
3ecb3b1
Compare
Choose a tag to compare
v0.4.0b10 Pre-release
Pre-release

Pre-release v0.4.0b10

v0.4.0b3

10 Nov 22:15
0e1fada
Compare
Choose a tag to compare
v0.4.0b3 Pre-release
Pre-release

Pre-release v0.4.0b3

v0.4.0b2

10 Nov 21:27
856c543
Compare
Choose a tag to compare
v0.4.0b2 Pre-release
Pre-release

Pre-release v0.4.0b2

v0.4.0b1

10 Nov 20:27
f638129
Compare
Choose a tag to compare
v0.4.0b1 Pre-release
Pre-release

Pre-release v0.4.0b1

v0.3.4

22 May 16:46
b2bfba1
Compare
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 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 numpy>=1.26,<2.0 (from numpy>=1.26)
  • 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

v0.3.3

21 Feb 20:07
Compare
Choose a tag to compare

Hotfix

  • corrected name of cli script (wrong: dictIO correct: dictParser)

v0.3.2

21 Feb 19:29
a364e88
Compare
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)

v0.3.1

09 Jan 16:54
b1dc49d
Compare
Choose a tag to compare

Solved

  • Solved a bug that led to single character references not being identified
    (solves #14).