Recent Releases of dictio
dictio - v0.4.1
Added
- Added support for Python 3.13
- Added CITATION.cff
- pyproject.toml : Added keywords
Solved
- Resolved issues raised by
ruff0.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'",
- Python
Published by ClaasRostock about 1 year ago
dictio - v0.4.0
Breaking changes
- Renamed modules: Following modules have been renamed in order to comply with PEP8 naming conventions:
dictIO.dictReader->dictIO.dict_readerdictIO.dictWriter->dictIO.dict_writerdictIO.dictParser->dictIO.dict_parserdictIO.cppDict->dictIO.cpp_dict - Module
formatter.py: RenamedFormatter.format_type()->Formatter.format_value() - Module
parser.py: RenamedParser.parse_type()->Parser.parse_value()RenamedParser.parse_types()->Parser.parse_values() - class
CppDictin moduledictIO.cppDicthas been replaced with the new classSDict[K, V]in moduledictIO.dict. In order to maintain backward compatibility, a thin wrapper class namedCppDictis kept in version ~0.4.0. It is marked as deprecated, though, and will be removed with release 0.5.0. - Where
CppDictinherited fromUserDict,SDictinherits directly from Python'sdictclass, allowing to use it in any context where adictor any otherMutableMappingis expected. SDictis generic: Static type checkers will hence require type arguments whenSDictis used. Where in dictIO < 0.4.0 you could writemy_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 builtindictclass works, and offers more control in static type checking.
Changed
- Changed from
pip/toxtouvas package manager - README.md : Completely rewrote section "Development Setup", introducing
uvas 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()andload()toSDict - Added
mypyas static type checker (in addition topyright)
GitHub workflows
- (all workflows): Adapted to use
uvas package manager - testfuture.yml : updated Python version to 3.13.0-alpha - 3.13.0
- testfuture.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)
- Python
Published by ClaasRostock over 1 year ago
dictio - v0.3.4
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
- Python
Published by ClaasRostock almost 2 years ago
dictio - v0.3.2
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)
- Python
Published by ClaasRostock about 2 years ago
dictio - v0.3.0
Changed
- Enabled recognition of strings with nested quotes in it (solves #2)
- GitHub workflows: Included Python 3.12 release version as standard, and Python 3.13.0a2 as "future" test.
Dependencies
- updated to black[jupyter]==23.12 (from black[jupyter]==23.11)
- updated to ruff==0.1.8 (from ruff==0.1.6)
- updated to pyright==1.1.338 (from pyright==1.1.336)
- Python
Published by ClaasRostock about 2 years ago
dictio - v0.2.5
Changed
- Linter: Migrated from flake8 to ruff. (Added ruff; removed flake8 and isort)
- Adjusted GitHub CI workflow accordingly. (Added ruff job; removed flake8 and isort jobs)
- VS Code settings: Adjusted Pylance configuration
- Sphinx documentation: Rebuilt API documentation
Added
- Added a batch file 'qa.bat' in root folder to ease local execution of code quality checks
- Python
Published by ClaasRostock about 3 years ago
dictio - v0.2.4
Changed
- Moved dev-only dependencies from requirements.txt to requirements-dev.txt
- dictIO/
__utils__.py : ensured that imported symbols get also exported
(added "as" clause -> "from x import y as y" instead of only "from x import y") - Configured code quality tools flake8, black, isort, pyright
- Improved code quality, resolving all warnings and errors flagged by the configured code quality tools (flake8, black, isort, pyright, sourcery)
Added
- Added support for selected numpy functions (diag, eye, ones, zeros)
which can now be used in expressions.
This is an experimental feature which might be removed or changed in future. - Added GitHub workflow 'main.yml' for continuous integration (runs all CI tasks except Sphinx)
- format checks: black, isort
- lint check: flake8, flake8-bugbear
- type check: pyright
- test: uses tox to run pytest on {Windows, Linux, MacOS} with {py39, py310}
- publish: publishing to PyPI (runs only on push of new tag vx.x.x, and after all other jobs succeeded)
- mergetorelease_branch: merge tagged commit to release branch (runs after publish)
- Python
Published by ClaasRostock over 3 years ago
dictio - v0.2.3
Changed
- Code formatting: Changed from yapf to black
- STYLEGUIDE.md : Adjusted to match black formatting
- VS Code settings: Updated to use black as formatter
- requirements.txt: Updated dependencies to their most recent versions
- GitHub actions (yml files): Updated following actions to their most recent versions:
- checkout@v1 -> checkout@v3
- setup-python@v2 -> setup-python@v4
- cache@v2 -> cache@v3
Added
- Added sourcery configuration (.sourcery.yaml)
- Added py.typed file into the package root folder and included it setup.cfg as package_data
- Documentation: Included sub-package dictIO.utils in documentation
- Python
Published by ClaasRostock over 3 years ago
dictio - XmlParser : Changed how empty XML nodes get parsed
- Python
Published by ClaasRostock over 3 years ago