Releases: mdickinson/simplefractions
simplefractions 1.4.0
This is a minor release that updates packaging infrastructure, drops support for Python
versions older than Python 3.10, and modernises some of the core code. The core logic
and functionality is essentially unchanged.
Changes
- Update the release workflow to use
uv. (#44) - Rename an internal helper function to silence linter complaints about importing
a private function. (#43) - Rework the logic that finds the interval rounding to a float to use
math.nextafter
instead of usingstruct. (#42) - Modernise type hints, replacing uses of
typing.Optional,typing.Union,
typing.Listandtyping.Tuplewith more modern syntax. (#41) - Modernise packaging to use
uv, and add a developer guide inDEVELOP.md. (#40)
simplefractions 1.3.0
This is a minor release that updates dependencies. The core logic is unchanged.
Fixes
- Add the missing
py.typedmarker file, so that consumers can make
use of the existing type hints. (#31) - Fix type hints to be Python 3.8-compatible in the
fraction_to_float.py
script. (#31)
Changes
- Update build depencencies (setuptools, setuptools-scm) to more recent
versions. (#37) - Bump GitHub Actions versions. (#36, #35)
- Add a dependabot config to help keep GitHub Actions up to date. (#34)
- Use
rufffor formatting and linting, replacing use ofblack,
isortandflake8. (#33) - Adjust supported Python versions. The minimum version is now 3.8, and we
run tests on all versions through Python 3.14. (#32) - Move type checks to the test job instead of the style job, so that type
checks are performed for all supported Python versions. (#31)
simplefractions 1.2.1
This is a bugfix release that fixes an ugly rendering of the license on the
PyPI release page.
Changes
- Don't specify license as a file in pyproject.toml. (#30)
simplefractions 1.2.0
This is a minor release focused on improvements to the development
workflow.
Changes
- Document bounds for fraction-to-float-to-fraction roundtripping. (#27)
- Add some missing type annotations. (#14)
- Add automated publishing workflow. (#28, #29)
- Add mypy and isort CI checks. (#9, #16)
- Add Python 3.11-dev to CI checks, replace 3.10-dev with 3.10. (#12, #28)
- Move to pyproject.toml-based packaging. (#15, #28)
- Move package source under
src/. (#28) - Update copyright header years. (#17)
- Cleanup and modernization of on-commit workflow. (#10, #28)
- Minor style and typo fixes. (#11, #13, #18)
simplefractions 1.1.1
This is a tiny bugfix release that fixes a missing word in the README. There's no change in the Python code.
simplefractions 1.1.0
The main changes in the 1.1.0 release are:
- Significant simplification of the internal logic for
simplest_in_interval - A proof of correctness of the
simplest_in_intervallogic included in docstrings - Additional testing
simplefractions 1.0.0
This is the first release of the simplefractions package.
This package exists simply to expose two useful algorithms in well-tested, general, form:
simplest_in_intervalfinds the simplest fraction in a given subinterval (open or closed, finite or infinite) of the real linesimplest_from_floatfinds the simplest fraction that recovers a given Pythonfloat