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)
Dear colleagues,
We are very happy to announce the v5.0 release of astropy, a core Python
package for Astronomy:
http://www.astropy.org
The astropy core package is a community-driven Python package intended to
contain much of the core functionality and common tools needed for
astronomy and astrophysics. It is part of the Astropy Project, which aims
to foster an ecosystem of interoperable astronomy packages for Python.
New and improved major functionality in this release includes:
* Support for reading, writing, and converting Cosmology objects
* A new cosmology units module
* New trigonometric and spline models
* Support for dask arrays in tables
* Support for registering array-like objects as mixin columns
* Support for reading and writing tables to Parquet format
* Support for reading and writing tables to MRT format
* Support for masked quantity columns, including masked FITS columns with
units
* Converting SkyCoord to QTable
* A new unified I/O architecture
In addition, hundreds of smaller improvements and fixes have been made. An
overview of the changes is provided at:
http://docs.astropy.org/en/stable/whatsnew/5.0.html
The astropy v5.0.x series now replaces v4.0.x as the long term support
release, and will be supported for two years.
Instructions for installing astropy are provided on our website, and
extensive documentation can be found at:
http://docs.astropy.org
If you usually use pip/vanilla Python, you can do:
pip install astropy --upgrade
If you make use of the Anaconda Python Distribution, soon you will be able
update to Astropy v5.0 with:
conda update astropy
Or if you cannot wait for Anaconda to update their default version, you can
use the conda-forge channel:
conda update -c conda-forge astropy
Please report any issues, or request new features via our GitHub repository:
https://github.com/astropy/astropy/issues
Over 400 people have contributed code to the core astropy package so far,
and you can find out more about the team here:
https://www.astropy.org/team.html
If you use astropy directly for your work, or as a dependency to another
package, please remember to acknowledge it by citing the appropriate
Astropy paper. For the most up-to-date suggestions, see the acknowledgement
page, but as of this release the recommendation is:
This research made use of Astropy, a community-developed core Python
package for Astronomy (Astropy Collaboration, 2018).
We hope that you enjoy using astropy as much as we enjoyed developing it!
Thomas Robitaille
v5.0 Release Coordinator
on behalf of The Astropy Project
https://www.astropy.org/announcements/release-5.0.html
sphinx-codeautolink makes documentation code examples clickable.
Links to reference documentation are inserted for the functions
and classes that the example uses. The key aim is a minimal setup
assuming examples are already valid Python, but bells and whistles
for hiding imports, concatenating examples, autodoc and intersphinx
integrations, and custom link styles are available.
A live demo is available on our documentation:
https://sphinx-codeautolink.rtfd.io
In the last few releases we've made significant improvements:
- Improved parsing to support fluent interfaces, link import statements,
find relocated functions and classes, and find attributes from subclasses
- Simplified integration with third-party directives
- Fixed a plethora of parsing, linking and other runtime bugs
sphinx-codeautolink uses the MIT licence, and version 0.7.0
was recently released. Please reach out on GitHub (felix-hilden)
or at felix.hilden(a)gmail.com if you have any questions or suggestions.
Thank you for reading and have a wonderful day!
<P><A HREF="https://sphinx-codeautolink.rtfd.io">
sphinx-codeautolink 0.7.0</A> - make your code examples clickable (28-Nov-21)
pyspread 2.0.1
==============
This is a bugfix release for pyspread 2.0.
Bug fixes:
* Font tests removed because of frequent issues with Debian's font
aliasing system
* Outdated information regarding SVG export removed from documentation
About pyspread
==============
Pyspread is a non-traditional spreadsheet that is based on and written
in the programming language Python.
The goal of pyspread is to be the most pythonic spreadsheet application.
Pyspread is free software. It is released under the GPL v3.
Project website: https://pyspread.gitlab.io/
Download page: https://pypi.org/project/pyspread/
Signature for tarball:
https://gitlab.com/pyspread/downloads/-/raw/master/releases/pyspread-2.0.ta…
Source code: https://gitlab.com/pyspread/pyspread
Dependencies
============
Mandatory:
* Python (≥ 3.6)
* numpy (>=1.1)
* PyQt5 (≥ 5.10, requires PyQt5.Svg)
* setuptools (>=40.0)
* markdown2 (>= 2.3)
Recommended:
* matplotlib (>=1.1.1)
* pyenchant (>=1.1)
* pip (>=18)
* python-dateutil (>= 2.7.0)
For building the apidocs with Sphinx see apidocs/requirements.txt
Enjoy
Martin
Hi all,
On behalf of the SciPy development team, I'm pleased to announced the
release of SciPy 1.7.3,
which is a bug fix release that includes wheels for MacOS 12+ arm64 at
Python versions 3.8, 3.9, and 3.10.
Sources and binary wheels can be found at:
https://pypi.org/project/scipy/
and at: https://github.com/scipy/scipy/releases/tag/v1.7.3
<https://github.com/scipy/scipy/releases/tag/v1.6.3>
<https://github.com/scipy/scipy/releases/tag/v1.6.1>
One of a few ways to install this release with pip:
pip install scipy==1.7.3
=====================
SciPy 1.7.3 Release Notes
=====================
SciPy 1.7.3 is a bug-fix release that provides binary wheels
for MacOS arm64 with Python 3.8, 3.9, and 3.10. The MacOS arm64 wheels
are only available for MacOS version 12.0 and greater, as explained
in Issue 14688, linked below.
Authors
======
* Anirudh Dagar
* Ralf Gommers
* Tyler Reddy
* Pamphile Roy
* Olivier Grisel
* Isuru Fernando
A total of 6 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.7.3
-------------------------------
* `#13364 <https://github.com/scipy/scipy/issues/13364>`__: Segmentation
fault on import of scipy.integrate on Apple M1 ARM...
* `#14688 <https://github.com/scipy/scipy/issues/14688>`__: BUG: ARPACK's
eigsh & OpenBLAS from Apple Silicon M1 (arm64)...
* `#14991 <https://github.com/scipy/scipy/issues/14991>`__: four CI
failures on pre-release job
* `#15077 <https://github.com/scipy/scipy/issues/15077>`__: Remaining test
failures for macOS arm64 wheel
* `#15081 <https://github.com/scipy/scipy/issues/15081>`__: BUG:
Segmentation fault caused by scipy.stats.qmc.qmc.update_discrepancy
Pull requests for 1.7.3
------------------------------
* `#14990 <https://github.com/scipy/scipy/pull/14990>`__: BLD: update
pyproject.toml for Python 3.10 changes
* `#15086 <https://github.com/scipy/scipy/pull/15086>`__: BUG: out of
bounds indexing in stats.qmc.update_discrepancy
* `#15090 <https://github.com/scipy/scipy/pull/15090>`__: MAINT: skip a few
failing tests in \`1.7.x\` for macOS arm64
Checksums
=========
MD5
~~~
65166885666a1a74deffe429d093e6f2
scipy-1.7.3-cp310-cp310-macosx_10_9_x86_64.whl
537752d6744b507f203f376ec2df6e70
scipy-1.7.3-cp310-cp310-macosx_12_0_arm64.whl
e518125fc38cedde00da54672655b7cd
scipy-1.7.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
c83ba57d18c24e3e0f899378f6bc0876
scipy-1.7.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
ba90233a59aaf0f05485de296bea6fc1 scipy-1.7.3-cp310-cp310-win_amd64.whl
ce3ca8d9bb3ace6686b89e07f767a013
scipy-1.7.3-cp37-cp37m-macosx_10_9_x86_64.whl
16ce33be314dae61c953c5c6e605cba6
scipy-1.7.3-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl
83f8b25f1a00a5e37eca4e1463d046fa
scipy-1.7.3-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
44254582f51de14fd15d8be44a309a8b
scipy-1.7.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
af219af017f220f217e6308cad5893e1 scipy-1.7.3-cp37-cp37m-win32.whl
29b476d691e325c924b2cf77d0ff8b99 scipy-1.7.3-cp37-cp37m-win_amd64.whl
6341d96c9f9edfd7221708636d6dab5c
scipy-1.7.3-cp38-cp38-macosx_10_9_x86_64.whl
919b3f6c4b5f9cc137b2e40c50837ba7
scipy-1.7.3-cp38-cp38-macosx_12_0_arm64.whl
697cb8e337a8073792aca67aa4dd7f49
scipy-1.7.3-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl
e1c1c129731f8623f7168153f6088472
scipy-1.7.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
6203426ffb92a0a12606eaa885d74d54
scipy-1.7.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
936de7e1b6c4f05079ac2ea4e63d0436 scipy-1.7.3-cp38-cp38-win32.whl
9da686cd27c2e51342deb1d2d060fa08 scipy-1.7.3-cp38-cp38-win_amd64.whl
cf4e152fb2e7241e7bdd7761191590ae
scipy-1.7.3-cp39-cp39-macosx_10_9_x86_64.whl
97f2f1ee23139230063ff07ce4e9c61b
scipy-1.7.3-cp39-cp39-macosx_12_0_arm64.whl
df508267071a08b63f21b8ae3dcd5eb2
scipy-1.7.3-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl
391662df3e0411daa08b5421e54ad9c0
scipy-1.7.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
0587d18e903b1ceaeb6bab73f704872d
scipy-1.7.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
3a0b4991b3a994fb6e0bbcc9c99ab5c9 scipy-1.7.3-cp39-cp39-win32.whl
4e168ff30d040edbaac53efb43d8cda4 scipy-1.7.3-cp39-cp39-win_amd64.whl
daae4fedcd479738e54fd7035445be89 scipy-1.7.3.tar.gz
9e6a6ae20e68e99031229c430f966672 scipy-1.7.3.tar.xz
1a9ceac2a40fef71b75859040e371906 scipy-1.7.3.zip
SHA256
~~~~~~
173308efba2270dcd61cd45a30dfded6ec0085b4b6eb33b5eb11ab443005e088
scipy-1.7.3-cp310-cp310-macosx_10_9_x86_64.whl
21b66200cf44b1c3e86495e3a436fc7a26608f92b8d43d344457c54f1c024cbc
scipy-1.7.3-cp310-cp310-macosx_12_0_arm64.whl
ceebc3c4f6a109777c0053dfa0282fddb8893eddfb0d598574acfb734a926168
scipy-1.7.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
f7eaea089345a35130bc9a39b89ec1ff69c208efa97b3f8b25ea5d4c41d88094
scipy-1.7.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
304dfaa7146cffdb75fbf6bb7c190fd7688795389ad060b970269c8576d038e9
scipy-1.7.3-cp310-cp310-win_amd64.whl
033ce76ed4e9f62923e1f8124f7e2b0800db533828c853b402c7eec6e9465d80
scipy-1.7.3-cp37-cp37m-macosx_10_9_x86_64.whl
4d242d13206ca4302d83d8a6388c9dfce49fc48fdd3c20efad89ba12f785bf9e
scipy-1.7.3-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl
8499d9dd1459dc0d0fe68db0832c3d5fc1361ae8e13d05e6849b358dc3f2c279
scipy-1.7.3-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
ca36e7d9430f7481fc7d11e015ae16fbd5575615a8e9060538104778be84addf
scipy-1.7.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
e2c036492e673aad1b7b0d0ccdc0cb30a968353d2c4bf92ac8e73509e1bf212c
scipy-1.7.3-cp37-cp37m-win32.whl
866ada14a95b083dd727a845a764cf95dd13ba3dc69a16b99038001b05439709
scipy-1.7.3-cp37-cp37m-win_amd64.whl
65bd52bf55f9a1071398557394203d881384d27b9c2cad7df9a027170aeaef93
scipy-1.7.3-cp38-cp38-macosx_10_9_x86_64.whl
f99d206db1f1ae735a8192ab93bd6028f3a42f6fa08467d37a14eb96c9dd34a3
scipy-1.7.3-cp38-cp38-macosx_12_0_arm64.whl
5f2cfc359379c56b3a41b17ebd024109b2049f878badc1e454f31418c3a18436
scipy-1.7.3-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl
eb7ae2c4dbdb3c9247e07acc532f91077ae6dbc40ad5bd5dca0bb5a176ee9bda
scipy-1.7.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
95c2d250074cfa76715d58830579c64dff7354484b284c2b8b87e5a38321672c
scipy-1.7.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
87069cf875f0262a6e3187ab0f419f5b4280d3dcf4811ef9613c605f6e4dca95
scipy-1.7.3-cp38-cp38-win32.whl
7edd9a311299a61e9919ea4192dd477395b50c014cdc1a1ac572d7c27e2207fa
scipy-1.7.3-cp38-cp38-win_amd64.whl
eef93a446114ac0193a7b714ce67659db80caf940f3232bad63f4c7a81bc18df
scipy-1.7.3-cp39-cp39-macosx_10_9_x86_64.whl
eb326658f9b73c07081300daba90a8746543b5ea177184daed26528273157294
scipy-1.7.3-cp39-cp39-macosx_12_0_arm64.whl
93378f3d14fff07572392ce6a6a2ceb3a1f237733bd6dcb9eb6a2b29b0d19085
scipy-1.7.3-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl
edad1cf5b2ce1912c4d8ddad20e11d333165552aba262c882e28c78bbc09dbf6
scipy-1.7.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
5d1cc2c19afe3b5a546ede7e6a44ce1ff52e443d12b231823268019f608b9b12
scipy-1.7.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
2c56b820d304dffcadbbb6cbfbc2e2c79ee46ea291db17e288e73cd3c64fefa9
scipy-1.7.3-cp39-cp39-win32.whl
3f78181a153fa21c018d346f595edd648344751d7f03ab94b398be2ad083ed3e
scipy-1.7.3-cp39-cp39-win_amd64.whl
ab5875facfdef77e0a47d5fd39ea178b58e60e454a4c85aa1e52fcb80db7babf
scipy-1.7.3.tar.gz
4042211bed8e6c658b9e2a4ca829806f0b33437faa7878c8dc6d6f72845b1694
scipy-1.7.3.tar.xz
16669af9790fcc64f3a914bc0a1a2025daa5f9a8d2f203bda4214569d59d0916
scipy-1.7.3.zip
Hi All,
On behalf of the NumPy team, I'm pleased to announce the release of NumPy
1.22.0rc1. NumPy 1.22.0rc1 is a big release featuring the work of 150
contributers spread over 575 pull requests. There have been many
improvements,
highlights are:
- Annotations of the main namespace are essentially complete. Upstream
is a moving target, so there will likely be further improvements, but the
major work is done. This is probably the most user visible enhancement in
this release.
- A preliminary version of the proposed Array-API is provided. This is a
step in creating a standard collection of functions that can be used across
applications such as CuPy and JAX.
- NumPy now has a DLPack backend. DLPack provides a common interchange
format for array (tensor) data.
- New methods for `quantile`, `percentile`, and related functions.
Thenew methods provide a complete set of the methods commonly found in the
literature.
- A new configurable allocator for use by downstream projects.
These are in addition to the ongoing work to provide SIMD support for
commonly used functions, improvements to F2PY, and better documentation.
The Python versions supported in this release are 3.8-3.10, Python 3.7 has
been dropped. Note that 32 bit wheels are only provided for Python 3.8 and
3.9 on 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, which should fix the occasional
problems encountered by folks using truly huge arrays. Wheels can be
downloaded from PyPI <https://pypi.org/project/numpy/1.22.0rc1/>; source
archives, release notes, and wheel hashes are available on Github
<https://github.com/numpy/numpy/releases/tag/v1.22.0rc1>. Linux users will
need pip >= 0.19.3 in order to install the manylinux2014 wheels. A recent
version of pip is needed to install the universal2 macos wheels.
*Contributors*
A total of 150 people contributed to this release. People with a "+" by
their
names contributed a patch for the first time.
- @DWesl
- @Illviljan
- @h-vetinari
- @yan-wyb +
- Aaron Meurer
- Abel Aoun +
- Adrian Gao +
- Ahmet Can Solak +
- Ajay DS +
- Alban Colley +
- Alberto Rubiales +
- Alessia Marcolini +
- Amit Kumar +
- Andrei Batomunkuev +
- Andrew Watson +
- Anirudh Dagar +
- Ankit Dwivedi +
- Antony Lee
- Arfy Slowy +
- Arryan Singh +
- Arun Palaniappen +
- Arushi Sharma +
- Bas van Beek
- Brent Brewington +
- Carl Johnsen +
- Carl Michal +
- Charles Harris
- Chiara Marmo
- Chris Fu (傅立业) +
- Christoph Buchner +
- Christoph Reiter +
- Chunlin Fang
- Clément Robert +
- Constanza Fierro
- Damien Caliste
- Daniel Ching
- David Badnar +
- David Cortes +
- David Okpare +
- Derek Huang +
- Developer-Ecosystem-Engineering +
- Dima Pasechnik
- Dimitri Papadopoulos +
- Dmitriy Fishman +
- Eero Vaher +
- Elias Koromilas +
- Eliaz Bobadilla +
- Elisha Hollander +
- Eric Wieser
- Eskild Eriksen +
- Fayas Noushad +
- Gagandeep Singh +
- Ganesh Kathiresan
- Ghiles Meddour +
- Greg Lucas
- Gregory R. Lee
- Guo Shuai +
- Gwyn Ciesla +
- Hameer Abbasi
- Hector Martin +
- Henry Schreiner +
- Himanshu +
- Hood Chatham +
- Hugo Defois +
- Hugo van Kemenade
- I-Shen Leong +
- Imen Rajhi +
- Irina Maria Mocan +
- Irit Katriel +
- Isuru Fernando
- Jakob Jakobson
- Jerry Morrison +
- Jessi J Zhao +
- Joe Marshall +
- Johan von Forstner +
- Jonas I. Liechti +
- Jonathan Reichelt Gjertsen +
- Joshua Himmens +
- Jérome Eertmans
- Jérôme Kieffer +
- KIU Shueng Chuan +
- Kenichi Maehashi
- Kenny Huynh +
- Kent R. Spillner +
- Kevin Granados +
- Kevin Modzelewski +
- Kevin Sheppard
- Lalit Musmade +
- Malik Idrees Hasan Khan +
- Marco Aurelio da Costa +
- Margret Pax +
- Mars Lee +
- Marten van Kerkwijk
- Matthew Barber +
- Matthew Brett
- Matthias Bussonnier
- Matthieu Dartiailh
- Matti Picus
- Melissa Weber Mendonça
- Michael McCann +
- Mike Jarvis +
- Mike McCann +
- Mike Toews
- Mukulika Pahari
- Nick Pope +
- Nick Wogan +
- Niels Dunnewind +
- Niko Savola +
- Nikola Forró
- Niyas Sait +
- Pamphile ROY
- Paul Ganssle +
- Pauli Virtanen
- Pearu Peterson
- Peter Hawkins +
- Peter Tillema +
- Prathmesh Shirsat +
- Raghuveer Devulapalli
- Ralf Gommers
- Robert Kern
- Rohit Goswami +
- Ronan Lamy
- Ross Barnowski
- Roy Jacobson +
- Samyak S Sarnayak +
- Sayantika Banik +
- Sayed Adel
- Sebastian Berg
- Sebastian Schleehauf +
- Serge Guelton
- Shriraj Hegde +
- Shubham Gupta +
- Sista Seetaram +
- Stefan van der Walt
- Stephannie Jimenez Gacha +
- Tania Allard
- Theodoros Nikolaou +
- Thomas J. Fan
- Thomas Li +
- Tim Hoffmann
- Tom Tan +
- Tyler Reddy
- Vijay Arora +
- Vinith Kishore +
- Warren Weckesser
- Yang Hau
- Yashasvi Misra
- Yuval Ofek +
- Zac Hatfield-Dodds
- Zhang Na +
Cheers,
Charles Harris
pyspread 2.0
============
This is the first stable release of pyspread that runs under Python 3
(>=3.6).
Apart from version changes and release file updates, it is feature
identical with version 1.99.8.
About pyspread
==============
Pyspread is a non-traditional spreadsheet that is based on and written
in the programming language Python.
The goal of pyspread is to be the most pythonic spreadsheet application.
Pyspread is free software. It is released under the GPL v3.
Project website: https://pyspread.gitlab.io/
Download page: https://pypi.org/project/pyspread/
Signature for tarball:
https://gitlab.com/pyspread/downloads/-/raw/master/releases/pyspread-2.0.ta…
Source code: https://gitlab.com/pyspread/pyspread
Dependencies
============
Mandatory:
* Python (≥ 3.6)
* numpy (>=1.1)
* PyQt5 (≥ 5.10, requires PyQt5.Svg)
* setuptools (>=40.0)
* markdown2 (>= 2.3)
Recommended:
* matplotlib (>=1.1.1)
* pyenchant (>=1.1)
* pip (>=18)
* python-dateutil (>= 2.7.0)
For building the apidocs with Sphinx see apidocs/requirements.txt
Enjoy
Martin
PyCA cryptography 36.0.0 has been released to PyPI. 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.
(As a reminder, cryptography changed its versioning scheme with 35.0.
For more information see
https://cryptography.io/en/latest/api-stability/#versioning)
Changelog (https://cryptography.io/en/latest/changelog/#v36-0-0):
* FINAL DEPRECATION: Support for verifier and signer on our asymmetric
key classes was deprecated in version 2.1. These functions had an
extended deprecation due to usage, however the next version of
cryptography will drop support. Users should migrate to sign and
verify.
* The entire X.509 layer is now written in Rust. This allows alternate
asymmetric key implementations that can support cloud key management
services or hardware security modules provided they implement the
necessary interface (for example: EllipticCurvePrivateKey).
* Deprecated the backend argument for all functions.
* Added support for AESOCB3.
* Added support for iterating over arbitrary request attributes.
* Deprecated the get_attribute_for_oid method on
CertificateSigningRequest in favor of get_attribute_for_oid() on the
new Attributes object.
* Fixed handling of PEM files to allow loading when certificate and
key are in the same file.
* Fixed parsing of CertificatePolicies extensions containing legacy
BMPString values in their explicitText.
* Allow parsing of negative serial numbers in certificates. Negative
serial numbers are prohibited by RFC 5280 so a deprecation warning
will be raised whenever they are encountered. A future version of
cryptography will drop support for parsing them.
* Added support for parsing PKCS12 files with friendly names for all
certificates with load_pkcs12(), which will return an object of type
PKCS12KeyAndCertificates.
rfc4514_string() and related methods now have an optional
attr_name_overrides parameter to supply custom OID to name mappings,
which can be used to match vendor-specific extensions.
* BACKWARDS INCOMPATIBLE: Reverted the nonstandard formatting of email
address fields as E in rfc4514_string() methods from version 35.0. The
previous behavior can be restored with:
name.rfc4514_string({NameOID.EMAIL_ADDRESS: "E"})
* Allow X25519PublicKey and X448PublicKey to be used as public keys
when parsing certificates or creating them with CertificateBuilder.
These key types must be signed with a different signing algorithm as
X25519 and X448 do not support signing.
* Extension values can now be serialized to a DER byte string by
calling public_bytes().
* Added experimental support for compiling against BoringSSL. As
BoringSSL does not commit to a stable API, cryptography tests against
the latest commit only. Please note that several features are not
available when building against BoringSSL.
* Parsing CertificateSigningRequest from DER and PEM now, for a
limited time period, allows the Extension critical field to be
incorrectly encoded. See the issue for complete details. This will be
reverted in a future cryptography release.
* When OCSPNonce are parsed and generated their value is now correctly
wrapped in an ASN.1 OCTET STRING. This conforms to RFC 6960 but
conflicts with the original behavior specified in RFC 2560. For a
temporary period for backwards compatibility, we will also parse
values that are encoded as specified in RFC 2560 but this behavior
will be removed in a future release.
-Paul Kehrer (reaperhulk)
I’m happy to announce the release of structlog 21.3.0!
With more than 2.5 million downloads per month, structlog is the most popular solution for structured logging in Python. It doesn’t just allow you to log key-value pairs in a structured manner, it also makes it EASIER and FASTER. Check out <https://www.structlog.org/en/stable/why.html> if you’re intrigued but not convinced!
Heartfelt thanks go to my generous GitHub sponsors <https://github.com/sponsors/hynek>, companies subscribing on Tidelift <https://tidelift.com/subscription/pkg/pypi-structlog> (currently nobody :( – tell your boss!), and people who bought me a coffee on <https://ko-fi.com/the_hynek>!
Support like that makes me work on FOSS on a Saturday afternoon, so please consider supporting me <https://hynek.me/say-thanks/> too! <3
RELEASE HIGHLIGHTS:
The main reason for this comparatively timely release is that aiohttp 3.8's new behavior of starting new loops within aiohttp.web.run_app() led to breakage in apps that use structlog.stdlib.AsyncBoundLogger.
The one big new feature though is the support for much more powerful processor chains within structlog.stdlib.ProcessorFormatter. This took me way too long to get right, but I'm excited to share it with you.
This is also the first release without a setup.py. Invoking it was never tested and never supported, so now it's gone. Please use standard packaging tools like PyPA's build <https://pypi.org/project/build/> or flit <https://flit.readthedocs.io/en/latest/> directly if you want to package structlog yourself.
Full changelog:
Backward-incompatible changes:
- structlog switched its packaging to flit. Users shouldn't notice a difference, but (re-)packagers might.
Deprecations:
none
Changes:
- structlog.dev.ConsoleRenderer now has sort_keys boolean parameter that allows to disable the sorting of keys on output. #358
- structlog.processors.TimeStamper now works well with FreezeGun even when it gets applied before the loggers are configured. #364
- structlog.stdlib.AsyncBoundLogger now determines the running loop when logging, not on instantiation. That has a minor performance impact, but makes it more robust when loops change (e.g. aiohttp.web.run_app()), or you want to use sync_bl before a loop has started.
- structlog.stdlib.ProcessorFormatter now has a processors argument that allows to define a processor chain to run over all log entries.
Before running the chain, two additional keys are added to the event dictionary: _record and _from_structlog. With them it's possible to extract information from logging.LogRecords and differentiate between structlog and logging log entries while processing them.
The old processor (singular) parameter is now deprecated, but no plans exist to remove it. #365
A new SCons release, 4.3.0, is now available
on the SCons download page:
https://scons.org/pages/download.html
NOTE: 4.3.0 now requires Python 3.6.0 and above. Python 3.5.x is no longer
supported
Here is a summary of the changes since 4.2.0:
NEW FUNCTIONALITY
-----------------
- Ninja - Added ninja API 'NINJA_FORCE_SCONS_BUILD' to force a node to
callback to scons.
- Add support for Visual Studio 2022.
DEPRECATED FUNCTIONALITY
------------------------
- The qt tool, which targets Qt version 3, is deprecated. Qt3 has been
unsupported by
upstream for many years. Qt4 and Qt5 tools are available from
scons-contrib.
CHANGED/ENHANCED EXISTING FUNCTIONALITY
---------------------------------------
- Ninja - Expanded ninja Mkdir to also support Mkdir actions.
- Further PCH updates. It's now recommended that env['PCH'] should always
be a File node.
Either via return value from env.PCH() or by explicitly using
File('StdAfx.pch').
- Change SCons.Platform.win32.get_architecture() to return
platform.platform() when run in an
environment where neither: PROCESSOR_ARCHITEW6432 nor
PROCESSOR_ARCHITECTURE is set.
This should fix platform tests which started failing when
HOST_OS/HOST_ARCH changes
introduced by Aaron Franke (listed below) were merged.
- The Java tool now accepts more versions (up to 17.0), and is better
able to detect the many builds of OpenJDK available since it became
designated the reference Java implementation.
FIXES
-----
- Fix reproducible builds. Restore logic respecting SOURCE_DATE_EPOCH when
set.
- Small fix to ensure CLVar default value is an empty list.
See MongoDB bug report: https://jira.mongodb.org/browse/SERVER-59656
Code contributed by MongoDB.
- Ninja - Fix ninja tool to never use for_sig substitution because ninja
does not use signatures. This
issue affected CommandGeneratorAction function actions specifically.
- Fix PCH not being evaluated by subst() where necessary.
- Fix issue #4021. Change the way subst() is used in Textfile() to not
evaluate '$$(' -> '$',
but instead it should yield '$('.
- Ninja - Fix command line escaping for ninja dollar sign escape. Without
escaping ninja properly,
- Fix MSVS tests (vs-N.N-exec.py) for MSVS 6.0, 7.0, and 7.1 (import
missing module).
- Fix command line escaping for ninja dollar sign escape. Without escaping
ninja properly,
the ninja file scons regenerate and callback invocations will lose the $
characters used in
the scons command line which ninja uses itself for escaping. For Example:
scons BUILD=xyz OTHERVAR=$BUILD
Prior to this fix, it would cause ninja to fail to escape the dollar
sign, leading to the
single dollar sign being used as a ninja escape character in the ninja
file.
- Ninja - Fixed an issue where if you control-c and/or killed ninja while
it was running scons to regenerate
build.ninja you would end up with no build.ninja file and have to rerun
scons from scratch.
Code contributed by MongoDB.
DEVELOPMENT
-----------
- Added --no-ignore-skips to runtest.py. Changed default to ignore skips
when setting
runtest.py's exit status. Previously would exit 2 if any tests were
skipped.
Now will only exit 2 if user specifies --no-ignore-skips and some tests
were skipped.
Thanks to the following contributors listed below for their contributions
to this release.
==========================================================================================
.. code-block:: text
git shortlog --no-merges -ns 4.2.0..HEAD
47 Mats Wichmann
46 William Deegan
14 Jacob Cassagnol
11 Daniel Moody
8 Ryan Egesdahl
5 Joseph Brill
4 Omar Polo
2 Brian Quistorff
1 Aaron Franke