diff --git a/DEVELOPMENT.rst b/DEVELOPMENT.rst index 8a37e200..6a3417e3 100644 --- a/DEVELOPMENT.rst +++ b/DEVELOPMENT.rst @@ -32,7 +32,7 @@ Binary Extension Many low-level computations have alternate implementations in Fortran. See the `Python Binary Extension`_ page for a more detailed description. -.. _Python Binary Extension: https://bezier.readthedocs.io/en/latest/python/binary-extension.html +.. _Python Binary Extension: https://bezier.readthedocs.io/en/0.11.0/python/binary-extension.html Building / Compiling ==================== @@ -101,7 +101,7 @@ QUADPACK subroutines depend on). QUADPACK is used to perform numerical quadrature to compute the length of a curve segment. -.. _directory: https://github.com/dhermes/bezier/tree/master/src/fortran/quadpack +.. _directory: https://github.com/dhermes/bezier/tree/0.11.0/src/fortran/quadpack .. _QUADPACK: https://en.wikipedia.org/wiki/QUADPACK ****************** @@ -261,32 +261,32 @@ To run the functional tests: $ PYTHONPATH=src/python/ python3.8 -m pytest tests/functional/ $ PYTHONPATH=src/python/ pypy3 -m pytest tests/functional/ -.. _functional tests: https://github.com/dhermes/bezier/tree/master/tests/functional +.. _functional tests: https://github.com/dhermes/bezier/tree/0.11.0/tests/functional For example, the following curve-curve intersection is a functional test case: -.. image:: https://raw.githubusercontent.com/dhermes/bezier/master/docs/images/curves11_and_26.png +.. image:: https://raw.githubusercontent.com/dhermes/bezier/0.11.0/docs/images/curves11_and_26.png :align: center and there is a `Curve-Curve Intersection`_ document which captures many of the cases in the functional tests. -.. _Curve-Curve Intersection: https://bezier.readthedocs.io/en/latest/algorithms/curve-curve-intersection.html +.. _Curve-Curve Intersection: https://bezier.readthedocs.io/en/0.11.0/algorithms/curve-curve-intersection.html A surface-surface intersection functional test case: -.. image:: https://raw.githubusercontent.com/dhermes/bezier/master/docs/images/surfaces1Q_and_2Q.png +.. image:: https://raw.githubusercontent.com/dhermes/bezier/0.11.0/docs/images/surfaces1Q_and_2Q.png :align: center a segment-box functional test case: -.. image:: https://raw.githubusercontent.com/dhermes/bezier/master/docs/images/test_goes_through_box08.png +.. image:: https://raw.githubusercontent.com/dhermes/bezier/0.11.0/docs/images/test_goes_through_box08.png :align: center and a "locate point on surface" functional test case: -.. image:: https://raw.githubusercontent.com/dhermes/bezier/master/docs/images/test_surface3_and_point1.png +.. image:: https://raw.githubusercontent.com/dhermes/bezier/0.11.0/docs/images/test_surface3_and_point1.png :align: center Functional Test Data @@ -304,10 +304,10 @@ This way, the test cases are programming language agnostic and can be repurposed. The `JSON schema`_ for these files are stored in the ``tests/functional/schema`` directory. -.. _curves.json: https://github.com/dhermes/bezier/blob/master/tests/functional/curves.json -.. _curve_intersections.json: https://github.com/dhermes/bezier/blob/master/tests/functional/curve_intersections.json -.. _surfaces.json: https://github.com/dhermes/bezier/blob/master/tests/functional/surfaces.json -.. _surface_intersections.json: https://github.com/dhermes/bezier/blob/master/tests/functional/surface_intersections.json +.. _curves.json: https://github.com/dhermes/bezier/blob/0.11.0/tests/functional/curves.json +.. _curve_intersections.json: https://github.com/dhermes/bezier/blob/0.11.0/tests/functional/curve_intersections.json +.. _surfaces.json: https://github.com/dhermes/bezier/blob/0.11.0/tests/functional/surfaces.json +.. _surface_intersections.json: https://github.com/dhermes/bezier/blob/0.11.0/tests/functional/surface_intersections.json .. _JSON schema: http://json-schema.org/ ************ @@ -330,7 +330,7 @@ To check compliance: A few extensions and overrides have been specified in the `pylintrc`_ configuration for ``bezier``. -.. _pylintrc: https://github.com/dhermes/bezier/blob/master/pylintrc +.. _pylintrc: https://github.com/dhermes/bezier/blob/0.11.0/pylintrc Docstring Style =============== @@ -452,11 +452,11 @@ On AppVeyor, the binary extension is built and tested with both 32-bit and .. _CircleCI: https://circleci.com/gh/dhermes/bezier .. _Travis CI: https://travis-ci.org/dhermes/bezier .. _AppVeyor: https://ci.appveyor.com/project/dhermes/bezier -.. _CircleCI config: https://github.com/dhermes/bezier/blob/master/.circleci/config.yml -.. _Travis config: https://github.com/dhermes/bezier/blob/master/.travis.yml -.. _AppVeyor config: https://github.com/dhermes/bezier/blob/master/.appveyor.yml -.. _python-multi Dockerfile: https://github.com/dhermes/python-multi/blob/master/src/Dockerfile -.. _bezier Dockerfile: https://github.com/dhermes/bezier/blob/master/scripts/docker/bezier.Dockerfile +.. _CircleCI config: https://github.com/dhermes/bezier/blob/0.11.0/.circleci/config.yml +.. _Travis config: https://github.com/dhermes/bezier/blob/0.11.0/.travis.yml +.. _AppVeyor config: https://github.com/dhermes/bezier/blob/0.11.0/.appveyor.yml +.. _python-multi Dockerfile: https://github.com/dhermes/python-multi/blob/0.11.0/src/Dockerfile +.. _bezier Dockerfile: https://github.com/dhermes/bezier/blob/0.11.0/scripts/docker/bezier.Dockerfile .. _multibuild: https://github.com/matthew-brett/multibuild .. _discontinued: https://github.com/numpy/numpy/issues/11625 @@ -509,7 +509,7 @@ Supported Python Versions Supported versions can be found in the ``noxfile.py`` `config`_. -.. _config: https://github.com/dhermes/bezier/blob/master/noxfile.py +.. _config: https://github.com/dhermes/bezier/blob/0.11.0/noxfile.py Versioning ========== diff --git a/README.rst b/README.rst index 6315521b..25879337 100644 --- a/README.rst +++ b/README.rst @@ -5,8 +5,6 @@ |circle-build| |travis-build| |appveyor-build| |coverage| -|pypi| |versions| - |docs| |zenodo| |JOSS| .. |eacute| unicode:: U+000E9 .. LATIN SMALL LETTER E WITH ACUTE @@ -19,7 +17,7 @@ This library provides: Dive in and take a look! -.. image:: https://raw.githubusercontent.com/dhermes/bezier/master/docs/images/surfaces6Q_and_7Q.png +.. image:: https://raw.githubusercontent.com/dhermes/bezier/0.11.0/docs/images/surfaces6Q_and_7Q.png :align: center Why B |eacute| zier? @@ -28,17 +26,17 @@ Why B |eacute| zier? A B |eacute| zier curve (and surface, etc.) is a parametric curve that uses the `Bernstein basis`_: -.. image:: https://raw.githubusercontent.com/dhermes/bezier/master/docs/images/bernstein_basis.png +.. image:: https://raw.githubusercontent.com/dhermes/bezier/0.11.0/docs/images/bernstein_basis.png :align: center to define a curve as a linear combination: -.. image:: https://raw.githubusercontent.com/dhermes/bezier/master/docs/images/bezier_defn.png +.. image:: https://raw.githubusercontent.com/dhermes/bezier/0.11.0/docs/images/bezier_defn.png :align: center This comes from the fact that the weights sum to one: -.. image:: https://raw.githubusercontent.com/dhermes/bezier/master/docs/images/sum_to_unity.png +.. image:: https://raw.githubusercontent.com/dhermes/bezier/0.11.0/docs/images/sum_to_unity.png :align: center This can be generalized to higher order by considering three, four, etc. @@ -148,7 +146,7 @@ intersections): >>> _ = ax.set_ylim(-0.0625, 0.625) >>> plt.show() -.. image:: https://raw.githubusercontent.com/dhermes/bezier/master/docs/images/curves1_and_13.png +.. image:: https://raw.githubusercontent.com/dhermes/bezier/0.11.0/docs/images/curves1_and_13.png :align: center For API-level documentation, check out the B |eacute| zier Python @@ -195,32 +193,26 @@ License ``bezier`` is made available under the Apache 2.0 License. For more details, see `the LICENSE`_. -.. _Curves: https://bezier.readthedocs.io/en/latest/python/reference/bezier.curve.html -.. _Surfaces: https://bezier.readthedocs.io/en/latest/python/reference/bezier.surface.html -.. _package: https://bezier.readthedocs.io/en/latest/python/reference/bezier.html -.. _DEVELOPMENT doc: https://github.com/dhermes/bezier/blob/master/DEVELOPMENT.rst -.. _the LICENSE: https://github.com/dhermes/bezier/blob/master/LICENSE +.. _Curves: https://bezier.readthedocs.io/en/0.11.0/python/reference/bezier.curve.html +.. _Surfaces: https://bezier.readthedocs.io/en/0.11.0/python/reference/bezier.surface.html +.. _package: https://bezier.readthedocs.io/en/0.11.0/python/reference/bezier.html +.. _DEVELOPMENT doc: https://github.com/dhermes/bezier/blob/0.11.0/DEVELOPMENT.rst +.. _the LICENSE: https://github.com/dhermes/bezier/blob/0.11.0/LICENSE -.. |docs| image:: https://readthedocs.org/projects/bezier/badge/?version=latest - :target: https://bezier.readthedocs.io/en/latest/ +.. |docs| image:: https://readthedocs.org/projects/bezier/badge/?version=0.11.0 + :target: https://bezier.readthedocs.io/en/0.11.0/ :alt: Documentation Status -.. |circle-build| image:: https://img.shields.io/circleci/project/github/dhermes/bezier/master.svg?maxAge=3600&logo=circleci&label=Linux - :target: https://circleci.com/gh/dhermes/bezier +.. |circle-build| image:: https://raw.githubusercontent.com/dhermes/bezier/0.11.0/docs/circleci-passing.svg?sanitize=true + :target: https://circleci.com/gh/dhermes/bezier/1588 :alt: CircleCI Build -.. |travis-build| image:: https://img.shields.io/travis/dhermes/bezier/master.svg?maxAge=3600&logo=travis&label=macOS - :target: https://travis-ci.org/dhermes/bezier +.. |travis-build| image:: https://raw.githubusercontent.com/dhermes/bezier/0.11.0/docs/travis-passing.svg?sanitize=true + :target: https://travis-ci.org/dhermes/bezier/builds/635799581 :alt: Travis Build -.. |appveyor-build| image:: https://img.shields.io/appveyor/ci/dhermes/bezier/master.svg?maxAge=3600&logo=appveyor&label=Windows - :target: https://ci.appveyor.com/project/dhermes/bezier +.. |appveyor-build| image:: https://raw.githubusercontent.com/dhermes/bezier/0.11.0/docs/appveyor-passing.svg?sanitize=true + :target: https://ci.appveyor.com/project/dhermes/bezier/build/1.0.1269.master :alt: AppVeyor CI Build -.. |pypi| image:: https://img.shields.io/pypi/v/bezier.svg - :target: https://pypi.org/project/bezier/ - :alt: PyPI Latest -.. |versions| image:: https://img.shields.io/pypi/pyversions/bezier.svg - :target: https://pypi.org/project/bezier/ - :alt: Package Versions -.. |coverage| image:: https://coveralls.io/repos/github/dhermes/bezier/badge.svg - :target: https://coveralls.io/github/dhermes/bezier +.. |coverage| image:: https://s3.amazonaws.com/assets.coveralls.io/badges/coveralls_100.svg + :target: https://coveralls.io/builds/28048393 :alt: Code Coverage .. |zenodo| image:: https://zenodo.org/badge/73047402.svg :target: https://zenodo.org/badge/latestdoi/73047402 diff --git a/README.rst.release.template b/README.rst.release.template index a1da814c..7e3100d0 100644 --- a/README.rst.release.template +++ b/README.rst.release.template @@ -167,19 +167,19 @@ cited. The following BibTeX entry can be used: .. code-block:: rest - @article{Hermes2017, - doi = {10.21105/joss.00267}, - url = {https://doi.org/10.21105%2Fjoss.00267}, - year = {2017}, - month = {Aug}, - publisher = {The Open Journal}, - volume = {2}, - number = {16}, - pages = {267}, - author = {Danny Hermes}, - title = {Helper for B{\'{e}}zier Curves, Triangles, and Higher Order Objects}, - journal = {The Journal of Open Source Software} - } + @article{{Hermes2017, + doi = {{10.21105/joss.00267}}, + url = {{https://doi.org/10.21105%2Fjoss.00267}}, + year = {{2017}}, + month = {{Aug}}, + publisher = {{The Open Journal}}, + volume = {{2}}, + number = {{16}}, + pages = {{267}}, + author = {{Danny Hermes}}, + title = {{Helper for B{{\'{{e}}}}zier Curves, Triangles, and Higher Order Objects}}, + journal = {{The Journal of Open Source Software}} + }} A **particular** version of this library can be cited via a Zenodo DOI; see a full `list by version`_. diff --git a/codemeta.json b/codemeta.json index 677d03e4..40030278 100644 --- a/codemeta.json +++ b/codemeta.json @@ -19,5 +19,5 @@ "keywords": "Geometry, Curve, B\u00e9zier, Intersection, Python", "license": "Apache 2.0", "title": "B\u00e9zier", - "version": "0.10.0" + "version": "0.11.0" } diff --git a/docs/index.rst b/docs/index.rst index eafa755c..d50792da 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -5,8 +5,6 @@ |circle-build| |travis-build| |appveyor-build| |coverage| -|pypi| |versions| - |zenodo| |JOSS| .. |eacute| unicode:: U+000E9 .. LATIN SMALL LETTER E WITH ACUTE @@ -252,25 +250,19 @@ License ``bezier`` is made available under the Apache 2.0 License. For more details, see `the LICENSE`_. -.. _the LICENSE: https://github.com/dhermes/bezier/blob/master/LICENSE +.. _the LICENSE: https://github.com/dhermes/bezier/blob/0.11.0/LICENSE -.. |circle-build| image:: https://img.shields.io/circleci/project/github/dhermes/bezier/master.svg?maxAge=3600&logo=circleci&label=Linux - :target: https://circleci.com/gh/dhermes/bezier +.. |circle-build| image:: https://raw.githubusercontent.com/dhermes/bezier/0.11.0/docs/circleci-passing.svg?sanitize=true + :target: https://circleci.com/gh/dhermes/bezier/1588 :alt: CircleCI Build -.. |travis-build| image:: https://img.shields.io/travis/dhermes/bezier/master.svg?maxAge=3600&logo=travis&label=macOS - :target: https://travis-ci.org/dhermes/bezier +.. |travis-build| image:: https://raw.githubusercontent.com/dhermes/bezier/0.11.0/docs/travis-passing.svg?sanitize=true + :target: https://travis-ci.org/dhermes/bezier/builds/635799581 :alt: Travis Build -.. |appveyor-build| image:: https://img.shields.io/appveyor/ci/dhermes/bezier/master.svg?maxAge=3600&logo=appveyor&label=Windows - :target: https://ci.appveyor.com/project/dhermes/bezier +.. |appveyor-build| image:: https://raw.githubusercontent.com/dhermes/bezier/0.11.0/docs/appveyor-passing.svg?sanitize=true + :target: https://ci.appveyor.com/project/dhermes/bezier/build/1.0.1269.master :alt: AppVeyor CI Build -.. |pypi| image:: https://img.shields.io/pypi/v/bezier.svg - :target: https://pypi.org/project/bezier/ - :alt: PyPI Latest -.. |versions| image:: https://img.shields.io/pypi/pyversions/bezier.svg - :target: https://pypi.org/project/bezier/ - :alt: Package Versions -.. |coverage| image:: https://coveralls.io/repos/github/dhermes/bezier/badge.svg - :target: https://coveralls.io/github/dhermes/bezier +.. |coverage| image:: https://s3.amazonaws.com/assets.coveralls.io/badges/coveralls_100.svg + :target: https://coveralls.io/builds/28048393 :alt: Code Coverage .. |zenodo| image:: https://zenodo.org/badge/73047402.svg :target: https://zenodo.org/badge/latestdoi/73047402 diff --git a/docs/python/binary-extension.rst b/docs/python/binary-extension.rst index 95d19622..cc136da9 100644 --- a/docs/python/binary-extension.rst +++ b/docs/python/binary-extension.rst @@ -579,9 +579,9 @@ For examples, see: * `macOS journal`_ * `Windows journal`_ -.. _Linux journal: https://github.com/dhermes/bezier/blob/master/.circleci/expected_journal.txt -.. _macOS journal: https://github.com/dhermes/bezier/blob/master/scripts/macos/travis_journal.txt -.. _Windows journal: https://github.com/dhermes/bezier/blob/master/appveyor/expected_journal.txt +.. _Linux journal: https://github.com/dhermes/bezier/blob/0.11.0/.circleci/expected_journal.txt +.. _macOS journal: https://github.com/dhermes/bezier/blob/0.11.0/scripts/macos/travis_journal.txt +.. _Windows journal: https://github.com/dhermes/bezier/blob/0.11.0/appveyor/expected_journal.txt *************************** Building a Python Extension diff --git a/docs/releases/latest.rst b/docs/releases/latest.rst index 28fb5ff7..7baffde6 100644 --- a/docs/releases/latest.rst +++ b/docs/releases/latest.rst @@ -1,5 +1,5 @@ -Latest Release (``0.10.1.dev1``) -================================ +Latest Release (``0.11.0``) +=========================== |pypi| |docs| @@ -10,7 +10,7 @@ Packaging ~~~~~~~~~ - Explicit support for Python 3.8 has been added - (`#161 `__). On Windows this + (`#161 `__). On Windows this required using the ``os.add_dll_directory()`` `function `__ to load ``bezier.dll`` (in earlier Python version, the DLL directory was @@ -20,18 +20,18 @@ New Features ~~~~~~~~~~~~ - Loosened type constraints in ``Curve`` - `constructor `__ + `constructor `__ and ``Surface`` - `constructor `__; + `constructor `__; now any sequence type is accepted rather than **only** NumPy arrays (`68f7dc7 `__, `a8c68a3 `__, `f5c7869 `__). Fixed `#146 `__. - Added ``copy`` and ``verify`` arguments to ``Curve`` - `constructor `__ + `constructor `__ and ``Surface`` - `constructor `__ + `constructor `__ (`#163 `__). Fixed `#158 `__. - Added `SymPy `__-based helpers for "exact" @@ -40,13 +40,13 @@ New Features Fixed `#157 `__. - ``Curve.implicitize()`` - `function `__ + `function `__ - ``Curve.to_symbolic()`` - `function `__ + `function `__ - ``Surface.implicitize()`` - `function `__ + `function `__ - ``Surface.to_symbolic()`` - `function `__ + `function `__ Internals ~~~~~~~~~ @@ -70,7 +70,7 @@ ABI Changes Breaking Changes ~~~~~~~~~~~~~~~~ -- Added `BEZ_` prefix for exported ABI names +- Added ``BEZ_`` prefix for exported ABI names (`#167 `__). Fixed `#166 `__. @@ -86,15 +86,15 @@ Bug Fixes - Explicitly handle length 0 curves (with an error) in the ``compute_length()`` Fortran - `subroutine `__ + `subroutine `__ that is used by the ``Curve.length`` - `property `__ + `property `__ (`a24368f `__). Fixed `#148 `__. -- Fixed high-degree error in ``Curve.evaluate()`` - `method `__, +- Fixed high-degree error in the ``Curve.evaluate()`` + `method `__, via the ``evaluate_curve_barycentric()`` Fortran - `subroutine `__ + `subroutine `__ (`5768824 `__). Fixed `#156 `__. The code uses :math:`\binom{n}{k + 1} = \frac{n - k}{k + 1} \binom{n}{k}` to update the @@ -113,9 +113,9 @@ Documentation (`9885063 `__). Fixed `#150 `__. -.. |pypi| image:: https://img.shields.io/pypi/v/bezier/0.10.1.svg - :target: https://pypi.org/project/bezier/0.10.1/ - :alt: PyPI link to release 0.10.1 -.. |docs| image:: https://readthedocs.org/projects/bezier/badge/?version=0.10.1 - :target: https://bezier.readthedocs.io/en/0.10.1/ - :alt: Documentation for release 0.10.1 +.. |pypi| image:: https://img.shields.io/pypi/v/bezier/0.11.0.svg + :target: https://pypi.org/project/bezier/0.11.0/ + :alt: PyPI link to release 0.11.0 +.. |docs| image:: https://readthedocs.org/projects/bezier/badge/?version=0.11.0 + :target: https://bezier.readthedocs.io/en/0.11.0/ + :alt: Documentation for release 0.11.0 diff --git a/paper.md b/paper.md index 27ea7460..70faf007 100644 --- a/paper.md +++ b/paper.md @@ -50,12 +50,12 @@ This library provides support for - Specialization / reparameterization - Self-intersection / singularity check for 2D surfaces --![Surface-surface intersection example](https://raw.githubusercontent.com/dhermes/bezier/0.10.0/docs/images/surfaces6Q_and_7Q.png) +-![Surface-surface intersection example](https://raw.githubusercontent.com/dhermes/bezier/0.11.0/docs/images/surfaces6Q_and_7Q.png) [1]: https://en.wikipedia.org/wiki/B%C3%A9zier_curve [2]: https://en.wikipedia.org/wiki/B%C3%A9zier_triangle -[3]: https://bezier.readthedocs.io/en/0.10.0/algorithms/curve-curve-intersection.html -[4]: https://bezier.readthedocs.io/en/0.10.0/python/reference/bezier.curve.html#bezier.curve.Curve.locate -[5]: https://bezier.readthedocs.io/en/0.10.0/python/reference/bezier.surface.html#bezier.surface.Surface.locate +[3]: https://bezier.readthedocs.io/en/0.11.0/algorithms/curve-curve-intersection.html +[4]: https://bezier.readthedocs.io/en/0.11.0/python/reference/bezier.curve.html#bezier.curve.Curve.locate +[5]: https://bezier.readthedocs.io/en/0.11.0/python/reference/bezier.surface.html#bezier.surface.Surface.locate # References diff --git a/setup.py b/setup.py index 749ecbaa..fd9b06a4 100644 --- a/setup.py +++ b/setup.py @@ -23,7 +23,7 @@ import setup_helpers_windows -VERSION = "0.10.1.dev1" # Also in ``codemeta.json`` and ``__init__.py``. +VERSION = "0.11.0" # Also in ``codemeta.json`` and ``__init__.py``. AUTHOR = "Danny Hermes" # Also in ``__init__.py``. README_FILENAME = os.path.join(os.path.dirname(__file__), "README.rst") NUMPY_MESSAGE = """\ diff --git a/src/python/bezier/__init__.py b/src/python/bezier/__init__.py index 12beffc2..d99a8b77 100644 --- a/src/python/bezier/__init__.py +++ b/src/python/bezier/__init__.py @@ -49,7 +49,7 @@ # and related. This is **entirely** to accomodate builds where # ``bezier`` is imported from source (and not installed). __author__ = "Danny Hermes" -__version__ = "0.10.1.dev1" +__version__ = "0.11.0" """str: The current version of :mod:`bezier`.""" __all__ = [ "__author__",