Releases: sdrobert/pydrobert-param
v0.4.1
v0.4.0
The primary addition of this version is beta functionality for the new (de)serialization approach based on param's native approach for JSON. In addition, there are a couple of very minor breaking changes which can be found in the changelog below.
Changelog
- Added extras.
- Bug fix for YAML backends when only one backend is installed.
- New serialization protocols based on param's built-in serialization are in
beta. Added code, tests, and documentation. - Refactored code to separate serialization from/to file from the dict stuff.
- Extended file serialization to handle non-dict stuff and avoid some bugs.
DEFAULT_*globals are no longer exposed inpydrobert.serialization. A breaking change, but since functions already have a means of updating the default dictionary temporarily, one unlikely to cause many issues. - Moved to
pydrobert.configand redefined an element inYAML_MODULE_PRIORITIES. Technically a breaking change, but one unlikely to cause many issues.
v0.3.1
Summary
A variety of clean up operations. While the adjustments to pydrobert.param.abc do technically change the API, they do not do so in ways the user will likely care about.
Change log
- Handle ABC issues with MRO instead of redefining base class.
- No more
setup.py. - Removed
recipe. - Bumped minimum version to 3.7.
- Updated documentation.
Python 3 only, breaking backwards compatibility
A considerable amount of refactoring occurred for this build, chiefly to get
rid of Python 2.7 support. While the functionality did not change much for this
version, we have switched from a pkgutil-style pydrobert namespace to
PEP-420-style namespaces. As a result, this package is not
backwards-compatible with previous pydrobert packages! Make sure that if any
of the following are installed, they exceed the following version thresholds:
pydrobert-kaldi >0.5.3pydrobert-pytorch >0.2.1pydrobert-speech >0.1.0
Miscellaneous other stuff:
- Type hints everywhere
- Shifted python source to
src/ - Black-formatted remaining source
- Removed
future,six,configparserdependencies - Shifted most of the configuration to
setup.cfg, leaving only a shell
insetup.pyto remain compatible with Conda builds - Added
pyproject.tomlfor PEP 517. tox.inifor TOX testing- Switched to AppVeyor for CI
- Added changelog :D
Optuna compatibility
Besides run-of-the-mill package compatibility updates and some new formatting from Black, this release adds some interfaces for Parameterized instances that can easily be crawled and populated by Optuna.
This version is also the last that will support Python 2.7. Later versions will rely on Python 3 exclusive syntax.
Command line, argparse, and better INI support
** This release is identical to v0.1.0, but with a bug fix **
This release includes a number of bits and bobs, including changes to the API. They are:
- INI (de)serialization of container types (e.g. lists, dictionaries, arrays) is now, by default, to JSON.
- Use each syntax's built-in support for
Noneinstead of (de)serializing between strings and None. (INI doesn't technically have this, but ConfigParser does). - Command line utilities
combine-*-filesthat can combine JSON, INI, or YAML files - Argparse print actions that print INI, JSON, or YAML
- Convenience functions to add read and print actions to an argparse parser object of all three file types
- Bug fixes
v0.1.0
Bug fixes and better docs
A rather uneventful release. I just fixed a few things and got some docs up.