Skip to content

Commit c686a1c

Browse files
committed
Getting ready for release 2.7.2
1 parent 82043fe commit c686a1c

File tree

5 files changed

+75
-84
lines changed

5 files changed

+75
-84
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ syntax: glob
33
build/
44
build-cmake/
55
dist/
6+
artifact/
67
numexpr.egg-info/
78
*.pyc
89
*.swp

ANNOUNCE.rst

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
11
========================
2-
Announcing Numexpr 2.7.2
2+
Announcing NumExpr 2.7.2
33
========================
44

55
Hi everyone,
66

7-
This is a change in behavior for the Intel VML (Vector Math Library) version, in
8-
that it no longer forces the VML threads to 1, as this could have a negative
9-
effect on the performance of NumPy itself when it is built with MKL.
7+
It's been awhile since the last update to NumExpr, mostly as the existing scientific
8+
Python tool chain for building wheels on PyPi became defunct and we have had to
9+
redevelop a new one based on `cibuildwheel` and GitHub Actions. This release also
10+
brings us support (and wheels for) Python 3.9.
11+
12+
There have been a number of changes to enhance how NumExpr works when NumPy
13+
uses MKL as a backend.
1014

1115
Project documentation is available at:
1216

@@ -15,6 +19,10 @@ http://numexpr.readthedocs.io/
1519
Changes from 2.7.1 to 2.7.2
1620
---------------------------
1721

22+
- Support for Python 2.7 and 3.5 is deprecated and will be discontinued when
23+
`cibuildwheels` and/or GitHub Actions no longer support these versions.
24+
- Wheels are now provided for Python 3.7, 3.5, 3.6, 3.7, 3.8, and 3.9 via
25+
GitHub Actions.
1826
- The block size is now exported into the namespace as `numexpr.__BLOCK_SIZE1__`
1927
as a read-only value.
2028
- If using MKL, the number of threads for VML is no longer forced to 1 on loading
@@ -24,6 +32,10 @@ Changes from 2.7.1 to 2.7.2
2432
- Use of `ndarray.tostring()` in tests has been switch to `ndarray.tobytes()`
2533
for future-proofing deprecation of `.tostring()`, if the version of NumPy is
2634
greater than 1.9.
35+
- Added a utility method `get_num_threads` that returns the (maximum) number of
36+
threads currently in use by the virtual machine. The functionality of
37+
`set_num_threads` whereby it returns the previous value has been deprecated
38+
and will be removed in 2.8.X.
2739

2840
What's Numexpr?
2941
---------------

README.rst

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,28 +2,28 @@
22
NumExpr: Fast numerical expression evaluator for NumPy
33
======================================================
44

5-
:Author: David M. Cooke, Francesc Alted and others
6-
5+
:Author: David M. Cooke, Francesc Alted, and others.
6+
:Maintainer: Robert A. McLeod
7+
78
:URL: https://github.com/pydata/numexpr
89
:Documentation: http://numexpr.readthedocs.io/en/latest/
910
:Travis CI: |travis|
10-
:Appveyor: |appveyor|
11+
:GitHub Actions: |actions|
1112
:PyPi: |version|
1213
:DOI: |doi|
1314
:readthedocs: |docs|
1415

16+
.. |actions| image:: https://github.com/pydata/numexpr/workflows/Build/badge.svg
17+
:target: https://github.com/pydata/numexpr/actions
1518
.. |travis| image:: https://travis-ci.org/pydata/numexpr.png?branch=master
1619
:target: https://travis-ci.org/pydata/numexpr
17-
.. |appveyor| image:: https://ci.appveyor.com/api/projects/status/we2ff01vqlmlb9ip
18-
:target: https://ci.appveyor.com/project/robbmcleod/numexpr
1920
.. |docs| image:: https://readthedocs.org/projects/numexpr/badge/?version=latest
2021
:target: http://numexpr.readthedocs.io/en/latest
2122
.. |doi| image:: https://zenodo.org/badge/doi/10.5281/zenodo.2483274.svg
2223
:target: https://doi.org/10.5281/zenodo.2483274
2324
.. |version| image:: https://img.shields.io/pypi/v/numexpr.png
2425
:target: https://pypi.python.org/pypi/numexpr
2526

26-
2727
What is NumExpr?
2828
----------------
2929

RELEASE_NOTES.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ Release notes for Numexpr 2.7 series
55
Changes from 2.7.1 to 2.7.2
66
---------------------------
77

8+
- Support for Python 2.7 and 3.5 is deprecated and will be discontinued when
9+
`cibuildwheels` and/or GitHub Actions no longer support these versions.
10+
- Wheels are now provided for Python 3.7, 3.5, 3.6, 3.7, 3.8, and 3.9 via
11+
GitHub Actions.
812
- The block size is now exported into the namespace as `numexpr.__BLOCK_SIZE1__`
913
as a read-only value.
1014
- If using MKL, the number of threads for VML is no longer forced to 1 on loading

RELEASING.md

Lines changed: 48 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -1,121 +1,95 @@
1+
Releasing NumExpr
12
==================
2-
Releasing Numexpr
3-
==================
4-
5-
:Author: Francesc Alted
6-
7-
:Date: 2009-06-02
83

4+
* Author: Robert A. McLeod
5+
6+
* Date: 2020-12-28
97

10-
Following are notes useful for releasing Numexpr.
8+
Following are notes for releasing NumExpr.
119

