Hi everyone,
Please find here another maintenance release of NumExpr. Support for Python
3.6
has been dropped to enable support for NumPy 1.23 (and by extension Python
3.11
when it is released). Wheels for ARM64 multilinux should be available again
after
troubles with GitHub Actions and Apple Silicon wheels are also now
available on
PyPi for download.
Project documentation is available at:
http://numexpr.readthedocs.io/
Changes from 2.8.1 to 2.8.2
---------------------------
* Support for Python 3.6 has been dropped due to the need to substitute the
flag
`NPY_ARRAY_WRITEBACKIFCOPY` for `NPY_ARRAY_UPDATEIFCOPY`. This flag
change was
initiated in NumPy 1.14 and finalized in 1.23. The only changes were made
to
cases where an unaligned constant was passed in with a pre-allocated
output
variable:
```
x = np.empty(5, dtype=np.uint8)[1:].view(np.int32)
ne.evaluate('3', out=x)
```
We think the risk of issues is very low, but if you are using NumExpr as
a
expression evaluation tool you may want to write a test for this edge
case.
* Thanks to Matt Einhorn (@matham) for improvements to the GitHub Actions
build process to add support for Apple Silicon and aarch64.
* Thanks to Biswapriyo Nath (@biswa96) for a fix to allow `mingw` builds on
Windows.
* There have been some changes made to not import `platform.machine()` on
`sparc`
but it is highly advised to upgrade to Python 3.9+ to avoid this issue
with
the Python core package `platform`.
What's Numexpr?
---------------
Numexpr is a fast numerical expression evaluator for NumPy. With it,
expressions that operate on arrays (like "3*a+4*b") are accelerated
and use less memory than doing the same calculation in Python.
It has multi-threaded capabilities, as well as support for Intel's
MKL (Math Kernel Library), which allows an extremely fast evaluation
of transcendental functions (sin, cos, tan, exp, log...) while
squeezing the last drop of performance out of your multi-core
processors. Look here for a some benchmarks of numexpr using MKL:
https://github.com/pydata/numexpr/wiki/NumexprMKL
Its only dependency is NumPy (MKL is optional), so it works well as an
easy-to-deploy, easy-to-use, computational engine for projects that
don't want to adopt other solutions requiring more heavy dependencies.
Where I can find Numexpr?
-------------------------
The project is hosted at GitHub in:
https://github.com/pydata/numexpr
You can get the packages from PyPI as well (but not for RC releases):
http://pypi.python.org/pypi/numexpr
Documentation is hosted at:
http://numexpr.readthedocs.io/en/latest/
Share your experience
---------------------
Let us know of any bugs, suggestions, gripes, kudos, etc. you may
have.
Enjoy data!
--
Robert McLeod
robbmcleod(a)gmail.com
robert.mcleod(a)hitachi-hightech.com
Hi All,
On behalf of the NumPy team, I'm pleased to announce the release of NumPy
1.23.0. The NumPy 1.23.0 release continues the ongoing work to improve the
handling and promotion of dtypes, increase the execution speed, clarify the
documentation, and expire old deprecations. The highlights are:
- Implementation of ``loadtxt`` in C, greatly improving its performance.
- Exposing DLPack at the Python level for easy data exchange.
- Changes to the promotion and comparisons of structured dtypes.
- Improvements to f2py.
The Python versions supported in this release are 3.8-3.10, 3.11 will be
supported when it comes out. Note that 32 bit wheels are only provided for
Windows, all other wheels are 64 bits on account of Ubuntu, Fedora, and
other Linux distributions dropping 32 bit support. All 64 bit wheels are
also linked with 64 bit OpenBLAS. Wheels can be downloaded from PyPI
<https://pypi.org/project/numpy/1.23.0/>; source archives, release notes,
and wheel hashes are available on Github
<https://github.com/numpy/numpy/releases/tag/v1.23.0>.
*Contributors*
A total of 151 people contributed to this release. People with a "+" by
their
names contributed a patch for the first time.
- @DWesl
- @GalaxySnail +
- @code-review-doctor +
- @h-vetinari
- Aaron Meurer
- Alexander Shadchin
- Alexandre de Siqueira
- Allan Haldane
- Amrit Krishnan
- Andrei Batomunkuev
- Andrew J. Hesford +
- Andrew Murray +
- Andrey Andreyevich Bienkowski +
- André Elimelek de Weber +
- Andy Wharton +
- Arryan Singh
- Arushi Sharma
- Bas van Beek
- Bharat Raghunathan
- Bhavuk Kalra +
- Brigitta Sipőcz
- Brénainn Woodsend +
- Burlen Loring +
- Caio Agiani +
- Charles Harris
- Chiara Marmo
- Cornelius Roemer +
- Dahyun Kim +
- Damien Caliste
- David Prosin +
- Denis Laxalde
- Developer-Ecosystem-Engineering
- Devin Shanahan +
- Diego Wang +
- Dimitri Papadopoulos Orfanos
- Ding Liu +
- Diwakar Gupta +
- Don Kirkby +
- Emma Simon +
- Eric Wieser
- Evan Miller +
- Evgeni Burovski
- Evgeny Posenitskiy +
- Ewout ter Hoeven +
- Felix Divo
- Francesco Andreuzzi +
- Ganesh Kathiresan
- Gaëtan de Menten
- Geoffrey Gunter +
- Hans Meine
- Harsh Mishra +
- Henry Schreiner
- Hood Chatham +
- I-Shen Leong
- Ilhan Polat
- Inessa Pawson
- Isuru Fernando
- Ivan Gonzalez +
- Ivan Meleshko +
- Ivan Yashchuk +
- Janus Heide +
- Jarrod Millman
- Jason Thai +
- Jeremy Volkman +
- Jesús Carrete Montaña +
- Jhong-Ken Chen (陳仲肯) +
- John Kirkham
- John-Mark Gurney +
- Jonathan Deng +
- Joseph Fox-Rabinovitz
- Jouke Witteveen +
- Junyan Ou +
- Jérôme Richard +
- Kassian Sun +
- Kazuki Sakamoto +
- Kenichi Maehashi
- Kevin Sheppard
- Kilian Lieret +
- Kushal Beniwal +
- Leo Singer
- Logan Thomas +
- Lorenzo Mammana +
- Margret Pax
- Mariusz Felisiak +
- Markus Mohrhard +
- Mars Lee
- Marten van Kerkwijk
- Masamichi Hosoda +
- Matthew Barber
- Matthew Brett
- Matthias Bussonnier
- Matthieu Darbois
- Matti Picus
- Melissa Weber Mendonça
- Michael Burkhart +
- Morteza Mirzai +
- Motahhar Mokf +
- Muataz Attaia +
- Muhammad Motawe +
- Mukulika Pahari
- Márton Gunyhó +
- Namami Shanker +
- Nihaal Sangha +
- Niyas Sait
- Omid Rajaei +
- Oscar Gustafsson +
- Ovee Jawdekar +
- P. L. Lim +
- Pamphile Roy +
- Pantelis Antonoudiou +
- Pearu Peterson
- Peter Andreas Entschev
- Peter Hawkins
- Pierre de Buyl
- Pieter Eendebak +
- Pradipta Ghosh +
- Rafael Cardoso Fernandes Sousa +
- Raghuveer Devulapalli
- Ralf Gommers
- Raphael Kruse
- Raúl Montón Pinillos
- Robert Kern
- Rohit Goswami
- Ross Barnowski
- Ruben Garcia +
- Sadie Louise Bartholomew +
- Saswat Das +
- Sayed Adel
- Sebastian Berg
- Serge Guelton
- Simon Surland Andersen +
- Siyabend Ürün +
- Somasree Majumder +
- Soumya +
- Stefan van der Walt
- Stefano Miccoli +
- Stephan Hoyer
- Stephen Worsley +
- Tania Allard
- Thomas Duvernay +
- Thomas Green +
- Thomas J. Fan
- Thomas Li +
- Tim Hoffmann
- Ting Sun +
- Tirth Patel
- Toshiki Kataoka
- Tyler Reddy
- Warren Weckesser
- Yang Hau
- Yoon, Jee Seok +
Cheers,
Charles Harris
Yesterday, PyCA cryptography 37.0.3 was released to PyPI. Today, we
yanked the release from PyPI due to a regression in OpenSSL that was
producing heap corruption for users.
cryptography includes both high level recipes and low level interfaces
to common cryptographic algorithms such as symmetric ciphers,
asymmetric algorithms, message digests, X509, key derivation
functions, and much more. We support Python 3.6+, and PyPy3.
Changelog (https://cryptography.io/en/latest/changelog/#v37-0-3)
* Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.0.4.
Alex
--
All that is necessary for evil to succeed is for good people to do nothing.
Wing 8.3.2 fixes several code intelligence issues for f-string
expressions, avoids problems when using ~ or a non-default Base
Directory with remote hosts, allows running a pytest parameterized test
with a float value, adds the option Use Fixed Width Font for Output to
the Testing tool's right-click context menu, scrolls correctly to the
current line in version control blame/praise output, fixes intermittent
PyQt & PySide autocompletion problems, and makes a number of other
usability improvements.
Details: https://wingware.com/news/2022-06-17
Downloads: https://wingware.com/downloads
== About Wing ==
Wing is a full-featured but light-weight Python IDE designed
specifically for Python, with powerful editing, code inspection,
testing, and debugging capabilities. Wing's deep code analysis provides
auto-completion, auto-editing, code navigation, early error detection,
and refactoring that speed up development. Its top notch debugger works
with any Python code, locally or on a remote host, container, or
cluster. Wing also supports test-driven development, version control,
Python package management, UI color and layout customization, and
includes extensive documentation and support.
Wing is available in three product levels: Wing Pro is the
full-featured Python IDE for professional developers, Wing Personal is a
free Python IDE for students and hobbyists (omits some features), and
Wing 101 is a very simplified free Python IDE for beginners (omits many
features).
Learn more at https://wingware.com/
Hello,
it's with great pleasure that I announce the release of
*django-compat-patcher v0.11*
This release extends compatibility fixers so that you can painlessly
upgrade your project to *Django 4.0*, without breaking your existing
pluggable-apps ecosystem.
--
DCP is a companion package which adds backwards/forwards compatibility
patches to Django, so that your dependencies don't get broken by trivial
changes made to the core of the framework.
It injects compatibility shims like function/attribute aliases, restores
data structures which were replaced by stdlib ones, extends the
behaviour of callables (eg. referring to a view by object, by name, or
by dotted path), and can even preserve deprecated modules as “import
aliases”.
This allows to you upgrade your dependencies one at a time, to
fork/patch them when you have a proper opportunity, and most importantly
to not get stuck, when deadlines are tight.
Technically, DCP manages a set of “fixers”, small utilities which
advertise the change that they make, the versions of Django that they
support, and which monkey-patch the Django framework on demand.
Beware, DCP is aimed at project maintainers. If you are developing a
reusable Django application, you can’t expect all your users to
integrate DCP as well. In this case, to support a wide range of Django
versions, you should rather use a toolkit like Django-compat
<https://github.com/arteria/django-compat>. You may think of DCP as a
“runtime 2to3 for Django’, wherease Django-Compat is rather a “six
module for Django”.
Feel free to contribute new fixers, for backwards or forwards
compatibility, depending on the compatibility troubles you encounter on
your projects
https://pypi.org/project/django-compat-patcher/https://github.com/pakal/django-compat-patcher
regards,
Pakal
friendly_idle is a modified version of IDLE that incorporates friendly/friendly-traceback to give more helpful tracebacks. You can see some screenshot in a recent blog post: https://aroberge.blogspot.com/2022/06/friendly-idle.html
Since that blog post was written, the only remaining issue that was mentioned has been solved.
You can install it using "python -m pip install friendly_idle". Then launch it from a terminal using "friendly_idle". If you are not familiar with friendly/friendly-traceback, you might want to consult https://friendly-traceback.github.io/docs/index.html.
friendly_idle's version is currently listed as "0.3.2" - however, it already does everything I had planned for and could have called it "version 1.0".
friendly_idle assumes that IDLE is already installed and "monkeypatches" it as it launches.
It requires a version of IDLE that support excepthook():
Python 3.8.10 or greater
Python 3.9.5 or greater
Python 3.10.x
It has not been tested with Python 3.11 as friendly-traceback has not yet been made 100% compatible with the latest 3.11 release. It might still work, but would fail to offer useful help in some cases.
André Roberge
Hi all,
CodraFT is a new open-source generic signal and image processing software, based on Python, Qt, NumPy, SciPy and others:
https://codra-ingenierie-informatique.github.io/CodraFT/
I am pleased to announce that CodraFT v2.0.2 has been released.
This is the first public release of version 2, compatible with Python 3.7+.
CodraFT provides signal/image processing and visualisation features, and is available either as a stand-alone application or may be embedded in your own Python-Qt application thanks to advanced automation capabilities. CodraFT also has many I/O features, supporting a lot of images format as well as HDF5 (for saving/loading CodraFT workspace or importing any other data file).
Enjoy!
--
Always a pleasure to share with Python community, since 2008.
Pierre Raybaut
What is python-oracledb?
python-oracledb is a Python extension module that enables access to Oracle
Database for Python and conforms to the Python database API 2.0
specifications with a number of enhancements. This module is intended to
eventually replace cx_Oracle.
Where do I get it?
https://pypi.org/project/oracledb/1.0.1/
The easiest method to install/upgrade python-oracledb is via pip as in
python -m pip install oracledb --upgrade
What's new?
This release addresses a number of issues reported after the release of
1.0.0.
See the full release notes for all of the details:
https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracled…
Please provide any feedback via GitHub issues: https://github.com/oracle/
python-oracledb/issues or discussions: https://github.com/oracle/python-
oracledb/discussions
Hi All,
On behalf of the NumPy team, I'm pleased to announce the release of NumPy
1.23.0rc2. The NumPy 1.23.0 release continues the ongoing work to improve
the handling and promotion of dtypes, increase the execution speed, clarify
the documentation, and expire old deprecations. The highlights are:
- Implementation of ``loadtxt`` in C, greatly improving its performance.
- Exposing DLPack at the Python level for easy data exchange.
- Changes to the promotion and comparisons of structured dtypes.
- Improvements to f2py.
The Python versions supported in this release are 3.8-3.10, 3.11 will be
supported when it comes out. Note that 32 bit wheels are only provided for
Windows, all other wheels are 64 bits on account of Ubuntu, Fedora, and
other Linux distributions dropping 32 bit support. All 64 bit wheels are
also linked with 64 bit OpenBLAS. Wheels can be downloaded from PyPI
<https://pypi.org/project/numpy/1.23.0rc3/>; source archives, release
notes, and wheel hashes are available on Github
<https://github.com/numpy/numpy/releases/tag/v1.23.0rc3>.
*Contributors*
A total of 151 people contributed to this release. People with a "+" by
their
names contributed a patch for the first time.
- @DWesl
- @GalaxySnail +
- @code-review-doctor +
- @h-vetinari
- Aaron Meurer
- Alexander Shadchin
- Alexandre de Siqueira
- Allan Haldane
- Amrit Krishnan
- Andrei Batomunkuev
- Andrew J. Hesford +
- Andrew Murray +
- Andrey Andreyevich Bienkowski +
- André Elimelek de Weber +
- Andy Wharton +
- Arryan Singh
- Arushi Sharma
- Bas van Beek
- Bharat Raghunathan
- Bhavuk Kalra +
- Brigitta Sipőcz
- Brénainn Woodsend +
- Burlen Loring +
- Caio Agiani +
- Charles Harris
- Chiara Marmo
- Cornelius Roemer +
- Dahyun Kim +
- Damien Caliste
- David Prosin +
- Denis Laxalde
- Developer-Ecosystem-Engineering
- Devin Shanahan +
- Diego Wang +
- Dimitri Papadopoulos Orfanos
- Ding Liu +
- Diwakar Gupta +
- Don Kirkby +
- Emma Simon +
- Eric Wieser
- Evan Miller +
- Evgeni Burovski
- Evgeny Posenitskiy +
- Ewout ter Hoeven +
- Felix Divo
- Francesco Andreuzzi +
- Ganesh Kathiresan
- Gaëtan de Menten
- Geoffrey Gunter +
- Hans Meine
- Harsh Mishra +
- Henry Schreiner
- Hood Chatham +
- I-Shen Leong
- Ilhan Polat
- Inessa Pawson
- Isuru Fernando
- Ivan Gonzalez +
- Ivan Meleshko +
- Ivan Yashchuk +
- Janus Heide +
- Jarrod Millman
- Jason Thai +
- Jeremy Volkman +
- Jesús Carrete Montaña +
- Jhong-Ken Chen (陳仲肯) +
- John Kirkham
- John-Mark Gurney +
- Jonathan Deng +
- Joseph Fox-Rabinovitz
- Jouke Witteveen +
- Junyan Ou +
- Jérôme Richard +
- Kassian Sun +
- Kazuki Sakamoto +
- Kenichi Maehashi
- Kevin Sheppard
- Kilian Lieret +
- Kushal Beniwal +
- Leo Singer
- Logan Thomas +
- Lorenzo Mammana +
- Margret Pax
- Mariusz Felisiak +
- Markus Mohrhard +
- Mars Lee
- Marten van Kerkwijk
- Masamichi Hosoda +
- Matthew Barber
- Matthew Brett
- Matthias Bussonnier
- Matthieu Darbois
- Matti Picus
- Melissa Weber Mendonça
- Michael Burkhart +
- Morteza Mirzai +
- Motahhar Mokf +
- Muataz Attaia +
- Muhammad Motawe +
- Mukulika Pahari
- Márton Gunyhó +
- Namami Shanker +
- Nihaal Sangha +
- Niyas Sait
- Omid Rajaei +
- Oscar Gustafsson +
- Ovee Jawdekar +
- P. L. Lim +
- Pamphile Roy +
- Pantelis Antonoudiou +
- Pearu Peterson
- Peter Andreas Entschev
- Peter Hawkins
- Pierre de Buyl
- Pieter Eendebak +
- Pradipta Ghosh +
- Rafael Cardoso Fernandes Sousa +
- Raghuveer Devulapalli
- Ralf Gommers
- Raphael Kruse
- Raúl Montón Pinillos
- Robert Kern
- Rohit Goswami
- Ross Barnowski
- Ruben Garcia +
- Sadie Louise Bartholomew +
- Saswat Das +
- Sayed Adel
- Sebastian Berg
- Serge Guelton
- Simon Surland Andersen +
- Siyabend Ürün +
- Somasree Majumder +
- Soumya +
- Stefan van der Walt
- Stefano Miccoli +
- Stephan Hoyer
- Stephen Worsley +
- Tania Allard
- Thomas Duvernay +
- Thomas Green +
- Thomas J. Fan
- Thomas Li +
- Tim Hoffmann
- Ting Sun +
- Tirth Patel
- Toshiki Kataoka
- Tyler Reddy
- Warren Weckesser
- Yang Hau
- Yoon, Jee Seok +
Cheers,
Charles Harris
The latest bugfix drop for Python 3.10 is here: Python 3.10.5. This release
packs more than 230 bugfixes and docs changes, so you surely want to update
:) You can get it here:
https://www.python.org/downloads/release/python-3105/
## This is the fourth maintenance release of Python 3.10
Python 3.10.5 is the newest major release of the Python programming
language, and it contains many new features and optimizations.
# Major new features of the 3.10 series, compared to 3.9
Among the new major new features and changes so far:
* [PEP 623](https://www.python.org/dev/peps/pep-0623/) -- Deprecate and
prepare for the removal of the wstr member in PyUnicodeObject.
* [PEP 604](https://www.python.org/dev/peps/pep-0604/) -- Allow writing
union types as X | Y
* [PEP 612](https://www.python.org/dev/peps/pep-0612/) -- Parameter
Specification Variables
* [PEP 626](https://www.python.org/dev/peps/pep-0626/) -- Precise line
numbers for debugging and other tools.
* [PEP 618 ](https://www.python.org/dev/peps/pep-0618/) -- Add Optional
Length-Checking To zip.
* [bpo-12782](https://bugs.python.org/issue12782): Parenthesized context
managers are now officially allowed.
* [PEP 632 ](https://www.python.org/dev/peps/pep-0632/) -- Deprecate
distutils module.
* [PEP 613 ](https://www.python.org/dev/peps/pep-0613/) -- Explicit Type
Aliases
* [PEP 634 ](https://www.python.org/dev/peps/pep-0634/) -- Structural
Pattern Matching: Specification
* [PEP 635 ](https://www.python.org/dev/peps/pep-0635/) -- Structural
Pattern Matching: Motivation and Rationale
* [PEP 636 ](https://www.python.org/dev/peps/pep-0636/) -- Structural
Pattern Matching: Tutorial
* [PEP 644 ](https://www.python.org/dev/peps/pep-0644/) -- Require OpenSSL
1.1.1 or newer
* [PEP 624 ](https://www.python.org/dev/peps/pep-0624/) -- Remove
Py_UNICODE encoder APIs
* [PEP 597 ](https://www.python.org/dev/peps/pep-0597/) -- Add optional
EncodingWarning
[bpo-38605](https://bugs.python.org/issue38605): `from __future__ import
annotations` ([PEP 563](https://www.python.org/dev/peps/pep-0563/)) used to
be on this list
in previous pre-releases but it has been postponed to Python 3.11 due to
some compatibility concerns. You can read the Steering Council
communication about it [here](
https://mail.python.org/archives/list/python-dev@python.org/thread/CLVXXPQ2…)
to learn more.
# More resources
* [Changelog](https://docs.python.org/3.10/whatsnew/changelog.html#changelog
)
* [Online Documentation](https://docs.python.org/3.10/)
* [PEP 619](https://www.python.org/dev/peps/pep-0619/), 3.10 Release
Schedule
* Report bugs at [https://bugs.python.org](https://bugs.python.org).
* [Help fund Python and its community](/psf/donations/).
# And now for something completely different
Strange quarks are the third lightest quarks, which are subatomic particles
that are so small, they are believed to be the fundamental particles, and
not further divisible. Like down quarks, strange quarks have a charge of
-1/3. Like all fermions (which are particles that can not exist in the same
place at the same time), strange quarks have a spin of 1/2. What makes
strange quarks different from down quarks–apart from having 25 times the
mass of down quarks–is that they have something that scientists call
"strangeness." Strangeness is basically a resistance to decay against
strong force and electromagnetism. This means that any particle that
contains a strange quark can not decay due to strong force (or
electromagnetism), but instead with the much slower weak force. It was
believed that this was a 'strange' method of decay, which is why the
scientists gave the particles that name.
# We hope you enjoy the new releases!
Thanks to all of the many volunteers who help make Python Development and
these releases possible! Please consider supporting our efforts by
volunteering yourself or through organization contributions to the Python
Software Foundation.
https://www.python.org/psf/
Your friendly release team,
Ned Deily @nad https://discuss.python.org/u/nad
Steve Dower @steve.dower https://discuss.python.org/u/steve.dower
Pablo Galindo Salgado @pablogsal https://discuss.python.org/u/pablogsal