Skip to content

Releases: mdickinson/simplefractions

simplefractions 1.4.0

02 Nov 14:18
1.4.0
f5b08e6

Choose a tag to compare

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 using struct. (#42)
  • Modernise type hints, replacing uses of typing.Optional, typing.Union,
    typing.List and typing.Tuple with more modern syntax. (#41)
  • Modernise packaging to use uv, and add a developer guide in DEVELOP.md. (#40)

simplefractions 1.3.0

17 May 10:29
1.3.0
80ab3ee

Choose a tag to compare

This is a minor release that updates dependencies. The core logic is unchanged.

Fixes

  • Add the missing py.typed marker 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 ruff for formatting and linting, replacing use of black,
    isort and flake8. (#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

21 Aug 15:59
1.2.1
e6f6c12

Choose a tag to compare

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

21 Aug 15:18
1.2.0
ed8d3f4

Choose a tag to compare

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

17 Feb 19:01
7666cb6

Choose a tag to compare

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

09 Dec 16:01
0ba7023

Choose a tag to compare

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_interval logic included in docstrings
  • Additional testing

simplefractions 1.0.0

09 Dec 16:04
a1e1d80

Choose a tag to compare

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_interval finds the simplest fraction in a given subinterval (open or closed, finite or infinite) of the real line
  • simplest_from_float finds the simplest fraction that recovers a given Python float