1210
Preliminaries
1311
-------------
1412

15-
- Make sure that ``RELEASE_NOTES.txt`` and ``ANNOUNCE.txt`` are up to
16-
date with the latest news in the release.
13+
* Make sure that `RELEASE_NOTES.rst` and `ANNOUNCE.rst` are up to date with the latest news in the release.
14+
* Remove the `.devN` suffix in `numexpr/version.py`.
15+
* Do a commit and a push:
1716

18-
- Remove the `.devN` suffix in ``numexpr/version.py``.
17+
`git commit -a -m "Getting ready for release X.Y.Z"`
1918

20-
- Do a commit and a push:
19+
* If the directories `dist` or `artifact` exist delete them.
2120

22-
$ git commit -a -m"Getting ready for release X.Y.Z"
23-
24-
Testing
25-
-------
26-
27-
- Run the test suite in different platforms (at least Linux and
28-
Windows) and make sure that all tests passes.
29-
30-
- Re-compile with MKL support and see if all tests passes as well.
21+
Local Testing
22+
-------------
3123

32-
- Run all the benchmarks in ``bench/`` directory and see if the
24+
* Re-compile locally with MKL support and see if all tests passes as well.
25+
* Run all the benchmarks in `bench/` directory and see if the
3326
speed-ups are the expected ones.
3427

35-
Packaging
36-
---------
37-
38-
- Make the tarball with the command:
39-
40-
$ python setup.py sdist
41-
42-
Do a quick check that the tarball is sane.
43-
44-
Releasing
45-
---------
46-
47-
- Create a tag ``vX.Y.Z`` from ``master``. Use the next message:
28+
Tagging
29+
-------
4830

49-
$ git tag -a vX.Y.Z -m "Tagging version X.Y.Z"
31+
* Create a tag `vX.Y.Z` from `master` and push the tag to GitHub:
5032

51-
- Push the tag to the github repo:
33+
`git tag -a vX.Y.Z -m "Tagging version X.Y.Z"`
34+
`git push`
35+
`git push --tags`
5236

53-
$ git push
54-
$ git push --tags
37+
* If you happen to have to delete the tag, such as artifacts demonstrates a fault, first delete it locally,
5538

56-
- If you happen to have to delete the tag, for example if the `manywheels` builds
57-
demonstrates a fault, first delete it locally,
39+
`git tag --delete vX.Y.Z`
5840

59-
git tag --delete vX.Y.Z
60-
6141
and then remotely on Github,
6242

63-
git push --delete origin vX.Y.Z
43+
`git push --delete origin vX.Y.Z`
6444

65-
Build wheels
45+
Build Wheels
6646
------------
6747

68-
Matthew Brett has a repository for building for hosting wheels at
69-
http://github.com/MacPython/numexpr-wheels). For the procedure to trigger and
70-
upload the built wheels, see the README at that repo.
48+
* Check on GitHub Actions `github.com/robbmcleod/cpufeature/actions` that all the wheels built successfully.
49+
* Download `artifacts.zip` and unzip.
50+
* Make the source tarball with the command
7151

72-
Build and upload the wheels before uploading the source distribution, to make
73-
sure that people who do not have compilers do not get breakage while the
74-
release is being uploaded.
52+
`python setup.py sdist`
53+
54+
Releasing
55+
---------
7556

76-
Any problems, feel free to ask @matthew-brett for help - or indeed, pass the
77-
whole task to him.
57+
* Upload the built wheels to PyPi via Twine.
7858

79-
Uploading the source distribution
80-
---------------------------------
59+
`twine upload artifact/numexpr*.whl`
8160

82-
- Upload it in the PyPi repository:
61+
* Upload the source distribution.
8362

84-
$ python setup.py sdist upload
63+
`twine upload dist/numexpr-X.Y.Z.tar.gz`
64+
65+
* Check on `pypi.org/project/numexpr/#files` that the wheels and source have uploaded as expected.
8566

8667

8768
Announcing
8869
----------
8970

90-
- Send an announcement to the NumPy list, PyData and python-announce
91-
list. Use the ``ANNOUNCE.rst`` file as skeleton (or possibly as the
92-
definitive version).
93-
71+
* Send an announcement to the NumPy list, PyData and python-announce
72+
list. Use the `ANNOUNCE.rst` file as skeleton (or possibly as the
73+
definitive version). Email should be addressed to the following lists:
74+
75+
76+
9477

9578
Post-release actions
9679
--------------------
9780

98-
- Edit ``numexpr/version.py`` to bump the version revision
81+
* Edit `numexpr/version.py` to bump the version revision
9982
(i.e. X.Y.Z --> X.Y.(Z+1).dev0).
100-
101-
- Create new headers for adding new features in ``RELEASE_NOTES.txt``
83+
* Create new headers for adding new features in `RELEASE_NOTES.rst`
10284
and add this place-holder:
10385

104-
#XXX version-specific blurb XXX#
86+
`* **Under development.**`
10587

10688
Don't forget to update header to the next version in those files.
10789

108-
- Commit your changes:
90+
* Commit your changes:
10991

11092
$ git commit -a -m"Post X.Y.Z release actions done"
11193
$ git push
11294

113-
114-
That's all folks!
115-
116-
117-
.. Local Variables:
118-
.. mode: rst
119-
.. coding: utf-8
120-
.. fill-column: 70
121-
.. End:
95+
Fin.

0 commit comments

Comments
 (0)