Skip to content

Commit

Permalink
Release v0.17.2 (#113)
Browse files Browse the repository at this point in the history
* chore: bump version refs to `0.17.2`

* ci: refactor matrix strategy for cross-platform jobs - move Python 3.10 support to use custom strategy using MacOS 13 / x64 and Ubuntu latest / x64 platforms + use MacOS latest for Python 3.11 & 3.12

* docs: update contributions guidelines (Sphinx source + MD)

* docs: tweaks to the index and getting started pages

* docs: tweak contributions guidelines

* docs: improvements and fixes in the source page for exploring continued fractions

* ci: further improvements in the matrix strategy

* chore: tweak security policy (`SECURITY.MD`)

* docs: tweak docs for getting started and sequences

* docs: tweak README

* docs: fixes and improvements for the getting started and sequences pages

* chore(deps): update dev. dependencies
  • Loading branch information
sr-murthy authored Jul 9, 2024
1 parent 42ef89e commit 0f40b1f
Show file tree
Hide file tree
Showing 13 changed files with 268 additions and 257 deletions.
22 changes: 15 additions & 7 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,23 +26,31 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ["3.10", "3.11", "3.12"]
os: [ubuntu-latest, windows-latest, macos-13]
python-version: ["3.11", "3.12"]
os: [ubuntu-latest, macos-latest, windows-latest]
install-via: [pip]
arch: [x64]
include:
- python-version: "3.10"
os: ubuntu-latest
install-via: pip
arch: x64
- python-version: "3.10"
os: macos-13
install-via: pip
arch: x64
- python-version: "3.10"
os: windows-latest
install-via: pip
arch: x86
arch: x64
- python-version: "3.11"
os: windows-latest
os: macos-latest
install-via: pip
arch: x86
arch: arm64
- python-version: "3.12"
os: windows-latest
os: macos-latest
install-via: pip
arch: x86
arch: arm64

steps:
- uses: actions/checkout@v4
Expand Down
4 changes: 2 additions & 2 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,6 @@ keywords:
- real numbers

license: MPL-2.0
version: 0.17.1
date-released: 2024-07-08
version: 0.17.2
date-released: 2024-07-09

21 changes: 12 additions & 9 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -141,15 +141,16 @@ Tests are defined in the `tests` folder, and should be run with
[pytest](https://pytest-cov.readthedocs.io/en/latest/).

For convenience different types of test targets are defined in the
[Makefile](Makefile): `lint` for Ruff linting, `doctests` for running
[Makefile](https://github.com/sr-murthy/continuedfractions/blob/main/Makefile):
`lint` for Ruff linting, `doctests` for running
[doctests](https://docs.python.org/3/library/doctest.html) and
`unittests` for running unittests and measuring coverage, using `pytest`
and the `pytest-cov` plugin:

``` bash
make lint
make doctests
make unittests
make doctests
```

Linting warnings should be addressed first. The doctests serve as
Expand All @@ -169,7 +170,7 @@ The Sphinx documentation can be built locally on any branch from the
**project root** using:

``` bash
make -C docs "html"
make -C docs html
```

First, ensure that you have installed the docs Python requirements,
Expand All @@ -188,16 +189,18 @@ pdm install -v --dev --no-editable --no-self
## CI/CD

The CI/CD pipelines are defined in the [CI
YML](.github/workflows/ci.yml), and pipelines for all branches include a
tests stage, consisting of Ruff linting, Python doctests, and unit
tests, in that order. This will be amended in the future to ensure that
tests are only run on updates to PRs targeting `main`, to avoid
duplication on `main`.
YML](https://github.com/sr-murthy/continuedfractions/blob/main/.github/workflows/ci.yml)
and the [CodeQL Analysis
YML](https://github.com/sr-murthy/continuedfractions/blob/main/.github/workflows/codeql-analysis.yml),
and pipelines for all branches include a tests stage, consisting of Ruff
linting, Python doctests, and unit tests, in that order. This will be
amended in the future to ensure that tests are only run on updates to
PRs targeting `main`, to avoid duplication on `main`.

## Versioning and Releases

The [PyPI package](https://pypi.org/project/continuedfractions/) is
currently at version `0.14.1` - the goal is to use [semantic
currently at version `0.17.2` - the goal is to use [semantic
versioning](https://semver.org/) consistently for all future releases,
but some earlier releases do not comply with strict semantic versioning.

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ A simple extension of the Python [`fractions`](https://docs.python.org/3/library

The [PyPI package](https://pypi.org/project/continuedfractions/) is updated as necessary with improvements, features and fixes. Only standard libraries are used, and the package can be installed on any **Linux**, **Mac OS** or **Windows** system supporting **Python 3.10**, **3.11**, or **3.12**.
```shell
pip install continuedfractions
pip install -U continuedfractions
```

See the [project docs](https://continuedfractions.readthedocs.io/en/latest/) for more details, which includes the [API reference](https://continuedfractions.readthedocs.io/en/latest/sources/api-reference.html).
Expand Down
2 changes: 1 addition & 1 deletion SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

The package currently only uses Python standard libraries (see the [project TOML](https://github.com/sr-murthy/continuedfractions/blob/main/pyproject.toml)), and has no 3rd party dependencies. Security / vulnerability alerts related to [Python itself](https://www.cvedetails.com/vulnerability-list/vendor_id-10210/product_id-18230/Python-Python.html) would be addressed within Python.

A listing of current security / vulnerability alerts is available via [Dependabot alerts](https://github.com/sr-murthy/continuedfractions/security) - these are usually related to sub-dependencies of optional or development dependencies, and are addressed via dedicated PRs as they arise.
A listing of current security / vulnerability alerts is available via [Dependabot](https://github.com/sr-murthy/continuedfractions/security) - these are usually related to sub-dependencies of optional or development dependencies, and are addressed via dedicated PRs as they arise.

The repository is enabled with a number of features to ensure security, including [CodeQL analysis](https://github.com/sr-murthy/continuedfractions/actions/workflows/codeql-analysis.yml),
[Dependabot alerts](https://docs.github.com/en/code-security/dependabot/dependabot-alerts/about-dependabot-alerts) and [secrets scanning](https://docs.github.com/en/code-security/secret-scanning/about-secret-scanning).
Expand Down
6 changes: 3 additions & 3 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@
continuedfractions
==================

A simple extension of the Python :py:mod:`fractions` standard library for working with `continued fractions <https://en.wikipedia.org/wiki/Continued_fraction>`_ as Python objects.
A simple extension of the Python :py:mod:`fractions` standard library for working with (finite, simple) `continued fractions <https://en.wikipedia.org/wiki/Continued_fraction>`_ as Python objects.

The package is designed for users interested in:

- learning about and working with (finite) continued fractions as Python objects, in an intuitive object-oriented way
- learning about and working with (finite, simple) continued fractions as Python objects, in an intuitive object-oriented way
- exploring their key properties, such as elements/coefficients, convergents, semiconvergents, remainders, and others
- operating on them as rationals and instances of the standard library :py:class:`fractions.Fraction` class
- making approximations of and experimental computations for irrational numbers
Expand All @@ -25,7 +25,7 @@ The package is designed for users interested in:

These are `planned <https://github.com/sr-murthy/continuedfractions/issues>`_ for future releases.

You can :doc:`start here <sources/getting-started>`, or go straight to the :doc:`API reference <sources/api-reference>`.
Interested users can :doc:`start here <sources/getting-started>`, or go straight to the :doc:`API reference <sources/api-reference>`. If you're interested in contributing you can start with the :doc:`contributions guide <sources/contributing>`.

Prelude
-------
Expand Down
Loading

0 comments on commit 0f40b1f

Please sign in to comment.