Hi!
I'm pleased to announce the availability of wxGlade revision 1.0.1
Please download from https://sourceforge.net/projects/wxglade/files/wxglade/1.0.1/
wxGlade is a GUI builder for wxWidgets and wxPython.
The documentation includes a tutorial for people who have not used wxPython
before.
Included are also examples for integration with matplotlib.
A snapshot of the documentation is available at http://wxglade.sourceforge.net/docs/index.html
For support, there's a mailing list at https://sourceforge.net/p/wxglade/mailman/wxglade-general/
git repository and bug tracker are at https://github.com/wxGlade/wxGlade
(These pages are also linked from the help menu.)
Changes in revision 1.0.x:
==========================
Besides many improvements in usability, code generation and widget support,
this is also a major internal refactoring of the main data structure and how
widgets in the Design window are created / updated / destroyed.
*General:*
- sizers only required where wx requires them; not required e.g. for
Frame->Panel (used to be Frame->Sizer->Panel)
- better handling of display updates when properties are edited
- accessibility and usability improvements
- Dialog example
- documentation update
*Widgets:*
- all: separate class related properties into Class / Base Classes /
Instance Class
- Dialog: add StdDialogButtonSizer and standard buttons (stock items);
support SetAffirmativeId, SetEscapeId
- Button: support for image direction
- MenuBar: support lambda event handlers
- GridBagSizer: indicate overlapped slots in the Tree view
*Generated Code:*
- no separation into __set_properties/__do_layout any more
- support for instantiation classes
*Internal:*
- internal structures refactored
- add shell window and Tree Printer
wxGlade is released under the MIT license.
Happy New Year,
Dietmar Schwertberger
dietmar(a)schwertberger.de
<P><A HREF="https://sourceforge.net/projects/wxglade/files/wxglade/1.0.1/">wxGlade 1.0.1</A> - GUI builder for wxPython (31-Dec-20)
magic-wormhole is a library and command-line tool which makes it possible to _securely_ and _easily_ get arbitrary-sized files and directories (or short pieces of text) from one computer to another.
By making use of a "mailbox" server on the public internet and the SPAKE2 algorithm, short human-pronouncable codes are used to obtain an end-to-end encrypted connection (peer-to-peer in favourable network conditions).
This server cannot see plaintext and could make a single attempt to subvert a connection (the same as any other attacker).
More details are provided in the documentation:
https://magic-wormhole.readthedocs.io/en/latest/welcome.html#design
RELEASE 0.13.0
--------------
https://pypi.python.org/pypi/magic-wormhole/0.13.0
New in this release:
* Python 2.7 support is dropped (#457)
* Python 3.5 and 3.6 are past their EOL date and support is dropped (#448)
* SECURITY: Replace "weird" characters in receiver's display (#476)
* SECURITY: all past binary signatures are now in Git
* Use the HKDF primitive from "cryptography" (#462)
* `wormhole receive` now accepts `--allocate-code` so that a sender can
use `--code` to send them a file (#450)
* Stream to disk after 10MB on directory receive (#447)
* Handle SSH keys with comments properly (#434)
* Properly parse IPv6 Transit address (#461)
Also of interest to developers in this release are a few changes to
the experimental Dilation implementation and description; some
documentation cleanups; dropping of dependencies; and some test
cleanups. The Dilation changes properly send `use-version` and split
messages over Noise-sized chunks more seamlessly (allowing the
specified 4-byte maximum message size at the application layer).
For packagers: PyPI has stopped serving detached signature files.
Going forward, all signatures will be committed to Git (in the
signatures/ subdirectory). All available signatures from PyPI for
historic releases have been added here too.
Thanks to the many contributors of bug-fixes, patches, and other help
with this release:
* Jelle van der Waa https://github.com/jelly (#466)
* Matthias Riße https://github.com/matrss (#432, #434)
* meejah https://meejah.ca (#484, #481, #483, #455, #477, #464, #456, #460)
* Perseid https://github.com/Perseid (#476)
* FelisDiligens https://github.com/FelisDiligens (#461)
* Casey Link https://github.com/Ramblurr (#468)
* Kian-Meng Ang https://github.com/kianmeng (#452)
* sitiom https://github.com/sitiom (#436)
* Sagar Howal https://github.com/sagarhowal (#410)
* Adam Sroka https://github.com/adam-sroka (#403, #404)
* vu3rdd https://github.com/vu3rdd (reviews)
Thanks,
meejah
Hi there,
Can I please post this message to the email list.
Hi Everyone,
I'm Adam, the Community Manager at Plotly Dash - data visualizations and
data apps in Python.
To stay on top of this changing AI landscape, we recently challenged the
Plotly Community to build Dash apps that utilize the ChatGPT API. After
receiving many impressive Python apps, we are thrilled to announce that
several authors will be showcasing their top submissions on August 30.
If you're interested in seeing what Python community members were able to
build with open source, feel free to register for the live community
showcase!
https://go.plotly.com/dash-chatgpt
Thank you,
adam schroeder
--
Adam Schroeder
Community Manager, Plotly
A 5555 Gaspe Ave #118, Montreal, QC, H2T 2A3
E adam(a)plot.ly* *W https://www.plotly.com/* *
<https://go.plotly.com/dash-chatgpt?utm_source=Webinar%3A+ChatGPT+8%2F30%2F2…>
*ANNOUNCING*
eGenix Antispam Bot for Telegram
Version 0.5.0
A simple, yet effective bot implementation
to address Telegram signup spam.
This announcement is also available on our web-site for online reading:
https://www.egenix.com/company/news/eGenix-Antispam-Bot-for-Telegram-0.5.0-…
------------------------------------------------------------------------
*INTRODUCTION*
eGenix <https://egenix.com/> has long been running a local Python user
group meeting in Düsseldorf called /Python Meeting Düsseldorf
<https://pyddf.de/>/ and we are using a Telegram group for most of our
communication.
In the early days, the group worked well and we only had few spammers
joining it, which we could well handle manually.
More recently, this has changed dramatically. We are seeing between 2-5
spam signups per day, often at night. Furthermore, the signups accounts
are not always easy to spot as spammers, since they often come with
profile images, descriptions, etc.
With the bot, we now have a more flexible way of dealing with the problem.
Please see our project page for details and download links:
https://www.egenix.com/library/telegram-antispam-bot/
------------------------------------------------------------------------
*FEATURES*
* Low impact mode of operation: the bot tries to keep noise in the
group to a minimum
* Several challenge mechanisms to choose from, more can be added as
needed
* Flexible and easy to use configuration
* Only needs a few MB of RAM, so can easily be put into a container
or run on a Raspberry Pi
* Can handle quite a bit of load due to the async implementation
* Works with Python 3.9+
* MIT open source licensed
------------------------------------------------------------------------
*NEWS*
The 0.5.0 release fixes a few bugs and adds more features:
* Added support for muting the bot messages and enabled this per
default; thanks to Alexander Ananchenko
* Added support for also removing the approval message after a timeout
(not enabled per default); thanks to Alexander Ananchenko
* Bot conversations are now logged before removing them; this makes it
easier to debug challenges (some may be too easy)
It has been battle-tested in production for more than two months already
and is proving to be a really useful tool to help with Telegram group
administration.
Enjoy,
--
Marc-Andre Lemburg
eGenix.com
Professional Python Services directly from the Experts (#1, Aug 21 2023)
>>> Python Projects, Coaching and Support ... https://www.egenix.com/
>>> Python Product Development ... https://consulting.egenix.com/
________________________________________________________________________
::: We implement business ideas - efficiently in both time and costs :::
eGenix.com Software, Skills and Services GmbH Pastor-Loeh-Str.48
D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
Registered at Amtsgericht Duesseldorf: HRB 46611
https://www.egenix.com/company/contact/https://www.malemburg.com/
Vulture - Find dead code
========================
Vulture finds unused code in Python programs. This is useful for
cleaning up and finding errors in large code bases. If you run Vulture
on both your library and test suite you can find untested code.
Due to Python's dynamic nature, static code analyzers like Vulture are
likely to miss some dead code. Also, code that is only called
implicitly may be reported as unused. Nonetheless, Vulture can be a
very helpful tool for higher code quality.
Download
========
https://github.com/jendrikseipp/vulturehttp://pypi.python.org/pypi/vulture
Features
========
* fast: uses static code analysis
* tested: tests itself and has complete test coverage
* complements pyflakes and has the same output syntax
* sorts unused classes and functions by size with `--sort-by-size`
* supports Python 3.7+
News
====
* Use exit code 3 when dead code is found (whosayn, #319).
* Treat non-supported decorator names as "@" instead of crashing
(Llandy3d and Jendrik Seipp, #284).
* Drop support for Python 3.6 (Jendrik Seipp).
Cheers,
Jendrik
Hi all,
On behalf of the SciPy development team, I'm pleased to announce the
release of SciPy 1.11.2, which
includes new wheels for Python 3.12 and musllinux.
Sources and binary wheels can be found at:
https://pypi.org/project/scipy/
and at: https://github.com/scipy/scipy/releases/tag/v1.11.2
One of a few ways to install this release with pip:
pip install scipy==1.11.2
======================
SciPy 1.11.2 Release Notes
======================
SciPy 1.11.2 is a bug-fix release with no new features
compared to 1.11.1. Python 3.12 and musllinux wheels
are provided with this release.
Authors
=======
* Name (commits)
* Evgeni Burovski (2)
* CJ Carey (3)
* Dieter Werthmüller (1)
* elbarso (1) +
* Ralf Gommers (2)
* Matt Haberland (1)
* jokasimr (1) +
* Thilo Leitzbach (1) +
* LemonBoy (1) +
* Ellie Litwack (2) +
* Sturla Molden (1)
* Andrew Nelson (5)
* Tyler Reddy (39)
* Daniel Schmitz (6)
* Dan Schult (2)
* Albert Steppi (1)
* Matus Valo (1)
* Stefan van der Walt (1)
A total of 18 people contributed to this release.
People with a "+" by their names contributed a patch for the first time.
This list of names is automatically generated, and may not be fully
complete.
Issues closed for 1.11.2
--------------------------------
* `#4690 <https://github.com/scipy/scipy/issues/4690>`__:
special.jn_zeros(281, 6) hangs
* `#12247 <https://github.com/scipy/scipy/issues/12247>`__: Complex matrix
square root of positive semi-definite matrix
* `#18398 <https://github.com/scipy/scipy/issues/18398>`__: BUG:
\`loadmat\` fails to load matlab structures with anonymous...
* `#18603 <https://github.com/scipy/scipy/issues/18603>`__: BUG: Floating
point CSC with int64 indices doesn't work with...
* `#18730 <https://github.com/scipy/scipy/issues/18730>`__: BUG:
\`scipy.optimize.minimize\` fails when \`dtype=float32\`...
* `#18788 <https://github.com/scipy/scipy/issues/18788>`__: DOC: Broken
link to installation instructions in README.rst
* `#18792 <https://github.com/scipy/scipy/issues/18792>`__: BUG: Build
failure with Cython 3.0.0b3 if scipy is already installed
* `#18793 <https://github.com/scipy/scipy/issues/18793>`__: BUG:
optimize.least_squares with method='trf' yields wrong result...
* `#18800 <https://github.com/scipy/scipy/issues/18800>`__: BUG:
cKDtree.query no longer accepts DataFrame as input
* `#19002 <https://github.com/scipy/scipy/issues/19002>`__: Spalde error
with scipy 1.10: 0-th dimension must be fixed
* `#19022 <https://github.com/scipy/scipy/issues/19022>`__: BUG:
<Compilation of scipy 1.11 falls with python3.12>
* `#19026 <https://github.com/scipy/scipy/issues/19026>`__: BUG:
Compilation of scipy 1.10.1 and 1.11.1 fails with Python...
Pull requests for 1.11.2
-------------------------------
* `#17918 <https://github.com/scipy/scipy/pull/17918>`__: BUG: Fix error in
linalg/_matfuncs_sqrtm.py
* `#18644 <https://github.com/scipy/scipy/pull/18644>`__: BUG:
sparse.linalg: Cast index arrays to intc before calling...
* `#18784 <https://github.com/scipy/scipy/pull/18784>`__: Allow johnsonsu
parameters to be floats
* `#18785 <https://github.com/scipy/scipy/pull/18785>`__: MAINT: stats: fix
NumPy DeprecationWarnings
* `#18787 <https://github.com/scipy/scipy/pull/18787>`__: REL, MAINT: prep
for 1.11.2
* `#18790 <https://github.com/scipy/scipy/pull/18790>`__: DOC: Fix broken
link to installation guide in README
* `#18804 <https://github.com/scipy/scipy/pull/18804>`__: BUG: Ensure
cKDtree.query does not pass Pandas DataFrame to np.isfinite
* `#18809 <https://github.com/scipy/scipy/pull/18809>`__: CI, MAINT: 32-bit
Pillow pin
* `#18810 <https://github.com/scipy/scipy/pull/18810>`__: BLD: copy
\`cython_optimize.pxd\` to build dir
* `#18825 <https://github.com/scipy/scipy/pull/18825>`__: BUG: make
\`L-BFGS-B\` optimizer work with single precision gradient
* `#18831 <https://github.com/scipy/scipy/pull/18831>`__: BUG: io/matlab:
Fix loading of mat files containing fn handles...
* `#18859 <https://github.com/scipy/scipy/pull/18859>`__: BUG: make
Bessel-roots function not hang and not skip roots
* `#18894 <https://github.com/scipy/scipy/pull/18894>`__: DOC: linking
interp1d docstring to tutorial
* `#18896 <https://github.com/scipy/scipy/pull/18896>`__: BUG: lsq trf
gives x=1e-10 if x0 is near a bound
* `#18937 <https://github.com/scipy/scipy/pull/18937>`__: CI/BLD: create
cp312 wheels
* `#18961 <https://github.com/scipy/scipy/pull/18961>`__: DOC: Fix
installation instructions using venv/pip
* `#18985 <https://github.com/scipy/scipy/pull/18985>`__: CI: move the
musllinux Cirrus job to GHA, optimize other jobs
* `#18999 <https://github.com/scipy/scipy/pull/18999>`__: CI: reduce Cirrus
CI usage during wheel builds
* `#19004 <https://github.com/scipy/scipy/pull/19004>`__: BUG: interpolate:
fix spalde with len(c) < len(t)
* `#19025 <https://github.com/scipy/scipy/pull/19025>`__: BUG: pass unused
xrtol in fmin_bfgs to _minimize_bfgs
* `#19027 <https://github.com/scipy/scipy/pull/19027>`__: BLD: rename
\`setup.py\` to \`_setup.py\` to signal it should...
* `#19034 <https://github.com/scipy/scipy/pull/19034>`__: MAINT: NumPy
1.25.x deprecations
* `#19054 <https://github.com/scipy/scipy/pull/19054>`__: MAINT: ensure
cobyla objective returns scalar
Checksums
=========
MD5
~~~
ff799002607fbaed2d81a1d25cce38a3 Changelog
a1ef4ec8ff10e50f2ac1a8c0ee253ffd README.txt
7038aeb6c007e7114afa2539135bd142
scipy-1.11.2-cp310-cp310-macosx_10_9_x86_64.whl
3a375f4efced07df10e2990d1d73c811
scipy-1.11.2-cp310-cp310-macosx_12_0_arm64.whl
6be4527b35d09313ce2802f99f71527a
scipy-1.11.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
cc681011c84e9eb051a43ea895cf4073
scipy-1.11.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
de9afa37cd0c3654a5a4abe2a29548e4
scipy-1.11.2-cp310-cp310-musllinux_1_1_x86_64.whl
85c785288036b94826c2c564116b5e6b scipy-1.11.2-cp310-cp310-win_amd64.whl
e08a50bf4c113a1e310bece42410a01f
scipy-1.11.2-cp311-cp311-macosx_10_9_x86_64.whl
fcf37aaee7f567daf43e8f613bd80ef1
scipy-1.11.2-cp311-cp311-macosx_12_0_arm64.whl
a8a8b98a8162f5684597f4852a494f9a
scipy-1.11.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
5cccac1aaca9a7a9701212b523771486
scipy-1.11.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
d59f8140d6eb9052c1958a21d9fa97a9
scipy-1.11.2-cp311-cp311-musllinux_1_1_x86_64.whl
5ea7ab2643e34a106b0b07eddf50f96d scipy-1.11.2-cp311-cp311-win_amd64.whl
2cedd23dd78ffb8eb8ef09ce24f68b21
scipy-1.11.2-cp312-cp312-macosx_10_9_x86_64.whl
5109008341246dd63e170b550628f6b6
scipy-1.11.2-cp312-cp312-macosx_12_0_arm64.whl
ea58c5dc26dd439a19bf0b34eca42713
scipy-1.11.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
c6eb39fbca24c96ea91f45ed4694e16f
scipy-1.11.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
170c392f56185e9c8336f3501e38a675
scipy-1.11.2-cp312-cp312-musllinux_1_1_x86_64.whl
b1b2f01e007b05aad3461f1e454e2c57 scipy-1.11.2-cp312-cp312-win_amd64.whl
6d7de323abd9b33f53ea77b0915c0e5e
scipy-1.11.2-cp39-cp39-macosx_10_9_x86_64.whl
900b0591520bd3864b34fd619b0a500a
scipy-1.11.2-cp39-cp39-macosx_12_0_arm64.whl
f6621b3355fec0fe58a37e463a08fa0e
scipy-1.11.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
4f3ea3d87dd0bfd2816583080b7e3934
scipy-1.11.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
268340a51245f23b81a3f40dae5819a1
scipy-1.11.2-cp39-cp39-musllinux_1_1_x86_64.whl
2e2b1fcf6ea9c311576700daf18ccc19 scipy-1.11.2-cp39-cp39-win_amd64.whl
SHA256
~~~~~~
ba310500c0ebddc3df18f083c30fec060ba5b04b5d38493f7939ee3cafc00302 Changelog
82afc655164a2a7609c7c59e1c186d7ea0f6ffee2fcfb6c83c26658f6656f906 README.txt
2b997a5369e2d30c97995dcb29d638701f8000d04df01b8e947f206e5d0ac788
scipy-1.11.2-cp310-cp310-macosx_10_9_x86_64.whl
95763fbda1206bec41157582bea482f50eb3702c85fffcf6d24394b071c0e87a
scipy-1.11.2-cp310-cp310-macosx_12_0_arm64.whl
e367904a0fec76433bf3fbf3e85bf60dae8e9e585ffd21898ab1085a29a04d16
scipy-1.11.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
d690e1ca993c8f7ede6d22e5637541217fc6a4d3f78b3672a6fe454dbb7eb9a7
scipy-1.11.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
d2b813bfbe8dec6a75164523de650bad41f4405d35b0fa24c2c28ae07fcefb20
scipy-1.11.2-cp310-cp310-musllinux_1_1_x86_64.whl
afdb0d983f6135d50770dd979df50bf1c7f58b5b33e0eb8cf5c73c70600eae1d
scipy-1.11.2-cp310-cp310-win_amd64.whl
8d9886f44ef8c9e776cb7527fb01455bf4f4a46c455c4682edc2c2cc8cd78562
scipy-1.11.2-cp311-cp311-macosx_10_9_x86_64.whl
1342ca385c673208f32472830c10110a9dcd053cf0c4b7d4cd7026d0335a6c1d
scipy-1.11.2-cp311-cp311-macosx_12_0_arm64.whl
b133f237bd8ba73bad51bc12eb4f2d84cbec999753bf25ba58235e9fc2096d80
scipy-1.11.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
3aeb87661de987f8ec56fa6950863994cd427209158255a389fc5aea51fa7055
scipy-1.11.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
90d3b1364e751d8214e325c371f0ee0dd38419268bf4888b2ae1040a6b266b2a
scipy-1.11.2-cp311-cp311-musllinux_1_1_x86_64.whl
f73102f769ee06041a3aa26b5841359b1a93cc364ce45609657751795e8f4a4a
scipy-1.11.2-cp311-cp311-win_amd64.whl
fa4909c6c20c3d91480533cddbc0e7c6d849e7d9ded692918c76ce5964997898
scipy-1.11.2-cp312-cp312-macosx_10_9_x86_64.whl
ac74b1512d38718fb6a491c439aa7b3605b96b1ed3be6599c17d49d6c60fca18
scipy-1.11.2-cp312-cp312-macosx_12_0_arm64.whl
b8425fa963a32936c9773ee3ce44a765d8ff67eed5f4ac81dc1e4a819a238ee9
scipy-1.11.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
542a757e2a6ec409e71df3d8fd20127afbbacb1c07990cb23c5870c13953d899
scipy-1.11.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
ea932570b1c2a30edafca922345854ff2cd20d43cd9123b6dacfdecebfc1a80b
scipy-1.11.2-cp312-cp312-musllinux_1_1_x86_64.whl
4447ad057d7597476f9862ecbd9285bbf13ba9d73ce25acfa4e4b11c6801b4c9
scipy-1.11.2-cp312-cp312-win_amd64.whl
b0620240ef445b5ddde52460e6bc3483b7c9c750275369379e5f609a1050911c
scipy-1.11.2-cp39-cp39-macosx_10_9_x86_64.whl
f28f1f6cfeb48339c192efc6275749b2a25a7e49c4d8369a28b6591da02fbc9a
scipy-1.11.2-cp39-cp39-macosx_12_0_arm64.whl
214cdf04bbae7a54784f8431f976704ed607c4bc69ba0d5d5d6a9df84374df76
scipy-1.11.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
10eb6af2f751aa3424762948e5352f707b0dece77288206f227864ddf675aca0
scipy-1.11.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
0f3261f14b767b316d7137c66cc4f33a80ea05841b9c87ad83a726205b901423
scipy-1.11.2-cp39-cp39-musllinux_1_1_x86_64.whl
2c91cf049ffb5575917f2a01da1da082fd24ed48120d08a6e7297dfcac771dcd
scipy-1.11.2-cp39-cp39-win_amd64.whl
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 replaces
cx_Oracle.
Where do I get it?
https://pypi.org/project/oracledb/1.4.0/
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 large number of smaller enhancements and bug fixes.
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.26.0b1. The NumPy 1.26.0 release is a continuation of the 1.25.x release
cycle with the addition of Python 3.12.0 support. Python 3.12 dropped
distutils, consequently supporting it required finding a replacement for
the setup.py/distutils based build system NumPy was using. We have chosen
to use the Meson build system instead, and this is the first NumPy release
supporting it. This is also the first release that supports Cython 3.0 in
addition to retaining 0.29.X compatibility. Supporting those two upgrades
was a large project, over 100 files have been touched in this release. The
changelog doesn't capture the full extent of the work, special thanks to
Ralf Gommers, Sayed Adel, Stéfan van der Walt, and Matti Picus who did much
of the work in the main development branch.
The highlights of this release are:
- Python 3.12.0 support.
- Cython 3.0.0 compatibility.
- Use of the Meson build system
- Updated SIMD support
The Python versions supported by this release are 3.9-3.12. Note that no 32
bit wheels are provided. Wheels can be downloaded from PyPI
<https://pypi.org/project/numpy/1.26.0b1/>; source archives, release notes,
and wheel hashes are available on Github
<https://github.com/numpy/numpy/releases/tag/v1.26.0b1>.
*Contributors*
A total of 11 people contributed to this release. People with a "+" by
their names contributed a patch for the first time.
- Bas van Beek
- Charles Harris
- Matti Picus
- Melissa Weber Mendonça
- Ralf Gommers
- Sayed Adel
- Sebastian Berg
- Stefan van der Walt
- Tyler Reddy
- Warren Weckesser
*Pull requests merged*
A total of 18 pull requests were merged for this release.
- #24305: MAINT: Prepare 1.26.x branch for development
- #24308: MAINT: Massive update of files from main for numpy 1.26
- #24322: CI: fix wheel builds on the 1.26.x branch
- #24326: BLD: update openblas to newer version
- #24327: TYP: Trim down the ``_NestedSequence.__getitem__`` signature
- #24328: BUG: fix choose refcount leak
- #24337: TST: fix running the test suite in builds without BLAS/LAPACK
- #24338: BUG: random: Fix generation of nan by dirichlet.
- #24340: MAINT: Dependabot updates from main
- #24342: MAINT: Add back NPY_RUN_MYPY_IN_TESTSUITE=1
- #24353: MAINT: Update ``extbuild.py`` from main.
- #24356: TST: fix distutils tests for deprecations in recent
setuptools...
- #24375: MAINT: Update cibuildwheel to version 2.15.0
- #24381: MAINT: Fix codespaces setup.sh script
- #24403: ENH: Vendor meson for multi-target build support
- #24404: BLD: vendor meson-python to make the Windows builds with
SIMD...
- #24405: BLD, SIMD: The meson CPU dispatcher implementation
- #24406: MAINT: Remove versioneer
*Build system changes*
In this release, NumPy has switched to Meson as the build system and
meson-python as the build backend. Installing NumPy or building a wheel can
be
done with standard tools like ``pip`` and ``pypa/build``. The following are
supported:
- Regular installs: ``pip install numpy`` or (in a cloned repo) ``pip
install .``
- Building a wheel: ``python -m build`` (preferred), or ``pip wheel .``
- Editable installs: ``pip install -e . --no-build-isolation``
- Development builds through the custom CLI implemented with spin
<https://github.com/scientific-python/spin>: ``spin build``.
All the regular ``pip`` and ``pypa/build`` flags (e.g.,
``--no-build-isolation``) should work as expected.
*NumPy-specific build customization*
Many of the NumPy-specific ways of customizing builds have changed.
The ``NPY_*`` environment variables which control BLAS/LAPACK, SIMD,
threading,
and other such options are no longer supported, nor is a ``site.cfg`` file
to
select BLAS and LAPACK. Instead, there are command-line flags that can be
passed to the build via ``pip``/``build``'s config-settings interface. These
flags are all listed in the ``meson_options.txt`` file in the root of the
repo.
Detailed documented will be available before the final 1.26.0 release; for
now
please see `the SciPy building from source
<http://scipy.github.io/devdocs/building/index.html> docs since most build
customization
works in an almost identical way in SciPy as it does in NumPy.
*Build dependencies*
While the runtime dependencies of NumPy have not changed, the build
dependencies have. Because we temporarily vendor Meson and meson-python,
there are several new dependencies - please see the ``[build-system]``
section
of ``pyproject.toml`` for details.
*Troubleshooting*
This build system change is quite large. In case of unexpected issues, it is
still possible to use a ``setup.py``-based build as a temporary workaround
(on
Python 3.9-3.11, not 3.12), by copying ``pyproject.toml.setuppy`` to
``pyproject.toml``. However, please open an issue with details on the NumPy
issue tracker. We aim to phase out ``setup.py`` builds as soon as possible,
and
therefore would like to see all potential blockers surfaced early on in the
1.26.0 release cycle.
Cheers,
Charles Harris