#mailing-lists

1 messages · Page 1 of 1 (latest)

naive kindleBOT
#

Leo http://leoeditor.com 6.6.3 is now available on GitHub and pypi.

Leo, http://leoeditor.com is an IDE, outliner and PIM.

The highlights of Leo 6.6.3

  • Enhance leoserver.py to support leoInteg.
  • Improve how Leo handles URLs.
  • Simplify the GlobalConfigManager class.
  • The usual assortment of tweaks and bug fixes.

Links

naive kindleBOT
#

Hello, I'll give an example:

def func(param="default"):
...

def func_wrapper(..., param="default"):
...
func(param)

We have to duplicate value of parameter "default" if we want to use this as the default. Or we can do that:

def func(param="default"):
...

def func_wrapper(..., *args):
...
func(*args)

But it won't always be possible. In addition, auto-completion in IDEs won't work.
It would be cool to have an empty type like Void (not None) for explicit full control:

def func(param="default"):
...

def func_wrapper(..., param=Void):
...
func(param)

naive kindleBOT
#

I have just released a new module, called pil_printer:

With the pil_printer module it is possible to print a PIL image or several
PIL images to a printer under Windows.
The most common use case is to print JPG or PNG file(s) at an exact point
with an exact scaling.
Most graphics programs don’t support exact placement and the user has
nearly always to manually control this placement/scaling for each image.

The package can be downloaded here:

github.com/salabim/pil_printerIt is not (yet) available on PyPI.

naive kindleBOT
#

Hi all,

I am in the slow process of adding support for Python 3.11 in the
bytecode project (https://github.com/MatthieuDartiailh/bytecode).

While attempting to update some tests I stumbled upon the need to
include CACHE opcode to get things to work. For example, one can use
bytecode to manually assemble the bytecode for the function:

def f():
    return 24 < 42

Under Python 3.10 it would look like:

f.__code__= Bytecode(
[
Instr("LOAD_CONST", 24),
Instr("LOAD_CONST", 42),
        Instr("COMPARE_OP", Compare.LT),
Instr("RETURN_VALUE"), ]
).to_code()

Under Python 3.11 I had to go to:

f.__code__= Bytecode(
[
Instr("RESUME", 0), Instr("LOAD_CONST", 24),
Instr("LOAD_CONST", 42),
        Instr("COMPARE_OP", Compare.LT), Instr("CACHE", 0),
Instr("CACHE", 0),
Instr("RETURN_VALUE"), ]
).to_code()

Reading the doc for the dis module I understand the need for the RESUME
instruction. However the documentation is rather vague in regard of CACHE.

In particular when... continue reading

naive kindleBOT
#

Here we are. The universe. The vastness of spacetime. At the edge. The last
frontier. The last beta*(conditions apply) for Python 3.11.

We have defied the powerful gods of release blockers and we have won by
using the required amount of ruse and subterfuge.

https://www.python.org/downloads/release/python-3110b5/

:warning: PLEASE HELP US TO TEST THIS RELEASE :warning:

Due to the modified release schedule and the stability concerns regarding
the past beta releases, please, please, please, please, help us to test
Python 3.11 by testing this beta releases.

  • if you maintain a library or a third-party package. Test the beta
    releases!
  • If you have code that you maintain at work/research
    centre/classroom/whatever. Test the beta releases!
  • If you are a multi-million corporation that uses Python. Test the beta
    releases!
  • If you are a single-person company that uses Python. Test the beta
    releases!
  • If you have a bunch of Python scripts. Test the beta releases!
  • If you use Python fo... continue reading
naive kindleBOT
#

Here we are. The universe. The vastness of spacetime. At the edge. The last
frontier. The last beta*(conditions apply) for Python 3.11.

We have defied the powerful gods of release blockers and we have won by
using the required amount of ruse and subterfuge.

https://www.python.org/downloads/release/python-3110b5/

:warning: PLEASE HELP US TO TEST THIS RELEASE :warning:

Due to the modified release schedule and the stability concerns regarding
the past beta releases, please, please, please, please, help us to test
Python 3.11 by testing this beta releases.

  • if you maintain a library or a third-party package. Test the beta
    releases!
  • If you have code that you maintain at work/research
    centre/classroom/whatever. Test the beta releases!
  • If you are a multi-million corporation that uses Python. Test the beta
    releases!
  • If you are a single-person company that uses Python. Test the beta
    releases!
  • If you have a bunch of Python scripts. Test the beta releases!
  • If you use Python fo... continue reading
naive kindleBOT
#

I’m happy to announce a new release of attrs!

attrs is the direct ancestor of – and the inspiration for – dataclasses in the standard library and remains the more powerful toolkit for creating regular classes without getting bogged down with writing repetitive boilerplate code: https://www.attrs.org/

My heartfelt thanks go to:

❤️ That's the support that made me maintain attrs since 2015 with no end in sight! ❤️


(alternatively, see https://github.com/python-attrs/attrs/releases for a richer-formatted version of the following)

Highlights

The main features of this release are:

  • The departure of Python 2.7 (enjoy your retirement!),
  • and the arrival of Python 3.11.

We had ... continue reading

naive kindleBOT
#

New coding bootcamp graduate here looking actively for my first programming job. In the meantime, I want to start contributing to open source which brought me here. But after consulting the Python's Developer Guide, I'm still faced with some confusion and reluctance to get started. I tried looking at some of the current active issues and it has only caused more confusion.

Any advice, tips, or other resources that can help get me started?

Thanks in advance!

naive kindleBOT
#

Hi all,

On behalf of the SciPy development team, I'm pleased to announce the
release of SciPy 1.9.0.

Sources and binary wheels can be found at:
https://pypi.org/project/scipy/
and at: https://github.com/scipy/scipy/releases/tag/v1.9.0
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.9.0

=====================
SciPy 1.9.0 Release Notes

SciPy 1.9.0 is the culmination of 6 months of hard work. It contains
many new features, numerous bug-fixes, improved test coverage and better
documentation. There have been a number of deprecations and API changes
in this release, which are documented below. All users are encouraged to
upgrade to this release, as there are a large number of bug-fixes and
optimizations. Before upgrading, we recommend that users check that
their own code does not use deprecated SciPy functionality (to do so,
run your code with python -Wd and c... continue reading

naive kindleBOT
#

A new SCons release, 4.4.0, is now available
on the SCons download page:

  https://scons.org/pages/download.html

Here is a summary of the changes since 4.3.0:

NOTE: If you build with Python 3.10.0 and then rebuild with 3.10.1 (or
higher), you may
see unexpected rebuilds. This is due to Python internals changing
which changed
the signature of a Python Action Function.

NEW FUNCTIONALITY

  • Added MSVC_USE_SCRIPT_ARGS Environment variable which specifies command
    line arguments
    to pass to the script specified by MSVC_USE_SCRIPT.
  • Added Configure.CheckMember() checker to check if struct/class has the
    specified member.
  • Added SHELL_ENV_GENERATORS construction variable. This variable should be
    set to a list
    (or an iterable) which contains functions to be called in order
    when constructing the execution environment (Generally this is the shell
    environment
    variables). This allows the user to customize how (for exam... continue reading
naive kindleBOT
#

Wing 8.3.3 improves display of bytes values in the Stack Data tool,
fixes several remote development issues, correctly reports exceptions
while loading Django test files, runs Python with the correct command
line when using -m with wingdb, prevents unwanted timeout of the debug
connection, avoids adding unwanted spaces around =, !, : in f-string
expressions, correctly pastes form feed characters and avoids stripping
them as trailing white space, prevents corrupting projects when opening
a project using the .wpu file (rather than the .wpr file), and makes a
number of other usability improvements.

Details: https://wingware.com/news/2022-07-28
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 de... continue reading

naive kindleBOT
#

Hi all,

CodraFT is an 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.1.2 has been released.
This is a hotfix release, following the v2.1 major release (june 2022).

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

naive kindleBOT
#

Hello everyone. First time here, so please be forgiving of any missteps on my part.
This is an idea I have thought about for a while, and I believe it could be quite useful.
Would it be possible to enhance the standard range() type to allow for elementary operations on ranges?
For example :
range(10) - range(5) => range(5, 10)
range(3, 5, 2) + range(3, 6, 2) => range(3, 6, 2)

I believe this could be a fair first step into allowing for a whole range of mathematical operations in abstract algebra.

naive kindleBOT
#

On behalf of the Nikola team, I am pleased to announce the immediate
availability of Nikola v8.2.3. This is a bugfix release, which fixes
compatibility with python-markdown and two more minor bugs.

What is Nikola?

Nikola is a static site and blog generator, written in Python.
It can use Mako and Jinja2 templates, and input in many popular markup
formats, such as reStructuredText and Markdown — and can even turn
Jupyter Notebooks into blog posts! It also supports image galleries,
and is multilingual. Nikola is flexible, and page builds are extremely
fast, courtesy of doit (which is rebuilding only what has been changed).

Find out more at the website: https://getnikola.com/

Downloads

Install using pip install Nikola.

Changes

  • Compatibility with Markdown 3.4.0 (Issue #3635)
  • Find substring in string instead of using contains in utils
  • Don't add semicolon in docinfo fields via CSS (caused duplicated
      semicolons)
    ... continue reading
naive kindleBOT
#

Here you have a nice package of 200 commits of bugfixes and documentation
improvements freshly made for Python 3.10. Go and download it when is still
hot:

https://www.python.org/downloads/release/python-3106/

This is the sixth maintenance release of Python 3.10

Python 3.10.6 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 -- Deprecate and
    prepare for the removal of the wstr member in PyUnicodeObject.
  • PEP 604 -- Allow writing
    union types as X | Y
  • PEP 612 -- Parameter
    Specification Variables
  • PEP 626 -- Precise line
    numbers for debugging and other tools.
  • PEP 618 -... continue reading
naive kindleBOT
#

Here you have a nice package of 200 commits of bugfixes and documentation
improvements freshly made for Python 3.10. Go and download it when is still
hot:

https://www.python.org/downloads/release/python-3106/

This is the sixth maintenance release of Python 3.10

Python 3.10.6 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:

naive kindleBOT
#

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.3/

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 reported issues.

See the full release notes for all of the details:
https://python-oracledb.readthedocs.io/en/latest/release\_notes.html#oracledb-1-0-3-august-2022

Please provide any feedback via GitHub issues: https://github.com/oracle/
python-oracledb/issues or discussions: https://github.com/oracle/python-
oracledb/discussions

naive kindleBOT
naive kindleBOT
#

Python 3.11.0 is almost ready. This release, 3.11.0rc1, is the penultimate
release preview. You can get it here:

This is the first release candidate of Python 3.11

https://www.python.org/downloads/release/python-3110rc1/

This release, 3.11.0rc1, is the penultimate release preview. Entering
the release candidate phase, only reviewed code changes which are clear bug
fixes are allowed between this release candidate and the final release. The
second candidate and the last planned release preview is currently planned
for Monday, 2022-09-05 while the official release is planned for Monday,
2022-10-03.

There will be no ABI changes from this point forward in the 3.11 series and
the goal is that there will be as few code changes as possible.

Call to action

Core developers: all eyes on the docs now

  • Are all your changes properly documented?
  • Did you notice other changes you know of to have insufficient
    documentation?

Community members

We... continue reading

#

Python 3.11.0 is almost ready. This release, 3.11.0rc1, is the penultimate
release preview. You can get it here:

This is the first release candidate of Python 3.11

https://www.python.org/downloads/release/python-3110rc1/

This release, 3.11.0rc1, is the penultimate release preview. Entering
the release candidate phase, only reviewed code changes which are clear bug
fixes are allowed between this release candidate and the final release. The
second candidate and the last planned release preview is currently planned
for Monday, 2022-09-05 while the official release is planned for Monday,
2022-10-03.

There will be no ABI changes from this point forward in the 3.11 series and
the goal is that there will be as few code changes as possible.

Call to action

Core developers: all eyes on the docs now

  • Are all your changes properly documented?
  • Did you notice other changes you know of to have insufficient
    documentation?

Community members

We strongly encourage maintai... continue reading

naive kindleBOT
#

Announcing wxPython 4.2.0

PyPI: https://pypi.python.org/pypi/wxPython/4.2.0
Extras: https://extras.wxPython.org/wxPython4/extras/
Pip: pip install wxPython==4.2.0

  • Yes, it's been a VERY long time since the last release. I'm not
    dead, just on an extended break. It took me a while to get up to
    speed on a new day job, and then there was a seemingly perpetual
    crunch-mode to get the product through a couple release cycles. I
    can't say that things are fully back to normal yet, but at least I
    now know what I'm doing. Mostly. <wink>

  • This release is built using the wxWidgets' 3.2.0 release tag.

  • Tweaked the build scripts a bit to ensure that on non-Windows
    platforms that the compiler and flags used by default match those
    used by wxWidgets, (with the flags needed by Python added on.) The
    compiler commands can be overridden by setting CC and CXX in the
    environment if needed. (#1247)

  • On Windows the build code that locates an... continue reading

naive kindleBOT
#

One of the nice features of capabilities provided in the standard library is a set of
data types together with a set of algorithms that that work consistently with them.

For example, we have sequence types that can be used with the itertools module where
combinations, combinations_with_replacement, permutations and product are all available.

Being a part of the standard library, these facilities are implemented consistently
and their widespread use means that we can have great deal of confidence in their
efficiency, effectiveness, reliability and correctness. In short, we can trust them.

Maybe I am on my own here but I make a lot of use of multisets and find that this data
type is not well catered for in the Python universe.

There is the counter class in the standard library but it is not a full multiset
implementation; there is also a full implementation on PyPy but there are no 'itertools
equivalent' algorithms that are designed to work with it. As a result, I am often
... continue reading

naive kindleBOT
#

In many blogs, articles, books, etc. code if often presented as REPL code
fragments, like

a = 1
b = 2
a + b
3

If you actually want to run that code, you have to remove the >>> (and ...)
and add a print statement.

With unrepl, you can do that just by copying the above code to the
clipboard and run repl.py.
The clipboard will then be changed to
a = 1
b = 2
_ = a + b; print(_) # a + b

3

And you can just run this code!

Unrepl can be used as a command line tool but also a module.

Instructions to create a hotkey to execute the translation of the clipboard
under Windows are in the readme.md file.

You can find unrepl (including an extensive readme) on GitHub:
www.github.com/salabim/unrepl
or you can install it from PyPI with
pip install unrepl

naive kindleBOT
#

Announcing bor 0.2.0

PyPI: https://pypi.org/project/bor/0.2.0/
Pip: pip install bor==0.2.0
Source: https://github.com/furkanonder/bor/

What is wxPython?

Bor is user-friendly, tiny source code searcher written in pure Python.

bor currently supports class and def keywords. Other Python keywords will be added in the future releases.

bor {keyword} {pattern}

By default, bor runs in your current directory. You can run bor with the specific source file or directory:

bor {keyword} {pattern} {source_file_or_directory}

Examples

bor class Cat
Output:
Cat at examples/test.py:18

bor class .Cat
Output:

Cat at examples/test.py:18
BlueCat at examples/test.py:26

Enjoy,
Furkan Onderhttps://github.com/furkanonder/

naive kindleBOT
#

Announcing bor 0.2.0

PyPI: https://pypi.org/project/bor/0.2.0/
Pip: pip install bor==0.2.0
Source: https://github.com/furkanonder/bor/

What is bor?

Bor is user-friendly, tiny source code searcher written in pure Python.

bor currently supports class and def keywords. Other Python keywords will be added in the future releases.

bor {keyword} {pattern}

By default, bor runs in your current directory. You can run bor with the specific source file or directory:

bor {keyword} {pattern} {source_file_or_directory}

Examples

bor class Cat
Output:
Cat at examples/test.py:18

bor class .Cat
Output:

Cat at examples/test.py:18
BlueCat at examples/test.py:26

Enjoy,
Furkan Onderhttps://github.com/furkanonder/

naive kindleBOT
#

Since Python has built-in syntax for interpolated strings, I believe it's a good area to idea to extend it to pattern matching, like so:

def unquote(string: str) -> str:
    match string:
        case f'"{value}"':
            return value
        case f"'{value}'":
            return value
        case \_:
            return string

Doing this with current match syntax is not as easy.

I have other reasons to consider this idea as well, but before I try to pursue this, I'd like to know if something like this was already discussed when the proposal was being made?

naive kindleBOT
#

Hi All,

On behalf of the NumPy team, I am pleased to announce the release of
NumPy 1.23.2. NumPy 1.23.2 is a maintenance release that fixes bugs
discovered after the 1.23.1 release. Notable features are:

  • Typing changes needed for Python 3.11
  • Wheels for Python 3.11.0rc1

The Python versions supported for this release are 3.8-3.11. Wheels can be
downloaded from PyPI https://pypi.org/project/numpy/1.23.2; source
archives, release notes, and wheel hashes are available on Github
https://github.com/numpy/numpy/releases/tag/v1.23.2.

Contributors

A total of 9 people contributed to this release. People with a "+" by their
names contributed a patch for the first time.

  • Alexander Grund +
  • Bas van Beek
  • Charles Harris
  • Jon Cusick +
  • Matti Picus
  • Michael Osthege +
  • Pal Barta +
  • Ross Barnowski
  • Sebastian Berg

Pull requests merged
A total of 15 pull requests were merged for this release.

naive kindleBOT
#

I'm happy to announce the release of Pygments 2.13. Pygments is a
generic syntax highlighter written in Python.

Pygments 2.13 provides several new lexers, themes and many improvements
to existing lexers. Please have a look at the changelog
https://pygments.org/docs/changelog/.

Report bugs and feature requests in the issue tracker:
https://github.com/pygments/pygments/issues. Thanks go to all the
contributors of these lexers, and to all those who reported bugs and
waited patiently for this release.

Download it from https://pypi.org/project/Pygments/, or look at
the demonstration at https://pygments.org/demo/.

Enjoy,
Matthäus

naive kindleBOT
#

Other regex implementations have escape sequences for horizontal
whitespace (\h and \H) and vertical whitespace (\v and \V).

The regex module already supports \h, but I can't use \v because it
represents `\0x0b', as it does in the re module.

Now that someone has asked for it, I'm trying to find a nice way of
adding it, and I'm currently thinking that maybe I could use \y and
\Y instead as they look a little like \v and \V, and, also,
vertical whitespace is sort-of in the y-direction.

As far as I can tell, only ProgressSQL uses them, and, even then, it's
for what everyone else writes as \b and \B.

I want the regex module to remain compatible with the re module, in case
they get added there sometime in the future.

Opinions?

naive kindleBOT
#

We all know that the assert statement should not be used in production
code. Instead, you can use assertion-like functions from the easycheck
package.

Consider the following example. You have a function that fits a statistical
model that requires sample size (n) to be at least 20. So,

assert n >= 20
would not enable the function to continue if the condition is violated. But
it's the assert statement, which should not be used that way. Here's where
easycheck shines:
easycheck.check_if(n >= 20)
is the easiest solution. It would throw AttributeError without a message.
But we can improve this a lot; for example:
class TooSmallSampleSizeError(Exception): ...
easycheck.check_if(n >=20, handle_with=TooSmallSampleSizeError,
message=f"Sample size of {n} is too small for the model to run")

You can also issue warnings with easycheck:

class TooSmallSampleSizeWarning(Warning): ...
easycheck.check_if(n >=20, TooSmallSampleSizeWarning, f"Sample of {n}
... continue reading

naive kindleBOT
#

Previous Thread on Similar Topic: https://mail.python.org/archives/list/python-ideas@python.org/thread/4XXGPXWIKU2Q6DHR3GQS5SHQ74ILIYFQ/#3PFQBPPELFICAYL674HKNEQBPQL35HP3
Relevant Code: https://github.com/python/cpython/blob/f9433ff/Lib/functools.py#L528

I have been beset by two different scenarios where having some option to modify the input of the lru_cache key would be useful. These are simplified versions of said scenarios, but emphasize why I might want this capability.

  1. Scoring model on repeated input.

def score(model, feature_vector_that_includes_example_id):
...

This would be easily memorizable with a key of (model.__hash__(), feature_vector[ID_INDEX]).

  1. Multiple user-friendly wrappers around the same complex internal function

def _foo(obj, transform_fn):

Some non-trivial logic

new_obj = transform_fn(obj)

Some non-trivial logic

return new_obj

def foo_1(obj):
def _transform_1(obj):
...
return foo(obj, _transform_1)

def foo... continue reading

naive kindleBOT
#

This is a second call for submissions to PyConZA 2022.

PyConZA 2022 will take place on the 13th & 14th of October, 2022. This
year, PyConZA will be a hybrid conference (with in-person and online
access) hosted at the Premier Splendid Inn in Umhlanga, Durban.

To accommodate speakers who are unable to travel to Durban, we will be
accepting a small number of talks to be given remotely.

We are looking for the following presentations:

  • Keynotes (45 minute long talks on a subject of general interest)
  • Talks (30 minute long talks on more specific topics)
  • Remote Talks: (30 minute talks to be delivered remotely - note
    that the number of remote submissions we can accommodate is limited).

We are accepting submissions for tutorials, which will run on the 12th
of October. Tutorials can either be half-day (4 hours) or full-day (8
hours).

If you would like to give a presentation, please register at
https://za.pycon.org/ and submit your proposal, following the
instructions at https://za... continue reading

naive kindleBOT
#

GF4 is a program to display two-dimensional data, such as time series data, and to perform mathematical operations on the data or between two related data sets. The program aims to make data exploration easy and enjoyable.

The program's interface is modeled after hand-held calculators of the "reverse polish notation" (RPN) style. This kind of calculator was made famous by Hewlett-Packard, starting with their HP-35 and HP-45 calculators. GF4 works with waveforms in place of the numbers manipulated by those hand calculators.

Thus, a waveform can be scaled, squared, have its logarithm taken, integrated and differentiated, be normalized and rectified, and so on. A
discrete Fast Fourier Transform is provided that is not limited to powers of two in data length. Data can be trimmed or padded. Curve fitting and smoothing of several varieties can be done. Two waveforms can be added, subtracted, multiplied, and divided (where possible), correlated or convolved together, among others.

A cert... continue reading

naive kindleBOT
#

What Changed?

This is an enhancement and bug-fix release, and all users are encouraged to
upgrade.

Brief summary:

  • Fixed #181: Added the ability to pass file paths to encrypt_file, decrypt_file,
      sign_file, verify_file, get_recipients_file and added import_keys_file.

  • Fixed #183: Handle FAILURE and UNEXPECTED conditions correctly. Thanks to sebbASF for
      the patch.

  • Fixed #185: Handle VALIDSIG arguments more robustly.

  • Fixed #188: Remove handling of DECRYPTION_FAILED from Verify code, as not required
      there. Thanks to sebbASF for the patch.

  • Fixed #190: Handle KEY_CREATED more robustly.

  • Fixed #191: Handle NODATA messages during verification.

  • Fixed #196: Don't log chunk data by default, as it could contain sensitive
      information (during decryption, for example).

  • Added the ability to pass an environment to the gpg executable. Thanks to Edvard
      Rejthar for the patch.

This release [2] has been signed with my code ... continue reading

naive kindleBOT
#

Hi all,

On behalf of the SciPy development team, I'm pleased to announce the
release of SciPy 1.9.1, which is a bug fix release that includes
some important meson build fixes.

Sources and binary wheels can be found at:
https://pypi.org/project/scipy/ and at:
https://github.com/scipy/scipy/releases/tag/v1.9.1

One of a few ways to install this release with pip:
pip install scipy==1.9.1

=====================
SciPy 1.9.1 Release Notes

SciPy 1.9.1 is a bug-fix release with no new features
compared to 1.9.0. Notably, some important meson build
fixes are included.

Authors

  • Anirudh Dagar (1)
  • Ralf Gommers (12)
  • Matt Haberland (2)
  • Andrew Nelson (1)
  • Tyler Reddy (14)
  • Atsushi Sakai (1)
  • Eli Schwartz (1)
  • Warren Weckesser (2)

A total of 8 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
com... continue reading

naive kindleBOT
#

Hey folks,

I propose adding __name__ to functools.partial.

get_name = functools.partial(input, "name: ")
get_name()
name: hi
'hi'
get_name.__name__
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'functools.partial' object has no attribute '__name__'
get_name.func
<built-in function input>
get_name.func.__name__
'input'

We could set __name__ based off of partial.func.__name__ or we could try to
set it to something like 'partial calling func.__name__'

If the callable doesn't have a name, we could fall back to a None __name__
or set it to something generic.

Even lambdas have __name__ set:

l = lambda: input('name: ')
l.__name__
'<lambda>'

This proposal makes __name__ on partial objects more useful than the
current behavior of __name__ on lambda objects as well. We could port over
similar functionality to lambda if we'd like.

  • Charlie Scott Machalow
naive kindleBOT
#

Hi all!

When you work with numbers and need to print them, more often than not you
want to round them. You can use the built-in round() function:

round(1.123, 2)
1.12
x = [1.123, 44.32, 12.11234]
[round(x_i, 2) for x_i in x]
[ 1.12, 44.32, 12.11]

However, when you want to round numbers in a more complex Python object,
you need to be careful; you may also need to write a dedicated function to
round numbers in this object, and you may need to update it if the object's
structure changes.

Now, you do not need to do that: use the rounder Python package instead. It
will round numbers in any non-nested or nested Python object, using the
following functions:

  • round_object(obj, digits), which rounds numbers in the object to a
    provided number of decimal digits
  • ceil_object(obj), which rounds numbers up to the nearest integer
  • floor_object(obj), which rounds numbers down to the nearest integer
  • signif_object(obj, digits), which rounds numbers to a nu... continue reading
naive kindleBOT
#

Dear Pythonistas and solar power enthusiasts,

The maintainers are happy to announce a new release of pvlib python:
software for simulating performance of photovoltaic solar energy systems.

See what's new for v0.9.2:
** *https://pvlib-python.readthedocs.io/en/stable/whatsnew.html

Releases are available from PyPI and the conda-forge channel:

Note: you can now install from conda-forge using either "pvlib" or
"pvlib-python"

Read the Documentation:

Report issues & contribute:

Highlights:

  • Albedo can be entered as a column in weather DataFrame when running a
    model chain. This can be used to enter a time series instead of just
    monthly values.
  • A new function calc_surface_orientation() returns tracker surface tilt
    and azimuth ... continue reading
naive kindleBOT
#

I frequently find that I want to raise an exception when the target of a call is not in an appropriate state to perform the requested operation. Rather than choosing between Exception or defining a custom exception, it would be nice if there were a built-in InvalidStateError exception that my code could raise.

In cases where I want to define a custom exception anyway, I think it would be nice if it could have a generic InvalidStateError exception class for it to inherit from.

Of course, I would be open to other ideas for what the name of this exception should be. Other possibilities off the top of my head are BadStateError or StateError.

naive kindleBOT
#

pytest 7.1.3 has just been released to PyPI.

This is a bug-fix release, being a drop-in replacement. To upgrade::

pip install --upgrade pytest

The full changelog is available at
https://docs.pytest.org/en/stable/changelog.html.

Thanks to all of the contributors to this release:

  • Anthony Sottile
  • Bruno Oliveira
  • Gergely Kalmár
  • Nipunn Koorapati
  • Pax
  • Sviatoslav Sydorenko
  • Tim Hoffmann
  • Tony Narlock
  • Wolfremium
  • Zach OBrien
  • aizpurua23a

Happy testing,
The pytest Development Team

naive kindleBOT
#

Hello all,
I'm glad to announce the release of psutil 5.9.2:
https://github.com/giampaolo/psutil

About

psutil (process and system utilities) is a cross-platform library for
retrieving information on running processes and system utilization (CPU,
memory, disks, network) in Python. It is useful mainly for system
monitoring, profiling and limiting process resources and management of
running processes. It implements many functionalities offered by command
line tools such as: ps, top, lsof, netstat, ifconfig, who, df, kill, free,
nice, ionice, iostat, iotop, uptime, pidof, tty, taskset, pmap. It
currently supports Linux, Windows, macOS, Sun Solaris, FreeBSD, OpenBSD,
NetBSD and AIX, both 32-bit and 64-bit architectures. Supported Python
versions are 2.7 and 3.4+. PyPy is also known to work.

What's new

2022-09-04

Bug fixes

  • #2093, [FreeBSD], [critical]: pids()_ may fail with ENOMEM.
    Dynamically
    increase the malloc() buffer ... continue reading
naive kindleBOT
#

Hi everyone,

Today was the scheduled release of Python 3.11.0 RC2 but unfortunately, we
have a bunch of release
blockers. Here are some of them:

https://github.com/python/cpython/issues/96569
https://github.com/python/cpython/issues/96559
https://github.com/python/cpython/issues/96572
https://github.com/python/cpython/issues/96046
https://github.com/python/cpython/issues/95027

Here is the current GH query:

https://github.com/python/cpython/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Arelease-blocker+label%3A3.11

Some of these issues were opened today or yesterday and some others are
likely already solved but need
someone to confirm that there is nothing left for 3.11. Until these
issues are resolved I won't be able to continue
with the release of 3.11.0 RC2.

Please, also remember that after 3.11.0 RC2 there should not be any code
changes
(ideally, obviously if something
major is discovered we will include it in 3.11.0). So if you have any
bugfix or similar that y... continue reading

naive kindleBOT
#

Dear all,

in behalf of the Numba team I am happy to announce the patch releases:
Numba 0.56.1 and llvmlite 0.39.1. Besides the usual bug fixes, this
Numba release adds support for NumPy 1.23.

For more information about Numba, please point your browsers at:

https://numba.pydata.org/

For more information about the releases, please point your browsers at:

https://numba.discourse.group/t/ann-numba-0-56-2-llvmlite-0-39-1/1542

Best wishes and have a great day!

V-

naive kindleBOT
#

A new plugin capability for the GF4 Waveform Calculator lets a Python
file in the new plugins directory add a new command and command button.
This is helpful for adding or developing new functionality.

Basic information for writing and using plugins is included in the
README file in the plugins directory.

As always,the devel branch contains the most recent changes.

There is also a new recent_changes.md file in the project root.

GF4 is a Python program to display two-dimensional data, such as time
series data, and to perform mathematical operations on the data or
between two related data sets. The program aims to make data exploration
easy and enjoyable.

The project is hosted on Github:

https://github.com/tbpassin/gf4-project/

naive kindleBOT
#

PyCA cryptography 38.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.

Changelog (https://cryptography.io/en/latest/changelog/#v38-0-0):

  • Final deprecation of OpenSSL 1.1.0. The next release of cryptography
    will drop support.
  • We no longer ship manylinux2010 wheels. Users should upgrade to the
    latest pip to ensure this doesn’t cause issues downloading wheels on
    their platform. We now ship manylinux_2_28 wheels for users on new
    enough platforms.
  • Updated the minimum supported Rust version (MSRV) to 1.48.0, from
    1.41.0. Users with the latest pip will typically get a wheel and not
    need Rust installed, but check Installation for documentation on
    installing a newer rustc if required.
    decrypt() and related methods now accept both str and bytes tokens.
  • ... continue reading
naive kindleBOT
#

Packaging code is a frequent approach in both open-source and business
Python development. You can use various tools, such as Cookiecutter, or you
can package your package manually.

Now, you also have a much simpler solution, a makepackape Python package,
with which it takes just one simple shell command to create a package:
$ makepackage my_package

This will create a Python package named my_package. If you want to add
command-line interface to it, add a --cli flag:
$ makepackage my_package --cli

That's all you need! You will create a package with several functions,
documentation, doctests and pytests; you only need to fill in setup.py in
several places and LICENSE in one place.

makepackage's assumption is simplicity, so it does offer any additional
functionality. This means you can create just one structure (a common one)
of a Python package (with or without a CLI command). After you have called
the above command, you can start developing your package - fill ... continue reading

naive kindleBOT
#

We have some security content, and plenty of regular bug fixes for 3.10. Let’s dive right in.

https://discuss.python.org/#cve-2020-10735httpscvemitreorgcgi-bincvenamecginamecve-2020-10735-1CVE-2020-10735 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-10735
Converting between int and str in bases other than 2 (binary), 4, 8 (octal), 16 (hexadecimal), or 32 such as base 10 (decimal) now raises a ValueError https://docs.python.org/release/3.10.7/whatsnew/3.10.html#notable-security-feature-in-3-10-7 if the number of digits in string form is above a limit to avoid potential denial of service attacks due to the algorithmic complexity.

Security releases for 3.9.14, 3.8.14, and 3.7.14 are made available simultaneously to address this issue, along with some less urgent security content.

Upgrading your installations is highly recommended.

https://discuss.python.org/#python-3107-2Python 3.10.7

Get it here:

https://www.python.org/downloads/release/python-3107/ <https://www... continue reading

naive kindleBOT
#

We have some security content, and plenty of regular bug fixes for 3.10. Let’s dive right in.

https://discuss.python.org/#cve-2020-10735httpscvemitreorgcgi-bincvenamecginamecve-2020-10735-1CVE-2020-10735 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-10735
Converting between int and str in bases other than 2 (binary), 4, 8 (octal), 16 (hexadecimal), or 32 such as base 10 (decimal) now raises a ValueError https://docs.python.org/release/3.10.7/whatsnew/3.10.html#notable-security-feature-in-3-10-7 if the number of digits in string form is above a limit to avoid potential denial of service attacks due to the algorithmic complexity.

Security releases for 3.9.14, 3.8.14, and 3.7.14 are made available simultaneously to address this issue, along with some less urgent security content.

Upgrading your installations is highly recommended.

https://discuss.python.org/#python-3107-2Python 3.10.7

Get it here:

https://www.python.org/downloads/release/python-3107/ <https://www... continue reading

#

PyCA cryptography 38.0.1 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.

Changelog (https://cryptography.io/en/latest/changelog/#v38-0-1):

  • Fixed parsing TLVs in ASN.1 with length greater than 65535 bytes (typically
    seen in large CRLs).

-Paul Kehrer (reaperhulk)

naive kindleBOT
#

The perftester package enables you to run performance tests of Python
functions/callables. Performance is understood in terms of both execution
time and memory usage. In addition, perftester enables you to run
benchmarks, an important functionality when you need to set limits for your
tests.

You have time_test(), time_benchmark(), memory_usage_test() and
memory_usage_benchmark() functions. In addition, the package offers a pp()
function, for pretty printing of the benchmarking results. Time
benchmarking and testing is based on timeit.repeat() function while memory
benchmarking and testing is based on memory_profiler.memory_usage()
function. The idea behind the package is to offer performance testing using
a simple API, so the functions' APIs are simple and intuitive.

You can run performance testing using perftester in two ways:

  • by adding perftester functions to your pytests (or doctests); it's a
    simple approach but makes units tests run much longer and the u... continue reading
naive kindleBOT
#

Hi All,

On behalf of the NumPy team, I am pleased to announce the release of
NumPy 1.23.3. NumPy 1.23.3 is a maintenance release that fixes bugs
discovered after the 1.23.2 release. There is no major theme for this
release, the main improvements are for some downstream builds and some
annotation corner cases. The Python versions supported for this release are
3.8-3.11. Wheels can be downloaded from PyPI
https://pypi.org/project/numpy/1.23.3; source archives, release notes,
and wheel hashes are available on Github
https://github.com/numpy/numpy/releases/tag/v1.23.3.

Note that we will move to MacOS 11 for the NumPy 1.23.4 release, the 10.15
version currently used will no longer be supported by our build
infrastructure at that point.

Contributors

A total of 16 people contributed to this release. People with a "+" by
their
names contributed a patch for the first time.

  • Aaron Meurer
  • Bas van Beek
  • Charles Harris
  • Ganesh Kathiresan
  • G... continue reading
naive kindleBOT
#

Hello,

I've been working on this PEP [1] on and off for over a year. I think it is
now nearly ready for submission to the steering council.

If anyone would like to review the proposal and provide feedback, that
would be most welcome!

The current reference implementation, and latest version of the PEP, are in
this GitHub repo [2]. References to previous discussion are found in the
PEP.

  • Tal Einat

[1] https://peps.python.org/pep-0661/
[2] https://github.com/taleinat/python-stdlib-sentinels

naive kindleBOT
#

Python 3.11 is one month away, can you believe it? This snake is still
trying to bite as it has been an interesting day of fighting fires, release
blockers, and a bunch of late bugs but your friendly release team always
delivers :)

You can get this new release while is still fresh here:

https://www.python.org/downloads/release/python-3110rc2/

This is the second release candidate of Python 3.11

This release, 3.11.0rc2, is the last preview before the final release
of Python 3.11.0 on 2022-10-24.

Entering the release candidate phase, only reviewed code changes which are
clear bug fixes are allowed between this release candidate and the final
release. The second candidate and the last planned release preview is
currently planned for Monday, 2022-09-05 while the official release is
planned for Monday, 2022-10-24.

There will be no ABI changes from this point forward in the 3.11 series and
the goal is that there will be as few code changes as possible.

Modification of the fi... continue reading

naive kindleBOT
#

Python 3.11 is one month away, can you believe it? This snake is still
trying to bite as it has been an interesting day of fighting fires, release
blockers, and a bunch of late bugs but your friendly release team always
delivers :)

You can get this new release while is still fresh here:

https://www.python.org/downloads/release/python-3110rc2/

This is the second release candidate of Python 3.11

This release, 3.11.0rc2, is the last preview before the final release
of Python 3.11.0 on 2022-10-24.

Entering the release candidate phase, only reviewed code changes which are
clear bug fixes are allowed between this release candidate and the final
release. The second candidate and the last planned release preview is
currently planned for Monday, 2022-09-05 while the official release is
planned for Monday, 2022-10-24.

There will be no ABI changes from this point forward in the 3.11 series and
the goal is that there will be as few code changes as possible.

##... continue reading

#

Announcing objerve 0.2.0

PyPI: https://pypi.org/project/objerve/0.2.0/
Pip: pip install objerve==0.2.0
Source: https://github.com/furkanonder/objerve/

What is objerve?

Objerve is a tiny observer for Python object attributes that only use one decorator.

Example

from objerve import watch

@watch(set={"foo", "qux"}, get={"bar", "foo"})
class M:
qux = "blue"

def __init__(self):
self.bar = 55
self.foo = 89
self.baz = 121

m = M()

def abc():
m.foo += 10

m.qux = "red"
abc()
m.foo

Output:

Set | foo = 89
File "/home/blue/example.py", line 9, in __init__
self.foo = 89

Set | qux = red
File "/home/blue/example.py", line 18, in <module>
m.qux = "red"

Get | foo = 89
File "/home/blue/example.py", line 16, in abc
m.foo += 10

Set | foo = 99
File "/home/blue/example.py", line 16, in abc
m.foo += 10

Get | foo = 99
File "/home/blue/example.py, line 20, in <module>
m.foo

Enjoy,
Furkan Onderhttps://github.com... continue reading

naive kindleBOT
#

Just spotted that 3.11 adds an include_hidden. At the moment a little
confused because there's an apparent mismatch between docstring and docs.

Lib/glob.py:

 If `include_hidden` is true, the patterns '*', '?', '**'  will 

match hidden
directories.

Doc/library/glob.rst:

If *include\_hidden* is true, "``**``" pattern will match hidden 

directories.

,,, with no mention of the other patterns.

Is that just an omission in the rst doc?

naive kindleBOT
#

I couldn't find any information on whether this was considered and rejected
during the pattern matching PEP, so apologies if this is already settled.

I've just encountered this use-case repeatedly so I figured it was time to
make a thread on this.

Basically, I'd like to be able to designate a pattern like this:

match val:
case [*str()]:
...

Where 'val' will match an iterable containing zero or more strings.

This should also work with more complex sub-patterns, like:

match humans:
case [
*{
'name': str(),
'age': int(),
}
]:
...

Where 'humans' should match an iterable of zero or more mappings where each
mapping contains the keys 'name' and 'age' (and where the value for name is
a string and the value for age is an int).

Sure, you can use the sentinel clause to do it, but imagine you've got a
case statement where you're using 10 different variadic sub-patterns. You'd
have an unbearably long string of:

case {PAT... continue reading

naive kindleBOT
#

Hello everyone,

the docs on the upcoming 3.11 release state

This [specializing adaptive interpreter] also brings in another
concept called inline caching, where Python caches the results of
expensive operations directly in the bytecode.

I wonder how this caching works, given that the dynamic nature means
that virtually every operation could have side effects, causing wrong
behaviour when cached. The only mitigation for this that I can imagine
is that caching just occurs for basic operations defined in the standard
library, where it is known that they are free of side effects or "pure".

A web search did reveal some discussions[1,2] and a module related to
dealing with pure functions, but, as far as I see, not related to
optimization.

As an example, consider a code like this:

@pure
def rot_factor(angle_deg: float) -> complex:
     # This could also be a much more expensive calculation.
     return cmath.exp(angle_deg / 180 * cmath.pi * 1j)

# ...

res: List[Tuple(c... [continue reading](https://mail.python.org/archives/list/python-dev@python.org/thread/XDYZRC6L7LBPE3T6RO6S5IVY3J6IMRSJ/)
naive kindleBOT
#

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.1.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 adds support for Azure Active Directory OAuth 2.0 and Oracle
Cloud Infrastructure Identity and Access Management (IAM) token
authentication. It also adds support for JSON payloads in Advanced Queuing
(AQ) and addresses a 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#oracledb-1-1-0-september-2022

Please provide any feedback via GitHub issues: https://github.com/oracle/
pytho... continue reading

naive kindleBOT
#

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/vulture
http://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.6+

News

  • Add basic match statement support (kreathon, #276, #291).

Cheers
Jendrik

naive kindleBOT
#

As mentioned previously [0], the Steering Council decided to switch from
python-dev to Discourse (discuss.python.org).
We're aware that Discourse is not perfect. The previous mail thread [0]
lists various shortcomings, as well as some workarounds. However, we
don't see anything that would block Python development.

Practically, the switch means that:

  • New PEPs should be announced in the PEPs category on Discourse (rather
    than on this list), and
  • The Devguide will list Discourse, rather than mailing lists, as the
    primary communication channel.

Note that you can have development-related discussions anywhere, as long
as you (eventually) include all relevant people. You're welcome to
continue using python-dev and other mailing lists, IRC, in-person
sprints, etc. But for PEP-level changes, we believe python-dev no longer
reaches the proper audience.

For the related docs changes, see [peps-2775] and [devguide-945]. Note
that this is documentation, not law – if something is uncl... continue reading

naive kindleBOT
#

Hello!

I'm pleased to announce version 3.10.0, the first release of branch
3.10 of SQLObject.

What's new in SQLObject

Contributors for this release are
James Hudson, Juergen Gmach, Hugo van Kemenade.
Many thanks!

Features

  • Allow connections in ConnectionHub to be strings.
    This allows to open a new connection in every thread.

  • Add compatibility with Pendulum.

Tests

  • Run tests with Python 3.10.

CI

  • GitHub Actions.

  • Stop testing at Travis CI.

  • Stop testing at AppVeyor.

Documentation

  • DevGuide: source code must be pure ASCII.

  • DevGuide: reStructuredText format for docstrings is recommended.

  • DevGuide: de-facto good commit message format is required:
    subject/body/trailers.

  • DevGuide: conventional commit format for commit message subject lines
    is recommended.

  • DevGuide: Markdown format for commit message bodies is recommended.

  • DevGuide: commit messages must be pure ASCII.

For a... continue reading

naive kindleBOT
#

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.1.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 reported issues.

See the full release notes for all of the details:
https://python-oracledb.readthedocs.io/en/latest/release\_notes.html#oracledb-1-1-1-september-2022

Please provide any feedback via GitHub issues: https://github.com/oracle/
python-oracledb/issues or discussions: https://github.com/oracle/python-
oracledb/discussions

naive kindleBOT
#

I am pleased to announce the release of SfePy 2022.3.

Description

SfePy (simple finite elements in Python) is a software for solving systems of
coupled partial differential equations by finite element methods. It is
distributed under the new BSD license.

Home page: https://sfepy.org
Mailing list: https://mail.python.org/mm3/mailman3/lists/sfepy.python.org/
Git (source) repository, issue tracker: https://github.com/sfepy/sfepy

Highlights of this release

  • reorganized scripts
  • PyPI support
  • speed-up of linear elastodynamics problems
  • improved homogenization-based recovery of micro-scale solutions

For full release notes see [1].

Cheers,
Robert Cimrman

[1] http://docs.sfepy.org/doc/release\_notes.html#id1


Contributors to this release in alphabetical order:

Robert Cimrman
Yves Delley
Vladimir Lukes

naive kindleBOT
#

Leo http://leoeditor.com 6.7.0 is now available on GitHub
https://github.com/leo-editor/leo-editor/releases and pypi
https://pypi.org/project/leo/.

Leo, http://leoeditor.com is an IDE, outliner and PIM
http://leoeditor.com/preface.html.

The highlights of Leo 6.7.0

The 6.7.0 version denotes significant changes to Leo's code base.

  • Leo now requires Python 3.9 or later.
  • Enhance leoserver.py to support leoInteg and leoJS.
  • Importers no longer generate underindented escape strings.
  • Delete all of Leo's cover- and test- commands.
  • Allow unit tests to run with the Qt gui.
  • Several mass code updates:
  • Annotate Leo's core files and important plugins.
  • Simplify all of Leo's importers.
  • Speed Leo's redraw code by rewriting Leo's icon drawing logic.
  • Retire Tk indices, except in unit tests.
  • The usual assortment of minor bug fixes.

Links

naive kindleBOT
#

This might be a bit niche, but after using it privately for a couple of
years, i've made a first release of Walk, a Python module that provides
a mechanism for running commands, where commands are not run if Walk
can infer that they would not change any generated files.

  • An LD_PRELOAD library or syscall tracing is used to detect what files
    a command reads and/or writes.

  • Tested and used on Linux and OpenBSD.

  • Also provided is an example Python script walkbuild/walkfg.py which
    uses Walk to work as a build system for the Flightgear open-source
    flight simulator.

For more information, please see:

Thanks,

  • Jules
naive kindleBOT
naive kindleBOT
naive kindleBOT
#

Dear Python Community,

We hope that you are all well to that end and that you have been busy
working on various awesome Python Projects. It's almost that time of the
year and we would like to engage the community for the Fourth ever Python
Tanzania Conference which is planned to take place during the First Week
of December 2022
.

PyCon Tanzania, is seeking keynote speakers and instructors to contribute
to the Python Conference Program! If you use the Python programming
language professionally, or as a researcher, or a hobbyist or are just
excited about Python Programming and Open Source Software, we'd love to
hear from you and what you have to offer and share with the wider community.

We are looking for speakers who would:

- Offer a Keynote speaker on an appropriate technical topic;
- Offer a Technical Tutorial on an appropriate technical topic;
- Offer a Hackathon on an appropriate technical topic;
- Participate in the technical panel sessi... [continue reading](https://mail.python.org/archives/list/python-announce-list@python.org/thread/3CPUHJVOOX2IEULEWXLNNHNRYKE3YEEN/)
naive kindleBOT
#

Hi all,

On behalf of the SciPy development team, I'm pleased to announce the
release of SciPy 1.9.2, which is a bug fix release that includes
binary wheels for Python 3.11.

Sources and binary wheels can be found at:
https://pypi.org/project/scipy/ and at:
https://github.com/scipy/scipy/releases/tag/v1.9.2

One of a few ways to install this release with pip:
pip install scipy==1.9.2

=====================
SciPy 1.9.2 Release Notes

SciPy 1.9.2 is a bug-fix release with no new features
compared to 1.9.1. It also provides wheels for Python 3.11
on several platforms.

Authors

  • Hood Chatham (1)
  • Thomas J. Fan (1)
  • Ralf Gommers (22)
  • Matt Haberland (5)
  • Julien Jerphanion (1)
  • Loïc Estève (1)
  • Nicholas McKibben (2)
  • Naoto Mizuno (1)
  • Andrew Nelson (3)
  • Tyler Reddy (28)
  • Pamphile Roy (1)
  • Ewout ter Hoeven (2)
  • Warren Weckesser (1)
  • Meekail Zain (1) +

A total of 14 people contributed to this release.
People w... continue reading

naive kindleBOT
#

PyCA cryptography 38.0.2 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.

Changelog (https://cryptography.io/en/latest/changelog/#v38-0-2):

  • Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.0.6.

-Paul Kehrer (reaperhulk)

naive kindleBOT
#

Déjà vu? Right, a month after the expedited releases we are doing the dance again. This coincides with the regular scheduled time for 3.10.8 but since we accrued a few fixes in 3.7 - 3.9 as well, we’re again releasing all four editions at the same time. We’re not promising to continue at this pace 😅

https://discuss.python.org/t/python-versions-3-10-8-3-9-15-3-8-15-3-7-15-now-available/19889#security-content-this-time-1Security content this time

CVE-2022-40674: bundled libexpat was upgraded from 2.4.7 to 2.4.9 which fixes a heap use-after-free vulnerability in function doContent
gh-97616: a fix for a possible buffer overflow in list *= int
gh-97612: a fix for possible shell injection in the example script get-remote-certificate.py (this issue originally had a CVE assigned to it, which its author withdrew)
gh-96577: a fix for a potential buffer overrun in msilib
https://discuss.python.org/t/python-versions-3-10-8-3-9-15-3-8-15-3-7-15-now-available/19889#python-3108-2Python 3.10.8... continue reading

naive kindleBOT
#

Déjà vu? Right, a month after the expedited releases we are doing the dance again. This coincides with the regular scheduled time for 3.10.8 but since we accrued a few fixes in 3.7 - 3.9 as well, we’re again releasing all four editions at the same time. We’re not promising to continue at this pace 😅

https://discuss.python.org/t/python-versions-3-10-8-3-9-15-3-8-15-3-7-15-now-available/19889#security-content-this-time-1Security content this time

CVE-2022-40674: bundled libexpat was upgraded from 2.4.7 to 2.4.9 which fixes a heap use-after-free vulnerability in function doContent
gh-97616: a fix for a possible buffer overflow in list *= int
gh-97612: a fix for possible shell injection in the example script get-remote-certificate.py (this issue originally had a CVE assigned to it, which its author withdrew)
gh-96577: a fix for a potential buffer overrun in msilib
https://discuss.python.org/t/python-versions-3-10-8-3-9-15-3-8-15-3-7-15-now-available/19889#python-3108-2Python 3.10.8... continue reading

naive kindleBOT
#

Yesterday, PyCA cryptography 38.0.2 was released to PyPI. Today, we
yanked the release from PyPI due to regressions in OpenSSL that led
the OpenSSL team to withdraw OpenSSL 3.0.6 (which PyCA cryptography's
wheels include). We expect to issue a follow up release once the
OpenSSL team has released OpenSSL 3.0.7.

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.

Alex

All that is necessary for evil to succeed is for good people to do nothing.

naive kindleBOT
#

Hi All,

On behalf of the NumPy team, I am pleased to announce the release of
NumPy 1.23.4. NumPy 1.23.4 is a maintenance release that fixes bugs
discovered after the 1.23.3 release and keeps the build infrastructure
current. The main improvements are fixes for some annotation corner cases,
a fix for a long time nested_iters memory leak, and a fix of complex
vector dot for very large arrays. The Python versions supported for this
release are 3.8-3.11. Wheels can be downloaded from PyPI
https://pypi.org/project/numpy/1.23.4; source archives, release notes,
and wheel hashes are available on Github
https://github.com/numpy/numpy/releases/tag/v1.23.4.

Note that the mypy version needs to be 0.981+ if you test using Python
3.10.7, otherwise the typing tests will fail.

Contributors

A total of 8 people contributed to this release. People with a "+" by their
names contributed a patch for the first time.

naive kindleBOT
#

I’m doing some research on Python type annotations recently.
I found that, some dynamic typing related bugs can be effectively avoided in the early stages of code development,
by adding type annotations to Python code and applying some type checking tools (such as MyPy, PyType, Pyright, and Pyre, etc.).
The introduction of type annotations effectively improves the type safety of Python code.

However, different tools discover, classify and report defects in different ways, and there is little overlap in the defects they reported.
In the same code segment, some type checking tools will report defects but some will not.
These may confuse users. Because it is not easy for the user to determine which tools give credible results.

Based on the above, I have the following suggestion:
Is it possible that Python provide a new type checker officially?
Or is it possible that Python choose one of the off-the-shelf type checking tools as the official and recommended one?

Python is my favouri... continue reading

naive kindleBOT
#

Dear Pythonistas and solar power enthusiasts,

The maintainers are happy to announce a new release of pvlib python:
software for simulating performance of photovoltaic solar energy systems.

See what's new for v0.9.3:
** *https://pvlib-python.readthedocs.io/en/stable/whatsnew.html

Releases are available from PyPI and the conda-forge channel:

Note: you can now install from conda-forge using either "pvlib" or
"pvlib-python"

Read the Documentation:

Report issues & contribute:

Highlights:

  • Anton Driesse has joined the maintainers. Anton has been a consistent
    contributor, a frequent poster on Google Groups, and a fixture in the PV
    modeling community for many years. We gladly welcome Anton and are grateful
    for his support.
  • Seve... continue reading
naive kindleBOT
#

Dear all,

on behalf of the Numba development community, I am happy to announce the
release of Numba 0.56.3.

This is a bugfix release to remove the version restriction applied to
the setuptools package and to fix a bug in the CUDA target in relation
to copying zero length device arrays to zero length host arrays.

For more information, please point your browser at:

https://numba.discourse.group/t/ann-numba-0-56-3/1600

EOM

naive kindleBOT
#

Currently, pathlib supports pretty much all common filesystem operations.
You can create, move, and delete both files and directories. One big
omission is copying. You need shutil for that.

Whatever the original intent might have been behind pathlib, it is now
effectively the standard tool for filesystem operations. As such, excluding
copying alone from basic operations creates an unnecessary hurdle for
users. It also increases the difficulty of doing such operations since
there is no hint within the pathlib documentation on how to copy, new users
basically need to google it to find out. That is fine for less common
operations, but far from ideal from a basic one like copying.

So I think it would make a lot of sense to include copying inside pathlib.
I propose adding a copy method to pathlib.Path (for concrete paths).

The specific call signature would be:

copy(dst, *, follow_symlinks=True, recursive=True, dir_exist_ok=True)

This will call shutil.copytree for directories ... continue reading

naive kindleBOT
#

Hello all,
I'm glad to announce the release of psutil 5.9.3:
https://github.com/giampaolo/psutil

About

psutil (process and system utilities) is a cross-platform library for
retrieving information on running processes and system utilization (CPU,
memory, disks, network) in Python. It is useful mainly for system
monitoring, profiling and limiting process resources and management of
running processes. It implements many functionalities offered by command
line tools such as: ps, top, lsof, netstat, ifconfig, who, df, kill, free,
nice, ionice, iostat, iotop, uptime, pidof, tty, taskset, pmap. It
currently supports Linux, Windows, macOS, Sun Solaris, FreeBSD, OpenBSD,
NetBSD and AIX, both 32-bit and 64-bit architectures. Supported Python
versions are 2.7 and 3.4+. PyPy is also known to work.

What's new

2022-10-18

Enhancements

  • #2040, [macOS]: provide wheels for arm64 architecture. (patch by Matthieu
    Darbois)

Bug fixes

naive kindleBOT
#

Hi all,

On behalf of the SciPy development team, I'm pleased to announce the
release of SciPy 1.9.3, which is a bug fix release.

Sources and binary wheels can be found at:
https://pypi.org/project/scipy/ and at:
https://github.com/scipy/scipy/releases/tag/v1.9.3

=====================
SciPy 1.9.3 Release Notes

SciPy 1.9.3 is a bug-fix release with no new features
compared to 1.9.2.

Authors

  • Jelle Aalbers (1)
  • Peter Bell (1)
  • Jake Bowhay (3)
  • Matthew Brett (3)
  • Evgeni Burovski (5)
  • drpeteb (1) +
  • Sebastian Ehlert (1) +
  • GavinZhang (1) +
  • Ralf Gommers (2)
  • Matt Haberland (15)
  • Lakshaya Inani (1) +
  • Joseph T. Iosue (1)
  • Nathan Jacobi (1) +
  • jmkuebler (1) +
  • Nikita Karetnikov (1) +
  • Lechnio (1) +
  • Nicholas McKibben (1)
  • Andrew Nelson (1)
  • o-alexandre-felipe (1) +
  • Tirth Patel (1)
  • Tyler Reddy (51)
  • Martin Reinecke (1)
  • Marie Roald (1) +
  • Pamphile Roy (2)
  • Eli Schwartz (1)
  • serge-sans-pai... continue reading
naive kindleBOT
#

Hi,
I have a question about a problem we are facing in different Python versions, like Python 3.7.7, Python 3.8, Python 3.6 and Python 3.9.
This apparently doesnt happen in Python 3.10.2 and we were wondering how we could achieve the same behaviours without going deep into the nuts and bolts of the python import system.

We have python libraries that are distributed in a networked environment that when imported for the first time they are correctly imported but something happens in the meantime that prevents it from loading anymore. This networked paths are domain paths that are bound to a final "real" path in a specific file server from a specific site in the world.

What happens is, when injecting into the sys.path the domain names it doesnt import but when injecting into the sys.path the "real" file server path it works, generally speaking. We have been facing this issue in such different python 3 versions and i was wondering what makes this work in Python 3.10.2.

Apparently, in m... continue reading

naive kindleBOT
naive kindleBOT
#

Hi everyone,

I am currently swamped fixing merge conflicts from the cherry-picking to
the final release candidate but I wanted to write to tell you I'm excited
to confirm that we will be haven a Python 3.11 release party as we did last
year with 3.10. The event will be co-hosted by the fantastic people of the
Python discord channel. The URL for the stream is this one:

https://www.youtube.com/watch?v=PGZPSWZSkJI

The release party will start on October 24th at 17:00 UTC+0.
In this stream, some core developers (Irit, Mark, Brandt, Thomas and
Łukasz) will be talking about Python 3.11 features, the work on the faster
CPython project, some sneak peek on Python 3.12 and beyond, talking about
the core Dev in residence role and other things with some time for
moderated Q&A. I will be doing the release live and will also cover what I
am doing. Is a fantastic opportunity to watch me break everything live :)

Who knows, maybe I break GitHub..... again! :D

In the end, people from the audienc... continue reading

naive kindleBOT
#

Hi everyone,

I emerged from cherry-picking hell! As mentioned previously, the 3.11.0
final release will be done from the "branch-v3.11.0" branch
and will contain a bunch of cherry-picked commits on top of v3.11.0rc2.
These commits are:

  • All documentation commits that do not touch any source code (120+
    commits).
  • The following bugfixes:
  • 6b999982cb8 gh-95027: Fix regrtest stdout encoding on Windows (GH-98492)
  • 970c10aa6d0 gh-97616: list_resize() checks for integer overflow (GH-97617)
  • 67f5d24e44c gh-96848: Fix -X int_max_str_digits option parsing (GH-96988)
  • 9e008fe3519 gh-96821: Fix undefined behaviour in _testcapimodule.c
    (GH-96915) (GH-96927)
  • bac61bc5b13 gh-95778: Mention sys.set_int_max_str_digits() in error
    message (GH-96874)
  • 9cb7324e8fc [3.11] gh-96587: Raise SyntaxError for PEP654 on older
    feature_version (GH-96588) (#96591)
  • 84fd4a54a61 [3.11] gh-97897: Prevent os.mkfifo and os.mknod segfaults
    with macOS 13 SDK (GH-97944) (#97969)
  • 1a788914ca6 gh... continue reading
naive kindleBOT
#

Dear Python Community,

We hope that you are all well to that end and that you have been busy
working on various awesome Python Code Bases. It's almost that time of the
year and we would like to engage the community for the Fourth ever Python
Conference which is planned to take place from* 4th - 7th December 2022** in
the beautiful and magnificent Island of ZANZIBAR.*

PyCon Tanzania, is seeking keynote speakers and instructors to contribute
to the Python Conference Program! We are looking for speakers who would:

- Offer a Keynote speaker on an appropriate technical topic;
- Offer a Technical Tutorial or Hackathon on an appropriate Python

topic;

Topics must be relevant to the Python Language and Open Source Software:

  • Python in Education
  • Python in Statistical Research
  • Python in Scientific Research
  • Python Machine Learning
  • Python & Artificial Intelligence
  • Open Source Software
  • Python & Cyber Security
  • Python G... continue reading
naive kindleBOT
#

Python 3.11 is finally released. In the CPython release team, we have put a
lot of effort into making 3.11 the best version of Python possible. Better
tracebacks, faster Python, exception groups and except*, typing
improvements and much more. Get it here:

https://www.python.org/downloads/release/python-3110/

This is the stable release of Python 3.11.0

Python 3.11.0 is the newest major release of the Python programming
language, and it contains many new features and optimizations.

Major new features of the 3.11 series, compared to 3.10

Some of the new major new features and changes in Python 3.11 are:

General changes

naive kindleBOT
#

Python 3.11 is finally released. In the CPython release team, we have put a
lot of effort into making 3.11 the best version of Python possible. Better
tracebacks, faster Python, exception groups and except*, typing
improvements and much more. Get it here:

https://www.python.org/downloads/release/python-3110/

This is the stable release of Python 3.11.0

Python 3.11.0 is the newest major release of the Python programming
language, and it contains many new features and optimizations.

Major new features of the 3.11 series, compared to 3.10

Some of the new major new features and changes in Python 3.11 are:

General changes

naive kindleBOT
#

As Pablo released Python 3.11.0 final earlier today, now it's my turn to
release Python 3.12.0 alpha 1.

This is an early developer preview of Python 3.12
Major new features of the 3.12 series, compared to 3.11

Python 3.12 is still in development. This release, 3.12.0a1 is the first of
seven planned alpha releases.

Alpha releases are intended to make it easier to test the current state of
new features and bug fixes and to test the release process.

During the alpha phase, features may be added up until the start of the
beta phase (2023-05-08) and, if necessary, may be modified or deleted up
until the release candidate phase (2023-07-31). Please keep in mind that
this is a preview release and its use is *not *recommended for production
environments.

Many new features for Python 3.12 are still being planned and written.
Among the new major new features and changes so far:

  • The deprecated wstr and wstr_length members of the C
    implementation of unicode objects were remove... continue reading
naive kindleBOT
#

As Pablo released Python 3.11.0 final earlier today, now it's my turn to
release Python 3.12.0 alpha 1.

This is an early developer preview of Python 3.12
Major new features of the 3.12 series, compared to 3.11

Python 3.12 is still in development. This release, 3.12.0a1 is the first of
seven planned alpha releases.

Alpha releases are intended to make it easier to test the current state of
new features and bug fixes and to test the release process.

During the alpha phase, features may be added up until the start of the
beta phase (2023-05-08) and, if necessary, may be modified or deleted up
until the release candidate phase (2023-07-31). Please keep in mind that
this is a preview release and its use is *not *recommended for production
environments.

Many new features for Python 3.12 are still being planned and written.
Among the new major new features and changes so far:

  • The deprecated wstr and wstr_length members of the C
    implementation of unic... continue reading
naive kindleBOT
#

pytest-7.2.0

The pytest team is proud to announce the 7.2.0 release!

This release contains new features, improvements, and bug fixes,
the full list of changes is available in the changelog:

 https://docs.pytest.org/en/stable/changelog.html

For complete documentation, please visit:

 https://docs.pytest.org/en/stable/

As usual, you can upgrade from PyPI via:

 pip install -U pytest

Thanks to all of the contributors to this release:

  • Aaron Berdy
  • Adam Turner
  • Albert Villanova del Moral
  • Alice Purcell
  • Anthony Sottile
  • Anton Yakutovich
  • Babak Keyvani
  • Brandon Chinn
  • Bruno Oliveira
  • Chanvin Xiao
  • Cheuk Ting Ho
  • Chris Wheeler
  • EmptyRabbit
  • Ezio Melotti
  • Florian Best
  • Florian Bruhin
  • Fredrik Berndtsson
  • Gabriel Landau
  • Gergely Kalmár
  • Hugo van Kemenade
  • James Gerity
  • John Litborn
  • Jon Parise
  • Kevin C
  • Kian Eliasi
  • MatthewFlamm
  • Miro Hrončok
  • Nate Meyvis
  • Neil Girdhar
  • Nhieuvu1802
  • Nipunn Koorapati
  • Ofek Lev
  • Paul Müller
  • Pau... continue reading
naive kindleBOT
#

Hi,

We've just released Wing 9, which adds support for Python 3.11, reduces
debugger overhead in Python 3.7+, streamlines configuration of light and
dark theming, adds two light display themes, and makes improvements to
auto-invocation, multi-threaded debugging, code analysis, & more.

Details: https://wingware.com/news/2022-10-24
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... continue reading

naive kindleBOT
#

========================
Announcing NumExpr 2.8.4

Hi everyone,

This is a maintenance and bug-fix release for NumExpr. In particular, now
we have
added Python 3.11 support.

Project documentation is available at:

http://numexpr.readthedocs.io/

Changes from 2.8.3 to 2.8.4

  • Support for Python 3.11 has been added.
  • Thanks to Tobias Hangleiter for an improved accuracy complex expm1
    function.
    While it is 25 % slower, it is significantly more accurate for the real
    component
    over a range of values and matches NumPy outputs much more closely.
  • Thanks to Kirill Kouzoubov for a range of fixes to constants parsing that
    was
    resulting in duplicated constants of the same value.
  • Thanks to Mark Harfouche for noticing that we no longer need numpy
    version
    checks. packaging is no longer a requirement as a result.

What's Numexpr?

Numexpr is a fast numerical expression evaluator ... continue reading

naive kindleBOT
#

Hi,
I would like to ask your guidance as I'm entirely sure whether the problem I'm experiencing should be posted in CPython's repo as a bug issue.
I've tried using newly released Python 3.11 interpreter in some of my projects and one of them failed to start with "RuntimeError: invalid SRE code" error.

Looking into implementation of one of the dependencies I've found out that the issue has been found out by a maintainer and fixed (https://github.com/pydicom/pydicom/issues/1658).
It looks like this particular regexp caused the re.compile() method to raise:

   re.compile(
        r"(?P<h>^([01][0-9]|2[0-3]))"
        r"((?P<m>([0-5][0-9]))?"
        r"(?(5)(?P<s>([0-5][0-9]|60))?)"
        r"(?(7)(\.(?P<ms>([0-9]{1,6})?))?))$"
    )

I've checked and this hasn't been an issue in all previous Python interpreter versions, starting from 3.6 (the oldest I've checked).
What's more the regex i correctly recognized and does not cause any issues in other regexp implementations, e.g. ... continue reading

naive kindleBOT
#

I am writing a Rust version of Python for fun and I am at the parser stage
of development.

I copied and modified a PEG grammar ruleset from another open source
project and I've already noticed some problems (ex Newline vs NL) with how
they transcribed things.

I am suspecting that CPython's grammar NEWLINE is a builtin rule for the
parser that is something like (Newline+ | NL+ ) {NOP} but wanted to
sanity check if that is right before I figure out how to hack in a NEWLINE
rule and update my grammar ruleset.

naive kindleBOT
#

Hi everyone,

Now that the 3.11.0 release is finally done and I can relax a bit, I just
wanted to thank you all
for your fantastic work that has made Python 3.11 such a fantastic release.
No matter if you committed
code to 3.11 or opened a bug, helped with the documentation, reviewed pull
requests, participated in
discussions, made a PEP or help writing one, fixed a bug or one hundred or
make optimizations to the
interpreter or any other of the many ways to contribute. Your work makes a
huge difference and Python
3.11 is much better because of that :)

Also, I want to especially thank all core devs and contributors that have
helped me and the release team take
care of release blockers, buildbot failures, CVE patches, and any other
form of release crisis. Thank you!

Finally, a huge thanks to my colleagues in the release team that make these
releases possible and help to make
sure that my mistakes are not too obvious to end users :P

Being your release manager for 3.11 and 3.10 has been... continue reading

naive kindleBOT
#

Hi everyone,

Now that the 3.11.0 release is finally done and I can relax a bit, I just
wanted to thank you all
for your fantastic work that has made Python 3.11 such a fantastic release.
No matter if you committed
code to 3.11 or opened a bug, helped with the documentation, reviewed pull
requests, participated in
discussions, made a PEP or help writing one, fixed a bug or one hundred or
make optimizations to the
interpreter or any other of the many ways to contribute. Your work makes a
huge difference and Python
3.11 is much better because of that :)

Also, I want to especially thank all core devs and contributors that have
helped me and the release team take
care of release blockers, buildbot failures, CVE patches, and any other
form of release crisis. Thank you!

Finally, a huge thanks to my colleagues in the release team that make these
releases possible and help to make
sure that my mistakes are not too obvious to end users :P

Being your release manager for 3.11 and 3.10 has been... continue reading

naive kindleBOT
#

I am delighted to announce the 3.4 release of Austin. If you haven't heard of Austin before, it is an open-source frame stack sampler for CPython, distributed under the GPLv3 license. It can be used to obtain statistical profiling data out of a running Python application without a single line of instrumentation. This means that you can start profiling a Python application straight away, even while it's running in a production environment, with minimal impact on performance.

https://github.com/P403n1x87/austin

The Austin VS Code extension provides a smooth interactive profiling experience, with interactive flame graphs straight into the text editor to allow you to quickly jump to the source code with a simple click. You can find the extension on the Visual Studio Marketplace and install it directly from VS Code:

https://marketplace.visualstudio.com/items?itemName=p403n1x87.austin-vscode

To see how to make the best of Austin with VS Code to find and fix performance issues, check out ... continue reading

naive kindleBOT
#

PyCA cryptography 38.0.3 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.

Changelog (https://cryptography.io/en/latest/changelog/#v38-0-3):

  • Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL
    3.0.7, which resolves CVE-2022-3602 and CVE-2022-3786.

-Paul Kehrer (reaperhulk)

naive kindleBOT
#

I am delighted to announce the 3.4 release of Austin. If you haven't heard of Austin before, it is an open-source frame stack sampler for CPython, distributed under the GPLv3 license. It can be used to obtain statistical profiling data out of a running Python application without a single line of instrumentation. This means that you can start profiling a Python application straight away, even while it's running in a production environment, with minimal impact on performance.

https://github.com/P403n1x87/austin

The Austin VS Code extension provides a smooth interactive profiling experience, with interactive flame graphs straight into the text editor to allow you to quickly jump to the source code with a simple click. You can find the extension on the Visual Studio Marketplace and install it directly from VS Code:

https://marketplace.visualstudio.com/items?itemName=p403n1x87.austin-vscode

To see how to make the best of Austin with VS Code to find and fix performance issues, check out ... continue reading

naive kindleBOT
#

I would like to propose adding a new TypedMapping structural type, which (like Mapping vs dict) functions as a read-only equivalent of TypedDict.

(This is a cross-post from typing-sig@, where our original proposal got refined.)

Specification

class Request(TypedMapping, total=False):
  some_field: string | None

request: Request = { "some_field": "foo" }
request2: Request = {}  # fine because total=False
request["some_field"] = None  # error
del request["some_field"]  # error

TypedMapping is a structural type that mirrors TypedDict except for:

  1. instances need not be subclasses of dict;
  2. no mutate methods will be generated
  3. subclasses can narrow field types (consequence of 2)

Rules for 3 mirror Protocols.

Multiple inheritance and TypedDict

A type that inherits from a TypedMapping subclass and from TypedDict (either directly or indirectly):

  1. is the structural intersection of its parents, or invalid if no such intersection exists
  2. instances must be a d... continue reading
naive kindleBOT
#

Dear all,

on behalf of the Numba development community, I am happy to announce the
release of Numba 0.56.4.

This is a bugfix release to fix a regression in the CUDA target in
relation to the .view() method on CUDA device arrays that is present
when using NumPy version 1.23.0 or later.

For more information, please point your browser at:

https://numba.discourse.group/t/ann-numba-0-56-4/1632

EOM

naive kindleBOT
#

PyScripter is a free and open-source Python Integrated Development Environment (IDE) created with the ambition to become competitive in functionality with commercial Windows-based IDEs available for other languages. It is feature-rich, but also light-weight.

New Features in Release 4.2.0

  • Python 3.11 support added - Support for python 3.6 removed
  • Spell checking of comments and strings #84
  • Track changes bar as in Visual Studio
  • Editor Unicode handling improvements (emojis, bi-directional text, etc.)
  • Editor selection options (alpha blending, fill whole lines)
  • Portuguese translations (pt_PT, pt_BR) added
    Issues addressed
    #1140, #1146, #1149, #1151, #1163, #1165
naive kindleBOT
#

Junctions are contextually similar to symlinks on Windows.

I propose adding a mechanism to both pathlib.Path and os.path to check if a given path is a junction or not. Currently is_symlink/islink return False for junctions.

Maybe isjunction in os.path and is_junction in pathlib.Path?

Part of me thinks about adding an junction_ok param to the existing islink and is_symlink since they are often similar in usage.

Thoughts?

naive kindleBOT
#

I’m looking for help understanding how Python will release fixes related to the SHA3 critical security vulnerability (CVE-2022-37454). I’ve tried to figure this out myself, but I’m far from a Python expert and I’m not sure where else I should look.

Apologies in advance if this is the wrong place to ask - if it is, a redirect to the correct place would be most appreciated.

Here’s what I’ve found so far:

  • Python versions 3.6 through 3.10 appear to be affected
    • 3.6 is end of life, so no fix is expected
    • A code fix appears to have been applied to 3.7 through 3.10 https://github.com/python/cpython/issues/98517
    • 3.9 and 3.10 by default use OpenSSL1.1.1+ if it’s available, appearing to default to the builtin, vulnerable SHA3 implementation if OpenSSL is not found (if there’s an exception)
      • 3.9 introduced this change via bpo-37630 in release 3.9.0 beta1
      • 3.10 appears to have had this functionality since it was originally released
  • 3.11 uses tiny_sha3 and AFAICT... continue reading
naive kindleBOT
#

Hello all,
I'm glad to announce the release of psutil 5.9.4:
https://github.com/giampaolo/psutil

About

psutil (process and system utilities) is a cross-platform library for
retrieving information on running processes and system utilization (CPU,
memory, disks, network) in Python. It is useful mainly for system
monitoring, profiling and limiting process resources and management of
running processes. It implements many functionalities offered by command
line tools such as: ps, top, lsof, netstat, ifconfig, who, df, kill, free,
nice, ionice, iostat, iotop, uptime, pidof, tty, taskset, pmap. It
currently supports Linux, Windows, macOS, Sun Solaris, FreeBSD, OpenBSD,
NetBSD and AIX, both 32-bit and 64-bit architectures. Supported Python
versions are 2.7 and 3.4+. PyPy is also known to work.

What's new

2022-11-07

Enhancements

  • #2102: use Limited API when building wheels with CPython 3.6+ on Linux,
    macOS and Windows. This allows to use ... continue reading
naive kindleBOT
#

Below, you can find the just-published Steering Council update for August.
September and October coming soon. Apologies for the delay!

https://github.com/python/steering-council/blob/main/updates/2022-08-steering-council-update.md

As a reminder, if you have any questions or concerns, feel free to contact
us or open an issue in the SC repo:
https://github.com/python/steering-council

SC meeting summary - August 2022

2022-08-01

  • The Steering Council met with the Developer-in-Residence (Łukasz)
    and discussed:
    • The status of the 3.11 release
    • the asyncio uncancel issue
    • The number of last-minute bugs and issues that we are experiencing
  • The SC discussed the fall Core Dev Sprint with the PSF Executive
    Director, as well as plans for another Developer-in-Residence and
    offering mentoring support to core developers.
  • The SC discussed the Python 3.11 release and the approximate cause of the
    release blockers, as well as how to improve the situation in the future
    ... continue reading
naive kindleBOT
#

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.2.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 adds support for binding and fetching data of type
oracledb.DB_TYPE_OBJECT (including SYS.XMLTYPE) in thin mode. It also adds
official support for Python 3.11 and addresses a 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#oracledb-1-2-0-november-2022

Please provide any feedback via GitHub issues: https://github.com/oracle/
python-oracledb/issues or discussions: https://git... continue reading

naive kindleBOT
#

I'm pleased to announce the release of Python 3.12 alpha 2.

https://www.python.org/downloads/release/python-3120a2/

This is an early developer preview of Python 3.12.

Major new features of the 3.12 series, compared to 3.11

Python 3.12 is still in development. This release, 3.12.0a2 is the second
of seven planned alpha releases.

Alpha releases are intended to make it easier to test the current state of
new features and bug fixes and to test the release process.

During the alpha phase, features may be added up until the start of the
beta phase (2023-05-08) and, if necessary, may be modified or deleted up
until the release candidate phase (2023-07-31). Please keep in mind that
this is a preview release and its use is not recommended for production
environments.

Many new features for Python 3.12 are still being planned and written.
Among the new major new features and changes so far:

  • Even more improved error messages. More exceptions potentially caused
    by typos now ma... continue reading
naive kindleBOT
#

I'm pleased to announce the release of Python 3.12 alpha 2.

https://www.python.org/downloads/release/python-3120a2/

This is an early developer preview of Python 3.12.

Major new features of the 3.12 series, compared to 3.11

Python 3.12 is still in development. This release, 3.12.0a2 is the second
of seven planned alpha releases.

Alpha releases are intended to make it easier to test the current state of
new features and bug fixes and to test the release process.

During the alpha phase, features may be added up until the start of the
beta phase (2023-05-08) and, if necessary, may be modified or deleted up
until the release candidate phase (2023-07-31). Please keep in mind that
this is a preview release and its use is not recommended for production
environments.

Many new features for Python 3.12 are still being planned and written.
Among the new major new features and changes so far:

  • Even more improved error messages. More exceptions potentially ca... continue reading
naive kindleBOT
#

Hi,

As you know we can't pickle the lambda functions in the standard pickle module. So, for that reason the shelve library also can't do that.

What if we can define the custom pickler and unpickler for the shelve module?

We couldn't do this before;

import shelve
with shelve.open("test_file") as sh:
squared = lambda x: x ** 2
sh['test_key'] = squared

Now, we can easily do it; (https://gist.github.com/furkanonder/436d1b23eede54650107924e747b5d77)

import dill
import shelve

with shelve.open("test_file_2", pickler=dill.Pickler, unpickler=dill.Unpickler) as sh:
squared = lambda x: x ** 2
sh['test_key'] = squared

I could easily solve this problem I had while using the Shelve module. I believe that shelve module will be a more useful module by adding support for custom unpickler and pickler.

Kindest regards,
Furkan Onder

naive kindleBOT
#

Dear Sir:

This script SHOULD build a grid with staggered columns. I am not satisfied
that it should stagger in the direction that I want it to, but standing
alone, it should do SOMETHING.

I keep getting a grid of identical rows. Is it my anaconda3; is it a code
optimization?

I know it sounds like incompetence on my part, but it's pretty
straightforward.

Am I actually an idiot, or is this an artifact?

Regards,

James J
Abilene, TX

naive kindleBOT
#

I’m happy to announce a new release of structlog!

With more than 4 million downloads per month, structlog is the best solution for production-ready 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!


This is another (too) big release, but before I go into new features, allow me to beg you to check out structlog's documentation: https://www.structlog.org/.

I've spent easily half of the time on bringing is up to date, restructuring, and adding usage recipes. Not new in this release, but did you know that the standard library chapter has flowcharts that give you as visual explanations of how the various methods work? This is usually the biggest sticking point when starting to use structlog.

Feature-wise the big thing is that structlog's internal (and extremely fast) loggers (the one created using s... continue reading

naive kindleBOT
#

Hi All,

On behalf of the NumPy team, I am pleased to announce the release of
NumPy 1.23.5. NumPy 1.23.5 is a maintenance release that fixes bugs
discovered after the 1.23.4 release and keeps the build infrastructure
current. The Python versions supported for this release are 3.8-3.11.
Wheels can be downloaded from PyPI
https://pypi.org/project/numpy/1.23.5; source
archives, release notes, and wheel hashes are available on Github
https://github.com/numpy/numpy/releases/tag/v1.23.5.

Contributors

A total of 7 people contributed to this release. People with a "+" by
their names contributed a patch for the first time.

  • @DWesl
  • Aayush Agrawal +
  • Adam Knapp +
  • Charles Harris
  • Navpreet Singh +
  • Sebastian Berg
  • Tania Allard

Pull requests merged

A total of 10 pull requests were merged for this release.

  • #22489: TST, MAINT: Replace most setup with setup_method (also
    teardown)
  • #22490: MAINT, CI: Switch to cygw... continue reading
naive kindleBOT
#

Refer to PEP 3137 and PEP 358.

Bytes objects are for conveying binary data (or encoded strings). Such binary data is customary specified in hex-dump or base64 format in source files.
It would be nice to introduce a way in python to do that 'natively' (at lexical analysis time) using x-strings and y-strings (in lieu of f-strings).

x-strings:

            x"0123456789abcdef"  (x-prefixed quoted string of even-numbered amount of characters of the set [0-9a-fA-F], whitespace ignored)

equivalent to:
b"\x01\x23\x45\x67\x89\xab\xcd\xef" (but more readable)

y-strings:

            y"ASNFZ4mrze8=" (y-prefixed quoted string of valid base64, whitespace ignored)

equivalent to:
b"\x01\x23\x45\x67\x89\xab\xcd\xef" (but shorter)

This is not a replacement of the hex/base64 encoding, binascii packages etc. It just gives the programmer more freedom to specify literal bytes objects in the source code.

naive kindleBOT
#

Hi All,

On behalf of the NumPy team, I'm pleased to announce the release of NumPy
1.24.0rc1. The NumPy 1.24.0 release continues the ongoing work to improve
the handling and promotion of dtypes, increase execution speed, and
clarify the documentation. There are also a large number of new and expired
deprecations due to changes in promotion and cleanups. This might be called
a deprecation release. Highlights are

  • Many new deprecations.
  • Many expired deprecations.
  • New f2py features and fixes.
  • New "dtype" and "casting" keywords for stacking functions.

The Python versions supported in this release are 3.8-3.11 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. Wheels can be downloaded from PyPI
https://pypi.org/project/numpy/1.24.0rc1/; source archives, release
notes, and wheel hashes are available on Github
<https://github.com/nump... continue reading

naive kindleBOT
#

Wing 9.0.1 has been released with some theming  fixes on Windows, a
work-around to avoid segfaults in the Python 3.11 core, fixes for vi
mode ci[ and similar when the cursor is on the opening character, a fix
for tool tips appearing on the incorrect monitor, and a few other
usability improvements.

Details: https://wingware.com/news/2022-11-23
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 d... continue reading

naive kindleBOT
#

Hello!

I'm pleased to announce version 3.3.0.post1, the 1st post release
of release 3.3.0 of branch 3.3 of CheetahTemplate3.

What's new in CheetahTemplate3

Nothing changed in the library code, no need to upgrade.

Tests:

  • Run tests with Python 3.11.

  • Fix DeprecationWarning: unittest.findTestCases() is deprecated. Use
    unittest.TestLoader.loadTestsFromModule() instead.

CI:

  • Publish wheels at Github Releases.

What is CheetahTemplate3

Cheetah3 is a free and open source (MIT) Python template engine.
It's a fork of the original CheetahTemplate library.

Python 2.7 or 3.4+ is required.

Where is CheetahTemplate3

Site:
https://cheetahtemplate.org/

Download:
https://pypi.org/project/CT3/3.3.0.post1

News and changes:
https://cheetahtemplate.org/news.html

StackOverflow:
https://stackoverflow.com/questions/tagged/cheetah

Mailing lists:
https://sourceforge.net/p/cheetahtemplate/mai... continue reading

naive kindleBOT
#

PyCA cryptography 38.0.4 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.

Changelog (https://cryptography.io/en/latest/changelog/#v38-0-4):

  • Fixed compilation when using LibreSSL 3.6.0.
  • Fixed error when using py2app to build an application with a
    cryptography dependency.

-Paul Kehrer (reaperhulk)

#

I wrote a doc stating my case here:
https://docs.google.com/document/d/1et5x5HckTJhUQsz2lcC1avQrgDufXFnHMin7GlI5XPI/edit#

Briefly,

  1. The main motivation for it is to allow users to get a predictable result
    on a given input (for programs that are doing pure compute, in domains like
    operations research / compilation), any time they run their program. Having
    stable repro is important for debugging. Notebooks with statistical
    analysis are another similar case where this is needed: you might want
    other people to run your notebook and get the same result you did.

  2. The reason the hash non-determinism of None matters in practice is that
    it can infect commonly used mapping key types, such as frozen dataclasses
    containing Optional[int] fields.

  3. Non-determinism emerging from other value types like str can be
    disabled by the user using PYTHONHASHSEED, but there's no such protection
    against None.

All it takes is for your program to compute a set somewhere with affected
keys, and i... continue reading

naive kindleBOT
#

Basically, I think it would be need if we could write

first, *tail = np.array([1,2,3])

and have tail be a np.ndarray. Currently, the result is list. Either, python could try initializing the object using the received type, or one could introduce a new dunder classmethod __from_iterable__ that custom classes can implement.

naive kindleBOT
#

As it stands now, to create a local scope, you must define a function.

However, there are many cases where various things can reasonably be done
inline. Preparatory code is often done this way.

Good coding practice is generally accepted to be that variables are local
if at all possible. However, in direct, inline Python code, we're
inherently creating variables with a global scope.

We don't actually need a function for this kind of code; but a local scope
would often be valuable (as we see with lambda.) Moving things off into a
function can create a circumstance where we have to go looking for the
function. When something is a "one-shot" as in global preparatory code,
that's doing more work, and creating more indirection, than needs actually
be done. But global operations have their own pitfalls, one of which is
variable collisions. So Python sort of drives us to make "one-use"
functions where lambdas are insufficient to the case in order to control
locality.

You can end up writing... continue reading

naive kindleBOT
#

Hi all,

for quite some time I've been working on a Python implementation of a protocol called NTS which requires access to an API in OpenSSL which is not provided by the Python ssl module. I added a patch for that which unfortunately for me the maintainer did not want to accept. Some comments were made of a possible future way to give more generic access to the openssl library via ctypes/cffi but I have been unable to find more information about that. I was home sick last week and decided to take a shot at it and have built something that I feel is a bit ugly but does seem to work. I'd like to some feedback on this approach.

My patches can be found on github, based on the Python 3.11 tag:

https://github.com/python/cpython/compare/3.11...wingel:cpython:main

Here's a short description of each patch on this branch:

"bpo-37952: SSL: add support for export_keying_material" is my old patch which adds the method I need to the ssl library just for reference.

The other commits ad... continue reading

naive kindleBOT
#

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.2.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 reported issues.

See the full release notes for all of the details:
https://python-oracledb.readthedocs.io/en/latest/release\_notes.html#oracledb-1-2-1-december-2022

Please provide any feedback via GitHub issues: https://github.com/oracle/
python-oracledb/issues or discussions: https://github.com/oracle/python-
oracledb/discussions

naive kindleBOT
#

Hi All,

On behalf of the NumPy team, I'm pleased to announce the release of NumPy
1.24.0rc1. The NumPy 1.24.0 release continues the ongoing work to improve
the handling and promotion of dtypes, increase execution speed, and
clarify the documentation. There are also a large number of new and expired
deprecations due to changes in promotion and cleanups. This might be called
a deprecation release. Highlights are

  • Many new deprecations.
  • Many expired deprecations.
  • New f2py features and fixes.
  • New "dtype" and "casting" keywords for stacking functions.

The Python versions supported in this release are 3.8-3.11 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. Wheels can be downloaded from PyPI
https://pypi.org/project/numpy/1.24.0rc2/; source archives, release
notes, and wheel hashes are available on Github
<https://github.com/nump... continue reading

naive kindleBOT
#

Web: https://lona-web.org/1.x/
Github: https://github.com/lona-web-org/lona/

What is Lona?

Lona is a web application framework, designed to write responsive web apps in
full Python.

Web is a solved problem in Python since ages, but traditionally Python handles
only the server side. If you want to have client side interaction like click
events or you want update content live, you have to write an additional
Javascript application.

Lona handles the server side and the client side, and provides a simple,
pythonic API to write self contained views.

Lona is very easy to use. You can write a whole web app, using only one simple
Python script.

https://lona-web.org/1.x/demos/

Get involved!

I released 1.10.5 yesterday. Lona is pretty stable and well tested right now,
but a major release is right around the corner. Helping hands, feedback and
new ideas in any form are very welcome.

Best regards,
Florian Scherf mail@florianscherf.de

naive kindleBOT
#

Greetings! We bring you a slew of releases this fine Saint Nicholas / Sinterklaas day. Six simultaneous releases has got to be some record. There’s one more record we broke this time, you’ll see below.

In any case, updating is recommended due to security content:

3.7 - 3.12: gh-98739 https://github.com/python/cpython/issues/98739: Updated bundled libexpat to 2.5.0 to fix CVE-2022-43680 https://nvd.nist.gov/vuln/detail/CVE-2022-43680 (heap use-after-free).
3.7 - 3.12: gh-98433 https://github.com/python/cpython/issues/98433: The IDNA codec decoder used on DNS hostnames by socket or asyncio related name resolution functions no longer involves a quadratic algorithm to fix CVE-2022-45061 https://nvd.nist.gov/vuln/detail/CVE-2022-45061. This prevents a potential CPU denial of service if an out-of-spec excessive length hostname involving bidirectional characters were decoded. Some protocols such as urllib http 3xx redirects potentially allow for an attacker to supply such a name.
3.... continue reading

naive kindleBOT
#

Greetings! We bring you a slew of releases this fine Saint Nicholas / Sinterklaas day. Six simultaneous releases has got to be some record. There’s one more record we broke this time, you’ll see below.

In any case, updating is recommended due to security content:

3.7 - 3.12: gh-98739 https://github.com/python/cpython/issues/98739: Updated bundled libexpat to 2.5.0 to fix CVE-2022-43680 https://nvd.nist.gov/vuln/detail/CVE-2022-43680 (heap use-after-free).
3.7 - 3.12: gh-98433 https://github.com/python/cpython/issues/98433: The IDNA codec decoder used on DNS hostnames by socket or asyncio related name resolution functions no longer involves a quadratic algorithm to fix CVE-2022-45061 https://nvd.nist.gov/vuln/detail/CVE-2022-45061. This prevents a potential CPU denial of service if an out-of-spec excessive length hostname involving bidirectional characters were decoded. Some protocols such as urllib http 3xx redirects potentially allow for an attacker to supply such a name.
3.... continue reading

naive kindleBOT
#

Inspired by the recent thread on PRNG, I began to wonder: suppose that I
had a pseudorandom number generator that attempted to generate a
nonuniform distribution. Suppose for instance that it was to generate a
0 bit 2/3 of the time, and a 1 bit 1/3 of the time.

How would one go about testing this PRNG against an idealized (similarly
biased) PRNG?

  • DLD
naive kindleBOT
#

I'm pleased to announce pdfdecrypt 1.0, a command line tool to
remove passwords from PDF documents.  It will read the encrypted
document, ask for the password and write the decrypted document
without touching any internal structure.

:Licence:    GNU Affero General Public License v3 or later (AGPLv3+)
:Homepage:   https://pdfdecrypt.readthedocs.io/
:Repository: https://gitlab.com/pdftools/pdfdecrypt/

Download

:Quick Installation:
    pip install -U pdfdecrypt

Relevant Changes since last release

  • Initial release

--
Regards
Hartmut Goebel

| Hartmut Goebel | h.goebel@crazy-compilers.com |
| www.crazy-compilers.com | compilers which you thought are impossible |

naive kindleBOT
#

Dear Jonathan and Brian,

I have python and pip installed on my Windows machine. However, I do not
seem to have the python launcher installed (if that is even possible). I am
a very beginner in Python. Could you explain how I should 'download' the
python installer, or if I should even do that. What would be a next step?

Thank you once again,

Sincerely,

Margaux Hoover

--

Margaux Hoover

Xtrepid Design

naive kindleBOT
#

hi! thank you for amazing community!

the python community is the light and the salt for me!

the site https://buildbot.python.org/all/#/grid

from https://www.python.org/dev/buildbot/

shows the error of

"503 Service Unavailable; No server is available to handle this request."

i reckon the site might be deprecated yet report this just in case

sorry to bother if it is already known!

hope the best

w. yang

naive kindleBOT
#

Hi everyone!

I'm the maintainer of a small django library called django-components. I've run into a problem that I have a language-level solution (tagged strings) to, that I think would benefit the wider python community.

Problem
A component in my library is a combination of python code, html, css and javascript. Currently I glue things together with a python file, where you put the paths to the html, css and javascript. When run, it brings all of the files together into a component. But for small components, having to juggle four different files around is cumbersome, so I've started to look for a way to put everything related to the component _in the same file_. This makes it much easier to work on, understand, and with fewer places to make path errors.

Example:
class Calendar(component.Component):
template_string = '<span class="calendar"></span>'
css_string = '.calendar { background: pink }'
js_string = 'document.getElementsByClassName("calendar)[0].onclick = f... continue reading

naive kindleBOT
#

Hi All,

On behalf of the NumPy team, I'm pleased to announce the release of NumPy
1.24.0. The NumPy 1.24.0 release continues the ongoing work to improve the
handling and promotion of dtypes, increase execution speed, and
clarify the documentation. There are also a large number of new and expired
deprecations due to changes in promotion and cleanups. This might be called
a deprecation release. Highlights are

  • Many new deprecations.
  • Many expired deprecations.
  • New f2py features and fixes.
  • New "dtype" and "casting" keywords for stacking functions.

The Python versions supported in this release are 3.8-3.11 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. Wheels can be downloaded from PyPI
https://pypi.org/project/numpy/1.24.0/; source archives, release notes,
and wheel hashes are available on Github
<https://github.com/numpy/nump... continue reading

naive kindleBOT
#

Hi everyone,

I am very excited to share with you a PEP that Batuhan Taskaya, Lysandros
Nikolaou and myself have been working on recently: PEP 701 - PEP 701 –
Syntactic formalization of f-strings https://peps.python.org/pep-0701/.

We believe this will be a great improvement in both the maintainability of
CPython and the usability of f-strings.

We look forward to hearing what you think about this and to get your
feedback!

Here is a TLDR for your convenience:

  • The PEP proposes a formalized grammar for f-strings in Python by
    adding f-strings directly into the Grammar instead of using a two-pass
    hand-written parser.
  • This would lift some existing restrictions for f-strings that (we
    believe) will improve the user experience with f-strings.
  • Other benefits include:
    • Reduced maintenance costs for f-string parsing code as well as
      improved usability for users and library developers.
    • Better error messages involving f-strings by leveraging the PEG... continue reading
naive kindleBOT
#

This is somewhat inspired by the "Tagged strings in python" thread, but from a different approach.
Specifically, rather than messing with runtime python, using static type analysis to help the usability of specific kinds of string literals.

It would be useful to take advantage of the LiteralString or Literal type hints to add structural validation to literals.

For example, if these could be subclassed to add a validation method:
class MyLiteral(LiteralString):
def __validate__(self):
...

or extended to allow something like regex in there generic type parameter:
Literal[r"\w+"]
LiteralString[r"\w+"]

then specific kinds of literal string can be "enforced" by static type checkers.
Then IDEs could at the very least highlight that a string literal is not valid.

I stress these are just examples, the goal is to have a way to tell a static type checker what the structure of a string literal has to be.

naive kindleBOT
#

Hi.

There is a problem with the lib pyliblo, the source code of the lib is here:
https://github.com/dsacre/pyliblo

The problem is that the lib is now incompatible with python3.11 because it
uses inspect.getargspec function which does not exist anymore. This is very
easy to fix, the main problem is that the author Dominic Sacré does not
answer anymore to any message (PR, issues, email), so there is no hope he
will fix the problem.

I am ready to maintain this lib myself, I could simply fork it and rename
the lib to pass it to pip list, but all programs using it will have to
rename the lib in their requirements.

Is there a sort of protocol to do when this happens, in order to replace
the source package with a new version ?

thanks for your help

Mathieu

naive kindleBOT
#

Wing Python IDE version 9.0.2 has been released with more debugger
optimizations and fixes for issues with match/case, 'python -m', and a
few other usability and stability problems:

Details: https://wingware.com/news/2022-12-20
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 p... continue reading

naive kindleBOT
naive kindleBOT
#

I’m happy to announce a new release of attrs!

attrs is the direct ancestor of – and the inspiration for – dataclasses in the standard library and remains the more powerful toolkit for creating regular classes without getting bogged down with writing repetitive boilerplate code: https://www.attrs.org/


It's been a lot busier than the changelog indicates, but a lot of the work happened under the hood (like some impressive performance improvements). But we've got still one big new feature that's are worthy the holidays:

Fields now have an alias argument that allows you to set the field's name in the generated __init__ method. This is especially useful for those who aren't fans of attrs's behavior of stripping underscores from private attribute names.

Special Thanks

This release would not be possible without my generous sponsors! Thank you to all of you making sustainable maintenance possible! If you would ... continue reading

naive kindleBOT
#

Hello folks, I am Chihiro, a.k.a. Frodo821, and this is my first post to this group.

I searched for a way to annotate both class variables and instance variables with different types and concluded that there is currently no way to do this.

For example, what I want to:

class Foo:
    variable_both_class_and_instance = Field(desc="descriptive string")

    def __init__(self, value: int):
        self.variable_both_class_and_instance = value

assert isinstance(Foo.variable_both_class_and_instance, Field)
assert isinstance(Foo().variable_both_class_and_instance, int)

In this example, I want to annotate Foo.variable_both_class_and_instance with Field when it is accessed as a class variable. On the other hand, I want to annotate Foo.variable_both_class_and_instance with int when it is accessed as an instance variable.

I don't have any smart ideas to accomplish this, but I think typing.ClassVar could be extended this like:

class Foo:
    variable_both_class_and_inst... [continue reading](https://mail.python.org/archives/list/python-dev@python.org/thread/7XFIE6YGRGO3XKCR7MZGDN6CCGUNN6MR/)
naive kindleBOT
#

Hello!

I'm pleased to announce version 3.10.1, the first minor feature release of
branch 3.10 of SQLObject.

What's new in SQLObject

Minor features

  • Use module\_loader.exec\_module(module\_loader.create\_module())
    instead of module\_loader.load\_module() when available.

Drivers

  • Added mysql-connector-python.

Tests

  • Run tests with Python 3.11.

CI

  • Ubuntu >= 22 and setup-python dropped Pythons < 3.7.
    Use conda via s-weigand/setup-conda instead of setup-python
    to install older Pythons on Linux.

For a more complete list, please see the news:
http://sqlobject.org/News.html

What is SQLObject

SQLObject is a free and open-source (LGPL) Python object-relational
mapper. Your database tables are described as classes, and rows are
instances of those classes. SQLObject is meant to be easy to use and
quick to get started with.

SQLObject supports a number of backends: MySQL... continue reading

naive kindleBOT
#

Hello!

I'm pleased to announce version 3.3.1, the 1st bugfix release
of branch 3.3 of CheetahTemplate3.

What's new in CheetahTemplate3

Bug fixes:

  • Fixed ImportHooks under PyPy3.

Tests:

  • Run tests with PyPy3.

CI:

  • Use conda to install older Pythons

    Ubuntu >= 22 and setup-python dropped Pythons < 3.7.
    Use s-weigand/setup-conda instead of setup-python.

What is CheetahTemplate3

Cheetah3 is a free and open source (MIT) Python template engine.
It's a fork of the original CheetahTemplate library.

Python 2.7 or 3.4+ is required.

Where is CheetahTemplate3

Site:
https://cheetahtemplate.org/

Download:
https://pypi.org/project/CT3/3.3.1

News and changes:
https://cheetahtemplate.org/news.html

StackOverflow:
https://stackoverflow.com/questions/tagged/cheetah

Mailing lists:
https://sourceforge.net/p/cheetahtemplate/mailman/

Development:
https://github.com/Cheeta... continue reading

naive kindleBOT
#

Hi All,

On behalf of the NumPy team, I'm pleased to announce the release of NumPy
1.24.1. NumPy 1.24.1 is a maintenance release that fixes bugs and
regressions discovered after the 1.24.0 release.

The Python versions supported by this release are 3.8-3.11 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. Wheels can be downloaded from PyPI
https://pypi.org/project/numpy/1.24.1/; source archives, release notes,
and wheel hashes are available on Github
https://github.com/numpy/numpy/releases/tag/v1.24.1.

Contributors

A total of 12 people contributed to this release. People with a "+" by
their names contributed a patch for the first time.

  • Andrew Nelson
  • Ben Greiner +
  • Charles Harris
  • Clément Robert
  • Matteo Raso
  • Matti Picus
  • Melissa Weber Mendonça
  • Miles Cranmer
  • Ralf Gommers
  • Rohit Goswami
    ... continue reading
naive kindleBOT
#

Hello,

I am happy to inform you about a new release of makepackage (v0.1.8). The
new version comes with

  • --cli being the main flag for a package with the command-line
    inference; the -cli will work, too, and even the cli flag will work,
    the latter for backward compatibility;
  • bug fix: after creating a package, a log is printed to the console
    informing about what's been done.

The makepackage package is available from PyPi, and its code can be found
in GitHub (https://github.com/nyggus/makepackage).

For those who don't know, makepackage enables one to create a Python
package, with and without command-line interface, with just one simple
shell command. It works under both Linux and Windows.

Kind regards,
Marcin

naive kindleBOT
#

I am pleased to announce the release of SfePy 2022.4.

Description

SfePy (simple finite elements in Python) is a software for solving systems of
coupled partial differential equations by finite element methods. It is
distributed under the new BSD license.

Home page: https://sfepy.org
Mailing list: https://mail.python.org/mm3/mailman3/lists/sfepy.python.org/
Git (source) repository, issue tracker: https://github.com/sfepy/sfepy

Highlights of this release

  • new examples: transient heat equation with several material domains and
    scalar Helmholtz equation
  • adaptive time step control for elastodynamics solvers
  • central difference elastodynamics solver

For full release notes see [1].

Cheers,
Robert Cimrman

[1] http://docs.sfepy.org/doc/release\_notes.html#id1


Contributors to this release in alphabetical order:

Robert Cimrman
Jan Heczko
Florian Le Bourdais
Vladimir Lukes

naive kindleBOT
#

Version 1.4 of the GF4 Graphics Calculator is now available on GitHub at

https://github.com/tbpassin/gf4-project/tree/1.4

This version contains the following changes, among others:

  • Least Squares fits can be any polynomial power, not just linear;
  • Improvements to normalization and horizontal axis for convolution,
    correlation, and auto-correlation;
  • An extended help system for more detailed explanations of commands
    (only a few commands are available so far).
  • Startup line colors can be set using an ini file;

A more complete list of recent changes is in the file recent_changes.md
on the GitHub site.

naive kindleBOT
#

Hi all,

I have just released version 0.9.6 of Shed Skin, a restricted-Python-to-C++
compiler. The highlight of this release is the migration to Python 3.

For more information about the release:

http://blogfarts.blogspot.com/2022/12/shed-skin-restricted-python-to-c.html

Project homepage:

http://github.com/shedskin/shedskin

Cheers,
Mark.

naive kindleBOT
#

For code that uses annotations / signature, wrapping a callable in a Mock
object does not work correctly:

import typing, inspect, functools
from unittest.mock import Mock

def incr(i: int) -> int:
... return i+1
...
wrapped = Mock(wraps=incr)
inspect.signature(wrapped)
<Signature (*args, **kwargs)>
typing.get_type_hints(wrapped)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.11/typing.py", line 2330, in get_type_hints
raise TypeError('{!r} is not a module, class, method, '
TypeError: <Mock id='140078552596944'> is not a module, class, method, or
function.
functools.update_wrapper(wrapped, incr)
<Mock id='140078552596944'>
inspect.signature(wrapped)
<Signature (i: int) -> int>
typing.get_type_hints(wrapped)
{'i': <class 'int'>, 'return': <class 'int'>}

It's relatively simple to call update_wrapper on your own, but it seems
like it would be better if the mock "just worked" fo... continue reading

naive kindleBOT
#

I'm happy to announce the release of Pygments 2.14. Pygments is a
generic syntax highlighter written in Python.

Pygments 2.14 provides a dozen new lexers and many improvements to
existing lexers. Please have a look at the changelog
https://pygments.org/docs/changelog/.

Report bugs and feature requests in the issue tracker:
https://github.com/pygments/pygments/issues. Thanks go to all the
contributors of these lexers, and to all those who reported bugs and
waited patiently for this release.

Download it from https://pypi.org/project/Pygments/, or look at
the demonstration at https://pygments.org/demo/.

Enjoy,
Matthäus

naive kindleBOT
#

PyCA cryptography 39.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.

Changelog (https://cryptography.io/en/latest/changelog/#v39-0-0):

  • BACKWARDS INCOMPATIBLE: Support for OpenSSL 1.1.0 has been removed.
    Users on older versions of OpenSSL will need to upgrade. Note that
    this does not affect users of our wheels.
  • BACKWARDS INCOMPATIBLE: Dropped support for LibreSSL < 3.5. The new
    minimum LibreSSL version is 3.5.0. Going forward our policy is to
    support versions of LibreSSL that are available in versions of OpenBSD
    that are still receiving security support.
  • BACKWARDS INCOMPATIBLE: Removed the encode_point and
    from_encoded_point methods onEllipticCurvePublicNumbers, which had
    been deprecated for several years. public_bytes()
    andfrom_encoded_poi... continue reading
naive kindleBOT
#

What is tencdec

A number array to/from bytes high performance encoder/decoder.

It gets a list of monotonic increasing integers and can encode it to a
byte object very fast in a compressed form using deltas.

Then you may store that byte object in a DB or whatever, and when you
need the list of integers back, you just decode it.

https://github.com/facundobatista/tencdec

Example:

>>> numbers = [0, 1, 2, 3, 4, 28, 87, 87, 500, 501, 507, 2313]
>>> enc = tencdec.encode(numbers)
>>> enc
b'\x00\x01\x01\x01\x01\x18;\x00\x9d\x03\x01\x06\x8e\x0e'
>>> dec = tencdec.decode(enc)
>>> numbers == dec
True

And it's very fast!

Using the numbers from the example above, timeit shows around 2
microseconds to encode or decode (in a AMD Ryzen 7 PRO 4750U CPU):

$ python3 -m timeit -s "import tencdec; numbers = [0, 1, 2, 3, 4, 28,
87, 87, 500, 501, 507, 2313]" "tencdec.encode(numbers)"
100000 loops, best of 5: 2.28 usec per loop
$ python3 -m timeit -s "import tencdec; e = tencdec.... [continue reading](https://mail.python.org/archives/list/python-announce-list@python.org/thread/SERWLIYZTRV5DCAPNWM2US75NJIZ5MXI/)
naive kindleBOT
naive kindleBOT
#

Hi all,

On behalf of the SciPy development team, I'm pleased to announce the
release of SciPy 1.10.0.

Sources and binary wheels can be found at:
https://pypi.org/project/scipy/
and at: https://github.com/scipy/scipy/releases/tag/v1.10.0

One of a few ways to install this release with pip:

pip install scipy==1.10.0

======================
SciPy 1.10.0 Release Notes

SciPy 1.10.0 is the culmination of 6 months of hard work. It contains
many new features, numerous bug-fixes, improved test coverage and better
documentation. There have been a number of deprecations and API changes
in this release, which are documented below. All users are encouraged to
upgrade to this release, as there are a large number of bug-fixes and
optimizations. Before upgrading, we recommend that users check that
their own code does not use deprecated SciPy functionality (to do so,
run your code with python -Wd and check for DeprecationWarning s).
Our develo... continue reading

naive kindleBOT
#

Hi,

As part of the proposal to enable frame pointers by default in Fedora
(https://fedoraproject.org/wiki/Changes/fno-omit-frame-pointer), we
did some benchmarking to figure out the expected performance impact.
The performance impact was generally minimal, except for the
pyperformance benchmark suite where we noticed a more substantial
difference between a system built with frame pointers and a system
built without frame pointers. The results can be found here:
https://github.com/DaanDeMeyer/fpbench (look at the mean difference
column for the pyperformance results where the percentage is the
slowdown compared to a system built without frame pointers). One of
the biggest slowdowns was on the scimark_sparse_mat_mult benchmark
which slowed down 9.5% when the system (including python) was built
with frame pointers. Note that these benchmarks were run against
Python 3.11 on a Fedora 37 x86_64 system (one built with frame
pointers, another built without frame pointers). The system used ... continue reading

naive kindleBOT
#

Hi folks,

I'd like to gather some feedback on a feature suggestion to extend
str.partition and bytes.partition to support multiple arguments. Please find
the feature described below.

Feature or enhancement

The str.partition[1] method -- and similarly the bytes.partition[2] method --
is useful when dividing an input into subcomponents while returning a tuple of
deterministic length (currently 3) and potentially retaining the delimiters.

The feature described here adds support for multiple positional arguments to
those methods.

The first positional argument would be applied to the input instance that the
method is called from -- no change from existing behaviour.

Subsequent positional arguments would be applied to the rightmost component of
the previous application of the partition algorithm.

So, for example, in pseudocode:

Single-argument case (matching existing behaviour)

"foo:bar".partition(":")
# partition 'foo:bar' using ':'
- result = ['foo', ':', '... continue reading

naive kindleBOT
#

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/vulture
http://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.6+

News

  • Ignore setup_module(), teardown_module(), etc. in pytest
    test_*.py files (Jendrik Seipp).
  • Add whitelist for `socketserver.TCPServer.a... continue reading
naive kindleBOT
#

Dear colleagues,

We are very happy to announce the v5.2 release of astropy, a core Python
package for Astronomy (and a v5.2.1 release which fixes compatibility with
Numpy 1.24):

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:

  • Quantity data types
  • Updates to astropy.cosmology
  • Topocentric ITRS Frame
  • Enhanced Fixed Width ASCII Tables
  • Accessing cloud-hosted FITS files
  • Drawing the instrument beam and a physical scale bar on celestial images
    Interior ticks and tick labels
  • Support for tilde-prefixed paths
  • CCDData PSF Image representation

In addition, hundreds of smaller improvements and fixes have been made. An
overview of t... continue reading

naive kindleBOT
#

I'm pleased to announce the release of Python 3.12 alpha 4.

https://www.python.org/downloads/release/python-3120a4/

This is an early developer preview of Python 3.12.

Major new features of the 3.12 series, compared to 3.11

Python 3.12 is still in development. This release, 3.12.0a4 is the fourth
of seven planned alpha releases.

Alpha releases are intended to make it easier to test the current state of
new features and bug fixes and to test the release process.

During the alpha phase, features may be added up until the start of the
beta phase (2023-05-08) and, if necessary, may be modified or deleted up
until the release candidate phase (2023-07-31). Please keep in mind that
this is a preview release and its use is *not *recommended for production
environments.

Many new features for Python 3.12 are still being planned and written.
Among the new major new features and changes so far:

  • Even more improved error messages. More exceptions potentially caused
    by typos now make... continue reading
naive kindleBOT
#

I'm pleased to announce the release of Python 3.12 alpha 4.

https://www.python.org/downloads/release/python-3120a4/

This is an early developer preview of Python 3.12.

Major new features of the 3.12 series, compared to 3.11

Python 3.12 is still in development. This release, 3.12.0a4 is the fourth
of seven planned alpha releases.

Alpha releases are intended to make it easier to test the current state of
new features and bug fixes and to test the release process.

During the alpha phase, features may be added up until the start of the
beta phase (2023-05-08) and, if necessary, may be modified or deleted up
until the release candidate phase (2023-07-31). Please keep in mind that
this is a preview release and its use is *not *recommended for production
environments.

Many new features for Python 3.12 are still being planned and written.
Among the new major new features and changes so far:

  • Even more improved error messages. More exceptions potentially caus... continue reading
naive kindleBOT
#

pytest 7.2.1 has just been released to PyPI.

This is a bug-fix release, being a drop-in replacement. To upgrade::

pip install --upgrade pytest

The full changelog is available at
https://docs.pytest.org/en/stable/changelog.html.

Thanks to all of the contributors to this release:

  • Anthony Sottile
  • Bruno Oliveira
  • Daniel Valenzuela
  • Kadino
  • Prerak Patel
  • Ronny Pfannschmidt
  • Santiago Castro
  • s-padmanaban

Happy testing,
The pytest Development Team

naive kindleBOT
#

Hi Group,

I have successfully used C-Python (3) in a software project in unix and its
great stuff!
The environment was cmake using g++ in Linux

Now when i want to get my project compiled in windows, whats the easiest
development chain ?
Is there something like a python.dll which i can link to my project and
having an embedded python interpreter ?

Maybe the question is too simple, but i could not yet find the right place
to read docs.
Thank you for your hints!

naive kindleBOT
#

python-build-standalone
(https://github.com/indygreg/python-build-standalone) is a project
that produces standalone, highly portable builds of CPython that are
designed to run on as many machines as possible with no additional
dependencies. I created the project for PyOxidizer
(https://github.com/indygreg/PyOxidizer) but it is now being used for
various other tools that want to easily "install" a working Python
interpreter, such as Bazel's rules_python
(https://github.com/bazelbuild/rules\_python) and various applications
embedding Python.

Read more at https://gregoryszorc.com/docs/python-build-standalone/main/

I'm pleased to announce the latest 20230116 release
(https://github.com/indygreg/python-build-standalone/releases/tag/20230116)
of the project. This release is the first providing Python 3.11
distributions, joining existing support for Python 3.8, 3.9, and 3.10.

Distributions are available for Windows, Linux, and macOS covering
multiple machine architectures and levels of op... continue reading

naive kindleBOT
#

I have sent this email to two mailing lists for programming language
proposals, the one for C++ and the one for Python. If you reply to
this email, please make sure you reply to both. You can see the
mailing list archives for this month for each list here:

C++ : https://lists.isocpp.org/std-proposals/2023/01/date.php
Python : https://mail.python.org/archives/list/python-dev@python.org/2023/1/

Both C++ and Python have exception handling, however a C++ program
which links with a Python library is unable to handle an exception
thrown from Python.

Is it conceivable in the future that the C++ Standards Committee and
the Python Steering Council could cooperate and furnish each other
with an exhaustive list of exceptions thrown from their respective
standard libraries, so that both languages can implement compatibility
with each other's exceptions?

If such a list were to accompany each C++ standard and each Python
Language Reference, then for example the C++ standard library could... continue reading

naive kindleBOT
#

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.2.2/

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 reported issues.

See the full release notes for all of the details:
https://python-oracledb.readthedocs.io/en/latest/release\_notes.html#oracledb-1-2-2-january-2023

Please provide any feedback via GitHub issues: https://github.com/oracle/
python-oracledb/issues or discussions: https://github.com/oracle/python-
oracledb/discussions

naive kindleBOT
naive kindleBOT
#

Hi all,

i would like to suggest the following Python feature. It naturally
happens that one want's to repeat the current iteration of a for loop
for example after an error happened. For this purpose, I usually set a
flag and put a while loop inside my for loop. A simple "repeat"
statement just like "continue" or "break" would make the code much more
readable.

This is my solution at the moment with A being checked:

for _ in range(n):
    flag = True
    while flag:
        ...
        if A:
            flag = False # go to next iteration

I would suggest the repeat statement in the following sense

for _ in range(n):
    ...
    if not A:
        repeat # repeat current iteration

Notice the "not" in the if clause. I am really looking forwars to hear
your opinions.

Best regards
Thomas

naive kindleBOT
#

A quick scroll through social media and you'll find very talented people
making portraits out of dice, rubik's cubes, in minecraft as pixel art, or
even using MIDI notes on a DAW. This package gives you the ability to do
the same, with or without talent!
Currently it can only generate arts using minecraft or the cells of a
spreadsheet, but if you have any ideas that fit into the project's goal
please let me know via github issues, or - even better - submit a merge
request with your work!

Source code: https://github.com/Eric-Mendes/unexpected-isaves
PyPI: https://pypi.org/project/unexpected-isaves/

naive kindleBOT
#

I was looking for a simple intuitive way to parse a timedelta from a string. The best I could find feels clunky at best: https://stackoverflow.com/questions/4628122/

Solution 1 looks like this:

from datetime import datetime, timedelta
t = datetime.strptime('05:20:25', '%H:%M:%S')
delta = timedelta(hours=t.hour, minutes=t.minute, seconds=t.second)

Solution 2 looks like this:

from datetime import datetime, timedelta
t = datetime.strptime('05:20:25', '%H:%M:%S')
delta = t - datetime.combine(t.date(), time.min)

Solution 3 looks like this:

from datetime import timedelta
import re
match = re.match(r'(?P<hours>\d{2}):(?P<minutes>\d{2}):(?P<seconds>\d{2})', '05:20:25')
delta = timedelta(**match.groupdict())

Formatting back to strings is as verbose:

string = f'{delta.hours:02d}:{delta.minutes:02d}:{delta.seconds:02d}'

I think it would be nicer and more intuitive if timedelta had strptime and strftime like datetime has.

delta = timedelta.strptime('05:20:25', ... continue reading

naive kindleBOT
#

Hi All,

On behalf of the NumPy team, I'm pleased to announce the release of NumPy
1.24.2. NumPy 1.24.2 is a maintenance release that fixes bugs and
regressions discovered after the 1.24.1 release.

The Python versions supported by this release are 3.8-3.11 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. Wheels can be downloaded from PyPI
https://pypi.org/project/numpy/1.24.2/; source archives, release notes,
and wheel hashes are available on Github
https://github.com/numpy/numpy/releases/tag/v1.24.2.

Contributors

A total of 14 people contributed to this release. People with a "+" by
their
names contributed a patch for the first time.

  • Bas van Beek
  • Charles Harris
  • Khem Raj +
  • Mark Harfouche
  • Matti Picus
  • Panagiotis Zestanakis +
  • Peter Hawkins
  • Pradipta Ghosh
  • Ross Barnowski
  • Sayed Adel
    ... continue reading
naive kindleBOT
#
naive kindleBOT
#

PyCA cryptography 39.0.1 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.

Changelog (https://cryptography.io/en/latest/changelog/#v39-0-1)

  • SECURITY ISSUE - Fixed a bug where Cipher.update_into accepted
    Python buffer protocol objects, but allowed immutable buffers.
    CVE-2023-23931
  • Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.0.8.

-Paul Kehrer (reaperhulk)

naive kindleBOT
#

We’re excited to announce that the signups for the Python Language Summit at PyCon US 2023 are now open.

Full details at: https://us.pycon.org/2023/events/language-summit/ https://us.pycon.org/2023/events/language-summit/
Just like in 2022, we are doing the Summit as an in-person event. We will be following the health and safety guidelines https://us.pycon.org/2023/about/health-safety-guidelines/ of the wider conference.

https://discuss.python.org/t/python-language-summit-at-pycon-us-2023-in-salt-lake-city/23638#tldr-1TL;DR

When: Wednesday, April 19, 2023 at 10:00am
Where: Salt Palace Convention Center, room TBD

Sign up to attend: https://forms.gle/YnWL1Hts6zDtdSgn7 https://forms.gle/YnWL1Hts6zDtdSgn7 (closes March 5th, 2023 AoE)

https://discuss.python.org/t/python-language-summit-at-pycon-us-2023-in-salt-lake-city/23638#who-can-attend-2Who can attend

We welcome Python core developers and triage team members, active contributors to CPython and alternative Python imp... continue reading

naive kindleBOT
#

Hi everyone,

I am happy to report that after solving some last-time problems we have a
bunch of fresh releases for you:

Python 3.12.0 alpha 5

Check the new alpha of 3.12 with some Star Trek vibes:

https://www.python.org/downloads/release/python-3120a5/

210 new commits since 3.12.0a4 last month

Python 3.11.2

A shipment of bugfixes and security releases for the newest Python!

https://www.python.org/downloads/release/python-3112/

194 new commits since 3.11.1

Python 3.10.10

Your trusty Python3.10 just got more stable and secure!

https://www.python.org/downloads/release/python-31010/

131 new commits since 3.10.9

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
Steve Dow... continue reading

naive kindleBOT
#

Hi everyone,

I am happy to report that after solving some last-time problems we have a
bunch of fresh releases for you:

Python 3.12.0 alpha 5

Check the new alpha of 3.12 with some Star Trek vibes:

https://www.python.org/downloads/release/python-3120a5/

210 new commits since 3.12.0a4 last month

Python 3.11.2

A shipment of bugfixes and security releases for the newest Python!

https://www.python.org/downloads/release/python-3112/

194 new commits since 3.11.1

Python 3.10.10

Your trusty Python3.10 just got more stable and secure!

https://www.python.org/downloads/release/python-31010/

131 new commits since 3.10.9

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 r... continue reading

naive kindleBOT
#

All,

I'm writing to propose an adjacent interpreter flag to -X importtime: -X importcache (open to alternative naming).

While -X importtime is incredibly useful for analyzing module import
times, by design, it doesn't log anything if an imported module has already
been loaded. -X importcache would provide additional output for every
module that's already been loaded:

>>> import uuid
import time: cached    | cached     |   _io
import time: cached    | cached     |   _io
import time: cached    | cached     |   os
import time: cached    | cached     |   sys
import time: cached    | cached     |   enum
import time: cached    | cached     |     _io
import time: cached    | cached     |     _io
import time: cached    | cached     |     collections
import time: cached    | cached     |     os
import time: cached    | cached     |     re
import time: cached    | cached     |     sys
import time: cached    | cached     |     functools
import time: cached    | cached     |     ite... [continue reading](https://mail.python.org/archives/list/python-ideas@python.org/thread/GEISYQ5BXWGKT33RWF77EOSOMMMFUBUS/)
naive kindleBOT
#

Hi all,

On behalf of the SciPy development team, I'm pleased to announce the
release of SciPy 1.10.1.

Sources and binary wheels can be found at:
https://pypi.org/project/scipy/
and at: https://github.com/scipy/scipy/releases/tag/v1.10.1

One of a few ways to install this release with pip:

pip install scipy==1.10.1

======================
SciPy 1.10.1 Release Notes

SciPy 1.10.1 is a bug-fix release with no new features
compared to 1.10.0.

Authors

  • Name (commits)
  • alice (1) +
  • Matt Borland (2) +
  • Evgeni Burovski (2)
  • CJ Carey (1)
  • Ralf Gommers (9)
  • Brett Graham (1) +
  • Matt Haberland (5)
  • Alex Herbert (1) +
  • Ganesh Kathiresan (2) +
  • Rishi Kulkarni (1) +
  • Loïc Estève (1)
  • Michał Górny (1) +
  • Jarrod Millman (1)
  • Andrew Nelson (4)
  • Tyler Reddy (50)
  • Pamphile Roy (2)
  • Eli Schwartz (2)
  • Tomer Sery (1) +
  • Kai Striega (1)
  • Jacopo Tissino (1) +
  • windows-server-2003 (1)

A total of 21 people cont... continue reading

naive kindleBOT
#

Hello all, we on the Pyston team would like to propose the contribution of
our JIT
https://github.com/pyston/pyston/blob/pyston\_main/Python/aot\_ceval\_jit.c into
CPython main. We're interested in some initial feedback on this idea before
putting in the work to rebase the jit to 3.12 for a PEP and more formal
discussion.

Our jit is designed to be simple and to generate code quickly, so we
believe it's a good point on the design tradeoff curve for potential
inclusion. The runtime behavior is intentionally kept almost completely the
same as the interpreter, just lowered to machine code and with
optimizations applied.

Our jit currently targets Python 3.7-3.10, and on 3.8 it achieves a 10%
speedup on macrobenchmarks (similar to 3.11). It's hard to estimate the
potential speedup of our jit rebased onto 3.12 because there is overlap
between what our jit does and the optimizations that have gone into the
interpreter since 3.8, but there are several optimizations that would be
additive wi... continue reading

naive kindleBOT
#

I’d like to announce the release of PyData/Sparse 0.14.0. PyData/Sparse is available on conda-forge and PyPI.

PyData/Sparse is a package that provides sparse arrays conforming to the NumPy API, along with a subset of NumPy operations on sparse arrays.

The highlights of this release include faster indexing, sampling and Sparse einsum support.

The changelog from the last release is available at: https://sparse.pydata.org/en/0.14,0/changelog.html
The code is available at: https://github.com/pydata/sparse/
And the latest documentation is available at https://sparse.pydata.org/

naive kindleBOT
#

Hi all,

Cython 3.0 has left the alpha status – the first beta release is available
from PyPI.

https://cython.org/

https://pypi.org/project/Cython/

The changes in this release are huge – and the full list of improvements
compared to the 0.29.x release series is entirely incredible. Cython 3.0 is
better than any other Cython release before, in all aspects. It's much more
Python, integrates better with C++, supports more Python implementations
and configurations, provides many great new language features –
it's faster, safer and easier to use. It's simply better.

https://cython.readthedocs.io/en/latest/src/changes.html#beta-1-2023-02-25

What is Cython?

In case you didn't hear about Cython before, it's the most widely used
statically optimising Python compiler out there. It translates Python (2/3)
code to C, and makes it as easy as Python itself to tune the code all the
way down into fast native code. If you have any non-trivial Python
application running, chances are you'll f... continue reading

naive kindleBOT
#

Hello all,

Supply chain attacks are becoming a pressing concern in software development due to the large number of dependencies and multiple attack vectors. Using third party modules (libraries, packages etc) is always a risk but the true potential of these attacks is now being weaponized. One way to deal with the risk is by limiting access to sensitive APIs like filesystem, shell, network and ffi so that packages which aren't explicitly granted permissions cannot use them, reducing their ability to do damage.

For example, a yaml parser should not need to use ffi, network nor shell. A command line argument parser library should not use network, ffi nor filesystem. Deno, a runtime for Typescript contains an interesting implementation of a permissions model for APIs.

I strongly think Python could benefit from such functionality and hacked together a quick experiment here: https://github.com/R9295/cpython
Currently, it only prevents module imports in a very elementary manner but perha... continue reading

naive kindleBOT
#

I am delighted to announce the 3.5 release of Austin. If you haven't heard of Austin before, it is an open-source frame stack sampler for CPython, distributed under the GPLv3 license. It can be used to obtain statistical profiling data out of a running Python application without a single line of instrumentation. This means that you can start profiling a Python application straight away, even while it's running in a production environment, with minimal impact on performance.

https://github.com/P403n1x87/austin

The Austin VS Code extension provides a smooth interactive profiling experience, with interactive flame graphs straight into the text editor to allow you to quickly jump to the source code with a simple click. You can find the extension on the Visual Studio Marketplace and install it directly from VS Code:

https://marketplace.visualstudio.com/items?itemName=p403n1x87.austin-vscode

To see how to make the best of Austin with VS Code to find and fix performance issues, check out ... continue reading

naive kindleBOT
#

[image: image.png]

Hello Folks,

[image: :mega:] Call for Proposals for SciPy 2023 closes March 1st [image:
:mega:]

Call for Proposals https://www.scipy2023.scipy.org/present for the 22nd
annual Scientific Computing with Python Conference — also known as SciPy
2023 https://www.scipy2023.scipy.org/CLOSES ON MARCH 1st.

We would love to receive proposals from folks in your organization. We seek
submissions for Talks, Posters
https://www.scipy2023.scipy.org/present#talks-posters, and Tutorials
https://www.scipy2023.scipy.org/present#tutorials. This year we are happy
to announce two highlighted tracks that run parallel to the general
conference track: (1) Machine Learning, Data Science and Ethics in AI, and
(2) Tending Your Open Source Garden: Maintenance and Community.

You can learn more about this year's conference at SciPy 2023 | Home
https://www.scipy2023.scipy.org/. The full schedule will be published
later in May. In the meantime, ... continue reading

naive kindleBOT
#

PyCA cryptography 39.0.2 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.

Changelog (https://cryptography.io/en/latest/changelog/#v39-0-2)

  • Fixed a bug where the content type header was not properly encoded
    for PKCS7 signatures when using the Text option and SMIME
    encoding.

-Paul Kehrer (reaperhulk)

naive kindleBOT
#

pytest 7.2.2 has just been released to PyPI.

This is a bug-fix release, being a drop-in replacement. To upgrade::

pip install --upgrade pytest

The full changelog is available at
https://docs.pytest.org/en/stable/changelog.html.

Thanks to all of the contributors to this release:

  • Bruno Oliveira
  • Garvit Shubham
  • Mahesh Vashishtha
  • Ramsey
  • Ronny Pfannschmidt
  • Teejay
  • q0w
  • vin01

Happy testing,
The pytest Development Team

naive kindleBOT
#

Leo https://leo-editor.github.io/leo-editor/ 6.7.2 is now available on
GitHub https://github.com/leo-editor/leo-editor/releases and pypi
https://pypi.org/project/leo/.

Leo is an IDE, outliner and PIM
https://leo-editor.github.io/leo-editor/preface.html.

The highlights of Leo 6.7.2

Commands:

  • PR #3031: Add check-nodes command. It helps keep @clean files in sync.
  • PR #3056: Leo's beautify command is now PEP8 compliant.
  • PR #3140: Run pylint on node.
  • PR #3166: Add the execute-external-file command.

Settings and features:

  • PR #2979: Add @bool run-flake8-on-write setting.
  • PR #2983: Add --black-sentinels command-line option.
  • PR #3038: Add @string rst3-action setting.
  • PR #3053: Add @string gxn-kind setting: Support gnxs formatted as
    UUIDs.
  • PR #3132: Add @bool rst3-remove-leo-directives setting.

Other changes... continue reading

naive kindleBOT
#

A new SCons release, 4.5.0, is now available on the SCons download page:

https://scons.org/pages/download.html

Here is a summary of the changes since 4.4.0:

NOTE: If you build with Python 3.10.0 and then rebuild with 3.10.1 (or
higher), you may
see unexpected rebuilds. This is due to Python internals changing
which changed
the signature of a Python Action Function.

NOTE: If you use a dictionary to specify your CPPDEFINES, you may see an
unexpected rebuild.
The insertion order of dictionary keys is now preserved when
generating the command line.
Previously these were sorted alphabecially. This change to the
command line,
while generating identical set of CPPDEFINES can change order and
cause a rebuild.

NEW FUNCTIONALITY

  • Added ValidateOptions() which will check that all command line options
    are in either
    those specified by SCons itself, or by AddOption() in
    SConstruct/SConscript. It should
    n... continue reading
naive kindleBOT
#

Tl;dr: Join strings together with exactly one space between non-blank
text where they join.

I propose a meaning for
    s1 & s2
where s1 and s2 are strings.
Namely, that it should be equivalent to
    s1.rstrip() + (' ' if (s1.strip() and s2.strip()) else '') +
s2.lstrip()
Informally, this will join the two strings together with exactly one space
between the last non-blank text in s1 and the first non-blank text in s2.
Example:  " bar     " & "    foo        "        ==        " bar
foo        "

This operator is associative, so there is no ambiguity in expressions
such as
    s1 & s2 & s3
There is a possible ambiguity in expressions such as
    s1 & s2 + s3
where the relative precedence of & and + matters when s2 consists
solely of white space.  E.g.
    " A " & "  " + "     C" would evaluate
to     " A C"
not to " A     C"
because + has a higher precedence than '&'.

Utility:
    In decades of experience with another language which had such an
operator
    (spel... continue reading

naive kindleBOT
#

A new SCons release, 4.5.1, is now available on the SCons download page:

https://scons.org/pages/download.html

Here is a summary of the changes since 4.5.0:

FIXES

  • Fix a problem in 4.5.0 where using something like the following code
    will cause a Clone()'d environment to share the CPPDEFINES with the
    original Environment() which was cloned. Causing leakage of changes
    to CPPDEFINES when they should be completely independent after the Clone.
    env=Environment(CPPDEFINES=['a'])
    env.Append(CPPDEFINES=['b']) (or AppendUnique,Prepend,PrependUnique)
    env1=env.Clone()
    env1.Append(CPPDEFINES=['c']) (or any other modification, but not
    overwriting CPPDEFINES)
    Now env['CPPDEFINES'] will contain 'c' when it should not.

Thanks to the following contributors listed below for their contributions
to this release.

.. code-block:: text

git s... [continue reading](https://mail.python.org/archives/list/python-announce-list@python.org/thread/OIQIE6E5WDYRTTAJCVP4DB44XUQMVSTT/)
naive kindleBOT
#

I'm pleased to announce the release of Python 3.12 alpha 6.

https://www.python.org/downloads/release/python-3120a6/

This is an early developer preview of Python 3.12.
Major new features of the 3.12 series, compared to 3.11

Python 3.12 is still in development. This release, 3.12.0a6 is the sixth of
seven planned alpha releases.

Alpha releases are intended to make it easier to test the current state of
new features and bug fixes and to test the release process.

During the alpha phase, features may be added up until the start of the
beta phase (2023-05-08) and, if necessary, may be modified or deleted up
until the release candidate phase (2023-07-31). Please keep in mind that
this is a preview release and its use is not recommended for production
environments.

Many new features for Python 3.12 are still being planned and written.
Among the new major new features and changes so far:

  • Even more improved error messages. More exceptions potentially caused
    by typos now make s... continue reading
naive kindleBOT
#

I'm pleased to announce the release of Python 3.12 alpha 6.

https://www.python.org/downloads/release/python-3120a6/

This is an early developer preview of Python 3.12.
Major new features of the 3.12 series, compared to 3.11

Python 3.12 is still in development. This release, 3.12.0a6 is the sixth of
seven planned alpha releases.

Alpha releases are intended to make it easier to test the current state of
new features and bug fixes and to test the release process.

During the alpha phase, features may be added up until the start of the
beta phase (2023-05-08) and, if necessary, may be modified or deleted up
until the release candidate phase (2023-07-31). Please keep in mind that
this is a preview release and its use is not recommended for production
environments.

Many new features for Python 3.12 are still being planned and written.
Among the new major new features and changes so far:

  • Even more improved error messages. More exceptions potentially cause... continue reading
naive kindleBOT
#

Having had my last proposal shot down in flames, up I bob with another. 😁
It seems to me that it would be useful to be able to make the str.join()
function put separators, not only between the items of its operand, but
also optionally at the beginning or end.
E.g. '|'.join(('Spam', 'Ham', 'Eggs')) returns
    'Spam|Ham|Eggs'
but it might be useful to make it return one of
    '|Spam|Ham|Eggs'
    'Spam|Ham|Eggs|'
    '|Spam|Ham|Eggs|'
Again, I suggest that this apply to byte strings as well as strings.
Going through the 3.8.3 stdlib I have found
    24 examples where the separator needs to be added at the beginning
    52 where the separator needs to be added at the end
     4 where the separator needs to be added at the both ends
I list these examples below.  Apologies if there are any mistakes.

While guessing is no substitute for measurement, it seems plausible that
using this feature
where appropriate would increase runtime performance by avoiding 1 (or
2) c... continue reading

naive kindleBOT
#

Though this has been discussed before, the last detailed discussion appears to have been roughly 9 years ago.

YAML is a technical standard widely used in various projects and at least two major ones (Ansible and containers).

Though PyYAML has become ubiquitous as the primary Python solution to supporting YAML, I would think it time for Python to formally adopt this technology in the core foundation.

Is there still a reason why this isn't being pursued as native infrastructure in Python?

naive kindleBOT
#

Hello!

I am dropping this mail to bring up an issue which cost me three good
evenings of time. Now that i figured it out i believe it is quite a
serious usability problem.

Gist of the problem: i have some C++ code wrapped with SWIG, so a native
extension. As with all software - there was a bug. However, no matter
what i did - i could not debug it in a native debugger. I ran
".venv/Scripts/python.exe script.py" in a native debugger and
breakpoints would not be hit, application would crash eventually. This
was especially confusing, because exact same setup worked just fine on
linux. I eventually stumbled on to process list showing
".venv/Scripts/python.exe" having spawned a subprocess... Which led me
to "PC/launcher.c" which is what ".venv/Scripts/python.exe" really is. I
cant find much information about this behavior in documentation even
after the fact. All in all, this was quite confusing. So now every time
i want to debug a native extension i have to start a program an... continue reading

naive kindleBOT
#

I am pleased to announce the release of unittest_expander 0.4.0.

unittest_expander is a MIT-licensed Python library that provides
flexible and easy-to-use tools to parameterize your unit tests,
especially those based on unittest.TestCase.

The library is compatible with Python 3.11, 3.10, 3.9, 3.8, 3.7, 3.6 and
2.7, and does not depend on any external packages (uses only the Python
standard library).

Simple usage example:

import unittest
from unittest_expander import expand, foreach, param

@expand
class TestSomething(unittest.TestCase):
    @foreach(
        'Foo',
        ('Foo', 43),
        param('Foo', spam=44),
        param(foo='Bar', spam=45).label('with bar'),
        empty=param(foo='', spam=46),
    )
    def test_it(self, foo, spam=42, label=None):
        assert foo in ('Foo', 'Bar', '')
        assert 42 <= spam <= 46
        if label == 'with bar':
            assert foo == 'Bar' and spam == 45
        if label == 'empty':
            assert foo == '' and sp... [continue reading](https://mail.python.org/archives/list/python-announce-list@python.org/thread/PMFTUCUO2YUDDCRZ45Z5644EEGXGZ3MC/)
naive kindleBOT
#

ASPP2023: 15ᵗʰ Advanced Scientific Programming in Python

a Summer School

https://aspp.school

Scientists spend more and more time writing, maintaining, and
debugging software. While techniques for doing this efficiently have
evolved, only few scientists have been trained to use them. As
a result, instead of doing their research, they spend far too much
time writing deficient code and reinventing the wheel. In this
course we will present a selection of advanced programming
techniques and best practices which are standard in the industry,
but especially tailored to the needs of a programming scientist.
Lectures are interactive and allow students to acquire direct
hands-on experience with the topics. Students will work in pairs
throughout the school and will team up to practice the newly learned
skills in a real programming project — an entertaining computer
game.

We use the Python programming language for the entire course. Pyt... continue reading

naive kindleBOT
#

I was surprised to find, when I pass arguments to a function decorated with @functools.cache in different, equivalent ways, the cache does not recognize them as the same.

counter = itertools.count(1)

@functools.cache
def example(a, b, c=0):
    return (next(counter), a, b, c)

example(1, 2)  # => (1, 1, 2, 0)
example(1, b=2)  # => (2, 1, 2, 0)
example(1, 2, 0)  # => (3, 1, 2, 0)

When I wrote my own implementation as a coding exercise, I noticed the same weakness while testing it and solved that by having the decorator function get the signature of the decorated function, then use the bind method of the signature to bind the parameter values, then call the apply_defaults method on the bound arguments, and then finally, use the args and kwargs properties of the bound arguments to make the cache key.

It seems like functools.cache should do the same thing. If it is undesirable for that to be the default behavior, then it could be optional (e.g. @functools... continue reading

naive kindleBOT
#

Dear Pythonistas and solar power enthusiasts,

The maintainers are happy to announce a new release of pvlib python:
software for simulating performance of photovoltaic solar energy systems.

v0.9.5 Highlights:

  • The infinite_sheds model now has options to use the hay-davies
    transposition model and faster vectorized calculations.
  • New models for irradiance decomposition (boland) and relative airmass
    (gueymard2003).
  • Model extensions for multiple strings in pvlib.snow.loss_townsend and AR
    coating in pvlib.iam.physical.
  • Updated the parameters database for the ADR inverter model.
  • Various other bug fixes and testing updates.

For the full list of what's new, see the documentation:
https://pvlib-python.readthedocs.io/en/stable/whatsnew.html

Releases are available from PyPI and the conda-forge channel:

naive kindleBOT
#

I am pleased to announce the release of unittest_expander 0.4.3.

The changelog is available at:
https://unittest-expander.readthedocs.io/en/stable/changes.html

unittest_expander is a MIT-licensed Python library that provides
flexible and easy-to-use tools to parameterize your unit tests,
especially those based on unittest.TestCase.

The library is compatible with Python 3.11, 3.10, 3.9, 3.8, 3.7, 3.6 and
2.7, and does not depend on any external packages (uses only the Python
standard library).

Simple usage example:

import unittest
from unittest_expander import expand, foreach, param

@expand
class TestSomething(unittest.TestCase):
    @foreach(
        'Foo',
        ('Foo', 43),
        param('Foo', spam=44),
        param(foo='Bar', spam=45).label('with bar'),
        empty=param(foo='', spam=46),
    )
    def test_it(self, foo, spam=42, label=None):
        assert foo in ('Foo', 'Bar', '')
        assert 42 <= spam <= 46
        if label == 'with bar':
            ass... [continue reading](https://mail.python.org/archives/list/python-announce-list@python.org/thread/YGOD3UDUE7XNNOPPEOKHMYYHJ5U6S3QT/)
naive kindleBOT
#

Dear Pythonistas,

I am pleased to announce the release of unittest_expander 0.4.4.

The changelog is available at:
https://unittest-expander.readthedocs.io/en/stable/changes.html


unittest_expander is a MIT-licensed Python library that provides
flexible and easy-to-use tools to parameterize your unit tests,
especially those based on unittest.TestCase.

The library is compatible with Python 3.11, 3.10, 3.9, 3.8, 3.7, 3.6 and
2.7, and does not depend on any external packages (uses only the Python
standard library).

Simple usage example:

import unittest
from unittest_expander import expand, foreach, param

@expand
class TestSomething(unittest.TestCase):
    @foreach(
        'Foo',
        ('Foo', 43),
        param('Foo', spam=44),
        param(foo='Bar', spam=45).label('with bar'),
        empty=param(foo='', spam=46),
    )
    def test_it(self, foo, spam=42, label=None):
        assert foo in ('Foo', 'Bar', '')
        assert 42 <= spam <= 46
        if label == 'wi... [continue reading](https://mail.python.org/archives/list/python-announce-list@python.org/thread/WK2PL5AWP5IVHPT2KJB5QOLNRYWYG47Q/)
#

A new SCons release, 4.5.2, is now available on the SCons download page:

https://scons.org/pages/download.html

Here is a summary of the changes since 4.5.1:

FIXES

  • Fix a problem (#4321) in 4.5.0/4.5.1 where ParseConfig could cause an
    exception in MergeFlags when the result would be to add preprocessor
    defines to existing CPPDEFINES. The following code illustrates the
    circumstances that could trigger this:
    env=Environment(CPPDEFINES=['a'])
    env.Append(CPPDEFINES=['b'])
    env.MergeFlags({'CPPDEFINES': 'c'})

PACKAGING

  • Remove the redundant wheel dependency from pyproject.toml,
    as it is added automatically by the setuptools PEP517 backend.

Thanks to the following contributors listed below for their contributions
to this release.

.. code-block:: text

git shortlog --no-merges -ns 4.5.1..HEAD
 3  Mats Wic... [continue reading](https://mail.python.org/archives/list/python-announce-list@python.org/thread/2S3A4QFSTF4NOYEA2NTRAU5VCCXIJORN/)
naive kindleBOT
#

This is some real code I wrote the other day:
payload = {
"birthDate": str(date.strftime('%m/%d/%Y')),
...
}
Due to the fact that date.strftime returns Any type, for my type hinting
and autocomplete to work I either need to pass it to the str function or
typing.cast(str, date). It would be nice if I could just write "birthDate":
date.strftime(r'%m/%d/%Y') as str, like in C#. It's shorter, (in my
opinion) more readable, and avoids having to unnecessarily call
a constructor or import typing.cast.

It's important to note that this would be syntactic sugar for typing.cast—
it wouldn't call any constructor or affect program state, just increase the
power of the type hinting system.

Will Bradley

naive kindleBOT
#

PyCA cryptography 40.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 7.3.10+.

Changelog (https://cryptography.io/en/latest/changelog/#v40-0-0):

  • BACKWARDS INCOMPATIBLE: As announced in the 39.0.0 changelog, the
    way cryptography links OpenSSL has changed. This only impacts users
    who build cryptography from source (i.e., not from a wheel), and
    specify their own version of OpenSSL. For those users, the CFLAGS,
    LDFLAGS, INCLUDE, LIB, and CRYPTOGRAPHY_SUPPRESS_LINK_FLAGS
    environment variables are no longer valid. Instead, users need to
    configure their builds as documented here.
  • Support for Python 3.6 is deprecated and will be removed in the next release.
  • Deprecated the current minimum supported Rust version (MSRV) of
    1.48.0. In the next release we w... continue reading
naive kindleBOT
#

Greetings Fellow Earthlings,

*In python 3.11, python has a number of built-in functions which act as an
Interface for magic dunder methods. Two examples of what I am talking about
are shown below: *

Begin Example 1 of 2

*rocky = object()x = getattr(rocky, "length") x = rocky.__getattr__("length") *

Begin Example 2 of 2

box = [1, 2, 3]it = iter(box) it = box.__iter__()

*My suggestion is that in future versions of python, we will have mro()
behave in a similar fashion. *

*obj = object()x = mro(obj) x = obj.__mro__() *

*Additionally, the class named object should have a method named
__mro__ and any class which inherits from object may override
__mro__ or inherit the default * *object* *.__mro__ . *

Samuel Muldoon

(720) 653 -2408

muldoonsamuel@gmail.com muldoonsamuel@gmail.com

naive kindleBOT
#

PyCA cryptography 40.0.1 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 7.3.10+.

Changelog (https://cryptography.io/en/latest/changelog/#v40-0-1):

  • Fixed a bug where certain operations would fail if an object
    happened to be in the top-half of the memory-space. This only impacted
    32-bit systems.

-Paul Kehrer (reaperhulk)

naive kindleBOT
#

Hello all,

I'm very happy to announce the release of pyo 1.0.5, available for the
following
python versions:

3.7 (Windows amd64, MacOS x86_64, linux x86_64)
3.8 (Windows amd64, MacOS x86_64 et arm64, linux x86_64)
3.9 (Windows amd64, MacOS x86_64 et arm64, linux x86_64)
3.10 (Windows amd64, MacOS x86_64 et arm64, linux x86_64)
3.11 (Windows amd64, MacOS x86_64 et arm64)

Pyo is a Python module written in C to help real-time digital signal
processing
script creation. It provides a complete set of classes to build audio
softwares,
compose algorithmic musics or simply explore audio processing.It is
available for
Windows, macOS and linux. It is released under the LGPL 3 license.

Official website: http://ajaxsoundstudio.com/software/pyo/

pyo's documentation: http://ajaxsoundstudio.com/pyodoc/

Latest sources and bug tracker: https://github.com/belangeo/pyo

Installation:

python -m pip install --user pyo

WHAT CHANGED IN VERSION 1.0.5:

New... continue reading

naive kindleBOT
#

I am pleased to announce the release of SfePy 2023.1.

Description

SfePy (simple finite elements in Python) is a software for solving systems of
coupled partial differential equations by finite element methods. It is
distributed under the new BSD license.

Home page: https://sfepy.org
Mailing list: https://mail.python.org/mm3/mailman3/lists/sfepy.python.org/
Git (source) repository, issue tracker: https://github.com/sfepy/sfepy

Highlights of this release

  • support meshes with cells of different topological dimensions
  • unified treatment of volume and surface integrals
  • updated elastodynamics solvers
  • reciprocal mass matrix algorithm
  • seismic load and piezo-elastodynamics examples
  • use GitHub Actions for CI

For full release notes see [1].

Cheers,
Robert Cimrman

[1] http://docs.sfepy.org/doc/release\_notes.html#id1


Contributors to this release in alphabetical order:

Robert Cimrman
Florian Le Bourdais
Vladimir Lukes
Yosef Meller
Maty... continue reading

#

[image: fallback.png]

PyCon Estonia 2023 is coming again!

I am writing to invite you to submit a proposal for PyCon Estonia 2023, the
annual conference to promote and educate people about the Python
programming language. We aim to have our biggest, most international and
diverse conference to date, and we believe your expertise and experience
would be valuable to our program.

The PyCon 2023 conference will take place on the 7th and 8th of September
at Tallinn University, and all speakers are expected to present their
topics in person.

We are currently accepting proposals for talks, workshops and lightning
talks until the deadline on 21st April 2023. All talks will be in
English, and we welcome speakers of all experience levels and backgrounds
to contribute. As a speaker, your talk and your slides must follow our Code
of Conduct, ensuring that all content is appropriate for a professional
audience.

We have different types of talks available to choos... continue reading

naive kindleBOT
#

Hi,

I was wondering why decorator-based context managers are not reentrant
or even reusable.

They could be made reusable by initializing the generator in __enter__()
instead of __init__(). They could be made reentrant by storing generatos
in a stack. A similar thing has been implemented for redirect_stdout in
8e113b418df7d0c8480e1e2de29a385e1f31b15b.

I understand that not all generator-based context managers can be
reentrant by their nature. But currently it is impossible to make them
reentrant, which IMHO is an unnecessary restriction.

I could find very little discussion on this. Are there any strong
reasons why it was implemented this way or should I create a pull
request to change it?

(My specific use case is a TUI application where I want to make sure
that the terminal is restored to a usable state on exit, but also need
to step in and out of the TUI on SIGTSTP/SIGCONT.)

thanks,
tobias

https://docs.python.org/3/library/contextlib.html#single-use-reusable-a... continue reading

naive kindleBOT
#

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.3.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 adds support for binding and fetching data of type
oracledb.DB_TYPE_JSON in thin mode. It also 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#oracledb-1-3-0-march-2023

Please provide any feedback via GitHub issues:
https://github.com/oracle/python-oracledb/issues or discussions:
https://github.com/oracle/python-oracledb/discussions

naive kindleBOT
#

Hi all,

I have just released version 0.9.7 of Shed Skin, a restricted-Python-to-C++
compiler. The highlight of this release is the migration to CMake (and
Conan), to enable native Windows support.

For more information about the release:

http://blogfarts.blogspot.com/2023/04/shed-skin-restricted-python-to-c.html

Project homepage:

http://github.com/shedskin/shedskin

Cheers,
Mark.

naive kindleBOT
#

Just wanted to throw this out there... I lament the loss of waking up on
April 1st to see a creative April Fool's Day joke on one or both of these
lists, often from our FLUFL... Maybe such frivolity still happens, just not in
the Python ecosystem? I know you can still import "this" or "antigravity",
but those are now old (both introduced before 2010). When was the last time
a clever easter egg was introduced or an April Fool's Day joke played?

¯_(ツ)_/¯

Skip

naive kindleBOT
#

I have what I think is a fairly low impact quality of life improvement to
suggest for the python CLI.

When I'm not working in Python I tend to be working in bash. But often I
want to break out and do something quick in Python. I find the python -c
CLI very useful for this. For one liners it's perfect. E.g.

NEW_VAR=$(python -c "import pathlib;
print(pathlib.Path('$MYVAR').parent.parent)")

And even if I want to do something multi-line it's pretty easy

NEW_VAR=$(python -c "
import pathlib
for _ in range(10):
print('this is a demo, bear with me')
")

But the problem is when I'm writing bash inside a function or some other
nested code, I would like to have nice indentation in my bash file, but if
I write something like this:

mybashfunc(){
python -c "
import pathlib
for _ in range(10):
print('this is a demo, bear with me')
"
}

I get IndentationError: unexpected indent.

This means I have to write the function ugly like this:

mybashfunc(){
pytho... continue reading

naive kindleBOT
#

It's time for another set of Python releases! Python 3.11.3, 3.10.11 and
3.12 alpha 7 are now available
.

Python 3.12.0 alpha 7

The final alpha release of Python 3.12! The next release will be beta 1,
which is also the feature freeze. Last chance to get your new features and
API changes into 3.12!

https://www.python.org/downloads/release/python-3120a7/

246 new commits since 3.12.0a6.
Python 3.11.3

More bugfixes and security fixes for the best Python version (so far).

https://www.python.org/downloads/release/python-3113/

167 new commits since 3.11.2
Python 3.10.11

The final regular bugfix release for Python 3.10! It is now entering
security-fix-only mode. This also means this is the last version for which
we will ship Windows and macOS installers. If you rely on these binary
releases, it's time to upgrade to Python 3.11.

https://www.python.org/downloads/release/python-31011/

121 new commits since 3.10.10.
We hope you enjoy the new releases!

Thanks to all of the many... continue reading

naive kindleBOT
#

It's time for another set of Python releases! Python 3.11.3, 3.10.11 and
3.12 alpha 7 are now available
.

Python 3.12.0 alpha 7

The final alpha release of Python 3.12! The next release will be beta 1,
which is also the feature freeze. Last chance to get your new features and
API changes into 3.12!

https://www.python.org/downloads/release/python-3120a7/

246 new commits since 3.12.0a6.
Python 3.11.3

More bugfixes and security fixes for the best Python version (so far).

https://www.python.org/downloads/release/python-3113/

167 new commits since 3.11.2
Python 3.10.11

The final regular bugfix release for Python 3.10! It is now entering
security-fix-only mode. This also means this is the last version for which
we will ship Windows and macOS installers. If you rely on these binary
releases, it's time to upgrade to Python 3.11.

https://www.python.org/downloads/release/python-31011/

121 new commits since 3.10.10.
We hope you enjoy the new rele... continue reading

naive kindleBOT
#

I’m happy to announce a new release of structlog!

With more than 7 million downloads per month, structlog is the best solution for production-ready 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!

My heartfelt thanks go to my generous GitHub sponsors https://github.com/sponsors/hynek and companies subscribing to structlog on Tidelift https://tidelift.com/subscription/pkg/pypi-structlog.

That's the support that made me maintain structlog for almost a decade with no end in sight! <3


(alternatively, see https://github.com/hynek/structlog/releases/ for a richer-formatted version of the following)

Highlights

This release brings the hybrid approach to sync / async logging to structlog's standard library integration. You don... continue reading

naive kindleBOT
naive kindleBOT
#

pytest-7.3.0

The pytest team is proud to announce the 7.3.0 release!

This release contains new features, improvements, and bug fixes,
the full list of changes is available in the changelog:

https://docs.pytest.org/en/stable/changelog.html

For complete documentation, please visit:

https://docs.pytest.org/en/stable/

As usual, you can upgrade from PyPI via:

pip install -U pytest

Thanks to all of the contributors to this release:

  • Aaron Berdy
  • Adam Turner
  • Albert Villanova del Moral
  • Alessio Izzo
  • Alex Hadley
  • Alice Purcell
  • Anthony Sottile
  • Anton Yakutovich
  • Ashish Kurmi
  • Babak Keyvani
  • Billy
  • Brandon Chinn
  • Bruno Oliveira
  • Cal Jacobson
  • Chanvin Xiao
  • Cheuk Ting Ho
  • Chris Wheeler
  • Daniel Garcia Moreno
  • Daniel Scheffler
  • Daniel Valenzuela
  • EmptyRabbit
  • Ezio Melotti
  • Felix Hofstätter
  • Florian Best
  • Florian Bruhin
  • Fredrik Berndtsson
  • Gabriel Landau
  • Garvit ... continue reading
naive kindleBOT
#

I'm happy to announce the release of Pygments 2.15. Pygments is a
generic syntax highlighter written in Python.

Pygments 2.15 provides half a dozen new lexers and many improvements to
existing lexers, as well as official support for Python 3.11. Please
have a look at the changelog https://pygments.org/docs/changelog/.

Report bugs and feature requests in the issue tracker:
https://github.com/pygments/pygments/issues. Thanks go to all the
contributors of these lexers, and to all those who reported bugs and
waited patiently for this release.

Download it from https://pypi.org/project/Pygments/, or look at
the demonstration at https://pygments.org/demo/.

Enjoy,
Matthäus

naive kindleBOT
#

I just pushed release 3.1.0b1 of pyparsing. 3.1.0 will include support for python 3.12, and will be the last release to support 3.6 and 3.7.

If your project uses pyparsing, please download this beta release (using "pip install -U pyparsing==3.1.0b1") and open any compatibility issues you might have at the pyparsing GitHub repo (https://github.com/pyparsing/pyparsing).

You can view the changes here: https://github.com/pyparsing/pyparsing/blob/master/CHANGES

naive kindleBOT
#

This PEP describes a way to record the provenance of installed Python distributions. The record is created by an installer and is available to users in the form of a JSON file provenance_url.json in the .dist-info directory. The mentioned JSON file captures additional metadata to allow recording a URL to a :term:distribution package together with the installed distribution hash. This proposal is built on top of PEP 610 following :ref:its corresponding canonical PyPA spec and complements direct_url.json with provenance_url.json for when packages are identified by a name, and optionally a version.

naive kindleBOT
#

PyCA cryptography 40.0.2 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 7.3.10+.

Changelog (https://cryptography.io/en/latest/changelog/#v40-0-2):

  • Fixed compilation when using LibreSSL 3.7.2.
  • Added some functions to support an upcoming pyOpenSSL release.

-Paul Kehrer (reaperhulk)

naive kindleBOT
naive kindleBOT
#

I’m happy to announce a new release of attrs!

attrs is the direct ancestor of – and the inspiration for – dataclasses in the standard library and remains the more powerful toolkit for creating regular classes without getting bogged down with writing repetitive boilerplate code: https://www.attrs.org/


(alternatively, see https://github.com/python-attrs/attrs/releases/ for a richer-formatted version of the following)

Backwards-incompatible Changes

  • Python 3.6 has been dropped and packaging switched to static package data using Hatch. #993

Deprecations

  • The support for zope-interface via the attrs.validators.provides validator is now deprecated and will be removed in, or after, April 2024.

    The presence of a C-based package in our developement dependencies has caused headaches and we're not under the impression it's used a lot.

    Let us know if you're using it and we might publish it as a sep... continue reading

naive kindleBOT
#

Hello all,
I'm glad to announce the release of psutil 5.9.5:
https://github.com/giampaolo/psutil

About

psutil (process and system utilities) is a cross-platform library for
retrieving information on running processes and system utilization (CPU,
memory, disks, network) in Python. It is useful mainly for system
monitoring, profiling and limiting process resources and management of
running processes. It implements many functionalities offered by command
line tools such as: ps, top, lsof, netstat, ifconfig, who, df, kill, free,
nice, ionice, iostat, iotop, uptime, pidof, tty, taskset, pmap. It
currently supports Linux, Windows, macOS, Sun Solaris, FreeBSD, OpenBSD,
NetBSD and AIX, both 32-bit and 64-bit architectures. Supported Python
versions are 2.7 and 3.4+. PyPy is also known to work.

What's new

2023-04-17

Enhancements

  • #2196: in case of exception, display a cleaner error traceback by hiding
    the
    KeyError bit deriving from a m... continue reading
naive kindleBOT
#

Hello,

I don't really use the Python debugger all that much, but recently I used it
quite a bit for a small side-project. That said, it kept annoying me that there
were no history associated with the prompt, so I added a few lines to the
pdbrc config file to store that for me. However, it seems like this file must
either exist in the user home directory, or the current working directory,
neither of which were very convenient for me.

Additionally, I strongly dislike polluting my home directory with dotfiles, thus
I did a bit of researching to see if this could be fixed. Thus, below is a small
patch to PDB that adds support for also reading from configuration files in
some XDG directories (currently ${XDG_CONFIG_HOME}/python/pdbrc).

So I guess the question is, would anyone else find this useful enough to the
point were I should write a PEP for it? As far as I can tell, Python haven't
been using the XDG directories, so I suppose the naming of the subdirectory
is really subject ... continue reading

naive kindleBOT
#

A quick scroll through social media and you'll find very talented people
making portraits out of dice, rubik's cube, in minecraft as pixel art, or
even using MIDI notes on a Digital Audio Workstation (DAW). This package
gives you the ability to do the same, with or without talent. Currently it
can only generate arts using minecraft, the cells of a spreadsheet, ascii
characters, or rubik's cubes, but if you have any ideas that fit into the
project's goal please let me know
https://github.com/Eric-Mendes/unexpected-isaves/issues/10, or - even
better - submit a merge request with your work!

We had a couple of major bugs that were patched this month. They were a
problem for generating Minecraft datapacks.
We apologize for the nearly 17 thousand people that use our package. We
don't have a very good and automatized testing suite and these bugs were
silent. Help with this would be greatly appreciated.
Anyway, everything should be working now.

Source code: https://github.... continue reading

naive kindleBOT
#

I'm happy to announce the release of Pygments 2.15.1. Pygments is a
generic syntax highlighter written in Python.

Pygments 2.15.1 provides two important fixes. Please have a look at the
changelog https://pygments.org/docs/changelog/.

Report bugs and feature requests in the issue tracker:
https://github.com/pygments/pygments/issues. Thanks go to all the
contributors of these lexers, and to all those who reported bugs and
waited patiently for this release.

Download it from https://pypi.org/project/Pygments/, or look at
the demonstration at https://pygments.org/demo/.

Enjoy,
Matthäus

naive kindleBOT
#

I'm happy to announce the release of PyEmpaq 0.3.

PyEmpaq is a simple but powerful Python packer to run any project with
any virtualenv dependencies anywhwere.

With PyEmpaq you can convert any Python project into a single .pyz
file with all the project's content packed inside.

That single file is everything that needs to be distributed. When the
final user executes it, the original project will be expanded, its
dependencies installed in a virtualenv, and then executed. Note that
no special permissions or privileges are required, as everything
happens in the user environment.

Both the packaging and the execution are fully multiplatorm. This
means that you can pack a project in Linux, Windows, Mac or whatever,
and it will run ok in Linux, Windows, Mac or whatever. The only
requirement is Python to be already installed.

What's new in this version?

  • Added 'include' and 'exclude' configuration options to have full
    control on what is inside the packed file.

  • Reuse the existing pr... continue reading

naive kindleBOT
#

Hi,

I am writing to you on behalf of PyCon Estonia https://pycon.ee/ to
invite you to take part in the call for papers for our 2023 edition and
join us as a speaker at PyCon: https://pyconestonia.typeform.com/to/hBOEtTQ3

This is the fifth of the annual PyCon Estonia event organised by our NGO
Python Estonia https://pythonestonia.ee/ which is dedicated to education
and awareness about Python in the region.

In previous years
https://www.youtube.com/playlist?list=PLyN-ewDaUNUjVLLL1VPzRyySKPhd807hH,
keynote speakers at PyCon Estonia have included Travis Oliphant, Larry
Hastings, Raymond Hettinger and Andrew Godwin. We've had around 200+
participants join us for a live conference in Tallinn. This year we're
having a two day conference, with a bigger audience.

The theme for PyCon Estonia 2023 is "Python in Machine Learning and AI" and
we want to talk about the AI and ML projects built with Python and how AI
is impacting the tech sector in general.

We would r... continue reading

#

Hi,

I am writing to you on behalf of PyCon Estonia https://pycon.ee/ to
invite you to take part in the call for papers for our 2023 edition and
join us as a speaker at PyCon: https://pyconestonia.typeform.com/to/hBOEtTQ3

This is the fifth of the annual PyCon Estonia event organised by our NGO
Python Estonia https://pythonestonia.ee/ which is dedicated to education
and awareness about Python in the region.

In previous years
https://www.youtube.com/playlist?list=PLyN-ewDaUNUjVLLL1VPzRyySKPhd807hH,
keynote speakers at PyCon Estonia have included Travis Oliphant, Larry
Hastings, Raymond Hettinger and Andrew Godwin. We've had around 200+
participants join us for a live conference in Tallinn. This year we're
having a two day conference, with bigger audience.

The theme for PyCon Estonia 2023 is "Python in Machine Learning and AI" and
we want to talk about the AI and ML projects built with Python and how AI
is impacting the tech sector in general.

We would really like to have you o... continue reading

naive kindleBOT
#

We have a large codebase which uses threads. Many - but not all - of these
threads implement a method named 'stop()' which sets a flag, triggers an
event, closes a connection, or what-have-you in order to command the thread
in question to terminate.

I was writing a thread manager, intended to automatically terminate threads
in an organized way at shutdown. It could accept any thread which
implemented a 'stop()' method, so how could I type-hint it correctly?
'Aha!' said I, 'This is what those newfangled Protocol things are for! I
shall use one of them!' (We only recently updated from 3.7 to 3.11, so
quite a lot of features are still 'newfangled' to me.)

However, I then encountered an issue: I could define a Protocol that
specified the 'stop()' method easily enough, but if I annotated the manager
as taking that, it would accept any class which implemented a method
named 'stop()', which was not correct; the manager should only accept
threads which implement such a method. I couldn't... continue reading

naive kindleBOT
#

Consider the following string:

x = r"\mathjax{{color}}{{text}}"

string x contains two parameters named color and the other named text.

Currently, python requires that the string class method str.format contain
key-word arguments for *all *parameters, not just one parameter

result = r"\mathjax{{color}}{{text}}".format(color = "blue" , text = "Spanish")

result = "\mathjax{blue}{Spanish}"

Can we change str.format so that it is possible to change only one
string parameter, but leave the other parameters alone?

pfr is partially_formatted_result

pfr = r"\mathjax{{color}}{{text}}".format(color = "blue") #
ERROR! missing parameter text

result = r"\mathjax{{color}}{{text}}".format(text = "Spanish") #
ERROR! missing parameter color

The implementation requires fewer than ten lines of code in python,
probably less than fifty lines in C, or a different implementation
language.

class str:
def format(self, **kwargs):
for key in kwargs:
x = "{"... continue reading

naive kindleBOT
#

Hi All,

On behalf of the NumPy team, I'm pleased to announce the release of NumPy
1.24.3. NumPy 1.24.3 is a maintenance release that fixes bugs and
regressions discovered after the 1.24.2 release.

The Python versions supported by this release are 3.8-3.11 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. Wheels can be downloaded from PyPI
https://pypi.org/project/numpy/1.24.3/; source archives, release notes,
and wheel hashes are available on Github
https://github.com/numpy/numpy/releases/tag/v1.24.3.

Contributors

A total of 12 people contributed to this release. People with a "+" by
their names contributed a patch for the first time.

  • Aleksei Nikiforov +
  • Alexander Heger
  • Bas van Beek
  • Bob Eldering
  • Brock Mendel
  • Charles Harris
  • Kyle Sunden
  • Peter Hawkins
  • Rohit Goswami
  • Sebastian Berg
    ... continue reading
naive kindleBOT
#

Dear All

Python is a "glue" language, its dynamic nature has programming advantage and performance disadvantage.

The best way to use Python is write Python code for high-level stuff and use native programming language like C, Rust, Zig, V for low level stuff. Currently, there is library like PyO3 and so on.

However there is a lot of limitation in those library.

  • The "FFI" library is implementation specific. For example, PyO3, it highly depend on specific version of CPython. If you use a different version of CPython, there is some work for you to do. If you don't use CPython, for example use another Python Implementation, This framework may not work.
  • The project structure is rigid. When using something like PyO3. you must make your project structure following certain pattern, then finally produce a complete wheel package. The majority Python programmer does not write a whole Python project for a installable package and pack it up then install it. They are edit Python source file ... continue reading
naive kindleBOT
#

pyspread 2.2

This release adds R charts via rpy2. Plotnine is also supported.
Examples are available in the chart dialog.
Note that the R packages graphics, lattice and ggplot2 are used for the
examples.

Bug fixes:

  • Thick lines are now antialiased

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.2.tar.gz.sig
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:

naive kindleBOT
#

Modules are currently not directly callable. Classes can define a __call__ method that makes instance objects callable, but defining a similarly named function in the global module scope has no effect, and that function can only be called by importing or referencing it directly as module.__call__. PEP 562 added support for :meth:~object.__getattr__ and :meth:~object.__dir__ for modules, but defining __getattr__ to return a value for __call__ still does not make a module callable.

naive kindleBOT
#

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.3.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 reported issues.

See the full release notes for all of the details:
https://python-oracledb.readthedocs.io/en/latest/release\_notes.html#oracledb-1-3-1-april-2023

Please provide any feedback via GitHub issues: https://github.com/oracle/
python-oracledb/issues or discussions: https://github.com/oracle/python-
oracledb/discussions

naive kindleBOT
#

Hi, everyone! I'm not sure if this is useful to anyone, nor original. It's
a problem you can easily solve with a dict comprehension, but I love a
pretty syntax, so I made this: https://github.com/Eric-Mendes/dictf

It can be especially useful for filtering huge dicts before turning into a
DataFrame, with the same pandas syntax.

Already on pypi: https://pypi.org/project/dictf/

It enables you to use dicts as shown below:

naive kindleBOT
#

In examples in the web very often we see unfinished or partial code,
where the ellipsis "..." is used in place of missing instructions.

Idea: make ellipsis used in that context throw an exception, reminding
the user that this code is work in progress.

The exception could be called ToDoError, or WorkInProgressError, or
simply EllipsisError, and could be derived from NotImplementedError.


def my_fun():
    ... # todo

my_fun()

 > WorkInProgressError: Implementation of `my\_fun` is not finished.

This change could break some code, as for now ellipsis in the middle of
code is silently ignored, but I don't think anybody seriously relies on
that behavior.

haael

naive kindleBOT
#

I'm happy to announce a newborn library! foffinf, a way to use
stdlib's logging with the new Format Specification Mini-Language.

In other words, you will be able to do:

logger.info("The result is {:05d}", result)

You can forget about old printf-style formatting now!

To enable which modules you want with this behaviour you have to
declare them (including or not the submodules. Check the README, it's
very simple.

Released in PyPI, as usual:

https://pypi.org/project/foffinf/0.1/

Enjoy!

--
. Facundo

Blog: http://www.taniquetil.com.ar/plog/
PyAr: http://www.python.org.ar/
Twitter: @facundobatista

naive kindleBOT
#

On behalf of the Nikola team, I am pleased to announce the immediate
availability of Nikola v8.2.4. This release comes with some new features
and a handful of bug fixes.

What is Nikola?

Nikola is a static site and blog generator, written in Python.
It can use Mako and Jinja2 templates, and input in many popular markup
formats, such as reStructuredText and Markdown — and can even turn
Jupyter Notebooks into blog posts! It also supports image galleries,
and is multilingual. Nikola is flexible, and page builds are extremely
fast, courtesy of doit (which is rebuilding only what has been changed).

Find out more at the website: https://getnikola.com/

Downloads

Install using pip install Nikola.

Changes

Features

  • Add a -q, --ignore-query-strings option to ignore query strings
      for internal links, allowing their use for cache busting
  • Update reST stylesheets (Issue #3657)
  • Add a --timeout parameter to ... continue reading
naive kindleBOT
#

pyspread 2.2

This is a bugfix release
Note that missing libvoikko, nuspell and hspell may lead to warning
messages if pyenchant is installed. However, pyspread is still
functional as this affects only spellchecking.

Bug fixes:

  • Chart dialog now correctly starts if rpy2 is not installed and if
    optional R modules are missing.
  • Deleting large selections is now significantly faster.
  • Pasting into large selections is now significantly faster.
  • QPen cache now is limited in size.

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.2.tar.gz.sig
Source... continue reading

naive kindleBOT
#

PyConZA 2023 will take place on the 5th & 6th of October, 2023. This
year, PyConZA will be a hybrid conference (with in-person and online
access) hosted at the Premier Splendid Inn in Umhlanga, Durban.

We are looking for the following presentations:

  • Keynotes (45 minute long talks on a subject of general interest)
  • Talks (30 minute long talks on more specific topics)
  • Remote Talks (30 minute long talks that will be delivered remotely
  • note that the number of remote talk slots is more limited due to
    technical constraints).

If you would like to give a presentation, please register at
https://za.pycon.org/ and submit your proposal, following the
instructions at https://za.pycon.org/talks/how-to-submit-a-talk/ . We
have a number of tracks available, including: Data Science, Teaching
and Learning with Python, Web, Scientific Computing, Testing and Other
(which includes all talks that don't fall under the mentioned tracks).
We hope to notify accepted presenters by no later than t... continue reading

naive kindleBOT
#

Hi all,

It fills us with astronomical joy to announce the release of Kedro 0.18.8! 🔶

Kedro is an open source, opinionated Python framework for creating reproducible, maintainable and modular data science code. It reduces technical debt when moving prototypes into production by providing a declarative data catalog, a solid project template, plumbing for creating data pipelines, and more. It features a rich ecosystem of plugins and third-party datasets and is currently an incubation-stage project of the LF AI & Data Foundation.

You can install it using pip or conda/[micro]mamba:

pip install kedro
conda/[micro]mamba install kedro --channel conda-forge

This release brought support for a new KEDRO_LOGGING_CONFIG environment variable to configure logging, better reproducibility for kedro run, lots of documentation improvements, and much more. For existing users, note that kedro.extras.datasets is deprecated in favor of the separate kedro_datasets package.

... continue reading

naive kindleBOT
#

At the moment, shlex.join raises

TypeError: expected string or bytes-like object

when given pathlib.Path objects. Since subprocess.run and related subprocess commands allow Path since Python 3.6 and 3.8 for Windows, it seems intuitive to me that shlex.join be able to handle paths as well. This has been briefly discussed before on the bug tracker (issue 89293, link below), but with the caveat that it was the wrong venue, and should be brought up on this list instead. That said, I can't find any record that it ever made it over here, but I am curious to get this community's perspective.

My understanding of arguments against in that discussion were that shlex.join should not implicitly convert its arguments to strings, and that Path objects were not special enough for an exception. However (and as noted over there), subprocess takes the exact opposite approach, and has an explicit isinstance check to allow and convert os.PathLike objects. I'm assuming that... continue reading

naive kindleBOT
#

Wing Python IDE 9.1 has been released.  It adds auto-import and import
management, collects and displays code coverage for unit tests, uses
coverage data to invalidate test results when code is edited, adds
support for Python 3.11, reduces debugger overhead in Python 3.7+,
speeds up running unit tests, streamlines configuration of light and
dark theming, adds two light display themes, and makes improvements to
New Project for Docker and Django, auto-invocation, multi-threaded
debugging, code analysis, & more.

Details:  https://wingware.com/news/2023-05-10
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, ... continue reading

naive kindleBOT
#

I am happy to announce Guppy 3 3.1.3

Guppy 3 is a library and programming environment for Python,
currently providing in particular the Heapy subsystem, which supports
object and heap memory sizing, profiling and debugging. It also
includes a prototypical specification language, the Guppy
Specification Language (GSL), which can be used to formally specify
aspects of Python programs and generate tests and documentation from a
common source.

Guppy 3 is a fork of Guppy-PE, created by Sverker Nilsson for Python 2.

This release adds support for Python 3.11. However, please note that the
profiling process will materialize a few optimizations of Python 3.11,
including lazily-created frame objects and object managed dicts. This
means that the profiler may cause a lot more additional memory to be
allocated and as a result overestimate the memory usage.

This release also fixes a few bug fixes, including:

o Fix profile browser initialization on Python 3.10+
o Fix crash doing path calculation... continue reading

naive kindleBOT
#

Hi all,

I'm delighted to announce the latest release of s**kforecast!

*Skforecast *is a Python library that eases using scikit-learn regressors
as single and multi-step forecasters. It also works with any regressor
compatible with the scikit-learn API (pipelines, CatBoost, LightGBM,
XGBoost, Ranger...).

Docs: https://skforecast.org/

Why use skforecast?

The fields of statistics and machine learning have developed many excellent
regression algorithms that can be useful for forecasting, but applying them
effectively to time series analysis can still be a challenge. To address
this issue, the skforecast library provides a comprehensive set of tools
for training, validation and prediction in a variety of scenarios commonly
encountered when working with time series. The library is built using the
widely used scikit-learn API, making it easy to integrate into existing
workflows. With skforecast, users have access to a wide range of
functionalities such as feature e... continue reading

naive kindleBOT
#

I have a couple of {{{TypedDict}}}s for use in type hinting that are supposed to have some sets of incompatible keys.

For example, if I need to specify that a particular {{{dict}}} can have {{{bar}}} or {{{baz}}} but not both of them, I can write two {{{TypedDict}}}s:

{{{#!highlight python
from typing import TypedDict

class Foo1(TypedDict):
bar: str

class Foo2(TypedDict):
baz: int

Foo = Foo1 | Foo2

foo_instance_1: Foo = { # Works fine
'bar': 'foobar'
}
foo_instance_2: Foo = { # Also fine
'baz': 42
}

foo_instance_3: Foo = { # Warning: Expected type 'Foo1 | Foo2', got 'dict[str, str | int]' instead
'bar': 'foobar',
'baz': 42
}
}}}

However, this doesn't scale very well if I were to have multiple sets; for example, a simple multiplication shows that three sets of 2, 3 and 4 keys each will result in 24 {{{TypedDict}}}s. A solution would be:

{{{#!highlight python
class Foo(TypedDict):
bar: IncompatibleWith('baz', 'qux')[str]
baz: IncompatibleWith('bar... continue reading

naive kindleBOT
#

Make Python CLI tools win the speed race, by cheating!

JumpTheGun makes Python CLI tools start up much faster. For example, it can make the AWS CLI start up nearly 3x faster, making it near-instant.

In any Python (>= 3.7) environment:

pip install jumpthegun

or

pipx install jumpthegun

For any CLI tool written in Python (>= 3.7):

jumpthegun run <cli-tool> [...]

Examples:

jumpthegun run black --check .
jumpthegun run aws --version

More details:

jumpthegun --help

https://github.com/taleinat/jumpthegun

Enjoy snappier tools!

  • Tal Einat
naive kindleBOT
#

A simple virtual package could be:

foo.py

__path__ = [__file__ + ".d"]

But unfortunately this doesn't work with -m:

foo.py.d/__main__.py

print("this will never run")

(n.b. -m foo.__main__ works but nobody's writing that.)

Is it possible to change this backwards-compatibly? If not, is it
possible to document it slightly better?

Thanks.

naive kindleBOT
#

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

I'm happy to announce txtorcon 23.5.0 with the following changes:

  • twisted.web.client.Agent instances now use the same HTTPS policy
    by default as twisted.web.client.Agent. It is possible to
    override this policy with the tls_context_factory= argument, the
    equivalent to Agent's contextFactory=
    (Thanks to Itamar Turner-Trauring)
  • Added support + testing for Python 3.11.
  • No more ipaddress dependency

You can download the release from PyPI or GitHub (or of
course "pip install txtorcon"):

https://pypi.python.org/pypi/txtorcon/23.5.0
https://github.com/meejah/txtorcon/releases/tag/v23.5.0

Releases are also available from the hidden service:

http://fjblvrw2jrxnhtg67qpbzi45r7ofojaoo3orzykesly2j3c2m3htapid.onion/txtorcon-23.5.0.tar.gz
http://fjblvrw2jrxnhtg67qpbzi45r7ofojaoo3orzykesly2j3c2m3htapid.onion/txtorcon-23.5.0.tar.gz.asc

You can verify the sha256sum of both by running the following 4 lines
in a s... continue reading

naive kindleBOT
#

To whom it may concern:

Is it possible to create a Visual Python with options and editing tools
similar to Excel?
In the beginning it could be a combo with a command-docker, calling for a
visual Routine.
Indented structure of coding in Python is perfectly suited for it.
In my mind such structure was the first subconscious step in this direction.
It would make programming much easier: almost like playing with LEGO blocks.

Sincerely,

Michael R.

#

Hi all,

happy to announce a better developer experience with pytest-when fixture.

With pytest-mock you can define the complex mocking behavior via natural interface:

when(some_object, "attribute").called_with(1, 2).then_return("mocked")

In this case the some_object.attribute(1, 2) == "mocked". But if it will be called with any other
arguments, it will return what it is suppose to return.

Project GitHub:
https://github.com/zhukovgreen/pytest-when
zhukovgreen/pytest-when: Pytest plugin for more readable mocking
github.com

Support python>=3.8 and tested until 3.11

Small example from the docs:

class which we're going to mock in the test

class Klass1:
def some_method(
self,
arg1: str,
arg2: int,
*,
kwarg1: str,
kwarg2: str,
) -> str:
return "Not mocked"

def test_should_properly_patch_calls(when):
when(Klass1, "some_method").called_with(
"a",
... continue reading

naive kindleBOT
#

I just pushed release 3.1.0b2 of pyparsing. 3.1.0 with some fixes to bugs that came up in the past few weeks - testing works!

If your project uses pyparsing, please please please download this beta release (using "pip install -U pyparsing==3.1.0b2") and open any compatibility issues you might have at the pyparsing GitHub repo (https://github.com/pyparsing/pyparsing).

In the absence of any dealbreakers, I'll make the final release in June.

You can view the changes here: https://github.com/pyparsing/pyparsing/blob/master/CHANGES

naive kindleBOT
#

Python allows setting __path__ to turn a module into a package. However,
it's allegedly only defined for __init__.py?

Proposal:

A virtual package is a non-__init__.py whose first line of code, after
comments and future imports, assigns to __path__.

This would allow -m virtualpackage to call virtualpackage.__main__,
wherever that is. Instead of running virtualpackage.py as __main__.

naive kindleBOT
#

I'm pleased to announce the release of Python 3.12 beta 1 (and feature
freeze for Python 3.12).

https://www.python.org/downloads/release/python-3120b1/
This is a beta preview of Python 3.12

Python 3.12 is still in development. This release, 3.12.0b1, is the first
of four planned beta release previews of 3.12.

Beta release previews are intended to give the wider community the
opportunity to test new features and bug fixes and to prepare their
projects to support the new feature release.

We strongly encourage maintainers of third-party Python projects to test
with 3.12 during the beta phase and report issues found to [the Python bug
tracker (Issues · python/cpython · GitHub) as soon as possible. While the
release is planned to be feature complete entering the beta phase, it is
possible that features may be modified or, in rare cases, deleted up until
the start of the release candidate phase (Monday, 2023-07-31). Our goal is
to have no ABI changes after beta 4 and as few code changes ... continue reading

naive kindleBOT
#

I'm pleased to announce the release of Python 3.12 beta 1 (and feature
freeze for Python 3.12).

https://www.python.org/downloads/release/python-3120b1/
This is a beta preview of Python 3.12

Python 3.12 is still in development. This release, 3.12.0b1, is the first
of four planned beta release previews of 3.12.

Beta release previews are intended to give the wider community the
opportunity to test new features and bug fixes and to prepare their
projects to support the new feature release.

We strongly encourage maintainers of third-party Python projects to test
with 3.12 during the beta phase and report issues found to [the Python bug
tracker (Issues · python/cpython · GitHub) as soon as possible. While the
release is planned to be feature complete entering the beta phase, it is
possible that features may be modified or, in rare cases, deleted up until
the start of the release candidate phase (Monday, 2023-07-31). Our goal is
to have no ABI changes after beta 4 and a... continue reading

naive kindleBOT
#

Hi @all,

Lona 1.14 is out and brings support for soft real-time communication for multi-user features.
It is a simple but powerful pub/sub mechanism that will replace the old view event API.

Demo: https://lona-web.org/1.x/demos/multi-user-chat/index.html
Tutorial: https://lona-web.org/1.x/tutorial/08-channels/index.html
Reference: https://lona-web.org/1.x/api-reference/channels.html

Lona 1.14 also fixed some rendering and performance bugs.

Changelog: https://lona-web.org/1.x/changelog.html#1.14

naive kindleBOT
#

Currently, list.extend does not allow method chaining.

parameters = [ "zero or more", "zero or more".upper(), "zero or
more".lower(), "Zero or More"

].extend(["(0, +inf)", "[0; +in**f]"])

parameters.extend(["{0, \u221E}"]).append("(0 inf)")

Samuel Muldoon

(720) 653 -2408

muldoonsamuel@gmail.com muldoonsamuel@gmail.com

naive kindleBOT
#

Hi All,

The NumPy 1.25.0 release continues the ongoing work to improve the handling
and promotion of dtypes, increase the execution speed, and clarify the
documentation. There has also been work to prepare for the future NumPy
2.0.0
release, resulting in a large number of new and expired deprecation.
Highlights are:

  • Support for MUSL, there are now MUSL wheels.
  • Support the Fujitsu C/C++ compiler.
  • Object arrays are now supported in einsum
  • Support for inplace matrix multiplication (@=).

We will release NumPy 1.26 on top of the 1.25 code when Python 12 reaches
the rc stage. That is needed because distutils has been dropped by Python
12 and we will be switching to using meson for future builds. The next
mainline release will be NumPy 2.0.0. We plan that the 2.0 series will
still support downstream projects built against earlier
versions of NumPy.

The Python versions supported in this release are 3.9-3.11. Wheels can be
downloaded from PyPI <http... continue reading

naive kindleBOT
#

PyCA cryptography 41.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.7+, and PyPy3 7.3.10+.

Changelog (https://cryptography.io/en/latest/changelog/#v41-0-0):

  • BACKWARDS INCOMPATIBLE: Support for OpenSSL less than 1.1.1d has
    been removed. Users on older version of OpenSSL will need to upgrade.
  • BACKWARDS INCOMPATIBLE: Support for Python 3.6 has been removed.
  • BACKWARDS INCOMPATIBLE: Dropped support for LibreSSL < 3.6.
  • Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.1.1.
  • Updated the minimum supported Rust version (MSRV) to 1.56.0, from 1.48.0.
  • Added support for the OCSPAcceptableResponses OCSP extension.
  • Added support for the MSCertificateTemplate proprietary Microsoft
    certificate extension.
  • Implemented support for equality checks o... continue reading
naive kindleBOT
#

This PEP renames the metadata provided by PEP 658 in both HTML and JSON formats of the Simple API and provides guidelines for both clients and servers in how to handle the renaming.

naive kindleBOT
naive kindleBOT
#

Greetings! Time for another combined release of six separate versions of Python!

https://discuss.python.org/t/python-3-11-4-3-10-12-3-9-17-3-8-17-3-7-17-and-3-12-0-beta-2-are-now-availble/27477#before-you-scroll-away-to-the-download-links-1Before you scroll away to the download links

Please test the 3.12 beta! Downloading it and trying it out helps us a lot in ensuring Python 3.12.0 will be as polished as possible.

We welcome 3.10 to the prestigious club of security-only releases. It’s officially an old version of Python now! If you haven’t rewritten all your if:elif:else:s with pattern matching yet, are you even still writing Python?

At the same time, it looks like 3.7 is reaching end-of-life. Unless another security release happens in June, 3.7.17 will be the final release of Python 3.7. I mean, now that I typed it out for all you to read, I’m sure I jinxed it. But in case I didn’t, I would like to thank Ned Deily for serving as the release manager of Python 3.6 and Python 3.7... continue reading

naive kindleBOT
#

Greetings! Time for another combined release of six separate versions of Python!

https://discuss.python.org/t/python-3-11-4-3-10-12-3-9-17-3-8-17-3-7-17-and-3-12-0-beta-2-are-now-availble/27477#before-you-scroll-away-to-the-download-links-1Before you scroll away to the download links

Please test the 3.12 beta! Downloading it and trying it out helps us a lot in ensuring Python 3.12.0 will be as polished as possible.

We welcome 3.10 to the prestigious club of security-only releases. It’s officially an old version of Python now! If you haven’t rewritten all your if:elif:else:s with pattern matching yet, are you even still writing Python?

At the same time, it looks like 3.7 is reaching end-of-life. Unless another security release happens in June, 3.7.17 will be the final release of Python 3.7. I mean, now that I typed it out for all you to read, I’m sure I jinxed it. But in case I didn’t, I would like to thank Ned Deily for serving as the release manager of Python 3.6 and Python 3.7... continue reading

naive kindleBOT
#

I have searched for chatter about this in the past, and realize that churning about on this topic might be a bit of a time waster, but what would be required to make eval and exec be able to take keyword arguments?

Explaining exec and eval, and not being able to use kwargs to establish an ordering (especially when the docs talk about defaults) is not great IMO.

Has there been discussion in the past on when adding kwarg support for existing functions becomes a thing that patches are accepted for?

naive kindleBOT
#

I opened two issues regarding copyfileobj that were not bugs, but a fix that was involved helped me figure out I needed a new external drive, since it displayed the error number from the copyfileobj function. I'd like a modified version of this code implemented permanently in shutil.py so others could see if they have the same issue as me. Here are the two issues I opened:

This is the original issue that has the code I was using that Eryksun posted.

https://github.com/python/cpython/issues/96721

Here's the second issue where it happened again. I put the error message in this post, so you can see how it helped me. Also, the code might need to be modified slightly, since it generated an error.

https://github.com/python/cpython/issues/102357

naive kindleBOT
#

This has been bugging me for a long time. It seems that python doesn’t have a convention for “Undefined” type.

When I started using python I naturally used None for it (as advised).

However, the more I work with python, the more I find that None is a meaningful type. And it is a type that is convenient to use in a lot of cases, where it is not actually “None”.

One big example is:
numpy: array[None, :]

Another is simple cascading of defaults.
E.g.

class A:
    def __init__(self, default=’string'):
        self.default = default

    def method(self, default=None):
        default = default if default is not None else self.default
	dct[‘key’] = other_dict.get(‘key’, default)
        return to_json(dct)

None has a logic in some_func, which is important.
Now if I want to enforce None passed to to_json I have no way to do it.

I know there are many workarounds for this, but there is no consistent way of doing this.

I have been using Ellipsis in the past, but it doe... continue reading

#

Hey there! I'm curious to know what this group thinks about the implicit design of many Python libraries, both core and open source. What I mean by "implicit design" is when an interface of library is established and initialised at module’s level rather than explicitly encapsulated in classes.

Couple of the examples:

  1. logging
  2. asyncio

Both of the libraries (by design) allow only 1 framework per process, which can be limiting. Although it's easier to hack the logging library to obtain an independent hierarchy with separate root node, it's a bit more challenging to obtain a separate asyncio loop.

Allowing users to instantiate a fresh instance of framework would be advantageous in various ways:

  1. "Explicit is better than implicit" - easier to understand, inherit, and edit.
  2. The ability to instantiate multiple framework nodes leads in a modifiable, therefore easier to comprehend workflow. For example, having separate logging and asyncio on a thread would provide for greater desi... continue reading
naive kindleBOT
#

This PEP recommends deprecating and then disabling new uploads of the bdist_egg distribution type on PyPI. In a parallel move, this PEP recommends deprecating and then disabling new uploads of distribution filenames that have the .egg suffix.

naive kindleBOT
#

pytest 7.3.2 has just been released to PyPI.

This is a bug-fix release, being a drop-in replacement. To upgrade::

pip install --upgrade pytest

The full changelog is available at https://docs.pytest.org/en/stable/changelog.html.

Thanks to all of the contributors to this release:

  • Adam J. Stewart
  • Alessio Izzo
  • Bruno Oliveira
  • Ran Benita

Happy testing,
The pytest Development Team

naive kindleBOT
#

This is my first post to this list, apologies in advance if this is the wrong place or it's a known topic that my search failed to find.

As a Python user since 2.6, I make stupid mistakes with exhausted generators more often than I'd like to admit:

numbers = (i for i in range(5))
assert 5 not in numbers
sorted(numbers)

[]

Then the empty list creates hard-to-track bugs. I'm familiar with the iterator protocol and why the behavior above happens, but couldn't it be prevented? A naive example of the behavior I wish it had:

class SafeGenerator:
def __init__(self, generator):
self.generator = generator
self.is_exhausted = False

def \_\_iter\_\_(self):
    if self.is\_exhausted:
        raise ValueError("can't iterate over an already exhausted generator")
    return self

def \_\_next\_\_(self):
    try:
        return next(self.generator)
    except StopIteration:
        self.is\_exhausted = True
        raise

safe_ge... continue reading

naive kindleBOT
#

I was wandering if there are any issues in making yield usage to be the same as that of await

Most importantly:
l.append(yield Object())

Nice to have:
yield with Object():
yield for i in Object():

Also, could anyone point me in the direction, where it is explained why new await/async syntax was introduced instead of making use of already existing yield coroutine functionality?

naive kindleBOT
#

Very simple proposal.

E.g.

>>> l = [‘a’, ‘b’]
>>> l.get(0)
‘a’
>>> l.get(2)
None
>>> l.pop(1, default=‘c’)
‘b’
>>> l.pop(1, default=‘c’)
‘c'

Essentially to match them to those of a dict.
Current workarounds:

try:
   a = b[n]
except IndexError:
   a = default

# and

l[index] if -len(l) <= index < len(l) else default

Benefits:

  1. Convenience
  2. Easy to remember API methods for anyone used to a dict
  3. Speed improvements given it’s implemented in C
  4. Time saving!
    It took me around 7seconds to type 2nd snippet without auto-complete.

So following Chris’ logic...
If there are 10,000,000 python users on Stack…
And we assume, that every user encounters such need at least 2 times a year (being very speculative here, would say conservative?).
Saving on typing and correcting above snippet is 5sec (conservative here?).
That’s ~600 days of pure code writing time saved every year.
In 100 years, which python will obviously survive - that’s ~16.5 years of pure code typing time sa... continue reading

naive kindleBOT
#

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.3.2/

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 reported issues.

See the full release notes for all of the details:
https://python-oracledb.readthedocs.io/en/latest/release\_notes.html#oracledb-1-3-2-june-2023

Please provide any feedback via GitHub issues: https://github.com/oracle/
python-oracledb/issues or discussions: https://github.com/oracle/python-
oracledb/discussions

naive kindleBOT
#

Hi All,

The NumPy 1.25.0 release continues the ongoing work to improve the handling
and promotion of dtypes, increase execution speed, and clarify the
documentation. There has also been work to prepare for the future NumPy
2.0.0
release, resulting in a large number of new and expired deprecation.
Highlights are:

  • Support for MUSL, there are now MUSL wheels.
  • Support the Fujitsu C/C++ compiler.
  • Object arrays are now supported in einsum
  • Support for inplace matrix multiplication (@=).

We will release NumPy 1.26 on top of the 1.25 code when Python 12 reaches
the rc stage. That is needed because distutils has been dropped by Python
12 and we will be switching to using meson for future builds. The next
mainline release will be NumPy 2.0.0. We plan that the 2.0 series will
still support downstream projects built against earlier
versions of NumPy.

The Python versions supported in this release are 3.9-3.11. Wheels can be
downloaded from PyPI <https://... continue reading

naive kindleBOT
#

After several alpha and beta releases, I've finally pushed out version 3.1.0 of pyparsing. Here are the highlights:

NOTE: In the future release 3.2.0, use of many of the pre-PEP8 methods (such as ParserElement.parseString) will start to raise DeprecationWarnings. 3.2.0 should get released some time later in 2023. I currently plan to completely drop the pre-PEP8 methods in pyparsing 4.0, though we won't see that release until at least late 2023 if not 2024. So there is plenty of time to convert existing parsers to the new function names before the old functions are completely removed. (Big help from Devin J. Pohly in structuring the code to enable this peaceful transition.)

Version 3.2.0 will also discontinue support for Python versions 3.6 and 3.7.

Version 3.1.0 - June, 2023

API CHANGES

  • A slight change has been implemented when unquoting a quoted string parsed using the QuotedString class. Formerly, when unquoting and processing whit... continue reading
naive kindleBOT
#

We’re getting close! 3.12.0 beta 3 has been released:

https://www.python.org/downloads/release/python-3120b3/

This is a beta preview of Python 3.12
Python 3.12 is still in development. This release, 3.12.0b3, is the third
of four beta release previews of 3.12.

Beta release previews are intended to give the wider community the
opportunity to test new features and bug fixes and to prepare their
projects to support the new feature release.

We strongly encourage maintainers of third-party Python projects to* test
with 3.12* during the beta phase and report issues found to [the Python bug
tracker (https://github.com/python/cpython/issues) as soon as possible.
While the release is planned to be feature complete entering the beta
phase, it is possible that features may be modified or, in rare cases,
deleted up until the start of the release candidate phase (Monday,
2023-07-31). Our goal is to have no ABI changes after beta 4 and as few
code changes as possible aft... continue reading

#

We’re getting close! 3.12.0 beta 3 has been released:

https://www.python.org/downloads/release/python-3120b3/

This is a beta preview of Python 3.12
Python 3.12 is still in development. This release, 3.12.0b3, is the third
of four beta release previews of 3.12.

Beta release previews are intended to give the wider community the
opportunity to test new features and bug fixes and to prepare their
projects to support the new feature release.

We strongly encourage maintainers of third-party Python projects to* test
with 3.12* during the beta phase and report issues found to [the Python bug
tracker (https://github.com/python/cpython/issues) as soon as possible.
While the release is planned to be feature complete entering the beta
phase, it is possible that features may be modified or, in rare cases,
deleted up until the start of the release candidate phase (Monday,
2023-07-31). Our goal is to have no ABI changes after beta 4 and as few
code changes as possible after 3.12.0rc1, the fi... continue reading

naive kindleBOT
#

Dataclasses should provide a way to ignore a type hinted attributes, and not consider them as fields.

For example, some attributes might be derived during __post_init__ from the values of the fields or other variables.

If one wants to still type hint these attributes, one has to awkward workarounds to avoid having dataclass interpret them as fields. (https://stackoverflow.com/questions/76532816)

I propose NON_FIELDS sentinel, analogous to KW_ONLY. (alternative name suggestions welcome). when writing a dataclass, all attributes after this sentinel are ignored and not considered fields.

@dataclass
class Foo:
    field0: int
    field1: int

    _: KW_ONLY

   fieldN: int

    _: NON_FIELDS

    attr0: int   # @dataclass will ignore this type hint.

Additionally one could consider adding an attribute typing construct, such that attr0: attribute[int] would mark it as a non-field attribute.

naive kindleBOT
#

The pytest team is proud to announce the 7.4.0 release!

This release contains new features, improvements, and bug fixes,
the full list of changes is available in the changelog:

https://docs.pytest.org/en/stable/changelog.html

For complete documentation, please visit:

https://docs.pytest.org/en/stable/

As usual, you can upgrade from PyPI via:

pip install -U pytest

Thanks to all of the contributors to this release:

  • Adam J. Stewart
  • Alessio Izzo
  • Alex
  • Alex Lambson
  • Brian Larsen
  • Bruno Oliveira
  • Bryan Ricker
  • Chris Mahoney
  • Facundo Batista
  • Florian Bruhin
  • Jarrett Keifer
  • Kenny Y
  • Miro Hrončok
  • Ran Benita
  • Roberto Aldera
  • Ronny Pfannschmidt
  • Sergey Kim
  • Stefanie Molin
  • Vijay Arora
  • Ville Skyttä
  • Zac Hatfield-Dodds
  • bzoracler
  • leeyueh
  • nondescryptid
  • theirix

Happy testing,
The pytest Development Team

naive kindleBOT
#

Hi all,

On behalf of the SciPy development team, I'm pleased to announce the
release of SciPy 1.11.0.

Sources and binary wheels can be found at:
https://pypi.org/project/scipy/
and at: https://github.com/scipy/scipy/releases/tag/v1.11.0

One of a few ways to install this release with pip:

pip install scipy==1.11.0

==========================
SciPy 1.11.0 Release Notes

SciPy 1.11.0 is the culmination of 6 months of hard work. It contains
many new features, numerous bug-fixes, improved test coverage and better
documentation. There have been a number of deprecations and API changes
in this release, which are documented below. All users are encouraged to
upgrade to this release, as there are a large number of bug-fixes and
optimizations. Before upgrading, we recommend that users check that
their own code does not use deprecated SciPy functionality (to do so,
run your code with python -Wd and check for DeprecationWarning s).
Ou... continue reading

naive kindleBOT
#

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Greetings,

We are pleased to announce version 23.6.0 of magic-folder.

Magic Folder synchronizes local data to and from a Tahoe-LAFS Grid,
keeping data private with the end-to-end encrypted "Capabilities" of
Tahoe-LAFS. One or more magic-folder clients can join the same Folder,
adding and synchronizing data across multiple devices. Written in
Python, Magic Folder supports Linux, MacOS and Windows. Python3 and
PyPy are supported.

By itself, this project requires familiarity with the command-line and
long-running processes. The Gridsync project provides a cross-
platform GUI experience using the localhost HTTP API.

Changes in this release include:

    • security: Bump dependencies, including security-relevant cryptography library (#716)
    • feature: Added a description of the datamodel to the documentation (#702)
    • feature: Conflict files now named after the Participant (not Author) (#711)
naive kindleBOT
#

Hi All,

On behalf of the NumPy team, I'm pleased to announce the release of NumPy
1.24.4. NumPy 1.24.4 is a maintenance release that fixes a few bugs
discovered after the 1.24.3 release.

The Python versions supported by this release are 3.8-3.11 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. Wheels can be downloaded from PyPI
https://pypi.org/project/numpy/1.24.4/; source archives, release notes,
and wheel hashes are available on Github
https://github.com/numpy/numpy/releases/tag/v1.24.4.

Contributors

A total of 4 people contributed to this release. People with a "+" by
their names contributed a patch for the first time.

  • Bas van Beek
  • Charles Harris
  • Sebastian Berg
  • Hongyang Peng +

Pull requests merged
A total of 6 pull requests were merged for this release.

naive kindleBOT
#

This document describes the development and release schedule for Python 3.13. The schedule primarily concerns itself with PEP-sized items.

naive kindleBOT
naive kindleBOT
#

Hi all,

On behalf of the SciPy development team, I'm pleased to announce the
release of SciPy 1.11.1, which
addresses a few bugs and in particular a licensing issue discovered shortly
after the release of 1.11.0,
which has now been yanked from PyPI.

Sources and binary wheels can be found at:
https://pypi.org/project/scipy/
and at: https://github.com/scipy/scipy/releases/tag/v1.11.1

One of a few ways to install this release with pip:

pip install scipy==1.11.1

======================
SciPy 1.11.1 Release Notes

SciPy 1.11.1 is a bug-fix release with no new features
compared to 1.11.0. In particular, a licensing issue
discovered after the release of 1.11.0 has been addressed.

Authors

  • Name (commits)
  • h-vetinari (1)
  • Robert Kern (1)
  • Ilhan Polat (4)
  • Tyler Reddy (8)

A total of 4 people contributed to this release.
People with a "+" by their names contributed a patch for the first time.
This list of names is autom... continue reading

naive kindleBOT
#

A dict method to retrieve the key of a value from a bijective dict would have come in handy to me in several occasions:

names = {'one': 1}
names.inverse()[1]
'one'
names = {'one': 1, 'uno': 1}
names.inverse()[1]
ValueError: dict is not bijective

My usual use case is when both keys and values have simple types like int/str, like:

{
'account-a': 123,
'account-b': 456,
}

Users may enter the account name, or the ID. The system works with the account ID (translating from the account name if needed), but when it needs to mention the account to the user, it shows the account name instead.

I do understand that retrieval wouldn't be O(1).

naive kindleBOT
#

As most of you probably know, you can use else with try blocks:

try:
do_stuff()
except SomeExceptionClass:
handle_error()
else:
no_error_occurred()

Here, no_error_occurred will only be called if do_stuff() didn't raise an
exception.

However, the following is invalid syntax:

try:
do_stuff()
else:
no_error_occurred()

Now you might say that this isn't needed as you can achieve the same result
with

do_stuff()
no_error_occurred()

However, what if I want to use finally as well:

try:
do_stuff()
else:
no_error_occurred()
finally:
cleanup()

and I need no_error_occurred to be called before cleanup? For my actual
use case, I've done

try:
do_stuff()
except Exception:
raise
else:
no_error_occurred()
finally:
cleanup()

This seems very non-Pythonic. Is there a reason why else without except
has to be invalid syntax?

naive kindleBOT
#

Hi all,

It fills us with astronomical joy to announce the release of Kedro 0.18.11! 🔶

Kedro is an open source, orchestrator-agnostic Python framework for creating reproducible, maintainable and modular data science code. It reduces technical debt when moving prototypes into production by providing a declarative data catalog, a solid project template, plumbing for creating data pipelines, and more. It features a rich ecosystem of plugins and third-party datasets and is currently an incubation-stage project of the LF AI & Data Foundation.

You can install it using pip or conda/[micro]mamba:

pip install kedro==0.18.11
conda/[micro]mamba install kedro=0.18.11 --channel conda-forge

In this release, we added added a new databricks-iris official starter and significantly improved the documentation around Databricks deployments. We also fixed some bugs around micropackaging and remote datasets, updated the documentation for Prefect 2.0, and deprecated some class name... continue reading

naive kindleBOT
#

This is a second call for submissions to PyConZA 2023.

PyConZA 2023 will take place on the 5th & 6th of October, 2023. This
year, PyConZA will be a hybrid conference (with in-person and online
access) hosted at the Premier Splendid Inn in Umhlanga, Durban.

We are looking for the following presentations:

  • Keynotes (45 minute long talks on a subject of general interest)
  • Talks (30 minute long talks on more specific topics)
  • Remote Talks (30 minute long talks that will be delivered remotely
  • note that the number of remote talk slots is more limited due to
    technical constraints).

If you would like to give a presentation, please register at
https://za.pycon.org/ and submit your proposal, following the
instructions at https://za.pycon.org/talks/how-to-submit-a-talk/ . We
have a number of tracks available, including: Data Science, Teaching
and Learning with Python, Web, Scientific Computing, Testing and Other
(which includes all talks that don't fall under the mentioned tracks).
... continue reading

naive kindleBOT
#

This is to announce the release of salabim 23.2.0 .
Salabim is a discrete event simulation package that has applications in
logistics, communications, production, mining, hospital operations, etc.
It supports powerful realtime 2D and 3D animations, monitoring, statistical
sampling functions, ...
In contrast to SimPy, salabim is build around dynamic objects (components)
that interact with each other.
Up to now, that was done with generator functions (coroutines), like
class Car(sim.Component):
def process(self):
yield self.hold(5)
pump.activate()
yield self.passivate()
But as from this version, salabim processes can also run as greenlets, so
yields are not required anymore:
class Car(sim.Component):
def process(self):
self.hold(5)
pump.activate()
self.passivate()
This makes modeling much more natural and less error prone.

For more information, including the full documentation, changelog, etc.
goto www.salabi... continue reading

naive kindleBOT
#

Stating a new thread with a correct title.

On 2 Jul 2023, at 10:12, Paul Moore p.f.moore@gmail.com wrote:

Unfortunately, too much of this discussion is framed as “someone should”,

or “it would be good if”. No-one is saying “I will”. Naming groups, like
“the PyPA should” doesn’t help either - groups don’t do things, people do.
Who in the PyPA? Me? Nope, sorry, I don’t have the time or interest - I’d
use a curated index, I sure as heck couldn’t create one.

Well, I started this topic, and I don't think I ever wrote "someone
should", and I certainly didn't write "PyPa should".

But whatever I or anyone else wrote, my intention was to discuss what might
be done to address what I think is a real problem/limitation in the
discoverability of useful packages for Python.

And I think of it not so much as "someone should" but as "it would be nice
to have".

Of course, any of these ideas would take a lot of work to implement -- and
even though there are a lot of folks, on this ... continue reading

naive kindleBOT
#

Python has the "star" ("*") operator for multiplication. In the context of collections it is supposed to mean element-wise multiplication. Its associated operator is __mul__. It also has the double star ("**") operator for exponentiation, which is repeated multiplication. Its associated operator is __exp__.In addition to that Python has the "at" ("@") operator for multiplication. In the context of collections it should mean linear product, like matrix times a matrix, or matrix times vector. Its associated method is __matmul__.For completeness we should now have the exponentiation operator meaning repeated application of the "at" operator. Its method could me __matexp__.

naive kindleBOT
#

Hi All,

On behalf of the NumPy team, I'm pleased to announce the release of NumPy
1.25.1. NumPy 1.25.1 is a maintenance release that fixes bugs discovered
after the 1.24.3 release and updates the build infrastructure to stay
current with upstream changes.

The Python versions supported by this release are 3.9-3.11 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. Wheels can be downloaded from PyPI
https://pypi.org/project/numpy/1.25.1/; source archives, release notes,
and wheel hashes are available on Github
https://github.com/numpy/numpy/releases/tag/v1.25.1.

Contributors

A total of 10 people contributed to this release. People with a "+" by
their names contributed a patch for the first time.

  • Andrew Nelson
  • Charles Harris
  • Developer-Ecosystem-Engineering
  • Hood Chatham
  • Nathan Goldbaum
  • Rohit Goswami
    -... continue reading
naive kindleBOT
#

Hi everyone,

I would like to briefly present my idea regarding the get function commonly used with dictionaries. When working with large amounts of JSON data, I often encounter code that doesn't feel very Pythonic to me.

Problem Statement:

The get function allows chaining of method calls, which is quite useful when working with dictionaries. It also has a convenient default parameter that returns a default value if the key is not found in the dictionary. This feature makes it safe and easy to use. However, problems arise when the dictionary contains the key we are accessing, but the corresponding value is None. In such cases, subsequent get calls fail because the get method belongs to objects of type dict and not None. To address this, I propose adding a new parameter to the get function or introducing a new function called get_or that swiftly handles this issue. This new parameter, called arbitrary, would accept an arbitrary value to be returned by... continue reading

naive kindleBOT
#

PyCA cryptography 41.0.2 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.7+, and PyPy3 7.3.10+.

Changelog (https://cryptography.io/en/latest/changelog/#v41-0-2):

  • Fixed bugs in creating and parsing SSH certificates where critical
    options with values were handled incorrectly. Certificates are now
    created correctly and parsing accepts correct values as well as the
    previously generated invalid forms with a warning. In the next
    release, support for parsing these invalid forms will be removed.

-Paul Kehrer (reaperhulk)

naive kindleBOT
#

Hi all,

I'm delighted to announce the latest release of skforecast!

In this release (0.9.0), we have made significant improvements to enhance
performance and deliver an even better experience. Key highlights of this
release:

𝐄𝐧𝐡𝐚𝐧𝐜𝐞𝐝 𝐩𝐞𝐫𝐟𝐨𝐫𝐦𝐚𝐧𝐜𝐞: We have refactored our backtesting
and fit methods to leverage multi-processing parallelization, resulting in
faster and more efficient computations.

𝐄𝐱𝐩𝐚𝐧𝐝𝐞𝐝 𝐛𝐚𝐜𝐤𝐭𝐞𝐬𝐭𝐢𝐧𝐠 𝐟𝐮𝐧𝐜𝐭𝐢𝐨𝐧𝐚𝐥𝐢𝐭𝐲: With
new backtesting configurations, you now have more control over when the
forecaster is retrained. This allows for better evaluation and fine-tuning
of different scenarios.

Skforecast is a Python library that eases using scikit-learn regressors as
single and multi-step forecasters. It also works with any regressor
compatible with the scikit-learn API (pipelines, CatBoost, LightGBM,
XGBoost, Ranger...).

Docs: https://skforecast.org/

Why use skforecast?

The fields of statistics and machine learning have developed many excellen... continue reading

naive kindleBOT
#

Not much time left! I’ve released 3.12.0 beta 4. We’re now in the run-up to
rc1, so keep that in mind when you backport to the 3.12 branch.

https://www.python.org/downloads/release/python-3120b4/

This is a beta preview of Python 3.12
Python 3.12 is still in development. This release, 3.12.0b4, is the final
of four beta release previews of 3.12.

Beta release previews are intended to give the wider community the
opportunity to test new features and bug fixes and to prepare their
projects to support the new feature release.

We strongly encourage maintainers of third-party Python projects to test
with 3.12
during the beta phase and report issues found to the Python bug
tracker https://github.com/python/cpython/issues as soon as possible.
While the release is planned to be feature complete entering the beta
phase, it is possible that features may be modified or, in rare cases,
deleted up until the start of the release candidate phase (Monday,
2023-07-31). Our goal is to have no... continue reading

naive kindleBOT
#

Not much time left! I’ve released 3.12.0 beta 4. We’re now in the run-up to
rc1, so keep that in mind when you backport to the 3.12 branch.

https://www.python.org/downloads/release/python-3120b4/

This is a beta preview of Python 3.12
Python 3.12 is still in development. This release, 3.12.0b4, is the final
of four beta release previews of 3.12.

Beta release previews are intended to give the wider community the
opportunity to test new features and bug fixes and to prepare their
projects to support the new feature release.

We strongly encourage maintainers of third-party Python projects to test
with 3.12
during the beta phase and report issues found to the Python bug
tracker https://github.com/python/cpython/issues as soon as possible.
While the release is planned to be feature complete entering the beta
phase, it is possible that features may be modified or, in rare cases,
deleted up until the start of the release candidate phase (Monday,
2023-07-31). Ou... continue reading

naive kindleBOT
#

I'm proud to release version 2.3.0 of the Roundup issue
tracker. This release is a bugfix and feature
release, so make sure to read docs/upgrading.txt <https://www.roundup-tracker.org/docs/upgrading.html>_ to
bring your tracker up to date.

The changes, as usual, include some new features and many
bug fixes.

Note that you should run roundup-admin ... migrate to
update the database schema version. Do this before you use
the web, command-line or mail interface and before any users
access the tracker.

You can download it with::

pip download roundup

then unpack and test/install the tarball. Also::

pip install roundup

(preferably in a virtual environment) can be used.

Among the notable improvements from the 2.2.0 release are:

  • Dockerfile demo mode implemented. This allows quick evaluation as
    well as the ability to spin up a configured tracker to customise.

  • SQLite backends can use WAL mode to reduce blocking between readers
    and writers improving concurrent use.
    ... continue reading

naive kindleBOT
naive kindleBOT
#

Version 0.3.7 of distlib has recently been released on PyPI [1]. For newcomers, distlib is a library of packaging functionality which is intended to be usable as the basis for third-party packaging tools.

The main changes in this release are as follows:

  • Handle bare newlines when parsing metadata.

  • Use version comparison logic for python_full_version.

  • Fix shebang computation for source builds of Python.

  • Extract tarfiles more safely by incorporating tarfile filters.

  • Check for 'has_cert' attribute before using it.

  • Fix #200: Improve conformance to PEP440.

  • Fix #203: Handle parsing of export entries to allow script names such as "," or ",foo".

A more detailed change log is available at [2].

Please try it out, and if you find any problems or have any suggestions for improvements, please give some feedback using the issue tracker at [3].

Regards,

Vinay Sajip

[1] https://pypi.org/project/distlib/0.3.7/
[2] https://distlib.readthedocs.io/en... continue reading

naive kindleBOT
#

Hi everyone,

I am not very keen on long discussions on such matter as I do not think there is much to discuss: there is no technical complexity in it and it doesn’t really change or introduce anything new. It is only a matter of opinion & style/design preferences with respect to logical order and brevity of a statement.

So I thought, if anyone can be bothered on such question and instead of writing 3-minute e-mail, would take few seconds to answer 3-question poll.

https://q5yitzu62.supersurvey.com https://q5yitzu62.supersurvey.com/

Would be interesting to see if my preference is an outlier or not really.

Kind regards,
D. Grigonis

naive kindleBOT
naive kindleBOT
naive kindleBOT
#

What Changed?

This is an enhancement and bug-fix release, and all users are encouraged to upgrade.

Brief summary:

  • Added TRUST_EXPIRED to trust_keys.

  • Fix #206: Remove deprecated --always-trust in favour of --trust-model always

  • Fix #208: Add status_detail attribute to result objects which is populated when
      the status is 'invalid recipient' (encryption/decryption) or 'invalid signer'
      (signing). This attribute will be set when the result object's status attribute is
      set to 'invalid recipient' and will contain more information about the failure in the
      form of reason:ident where reason is a text description of the reason, and
      ident identifies the recipient key.

  • Add scan_keys_mem() function to scan keys in a string.

  • Fix #214: Handle multiple signatures when one of them is invalid or unverified.

  • A problems attribute was added which holds problems reported by gpg
      during verification. This is a list of dictionaries, one for... continue reading

naive kindleBOT
#

I'm happy to announce the release of PyEmpaq 0.4.

PyEmpaq is a simple but powerful Python packer to run any project with
any virtualenv dependencies anywhwere.

With PyEmpaq you can convert any Python project into a single .pyz
file with all the project's content packed inside.

That single file is everything that needs to be distributed. When the
final user executes it, the original project will be expanded, its
dependencies installed in a virtualenv, and then executed. Note that
no special permissions or privileges are required, as everything
happens in the user environment.

Both the packaging and the execution are fully multiplatorm. This
means that you can pack a project in Linux, Windows, MacOS or
whatever, and it will run ok in Linux, Windows, MacOS or whatever. The
only requirement is Python to be already installed.

What's new in this version?

naive kindleBOT
#

Thanks everyone for the great feedback on the 3.1.0 release! Caught some glaring regressions that slipped through my test suite. Just published version 3.1.1: https://github.com/pyparsing/pyparsing/releases/tag/3.1.1

  • Fixed regression in Word(min), reported by Ricardo Coccioli, good catch! (Issue #502)

  • Fixed bug in bad exception messages raised by Forward expressions. PR submitted by Kyle Sunden, thanks for your patience and collaboration on this (#493).

  • Fixed regression in SkipTo, where ignored expressions were not checked when looking for the target expression. Reported by catcombo, Issue #500.

  • Fixed type annotation for enable_packrat, PR submitted by Mike Urbach, thanks! (Issue #498)

  • Some general internal code cleanup. (Instigated by Michal Čihař, Issue #488)

naive kindleBOT
#

This PEP proposes making function objects subscriptable for typing purposes. Doing so gives developers explicit control over the types produced by the type checker where bi-directional inference (which allows for the types of parameters of anonymous functions to be inferred) and other methods than specialisation are insufficient.

naive kindleBOT
#

Hi All,

On behalf of the NumPy team, I'm pleased to announce the release of NumPy
1.25.2. NumPy 1.25.2 is a maintenance release that fixes bugs and
regressions discovered after the 1.25.1 release. This is the last planned
release in the 1.25.x series, the next final release will be 1.26.0, which
will use the meson build system and support Python 3.12.

The Python versions supported by this release are 3.9-3.11 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. Wheels can be downloaded from PyPI
https://pypi.org/project/numpy/1.25.2/; source archives, release notes,
and wheel hashes are available on Github
https://github.com/numpy/numpy/releases/tag/v1.25.2.

Contributors

A total of 13 people contributed to this release. People with a "+" by
their names contributed a patch for the first time.

naive kindleBOT
#

PyCA cryptography 41.0.3 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.7+, and PyPy3 7.3.10+.

Changelog (https://cryptography.io/en/latest/changelog/#v41-0-3):

  • Fixed performance regression loading DH public keys.
  • Fixed a memory leak when using ChaCha20Poly1305.
  • Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.1.2.

-Paul Kehrer (reaperhulk)

naive kindleBOT
#

Hi folks,

I just used Structural Pattern Matching quite intensively and I'm
pretty amazed of the new possibilities.

But see this code, trying to implement Mark Pilgrim's regex
algorithm for roman literals with SPM:

With constants, I can write

 match seq:
     case "M", "M", "M", "M", *r:
         return 4 * 1000, r

But if I want to use abbreviations by assignment, this is no longer
possible, and I have to write something weird like:

 M = "M"
 match seq:
     case a, b, c, d, *r if M == a == b == c == d:
         return 4 * 1000, r

So what is missing seems to be a notion of const-ness, which
could be dynamically deduced. Am I missing something?

--
Christian Tismer-Sperling :^) tismer@stackless.com
Software Consulting : http://www.stackless.com/
Strandstraße 37 : https://github.com/PySide
24217 Schönberg : GPG key -> 0xFB7BEE0E
phone +49 173 24 18 776 fax +49 (30) 700143-0023

naive kindleBOT
#

Dear pythoneers,

I'm pleased to announce a little update of the RSFile I/O Library,
bringing support for recent Python versions.

RSFile provides drop-in replacements for io classes and for the open()
builtin.

Its goal is to provide a cross-platform, reliable, and comprehensive
synchronous file I/O API, with advanced
features like fine-grained opening modes, shared/exclusive file record
locking, thread-safety, cache synchronization,
file descriptor inheritability, and handy stat getters (size, inode,
times...).

Possible use cases for this library: write to logs concurrently without
ending up with garbled data,
manipulate sensitive data like disk-based databases, synchronize
heterogeneous producer/consumer
processes when multiprocessing semaphores aren't an option...

Unix users might particularly be interested by the workaround that this
library provides, concerning
the weird semantic of fcntl() locks (when any descriptor to a disk file
is closed, the process loses ALL
lock... continue reading

#

Hello everyone,

I'm pleased to announce the release of Django-Compat-Patcher 0.12, which
now includes 86 compatibility shims ranging from Django 1.6 to 4.2

If your Django project is incompatible with handy pluggable apps, or if
you reach the depths of dependency hell when attempting to mass-upgrade
your packages, no panic!

Just drop this django compatibility patcher into your project, and keep
your developments going forward, while dependency conflicts are slowly
sorted out in bugtrackers.

As a proof-of-concept, the Pychronia alternate reality portal
(https://github.com/ChrysalisTeam/pychronia) is kept perfectly
functional on Django 4.2, while still having Django 1.10 constructs like
"views as dotted strings" (but don't do that for your own projects of
course, alternative tools like django-compat or django-codemod will help
you migrate your own codebase).

Enjoy your decade-long backward compatibility, and get in touch if some
compatibility shims are missing for you.

Pa... continue reading

naive kindleBOT
naive kindleBOT
naive kindleBOT
#

I'm happy to announce the release of Pygments 2.16. Pygments is a
generic syntax highlighter written in Python.

Pygments 2.16 provides a dozen new lexers and many improvements to
existing lexers, as well as new styles. Please have a look at the
changelog https://pygments.org/docs/changelog/.

Report bugs and feature requests in the issue tracker:
https://github.com/pygments/pygments/issues. Thanks go to all the
contributors of these lexers, and to all those who reported bugs and
waited patiently for this release.

Download it from https://pypi.org/project/Pygments/, or look at
the demonstration at https://pygments.org/demo/.

Enjoy,
Matthäus

naive kindleBOT
#

I'm pleased to announce the release of Python 3.12.0rc1:
https://www.python.org/downloads/release/python-3120rc1/
This is the first release candidate of Python 3.12.0

This release, 3.12.0rc1, is the penultimate release preview. Entering the
release candidate phase, only reviewed code changes which are clear bug
fixes are allowed between this release candidate and the final release. The
second candidate (and the last planned release preview) is scheduled for
Monday, 2023-09-04, while the official release of 3.12.0 is scheduled for
Monday, 2023-10-02.

There will be no ABI changes from this point forward in the 3.12 series,
and the goal is that there will be as few code changes as possible.
https://discuss.python.org/t/python-3-12-0-release-candidate-1-released/31137#call-to-action-2Call
to action

We strongly encourage maintainers of third-party Python projects to prepare
their projects for 3.12 compatibilities during this phase, and where
necessary publish Python 3.12 wheels on... continue reading

naive kindleBOT
#

I'm pleased to announce the release of Python 3.12.0rc1:
https://www.python.org/downloads/release/python-3120rc1/
This is the first release candidate of Python 3.12.0

This release, 3.12.0rc1, is the penultimate release preview. Entering the
release candidate phase, only reviewed code changes which are clear bug
fixes are allowed between this release candidate and the final release. The
second candidate (and the last planned release preview) is scheduled for
Monday, 2023-09-04, while the official release of 3.12.0 is scheduled for
Monday, 2023-10-02.

There will be no ABI changes from this point forward in the 3.12 series,
and the goal is that there will be as few code changes as possible.
https://discuss.python.org/t/python-3-12-0-release-candidate-1-released/31137#call-to-action-2Call
to action

We strongly encourage maintainers of third-party Python projects to prepare
their projects for 3.12 compatibilities during this phase, and where
necessary publish Pyt... continue reading

naive kindleBOT
#

I'm happy to announce the release of Pygments 2.16.1. Pygments is a
generic syntax highlighter written in Python.

Pygments 2.16.1 is a hotfix release. Please have a look at the changelog
https://pygments.org/docs/changelog/.

Report bugs and feature requests in the issue tracker:
https://github.com/pygments/pygments/issues. Thanks go to all the
contributors of these lexers, and to all those who reported bugs and
waited patiently for this release.

Download it from https://pypi.org/project/Pygments/, or look at
the demonstration at https://pygments.org/demo/.

Enjoy,
Matthäus

naive kindleBOT
#

This PEP specifies a metadata format that can be embedded in single-file Python scripts to assist launchers, IDEs and other external tools which may need to interact with such scripts.

naive kindleBOT
#

Hi everyone,

In 2.8.5 we have added a new function, validate which checks an
expression ex
for validity, for usage where the program is parsing a user input. There
are also
consequences for this sort of usage, since eval(ex) is called, and as
such we
do some string sanitization as described below.

Project documentation is available at:

http://numexpr.readthedocs.io/

Changes from 2.8.4 to 2.8.5

  • A validate function has been added. This function checks the inputs,
    returning
    None on success or raising an exception on invalid inputs. This
    function was
    added as numerous projects seem to be using NumExpr for parsing user
    inputs.
    re_evaluate may be called directly following validate.
  • As an addendum to the use of NumExpr for parsing user inputs, is that
    NumExpr
    calls eval on the inputs. A regular expression is now applied to help
    sanitize
    the input expression string, forbidding '__', ':', and ';'. Attri... continue reading
naive kindleBOT
#

Announcing the release of Tkintertoy version 1.60.

Python educators, do you want to move your students beyond command-line
interfaces (ie. input-print) but find the jump to Tkinter too much?
Give TkinterTOY a try. It makes Tkinter GUI programming child's play.

Used in college-level courses, your students will be writing clean, balanced
GUI interfaces quickly. Tkintertoy also let the student explore more complex
parts of Tkinter when they are ready.

Extensive online documentation with a beginner's tutorial that covers
many types of simple examples is available. Tkintertoy has an MIT license.

Downloads:
https://pypi.python.org/pypi/tkintertoy

Documentation:
http://tkintertoy.readthedocs.io/en/master/

Repository:
https://github.com/mcalla314/tkintertoy

Enjoy.

<P><A HREF="http://pypi.tkintertoy.com">Tkintertoy 1.60</A>
A lightweight wrapper for Tkinter for novice coders. (08/07/23)</P>

naive kindleBOT
#

Hello!

I'm pleased to announce version 3.3.2, the 2nd bug-fix
of branch 3.3 of CheetahTemplate3.

What's new in CheetahTemplate3

The contributor for this release is nate.k. Thanks!

Bug fixes:

  • Fixed printing to stdout in CheetahWrapper.

CI:

  • CI(GHActions): Install all Python and PyPy versions from conda-forge.

What is CheetahTemplate3

Cheetah3 is a free and open source (MIT) Python template engine.
It's a fork of the original CheetahTemplate library.

Python 2.7 or 3.4+ is required.

Where is CheetahTemplate3

Site:
https://cheetahtemplate.org/

Download:
https://pypi.org/project/CT3/3.3.2

News and changes:
https://cheetahtemplate.org/news.html

StackOverflow:
https://stackoverflow.com/questions/tagged/cheetah

Mailing lists:
https://sourceforge.net/p/cheetahtemplate/mailman/

Development:
https://github.com/CheetahTemplate3

Developer Guide:
https://cheetahtemplate.org/dev\_gui... continue reading

naive kindleBOT
#

Hello!

I'm pleased to announce version 3.10.2, a minor feature release
and the second bugfix release of branch 3.10 of SQLObject.

What's new in SQLObject

The contributor for this release is Igor Yudytskiy. Thanks!

Minor features

  • Class Alias grows a method .select() to match SQLObject.select().

Bug fixes

  • Fixed a bug in SQLRelatedJoin in the case where the table joins with
    itself; in the resulting SQL two instances of the table must use different
    aliases. Thanks to Igor Yudytskiy for providing an elaborated bug report.

For a more complete list, please see the news:
http://sqlobject.org/News.html

What is SQLObject

SQLObject is a free and open-source (LGPL) Python object-relational
mapper. Your database tables are described as classes, and rows are
instances of those classes. SQLObject is meant to be easy to use and
quick to get started with.

SQLObject supports a number of backends: My... continue reading

naive kindleBOT
#

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/vulture
http://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.6+

News

  • Add UnicodeEncodeError exception handling to core.py (milanbalazs,
    #299).
  • Add whitelist for Enum attributes _name_ and _value_ (E... continue reading
naive kindleBOT
#

Trac 1.4.4 Released

Trac 1.4.4, the latest maintenance release for the current stable
branch, is available.

You will find this release at the usual places:

https://trac.edgewall.org/wiki/TracDownload#Trac14StableRelease

You can find the detailed release notes for 1.4.4 on the following
pages:
https://trac.edgewall.org/wiki/TracChangeLog
https://trac.edgewall.org/wiki/TracDev/ReleaseNotes/1.4#MaintenanceReleases

Now to the packages themselves:

URLs:

https://download.edgewall.org/trac/Trac-1.4.4.tar.gz
https://download.edgewall.org/trac/Trac-1.4.4-py2-none-any.whl
https://download.edgewall.org/trac/Trac-1.4.4.win32.exe
https://download.edgewall.org/trac/Trac-1.4.4.win-amd64.exe

MD5 sums:

c2083865eec883d3daa3c4fa627200a0 Trac-1.4.4.tar.gz
ad4216ac517b429e269fe1e624228de2 Trac-1.4.4-py2-none-any.whl
91edaba8aed71ccfd3313b7e4d5f024e Trac-1.4.4.win32.exe
985510fb24d75716bda9a11f36b6ecce Trac-1.4.4.win-amd64.exe

SHA256 sums:

5877741993d480355a327e9937e84c1f4373... continue reading

naive kindleBOT
#

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 ... continue reading
naive kindleBOT
#

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#oracledb-1-4-0-august-2023

Please provide any feedback via GitHub issues: https://github.com/oracle/
python-oracledb/issues or discussions: https://github.com/oracle/python-
oracledb/discussions

naive kindleBOT
#

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)
    *... continue reading
naive kindleBOT
naive kindleBOT
#

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/vulture
http://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 Jendr... continue reading
naive kindleBOT
#

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-GA.html


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, descript... continue reading

naive kindleBOT
#

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@plot.ly* ­W https://www.plotly.com/ ­*
https://go.plotly.com/dash-chatgpt?utm\_source=Webinar%3A+ChatGPT+8%2F30%2F23&utm\_medium=wisestamp\_signature

naive kindleBOT
#

Leo https://leo-editor.github.io/leo-editor/ 6.7.4 is now available on
GitHub and pypi.

Leo is an IDE, outliner and PIM.

The highlights of Leo 6.7.4

Warning: breaking changes to Leo's api

p.get_UNL returns gnx-based unls. Previously it returned path-based gnxs.
See the first comment of PR #3424 for full details.

gnx-based unls

  • PR #3215 and #3424: gnx-based unls (clickable links).
    These links will break only if the original node is deleted.

New settings

  • @string unl-status-kind = gnx
  • @bool full-unl-paths = True
  • @data unl-path-prefixes

Other improvements

  • PR #3330: Improve importers for C, C++, and cython.
  • PR #3345: Improve importer architecture.
  • PR #3363 & #3379: Improve c.recursiveImport.
  • PR #3376: Improve python importer.

Large code changes

naive kindleBOT
#

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 a... continue reading
naive kindleBOT
#

There’s security content in the releases, let’s dive right in.

gh-108310 https://github.com/python/cpython/issues/108310: Fixed an issue where instances of ssl.SSLSocket https://docs.python.org/release/3.10.13/library/ssl.html#ssl.SSLSocket were vulnerable to a bypass of the TLS handshake and included protections (like certificate verification) and treating sent unencrypted data as if it were post-handshake TLS encrypted data. Security issue reported as CVE-2023-40217 1 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-40217 by Aapo Oksman. Patch by Gregory P. Smith.
Upgrading is highly recommended to all users of affected versions.

https://discuss.python.org/t/python-3-11-5-3-10-13-3-9-18-and-3-8-18-is-now-available/32254/1#python-3115-1Python 3.11.5

Get it here: https://www.python.org/downloads/release/python-3115/

This release was held up somewhat by the resolution of this CVE, which is why it includes a whopping 328 new commits since 3.11.4 (compared to 238 commi... continue reading

naive kindleBOT
#

There’s security content in the releases, let’s dive right in.

gh-108310 https://github.com/python/cpython/issues/108310: Fixed an issue where instances of ssl.SSLSocket https://docs.python.org/release/3.10.13/library/ssl.html#ssl.SSLSocket were vulnerable to a bypass of the TLS handshake and included protections (like certificate verification) and treating sent unencrypted data as if it were post-handshake TLS encrypted data. Security issue reported as CVE-2023-40217 1 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-40217 by Aapo Oksman. Patch by Gregory P. Smith.
Upgrading is highly recommended to all users of affected versions.

https://discuss.python.org/t/python-3-11-5-3-10-13-3-9-18-and-3-8-18-is-now-available/32254/1#python-3115-1Python 3.11.5

Get it here: https://www.python.org/downloads/release/python-3115/

This release was held up somewhat by the resolution of this CVE, which is why it includes a whopping 328 new commits since 3.11.4 (compared to 238 commi... continue reading

naive kindleBOT
#

This document proposes a way to complement docstrings to add additional documentation to Python symbols using type annotations with Annotated (in class attributes, function and method parameters, return values, and variables).

naive kindleBOT
naive kindleBOT
#

The standard pattern to create a sentinel in Python is

Unset = object()

While this is often good enough, it has some shortcomings:

  • repr(Unset) is unhelpful: <object at 0x1ded9911b60>

  • copy/deepcopy create a copy of the sentinel object, which can lead to surprising results such as:

    d = {'val': Unset}
    d['val'] is Unset
    True
    d2 = copy.deepcopy(d)
    d2['val'] is Unset
    False

  • The code "Unset = object()" is quite obscure for people not familiar with the sentinel pattern.

I propose to provide a sentinel() factory function so that

Unset = sentinel("Unset")
repr(unset)
<Unset>
copy.copy(Unset) is Unset
True
copy.deepcopy(Unset) is Unset
True

A simple implementation would be something like

def sentinel(name):
return type(name, (), {
'__repr__': lambda self: f"<{self.__class__.__name__}>",
'__copy__': lambda self: self,
'__deepcopy__': lambda self, memo: self,
})

Likely, t... continue reading

naive kindleBOT
naive kindleBOT
#

pyspread 2.2.2

This is a bugfix release.

Bug fixes:

  • pip install fixed by replacing deprecated setup.py option requires
    with install_requires
  • Shebang removed from desktop file

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.2.2.tar.gz.asc?inline=false
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:

naive kindleBOT
#

Greetings,

I’m very happy to announce that the first stable version 23.20.0 of my svcs (read: services) package is up on PyPI: https://pypi.org/project/svcs/

I have spent the past months trial-and-erroring, talking to everybody who wouldn't run away, and writing docs. So many docs.

I’ve put that effort into it because I find it life-changing for writing web applications and I REALLY want y’all understand WHY.

When talking to people, two patterns repeated themselves:

  1. The average company has 3.5 half-baked implementations of svcs.
  2. People either get very excited or very indifferent.

The pattern it implements is called a service locator, but in most cases it’s just a convenient abstraction for plucking runtime-dependencies (correctly: SERVICES) from request objects + lifecycle features like instantiation/cleanups + introspection + better testability.

While implementing it, I've also noticed how incredibly muddy and overloaded the vernacular around these topics i... continue reading

naive kindleBOT
#

I'm pleased to announce the release of Python 3.12 release candidate 2.

https://www.python.org/downloads/release/python-3120rc2/

This is the second release candidate of Python 3.12.0

This release, 3.12.0rc2, is the last release preview for Python 3.12.

There will be no ABI changes from this point forward in the 3.12 series.
The intent is for the final release of 3.12.0, scheduled for Monday,
2023-10-02, to be identical to this release candidate. This is the last
chance to find critical problems in Python 3.12.

https://discuss.python.org/t/python-3-12-0rc2-final-release-candidate-released/33105#call-to-action-2Call
to action

We strongly encourage maintainers of third-party Python projects to prepare
their projects for 3.12 compatibilities during this phase, and where
necessary publish Python 3.12 wheels on PyPI to be ready for the final
release of 3.12.0. Any binary wheels built against Python 3.12.0rc2 will
work with future versions of Python 3.12. As al... continue reading

naive kindleBOT
#

Hi All,

On behalf of the NumPy team, I'm pleased to announce the release of NumPy
1.26.0rc1. 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... continue reading
naive kindleBOT
#

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.4.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 reported issues.

See the full release notes for all of the details:
https://python-oracledb.readthedocs.io/en/latest/release\_notes.html#oracledb-1-4-1-september-2023

Please provide any feedback via GitHub issues:
https://github.com/oracle/python-oracledb/issues or discussions:
https://github.com/oracle/python-oracledb/discussions

naive kindleBOT
naive kindleBOT
naive kindleBOT
#

As far as I understand, it is not possible. Is it?

Something similar to:

var = 710
variable_name = [k for k, v in locals().items() if v == 710][0]
print("Your variable name is " + variable_name)

,except robust.

Possible ways to expose it:

  • builtin function varname(obj: object) —> str
  • object.__varname__ dunder (this one wouldn’t clutter general namespace)

I am working on some code and just got to the point where it seems I could make use of it. The case is as follows:

What I do now:

class A:
defaults = dict()

def set\_default(self, a):
    self.defaults['a'] = a

def make\_something(self, a=None):
    a = a if a is not None else self.defaults.get('a')
    return Something(a)

What I would like to be able to do:

class A:
defaults = dict()

def set\_default(self, a):
    self.defaults[a.\_\_varname\_\_] = a

def make\_something(self, a=None):
    a = a if a is not None else self.defaults.get(a.\_\_varname\_\_)
    retu... [continue reading](https://mail.python.org/archives/list/python-ideas@python.org/thread/H3O6N2W62EDU75JEQQGN63HETAZNANLP/)
naive kindleBOT
naive kindleBOT
#

Hi everyone,

NumExpr 2.8.6 is a release to deal with issues related to downstream
pandas
where the sanitization blacklist was hitting private variables used in their
evaluate. In addition the sanitization was hitting on scientific notation.

For those who do not wish to have sanitization on by default, it can be
changed
by setting an environment variable, NUMEXPR_SANITIZE=0.

If you use pandas in your packages it is advisable you pin

numexpr >= 2.8.6

in your requirements.

Project documentation is available at:

http://numexpr.readthedocs.io/

Changes from 2.8.5 to 2.8.6

  • The sanitization can be turned off by default by setting an environment
    variable,

    set NUMEXPR_SANITIZE=0

  • Improved behavior of the blacklist to avoid triggering on private
    variables
    and scientific notation numbers.

What's Numexpr?

Numexpr is a fast numerical expression evaluator for NumPy. With it,
expressions... continue reading

naive kindleBOT
#

Hi All,

On behalf of the NumPy team, I'm pleased to announce the release of NumPy
1.26.0. 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 Me... continue reading
naive kindleBOT
#

The message was undeliverable due to the following reason(s):

Your message was not delivered because the destination computer was
not reachable within the allowed queue period. The amount of time
a message is queued before it is returned depends on local configura-
tion parameters.

Most likely there is a network problem that prevented delivery, but
it is also possible that the computer is turned off, or does not
have a mail system running right now.

Your message could not be delivered within 1 days:
Host 47.86.183.166 is not responding.

The following recipients did not receive this message:
python-dev@python.org

Please reply to postmaster@skippinet.com.au
if you feel this message to be in error.

naive kindleBOT
#

I'm pleased to announce the release of Python 3.12 release candidate 3.

https://www.python.org/downloads/release/python-3120rc3/

This is the second release candidate of Python 3.12.0

This release, 3.12.0rc3, is the absolutely last release preview for
Python 3.12.

There will be no ABI changes from this point forward in the 3.12 series.
The intent is for the final release of 3.12.0, scheduled for Monday,
2023-10-02, to be identical to this release candidate. This really is the
last chance to find critical problems in Python 3.12.

https://discuss.python.org/t/python-3-12-0rc2-final-release-candidate-released/33105#call-to-action-2Call
to action

We strongly encourage maintainers of third-party Python projects to prepare
their projects for 3.12 compatibilities during this phase, and where
necessary publish Python 3.12 wheels on PyPI to be ready for the final
release of 3.12.0. Any binary wheels built against Python 3.12.0rc3 will
work with future versions o... continue reading

naive kindleBOT
#

PyCA cryptography 41.0.4 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.7+, and PyPy3 7.3.10+.

Changelog (https://cryptography.io/en/latest/changelog/#v41-0-4):

  • Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.1.3.

Alex

--
All that is necessary for evil to succeed is for good people to do nothing.

naive kindleBOT
naive kindleBOT
#

Trac 1.6 Released

Trac 1.6, the first version to support Python 3, has been released.

You will find this release at the usual places:

https://trac.edgewall.org/wiki/TracDownload#Trac16StableRelease

You can find the detailed release notes for 1.6 on the following
pages:
https://trac.edgewall.org/wiki/TracChangeLog
https://trac.edgewall.org/wiki/TracDev/ReleaseNotes/1.6

Now to the packages themselves:

URLs:

https://download.edgewall.org/trac/Trac-1.6.tar.gz
https://download.edgewall.org/trac/Trac-1.6-py3-none-any.whl

MD5 sums:

fdf48328c1e744d1ce6c5212cd7f3af6 Trac-1.6.tar.gz
fbe2a2dec779b8b04d64c0a5b58b2f00 Trac-1.6-py3-none-any.whl

SHA256 sums:

61d73c61f670d68ffc346829d24b2f1d2050aa561aa71cb98e2fb43992c27304
Trac-1.6.tar.gz
5ff2f3394ebee7cc5b8ee465871cfdecb78ee492a74215b47b6d9ddbcc93b5f7
Trac-1.6-py3-none-any.whl

Acknowledgements

Many thanks to the growing number of people who have, and continue to,
sup... continue reading

naive kindleBOT
#

datetime.datetime has microsecond precision, and if you want to reconstruct
a datetime from microseconds since the Unix epoch in a provided timezone,
you can do:

(datetime(1970, 1, 1, tzinfo=timezone.utc) +
timedelta(microseconds=timestamp_us)).astimezone(tz)

This is a general solution, but it constructs two extra datetimes and a
timedelta on the way. datetime.fromtimestamp could bring that to just the
one, but it takes float seconds, so there's no way to avoid losing
precision (for far enough date in the future, but well short of datetime.max).
One solution is to handle the micros separately:

datetime.fromtimestamp(timestamp_us // 1000000,
tz).replace(microsecond=timestamp_us % 1000000)

This still requires constructing two datetimes, and it bakes in an
assumption that the timezone offset doesn't affect and isn't affected by
the millisecond component. (Which probably is the case! I think.)

This might all be too much thought about edge cases that don't matter, but
given the *_n... continue reading

naive kindleBOT
#

Hi everyone,

NumExpr 2.8.7 is a release to deal with issues related to downstream
pandas
and other projects where the sanitization blacklist was triggering issues
in their
evaluate. Hopefully, the new sanitization code would be much more robust
now.

For those who do not wish to have sanitization on by default, it can be
changed
by setting an environment variable, NUMEXPR_SANITIZE=0.

If you use pandas in your packages it is advisable you pin

numexpr >= 2.8.7

in your requirements.

Project documentation is available at:

http://numexpr.readthedocs.io/

Changes from 2.8.6 to 2.8.7

  • More permissive rules in sanitizing regular expression: allow to access
    digits
    after the . with scientific notation. Thanks to Thomas Vincent.

  • Don't reject double underscores that are not at the start or end of a
    variable
    name (pandas uses those), or scientific-notation numbers with digits
    after the
    decimal point. Thanks to ... continue reading

naive kindleBOT
#

Hi all,

On behalf of the SciPy development team, I'm pleased to announce the
release of SciPy 1.11.3,
which is a bug fix release.

Sources and binary wheels can be found at:
https://pypi.org/project/scipy/
and at: https://github.com/scipy/scipy/releases/tag/v1.11.3

One of a few ways to install this release with pip:

pip install scipy==1.11.3

======================
SciPy 1.11.3 Release Notes

SciPy 1.11.3 is a bug-fix release with no new features
compared to 1.11.2.

Authors

  • Name (commits)
  • Jake Bowhay (2)
  • CJ Carey (1)
  • Colin Carroll (1) +
  • Anirudh Dagar (2)
  • drestebon (1) +
  • Ralf Gommers (5)
  • Matt Haberland (2)
  • Julien Jerphanion (1)
  • Uwe L. Korn (1) +
  • Ellie Litwack (2)
  • Andrew Nelson (5)
  • Bharat Raghunathan (1)
  • Tyler Reddy (37)
  • Søren Fuglede Jørgensen (2)
  • Hielke Walinga (1) +
  • Warren Weckesser (1)
  • Bernhard M. Wiedemann (1)

A total of 17 people contributed to this release.
People wit... continue reading

naive kindleBOT
#

Hello all,
I'm glad to announce the release of pyftpdlib 1.5.8:
https://github.com/giampaolo/pyftpdlib

About

Python FTP server library provides a high-level portable interface to
easily write very efficient, scalable and asynchronous FTP servers with
Python.

What's new

Enhancements

  • #586: removed Python 2.6 support.
  • #591: speedup logging by 28% by using logging._srcfile = None trick.
    This
    avoids calling calling sys._getframe() for each log record.
  • #605: added support for Python 3.12.

Links

--

Giampaolo - https://gmpy.dev/

naive kindleBOT
#

Wing Python IDE version 9.1.2 has been released with improved
auto-import and fixes for debugging with mingw Windows Python builds,
creating projects when multiple  windows are open, auto-editing inside
f-strings, and about 20 other improvements.

Details: https://wingware.com/news/2023-09-28
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 thre... continue reading

naive kindleBOT
#

Finally, it’s final! The final release of Python 3.12.0 (final) is here!

https://www.python.org/downloads/release/python-3120/
This is the stable release of Python 3.12.0

Python 3.12.0 is the newest major release of the Python programming
language, and it contains many new features and optimizations.
https://discuss.python.org/t/python-3-12-0-final-is-here/35186#major-new-features-of-the-312-series-compared-to-311-2Major
new features of the 3.12 series, compared to 3.11
https://discuss.python.org/t/python-3-12-0-final-is-here/35186#new-features-3New
features

naive kindleBOT
#

This PEP proposes a new way to govern the Python type system: a council that is responsible for maintaining and developing the Python type system. The council will maintain a specification and conformance test suite and will initially be appointed by the Python Steering Council.

naive kindleBOT
#

I am delighted to announce the 3.6 release of Austin. If you haven't heard of Austin before, it is an open-source frame stack sampler for CPython, distributed under the GPLv3 license. It can be used to obtain statistical profiling data out of a running Python application without a single line of instrumentation. This means that you can start profiling a Python application straight away, even while it's running in a production environment, with minimal impact on performance.

https://github.com/P403n1x87/austin

The main highlights of the new release are the support for Python 3.12, and the support for sub-interpreters.

More details about what's new and bug-fixes can be found in the change-log

https://github.com/P403n1x87/austin/blob/master/ChangeLog

Installing Austin on your system is now easier than ever, thanks to it being available from PyPI. Simply run

pip install austin-dist

on any supported combination of architecture and platform and the Austin binaries are ready for you to... continue reading

naive kindleBOT
#

Hi Python Developers, after some investigation i consider dev the correct
mailing list.
I got python embedded into OpenSCAD and i'd like to make more use out of it.

statements like these do exactly what they should:

width= 3*5
solid = make_nice_solid(width)
other_solid = solid.size(1)
print(" Everything fine")

But i'd like to be able to write lines like these: These are expressions
which create a value,
which is apparently NOT stored in a variable

solid *3
other_solid - solid

instead of wasting them, I'd like to collect them in an array and display
send it to the display engine
after python evaluation has finished.

Is there some way how i can collect the orphaned expressions ?

naive kindleBOT
#

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/vulture
http://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

News

  • Drop support for Python 3.7 (Jendrik Seipp, #323).
  • Add support for Python 3.12 (Jendrik Seipp, #332).
  • Use end_lineno AST attribute to obtain more accurate line... continue reading
naive kindleBOT
naive kindleBOT
#

logmerger 0.7.0

Screenshot:
https://github.com/ptmcg/logmerger/blob/main/static/log1\_log2\_merged\_tui\_lr.jpg?raw=true

Use logmerger to view multiple log files, merged side-by-side with a common timeline using timestamps from the input files.

  • merge ASCII log files
    • detects various formats of timestamps
    • detects multiline log messages
  • merge .gz files without previously gunzip'ing
  • merge .pcap files
  • merge .csv files

Browse the merged logs using a textual-based TUI:

  • vertical scrolling
  • horizontal scrolling
  • search/find next/find previous
  • go to line
  • go to timestamp

TUI runs in a plain terminal window, so can be run over a regular SSH session.

Installation

Install from PyPi;

pip install logmerger

For PCAP merging support:

pip install logmerger[pcap]

Github repo: https://github.com/ptmcg/logmerger

naive kindleBOT
#

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.4.2/

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 one reported issue and also supplies Python 3.12
binaries for the first time.

See the full release notes for all of the details:
https://python-oracledb.readthedocs.io/en/latest/release\_notes.html#oracledb-1-4-2-october-2023

Please provide any feedback via GitHub issues: https://github.com/oracle/
python-oracledb/issues or discussions: https://github.com/oracle/python-
oracledb/discussions

naive kindleBOT
#

This PEP proposes adding iOS as a supported platform in CPython. The initial goal is to achieve Tier 3 support for Python 3.13. This PEP describes the technical aspects of the changes that are required to support iOS. It also describes the project management concerns related to adoption of iOS as a Tier 3 platform.

naive kindleBOT
#

It’s not a very exciting release (yet), but it’s time for the first alpha
of Python 3.13 anyway!

https://www.python.org/downloads/release/python-3130a1/

This is an early developer preview of Python 3.13
https://discuss.python.org/t/python-3-13-0-alpha-1/36109#major-new-features-of-the-313-series-compared-to-312-1Major
new features of the 3.13 series, compared to 3.12

Python 3.13 is still in development. This release, 3.13.0a1 is the first of
seven planned alpha releases.

Alpha releases are intended to make it easier to test the current state of
new features and bug fixes and to test the release process.

During the alpha phase, features may be added up until the start of the
beta phase (2024-05-07) and, if necessary, may be modified or deleted up
until the release candidate phase (2024-07-30). Please keep in mind that
this is a preview release and its use is not recommended for production
environments.

Many new features for Python 3.13 are still being pl... continue reading

naive kindleBOT
#

This PEP proposes to establish the C API Working Group: a small committee of Python core developers responsible for overseeing and coordinating the development and maintenance of the Python C API.

naive kindleBOT
#

PyScripter is a free and open-source Python Integrated Development Environment (IDE) created with the ambition to become competitive in functionality with commercial Windows-based IDEs available for other languages. It is feature-rich, but also light-weight.

New Features:

  • Python 3.12 support added
  • Improved multi-monitor support (per monitor DPI awareness)
  • Customizable user interface content font size (#1209)
  • Screen reader support in the editor
    Issues addressed:
  • #1172, #1195, #1197, #1198, #1199, #1200, #1208, #1210, #1212, #1214, #1221
naive kindleBOT
#

Hi All,

On behalf of the NumPy team, I'm pleased to announce the release of NumPy
1.26.1. NumPy 1.26.1 is a maintenance release that fixes bugs and
regressions discovered after the 1.26.0 release. In addition, it adds new
functionality for detecting BLAS and LAPACK when building from source.
Highlights are:

  • Improved detection of BLAS and LAPACK libraries for meson builds
  • Pickle compatibility with the upcoming NumPy 2.0.

The Python versions supported by this release are 3.9-3.12. Wheels can be
downloaded from PyPI https://pypi.org/project/numpy/1.26.1/; source
archives, release notes, and wheel hashes are available on Github
https://github.com/numpy/numpy/releases/tag/v1.26.1. The release notes
have documentation of the new meson functionality.

Contributors

A total of 13 people contributed to this release. People with a "+" by
their
names contributed a patch for the first time.

naive kindleBOT
#

Hello all,
I'm glad to announce the release of psutil 5.9.6:
https://github.com/giampaolo/psutil

About

psutil (process and system utilities) is a cross-platform library for
retrieving information on running processes and system utilization (CPU,
memory, disks, network) in Python. It is useful mainly for system
monitoring, profiling and limiting process resources and management of
running processes. It implements many functionalities offered by command
line tools such as: ps, top, lsof, netstat, ifconfig, who, df, kill, free,
nice, ionice, iostat, iotop, uptime, pidof, tty, taskset, pmap. It
currently supports Linux, Windows, macOS, Sun Solaris, FreeBSD, OpenBSD,
NetBSD and AIX, both 32-bit and 64-bit architectures. Supported Python
versions are 2.7 and 3.6+. PyPy is also known to work.

What's new

2023-10-15

Enhancements

  • #1703: cpu_percent()_ and cpu_times_percent()_ are now thread safe,
    meaning they can be called from diff... continue reading
naive kindleBOT
#

Hi all,

Just want to follow up on discussions from before by saying that I came to a conclusion that from my POV non-aware operators would be an excellent addition to python.

The number of times that I need to write:
pal = None if self.pal is None else self.pal.rgb_to_cmy()
or alternatively:
pal = None
if self.pal is None:
pal = self.pal.rgb_to_cmy()
is still fairly high.

The first one is one-line, but its readability is, although not the worst, but is not satisfactory in the context of other practices I have employed.

The second one has good readability, but it takes 3 lines for operation, which I think shouldn’t take more than 1 line.

——

Now following up on my thoughts on deferred evaluation this case could be solved by its side effect, which is allowing user to control evaluation order. However, I think it would be more suitable for corner cases and more complex tool building due to its verbosity and readability, which I think would be better than many corner-case hack... continue reading

naive kindleBOT
#

Pieshell is a Python shell environment that combines the expressiveness of shell pipelines with the power of python iterators.

This release adds support for async/await and async iterators for all shell pipelines, as well as MacOS X support.

Pieshell can be used as an interactive shell replacing e.g. bash or imported as an ordinary python module, providing a superset of the functionality of subprocess.Popen etc.

Example of what Pieshell lets you do:

for name in ls \| grep("-e", ".pyc"):
    rm(name)
naive kindleBOT
naive kindleBOT
naive kindleBOT
naive kindleBOT
#

I am happy to announce Guppy 3 3.1.4

Guppy 3 is a library and programming environment for Python,
currently providing in particular the Heapy subsystem, which supports
object and heap memory sizing, profiling and debugging. It also
includes a prototypical specification language, the Guppy
Specification Language (GSL), which can be used to formally specify
aspects of Python programs and generate tests and documentation from a
common source.

Guppy 3 is a fork of Guppy-PE, created by Sverker Nilsson for Python 2.

This release adds support for Python 3.12, and support for Python 3.7
was dropped.

This release also fixes a few bug fixes, including:

o Fix refcount sanity assertion for Python 3.11, when C asserts are
compiled in.
o Fix INTERATTR definition, where for "internal attributes" it would
always report the attribute name as "newname".
o Fix .referrers occasionally returning empty set due to GC race

License: MIT

The project homepage is on GitHub:

https://github.com/zhuyifei... continue reading

naive kindleBOT
#

Hey,

I bet this has been discussed before but I couldn't find it. I'd appreciate
it if anyone could point me to that thread.

I'm sick of seeing "AttributeError: 'NoneType' object has no attribute
'foo'" whenever there's a re.match operation that fails while the code
expects it to succeed. What do you think about a flag require such that
re.match(pattern, string, require=True) would either return a match or
raise an exception with an actually useful message?

Thanks,
Ram.

naive kindleBOT
#

Hello!

I'm pleased to announce version 3.3.3, the fourth release
of branch 3.3 of CheetahTemplate3.

What's new in CheetahTemplate3

Minor features:

  • Protect import cgi in preparation to Python 3.13.

Tests:

  • Run tests with Python 3.12.

CI:

  • GHActions: Ensure pip only if needed

    This is to work around a problem in conda with Python 3.7 -
    it brings in wrong version of setuptools incompatible with Python 3.7.

What is CheetahTemplate3

Cheetah3 is a free and open source (MIT) Python template engine.
It's a fork of the original CheetahTemplate library.

Python 2.7 or 3.4+ is required.

Where is CheetahTemplate3

Site:
https://cheetahtemplate.org/

Download:
https://pypi.org/project/CT3/3.3.3

News and changes:
https://cheetahtemplate.org/news.html

StackOverflow:
https://stackoverflow.com/questions/tagged/cheetah

Mailing lists:
https://sourceforge.net/p/cheetahtemplate/m... continue reading

naive kindleBOT
#

竜 TatSu is a tool that takes grammars in a variation of EBNF as input, and
outputs memoizing (Packrat) PEG parsers in Python.

Why use a PEG parser? Because regular languages (those parsable with
Python's re package) "cannot count". Any input with nested structures or
with balancing of demarcations requires more than regular expressions to be
parsed.

竜 TatSu can compile a grammar stored in a string into a
tatsu.grammars.Grammar object that can be used to parse any given input,
much like the re module does with regular expressions, or it can generate
a Python module that implements the parser.

On this release:

naive kindleBOT
#

What is akarsu?
akarsu is the New Generation Profiler based on PEP 669.

Installation
pip install akarsu (It requires Python 3.12.0+ to run)

Example Usage
cat example.py

def foo():
x = 1
isinstance(x, int)
return x

def bar():
foo()

bar()

akarsu -f example.py

Output:
Count Event Type Filename(function)
1 PY_CALL example.py(bar)
1 PY_START example.py(bar)
1 PY_CALL example.py(foo)
1 PY_START example.py(foo)
1 C_CALL example.py(<built-in function isinstance>)
1 C_RETURN example.py(foo)
1 PY_RETURN example.py(foo)
1 PY_RETURN example.py(bar)

Total number of events: 8
PY_CALL = 2
PY_START = 2
PY_RETURN = 2
C_CALL = 1
C_RETURN = 1

The project page: https://github.com/furkanonder/akarsu

Enjoy,
Furkan Onder

naive kindleBOT
#

This document describes the schedule and other details of the November 2023 election for the Python steering council, as specified in PEP 13. This is the steering council election for the 2024 term (i.e. Python 3.13).

naive kindleBOT
#

PyCA cryptography 41.0.5 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.7+, and PyPy3 7.3.10+.

Changelog (https://cryptography.io/en/latest/changelog/#v41-0-5):

  • Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.1.4.
  • Added a function to support an upcoming pyOpenSSL release.

-Paul Kehrer (reaperhulk)

naive kindleBOT
naive kindleBOT
#

Hello!

I'm pleased to announce version 3.10.3, the 3rd bugfix release of branch
3.10 of SQLObject.

What's new in SQLObject

The contributors for this release are
Igor Yudytskiy and shuffle (github.com/shuffleyxf).
Thanks!

Bug fixes

  • Relaxed aliasing in SQLRelatedJoin introduced in 3.10.2 - aliasing
    is required only when the table joins with itself. When there're two
    tables to join aliasing prevents filtering -- wrong SQL is generated
    in relJoinCol.filter(thisClass.q.column).

Drivers

  • Fix(SQLiteConnection): Release connections from threads that are
    no longer active. This fixes memory leak in multithreaded programs
    in Windows.

    SQLite requires different connections per thread so
    SQLiteConnection creates and stores a connection per thread.
    When a thread finishes its connections should be closed.
    But if a program doesn't cooperate and doesn't close connections at
    the end of a thread SQLObject leaks memor... continue reading

naive kindleBOT
#

Hello all,
I'm glad to announce the release of pyftpdlib 1.5.9:
https://github.com/giampaolo/pyftpdlib

About

Python FTP server library provides a high-level portable interface to
easily write very efficient, scalable and asynchronous FTP servers with
Python.

What's new

Enhancements

  • #611: use ruff code style checker instead of flake8 + isort (much
    faster +
    makes many more code quality checks).

Bug fixes

  • #604: client connection may be reset in PASV/EPSV mode during TLS
    handshake.
    (patch by Benedikt McMullin)
  • #607: possible infinite wait in Epoll (patch by @stat1c-void)
  • #607: possible infinite traceback printing in DTPHandler (patch by
    @stat1c-void)
  • #613: (CRITICAL) bugfix for TLS disconnect causing 100% CPU usage. (patch
    by
    @hakai)
  • #614: close connection on SSL EOF error, instead of erroneously replying
    with
    "226 Transfer completed."

Links

naive kindleBOT
#

An attempt at Python virtual shell that mixes your native shell with Python with the goal of letting you use your regular shell but also use Python as effectively a shell scripting language, as an alternative to your shell's built-in scripting language.

This was submitted before, but at a terrible time when the site was undergoing technical difficulties. The difficulties have since been resolved.

Python Virtual Shell's homepage is at:

https://cjshayward.com/pvsh/

I invite you to explore and improve it!

Cordially,
C.J.S. Hayward
cjsh@cjshayward.com
https://cjshayward.com

<P><A HREF="http://https://cjshayward.com/pvsh/">Python Virtual Shell 0.0b</A> - A tool designed to let you use a regular LUM shell but also use Python as a shell scripting language (29-Sun-03)

naive kindleBOT
#

PyDev 11.0.2 Release Highlights

Continuing with the updates to Python 3.12, the new release integrates
the latest version of typeshed (so, from typing import override is
now properly recognized).

Also, it's now possible to specify vmargs in the python interpreter
(and not just in the launch configuration).

For Python 3.11 onwards, -Xfrozen_modules=off is now
set in the vm arguments by default.
About PyDev

PyDev is an open-source Python IDE on top of Eclipse for Python (also
available for Python on Visual Studio Code).

It comes with goodies such as code completion, syntax highlighting, syntax
analysis, code analysis, refactor, debug, interactive console, etc.

It is also available as a standalone through LiClipse with goodies such as
multiple cursors, theming and support for many other languages, such as
Django Templates, Jinja2, Html, JavaScript, etc.

Links:

PyDev: http://pydev.org
PyDev Blog: http://pydev.blogspot.com
PyDev on VSCode: http://pyd... continue reading

naive kindleBOT
#

PlotPy V2 distinguishes itself in the realm of plotting libraries. Designed
for Python/Qt applications, this library offers a blend of superior
performance and enhanced interactive features. Its image display features,
driven by a C++ transform engine, include real-time high-quality
interpolation, LUT, and geometric transformations, elevating data
interaction.

PlotPy is part of the PlotPyStack project (https://github.com/PlotPyStack),
dedicated to delivering a comprehensive toolkit for crafting scientific and
technical data visualization applications.

The development efforts for PlotPy V2 were financed by the CEA (<
https://www.cea.fr/>).

What's New in PlotPy V2 🌟:

🔍 Major Updates:

Refined and unified API for curve and image plotting features (widget,
dialog, window). Introduction of a new window for synchronized multi-plot
displays 🔄.

🎨 Enhancements:

Expanded Image Lookup Table functionalities.
Integration of SVG-based shapes.

📖 Documentation:
Com... continue reading

naive kindleBOT
naive kindleBOT
#

The message was undeliverable due to the following reason:

Your message was not delivered because the destination computer was
not reachable within the allowed queue period. The amount of time
a message is queued before it is returned depends on local configura-
tion parameters.

Most likely there is a network problem that prevented delivery, but
it is also possible that the computer is turned off, or does not
have a mail system running right now.

Your message was not delivered within 8 days:
Host 39.68.11.75 is not responding.

The following recipients did not receive this message:
python-dev@python.org

Please reply to postmaster@python.net
if you feel this message to be in error.

naive kindleBOT
#

Hello!

I'm pleased to announce version 3.11.0, the first stable release
of branch 3.11 of SQLObject.

What's new in SQLObject

Features

  • Continue working on SQLRelatedJoin aliasing introduced in 3.10.2.
    When a table joins with itself calling
    relJoinCol.filter(thisClass.q.column) raises ValueError
    hinting that an alias is required for filtering.

  • Test that idType is either int or str.

  • Added sqlmeta.idSize. This sets the size of integer column id
    for MySQL and PostgreSQL. Allowed values are 'TINY', 'SMALL',
    'MEDIUM', 'BIG', None; default is None. For Postgres
    mapped to smallserial/serial/bigserial. For other backends
    it's currently ignored. Feature request by Meet Gujrathi at
    https://stackoverflow.com/q/77360075/7976758

For a more complete list, please see the news:
http://sqlobject.org/News.html

What is SQLObject

SQLObject is a free and open... continue reading

naive kindleBOT
naive kindleBOT
#

Charles R Harris charlesr.harris@gmail.com
Sat, Oct 14, 3:03 PM
to numpy-discussion, SciPy, bcc: python-announce-list
Hi All,

On behalf of the NumPy team, I'm pleased to announce the release of NumPy
1.26.2. NumPy 1.26.2 is a maintenance release that fixes bugs and
regressions discovered after the 1.26.1 release. The Python versions
supported by this release are 3.9-3.12. Wheels can be downloaded from PyPI
https://pypi.org/project/numpy/1.26.2/; source archives, release notes,
and wheel hashes are available on Github
https://github.com/numpy/numpy/releases/tag/v1.26.2. The release notes
have documentation of the new meson functionality.

Contributors

A total of 13 people contributed to this release. People with a "+" by
their
names contributed a patch for the first time.

  • @stefan6419846
  • @thalassemia +
  • Andrew Nelson
  • Charles Bousseau +
  • Charles Harris
  • Marcel Bargull +
  • Mark Mentovai +
  • Matti Picus
  • Nathan Gol... continue reading
naive kindleBOT
#

Hello everyone,

for quite a while now, core discussions have moved to Discourse and
people are obviously enjoying things there:

https://discuss.python.org/c/core-dev/23

The Discourse mailing list mode works reasonably well, so is a suitable
replacement for this mailing list.

Posts to this list are now mostly spam, mailer error reports and the
occasional release postings:

https://mail.python.org/archives/list/python-dev@python.org/latest
(you can't see much of the spam, since we filter most of it)

Question: Should we retire and archive this mailing list ?
(I'm asking as one of the maintainers of the ML)

Thanks,

Marc-Andre Lemburg
eGenix.com

Professional Python Services directly from the Experts (#1, Nov 13 2023)

Python Projects, Coaching and Support ... https://www.egenix.com/
Python Product Development ... https://consulting.egenix.com/
_________________________________________________________... continue reading

naive kindleBOT
#

The original message was received at Thu, 5 Oct 2023 09:08:00 +0300
from [87.212.114.230]

----- The following addresses had permanent fatal errors -----
python-dev@python.org

----- Transcript of session follows -----
... while talking to python.org.:

DATA
<<< 400-aturner; %MAIL-E-OPENOUT, error opening !AS as output
<<< 400-aturner; -RMS-E-CRE, ACP file create failed
<<< 400-aturner; -SYSTEM-F-EXDISKQUOTA, disk quota exceeded
<<< 400

naive kindleBOT
#

Your message was not delivered due to the following reason:

Your message was not delivered because the destination server was
unreachable within the allowed queue period. The amount of time
a message is queued before it is returned depends on local configura-
tion parameters.

Most likely there is a network problem that prevented delivery, but
it is also possible that the computer is turned off, or does not
have a mail system running right now.

Your message could not be delivered within 5 days:
Server 76.93.23.153 is not responding.

The following recipients could not receive this message:
python-dev@python.org

Please reply to postmaster@python.org
if you feel this message to be in error.

naive kindleBOT
#

I'm happy to announce the release of Pygments 2.17. Pygments is a
generic syntax highlighter written in Python.

Pygments 2.17 provides a seven new lexers and many improvements to
existing lexers. It also the first version to officially support Python
3.12. Please have a look at the changelog
https://pygments.org/docs/changelog/.

Report bugs and feature requests in the issue tracker:
https://github.com/pygments/pygments/issues. Thanks go to all the
contributors of these lexers, and to all those who reported bugs and
waited patiently for this release.

Download it from https://pypi.org/project/Pygments/, or look at
the demonstration at https://pygments.org/demo/.

Enjoy,
Matthäus

naive kindleBOT
#

I'm happy to announce the release of Pygments 2.17.1. Pygments is a
generic syntax highlighter written in Python.

Pygments 2.17.1 is a patch release addressing a specific issue with the
TOML parser. See https://pygments.org/docs/changelog/ for details.

Report bugs and feature requests in the issue tracker:
https://github.com/pygments/pygments/issues. Thanks go to all the
contributors of these lexers, and to all those who reported bugs and
waited patiently for this release.

Download it from https://pypi.org/project/Pygments/, or look at
the demonstration at https://pygments.org/demo/.

Enjoy,
Matthäus

naive kindleBOT
#

Hi all,

On behalf of the SciPy development team, I'm pleased to announce the
release of SciPy 1.11.4,
which is a bug fix release.

Sources and binary wheels can be found at:
https://pypi.org/project/scipy/
and at: https://github.com/scipy/scipy/releases/tag/v1.11.4

One of a few ways to install this release with pip:

pip install scipy==1.11.4

======================
SciPy 1.11.4 Release Notes

SciPy 1.11.4 is a bug-fix release with no new features
compared to 1.11.3.

Authors

  • Name (commits)
  • Jake Bowhay (2)
  • Ralf Gommers (4)
  • Julien Jerphanion (2)
  • Nikolay Mayorov (2)
  • Melissa Weber Mendonça (1)
  • Tirth Patel (1)
  • Tyler Reddy (22)
  • Dan Schult (3)
  • Nicolas Vetsch (1) +

A total of 9 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.4
--------------... continue reading

naive kindleBOT
#

A new SCons release, 4.6.0, is now available on the SCons download page:

https://scons.org/pages/download.html

Here is a summary of the changes since 4.5.2:

NEW FUNCTIONALITY

  • D compilers : added support for generation of .di interface files.
    New variables DI_FILE_DIR, DI_FILE_DIR_PREFIX, DI_FILE_DIR_SUFFIX,
    DI_FILE_SUFFIX.
  • MSVC: If available, native arm64 tools will be used on arm64 hosts for
    VS2022.
  • MSVC: If necessary, automatically define VSCMD_SKIP_SENDTELEMETRY for
    VS2019 and later
    on arm64 hosts when using an arm (32-bit) build of python to prevent a
    powershell
    error pop-up window (powershell dll not found).
  • Add a LIBLITERALPREFIX variable which can be set to the linker's
    prefix for considering a library argument unmodified (e.g. for the
    GNU linker, the ':' in '-l:libfoo.a'). Fixes Github issue #3951.

CHANGED/ENHANCED EXISTING FUNCTIONALITY

naive kindleBOT
#

Leo https://leo-editor.github.io/leo-editor/ 6.7.5 is now available on
GitHub and pypi.

Leo is an IDE, outliner and PIM.

The highlights of Leo 6.7.5

  • PR #3568: Improve word-oriented finds and improve Leo's spell checker.
  • PRs #3515 and #3517: Significantly improve python importer.
  • PRs #3509 and #3511: Improve rust importer.

Other improvements

  • PR #3560: Retire the g.SherlockTracer class.
  • PR #3552: Clear dirty bits when writing sqLite DBs.
  • PR #3541: Use c.doCommandByName instead of c.k.simulateCommand.
  • PR #3538: Make file-diff-files undoable.
  • PR #3533: Reload outlines rather than restarting Leo.
  • PR #3531: Add move-outline-to-first-child & move-outline-to-last-child
    commands.
  • PR #3528: Improve copy-gnx command.
  • PR #3525: Add promote-section-references command.
  • PR #3521: Improve what-line c... continue reading
naive kindleBOT
#

I'm happy to announce the release of Pygments 2.17.2. Pygments is a
generic syntax highlighter written in Python.

Pygments 2.17.2 is a patch release addressing a packaging problem
affecting macOS. See https://pygments.org/docs/changelog/ for details.

Report bugs and feature requests in the issue tracker:
https://github.com/pygments/pygments/issues. Thanks go to all the
contributors of these lexers, and to all those who reported bugs and
waited patiently for this release.

Download it from https://pypi.org/project/Pygments/, or look at
the demonstration at https://pygments.org/demo/.

Enjoy,
Matthäus

naive kindleBOT
#

Well, well, well, it’s time for Python 3.13.0 alpha 2!
https://www.python.org/downloads/release/python-3130a2/

This is an early developer preview of Python 3.13
https://discuss.python.org/t/python-3-13-0-alpha-2/39379#major-new-features-of-the-313-series-compared-to-312-1Major
new features of the 3.13 series, compared to 3.12

Python 3.13 is still in development. This release, 3.13.0a2 is the second
of seven planned alpha releases.

Alpha releases are intended to make it easier to test the current state of
new features and bug fixes and to test the release process.

During the alpha phase, features may be added up until the start of the
beta phase (2024-05-07) and, if necessary, may be modified or deleted up
until the release candidate phase (2024-07-30). Please keep in mind that
this is a preview release and its use is not recommended for production
environments.

Many new features for Python 3.13 are still being planned and written. The
most notable change ... continue reading

naive kindleBOT
#

We are happy to announce that we will be running a Python devroom again
at FOSDEM 2024.

This year's edition will be exclusively in-person, and take place on the
3rd and 4th of February, with the Python devroom being available on
Sunday 4th.

If you have not heard about FOSDEM before or are looking for more
information, you can visit the official website at https://www.fosdem.org/.

As usual, we are looking for multiple Pythonistas to help us shape the
devroom schedule. We are now open to receiving your proposals !

With over 8000 participants, FOSDEM is the perfect place to share your
story and meet fellow Python enthusiasts.

Please head over to https://python-fosdem.org/call-for-proposals/ for
the full information about FOSDEM, the CFP and the Devroom.

Good luck to everyone applying. We’re looking forward to meeting you all
at FOSDEM 2024 !

Cheers,

Eric Gazoni and
Marc-Andre Lemburg

naive kindleBOT
naive kindleBOT
naive kindleBOT
#

PyCA cryptography 41.0.6 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.7+, and PyPy3 7.3.10+.

Changelog (https://cryptography.io/en/latest/changelog/#v41-0-6):

  • Fixed a null-pointer-dereference and segfault that could occur when
    loading certificates from a PKCS#7 bundle. Credit to pkuzco for
    reporting the issue. CVE-2023-49083

-Paul Kehrer (reaperhulk)

naive kindleBOT
#

This PEP proposes to add a new module, interpreters, to support inspecting, creating, and running code in multiple interpreters in the current process. This includes Interpreter objects that represent the underlying interpreters. The module will also provide a basic Queue class for communication between interpreters. Finally, we will add a new concurrent.futures.InterpreterPoolExecutor based on the interpreters module.

naive kindleBOT
#

PyCA cryptography 41.0.7 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.7+, and PyPy3 7.3.10+.

Changelog (https://cryptography.io/en/latest/changelog/#v41-0-7):

  • Fixed compilation when using LibreSSL 3.8.2.

Alex

--
All that is necessary for evil to succeed is for good people to do nothing.

naive kindleBOT
#

This PEP specifies a mechanism for storing package requirements in pyproject.toml files such that they are not included in any built distribution of the project.

naive kindleBOT
#

Add new convenient APIs to format type names the same way in Python and in C. No longer format type names differently depending on how types are implemented. Also, put an end to truncating type names in C. The new C API is compatible with the limited C API.

naive kindleBOT
#

Python 3.12.1 is now available.

https://www.python.org/downloads/release/python-3121/
This is the first maintenance release of Python 3.12

Python 3.12 is the newest major release of the Python programming language,
and it contains many new features and optimizations. 3.12.1 is the latest
maintenance release, containing more than 400 bugfixes, build improvements
and documentation changes since 3.12.0.
https://discuss.python.org/t/python-3-12-1-now-available/40603#major-new-features-of-the-312-series-compared-to-311-2Major
new features of the 3.12 series, compared to 3.11
https://discuss.python.org/t/python-3-12-1-now-available/40603#new-features-3New
features

#

logmerger 0.8.0

New features:

  • Added --inline command line option to view merged logs in a single inline column instead of side-by-side columns (side-by-side is the default)
  • Added jump feature to move by number of lines or by a time period in microseconds, milliseconds, seconds, minutes, hours or days

Fixes:

  • Fixed type annotations that broke running logmerger on Python 3.9.

Screenshot:
https://github.com/ptmcg/logmerger/blob/main/static/log1\_log2\_merged\_tui\_lr.jpg?raw=true

Use logmerger to view multiple log files, merged side-by-side with a common timeline using timestamps from the input files.

  • merge ASCII log files
  • detects various formats of timestamps
  • detects multiline log messages
  • merge .gz files without previously gunzip'ing
  • merge .pcap files
  • merge .csv files

Browse the merged logs using a textual-based TUI:

  • vertical scrolling
  • horizontal scrolling
  • search/find next/find previous
  • jump by number of lines or by time interval
  • go to li... continue reading
naive kindleBOT
#

========================
Announcing NumExpr 2.8.8

Hi everyone,

NumExpr 2.8.8 is a release to deal mainly with issues appearing with
upcoming NumPy 2.0. Also, some small fixes (support for simple complex
expressions like ne.evaluate('1.5j')) and improvements are included.

Project documentation is available at:

http://numexpr.readthedocs.io/

Changes from 2.8.7 to 2.8.8

  • Fix re_evaluate not taking global_dict as argument. Thanks to Teng Liu
    (@27rabbitlt).

  • Fix parsing of simple complex numbers. Now, ne.evaluate('1.5j') works.
    Thanks to Teng Liu (@27rabbitlt).

  • Fixes for upcoming NumPy 2.0:

    • Replace npy_cdouble with C++ complex. Thanks to Teng Liu (@27rabbitlt).
    • Add NE_MAXARGS for future numpy change NPY_MAXARGS. Now it is set to 64
      to match NumPy 2.0 value. Thanks to Teng Liu (@27rabbitlt).

What's Numexpr?

Numexpr is a fast numerical expression eva... continue reading

naive kindleBOT
#

Hello,

PyPI has been on the path of making Two-factor Authentication a reality for
PyPI, which began in 2019.

Read more about some of the steps taken in recent months on the PyPI Blog:

PyPI Admins will activate the requirement for PyPI.org on Jan 1, 2024 for
all users, all projects.
(If we're off by a few hours in any direction, our apologies. Exact timing
is not yet available.)

Read more in the Help section https://pypi.org/help/#twofa.

If you are no longer responsible for a PyPI account that publishes
packages, please forward details along to someone who does, so they are not
caught unaware.

All the best,
-Mike Fiedler, PyPI https://pypi.org/ Safety & Security Engineer
Python Software Foundation <https:... continue reading

naive kindleBOT
#

Version 0.3.8 of distlib has recently been released on PyPI [1]. For newcomers, distlib is a library of packaging functionality which is intended to be usable as the basis for third-party packaging tools.
The main changes in this release are as follows:

  • Fix #204: use symlinks in venv creation during test.

  • Fix #208: handle deprecation removals in Python 3.13.

  • Fix #209: use legacy version implementation for Python versions.

A more detailed change log is available at [2].

Please try it out, and if you find any problems or have any suggestions for improvements, please give some feedback using the issue tracker at [3].

Regards,

Vinay Sajip

[1] https://pypi.org/project/distlib/0.3.8/
[2] https://distlib.readthedocs.io/en/latest/overview.html#change-log-for-distlib
[3] https://github.com/pypa/distlib/issues/new/choose

naive kindleBOT
#

A new package for extending SysLogHandler with TLS support has been added on PyPI [1].
Modern syslog servers such as rsyslog, syslog-ng and OpenBSD's syslogd have TLS support for secure remote logging. Unfortunately the core python SysLogHandler does not have this functionality yet.
TLSSysLogHandler extends the SysLogHandler instead of a re-implementation and allows specifying a new "secure" parameter, which enables using TLS with TCP.
The hope is to get TLS functionality into core SysLogHandler after this package is stable.
The discussion is present on the forum's [2].

Best,
Aisha

[1] https://pypi.org/project/tlssysloghandler/
[2] https://discuss.python.org/t/allow-tls-configuration-for-sysloghandler/40785

#

What Changed?=============
This is an enhancement and bug-fix release, and all users are encouraged to upgrade.

Brief summary:

  • Fix #228: Clarify documentation for encryption/decryption.

  • Make I/O buffer size configurable via buffer_size attribute on a GPG instance.

This release [2] has been signed with my code signing key:

Vinay Sajip (CODE SIGNING KEY) <vinay_sajip at yahoo.co.uk>
Fingerprint: CA74 9061 914E AC13 8E66 EADB 9147 B477 339A 9B86

Recent changes to PyPI don't show the GPG signature with the download links.
An alternative download source where the signatures are available is at [4].
The source code repository is at [1].
Documentation is available at [5].

As always, your feedback is most welcome (especially bug reports [3],
patches and suggestions for improvement, or any other points via this group).

Enjoy!

Cheers

Vinay Sajip

[1] https://github.com/vsajip/python-gnupg
[2] https://pypi.org/project/python-gnupg/0.5.2
[3] https://gi... continue reading

naive kindleBOT
#

Hello all,
I'm glad to announce the release of psutil 5.9.7:
https://github.com/giampaolo/psutil

About

psutil (process and system utilities) is a cross-platform library for
retrieving information on running processes and system utilization (CPU,
memory, disks, network) in Python. It is useful mainly for system
monitoring, profiling and limiting process resources and management of
running processes. It implements many functionalities offered by command
line tools such as: ps, top, lsof, netstat, ifconfig, who, df, kill, free,
nice, ionice, iostat, iotop, uptime, pidof, tty, taskset, pmap. It
currently supports Linux, Windows, macOS, Sun Solaris, FreeBSD, OpenBSD,
NetBSD and AIX, both 32-bit and 64-bit architectures. Supported Python
versions are 2.7 and 3.6+. PyPy is also known to work.

What's new

2023-12-17

Enhancements

  • #2324: enforce Ruff rule raw-string-in-exception, which helps providing
    clearer tracebacks when exceptions a... continue reading
naive kindleBOT
#

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/2.0.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 adds support for asynchronous programming with asyncio and 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#oracledb-2-0-0-december-2023

Please provide any feedback via GitHub issues: https://github.com/oracle/
python-oracledb/issues or discussions: https://github.com/oracle/python-
oracledb/discussions

naive kindleBOT
#

I am finding that it would be useful to be able to define a dataclass that is an abstract base class and define some of its field as abstract.

As I am typing this, I realize that I could presumably write some code to implement what I'm asking for. Maybe it is a good enough idea to make part of the standard API in any case though? I'm thinking that a field would be made abstract by passing abstract=True as an argument to dataclasses.field().

naive kindleBOT
#

pyspread 2.2.3

This is a bugfix release.

Bug fixes:

  • Fix for Qt versions below 5.13 that do not provide lossless image
    rendering
  • csv import without quotations fixed
  • Periodic updates now again only updates frozen cells

Please note that there is also a pre-release 2.3-beta.1 available for
testing. It implements the switch from Qt5 to Qt6.
You can find it at:
https://gitlab.com/pyspread/downloads/-/raw/master/pre-releases/pyspread-2.3b1.tar.gz
PGP signature:
https://gitlab.com/pyspread/downloads/-/raw/master/pre-releases/pyspread-2.3b1.tar.gz.sig

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... continue reading

naive kindleBOT
#

Leo https://leo-editor.github.io/leo-editor/ 6.7.6 is now available on
GitHub https://github.com/leo-editor/leo-editor/releases and pypi
https://pypi.org/project/leo/.

Leo is an IDE, outliner and PIM
https://leo-editor.github.io/leo-editor/preface.html.

The highlights of Leo 6.7.6

Support for Python 3.12:

Other significant improvements:

naive kindleBOT
#

I've been reading about SOLID principles and used this knowledge to
refactor 2 out of the 4 functions provided in PyPi's unexpected-isaves, and
this amounted to a ~1.3x speedup, even though making things run faster was
not my first intention. I just wanted to make the project better for the
new stargazers arriving. This shows the importance of good and simple code.
Eric-Mendes/unexpected-isaves: A Python library that paints an image on a
spreadsheet, builds its pixel art in Minecraft, makes its ascii art, or
makes a rubik's cube art out of it. (github.com)
https://github.com/Eric-Mendes/unexpected-isaves

naive kindleBOT
#

I’m happy to announce a new release of structlog!

With more than 7 million downloads per month, structlog is the best solution for production-ready 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!

My heartfelt thanks go to my generous GitHub sponsors https://github.com/sponsors/hynek and companies subscribing to structlog on Tidelift https://tidelift.com/subscription/pkg/pypi-structlog.

That's the support that made me maintain structlog for almost a decade with no end in sight! <3


(alternatively, see https://github.com/hynek/structlog/releases/ for a richer-formatted version of the following)

Special Thanks

This release would not be possible without my generous sponsors! Thank you to all of you making sustainable maint... continue reading

naive kindleBOT
#

I’m happy to announce a new release of attrs!

attrs is the direct ancestor of – and the inspiration for – dataclasses in the standard library and remains the more powerful toolkit for creating regular classes without getting bogged down with writing repetitive boilerplate code: https://www.attrs.org/


(alternatively, see https://github.com/python-attrs/attrs/releases/ for a richer-formatted version of the following)

Highlights

Mostly typing fixes in this release, but I'm excited that we found a workaround to make functools.cached_property work with slotted classes! Also, I'm sure there's gonna be fans of the new behavior of __attrs_pre_init__ where it receives all arguments passed to __init__ if it accepts more than self.

Special Thanks

This release would not be possible without my generous sponsors! Thank you to all of you making sustainable maintenance possible! If you would like to join the... continue reading

naive kindleBOT
#

pytest-7.4.4

pytest 7.4.4 has just been released to PyPI.

This is a bug-fix release, being a drop-in replacement. To upgrade::

pip install --upgrade pytest

The full changelog is available at https://docs.pytest.org/en/stable/changelog.html.

Thanks to all of the contributors to this release:

  • Bruno Oliveira
  • Ran Benita
  • Zac Hatfield-Dodds

Happy testing,
The pytest Development Team

naive kindleBOT
#

Hello,

As previously announced, PyPI now requires a form of Two-factor
Authentication (2FA) for all users.

Today’s blog post
https://blog.pypi.org/posts/2024-01-01-2fa-enforced/ contains
more details.

Thank you for your continued efforts to make PyPI more secure for everyone.

-Mike Fiedler, PyPI https://pypi.org/ Safety & Security Engineer
Python Software Foundation https://www.python.org/psf-landing/

naive kindleBOT
#

pytest-8.0.0rc1

The pytest team is proud to announce the 8.0.0rc1 release!

This release contains new features, improvements, bug fixes, and breaking changes, so users
are encouraged to take a look at the CHANGELOG carefully:

https://docs.pytest.org/en/latest/changelog.html

For complete documentation, please visit:

https://docs.pytest.org/en/latest/

You can upgrade from PyPI via:

pip install -U --pre pytest

Thanks to all of the contributors to this release:

  • Akhilesh Ramakrishnan
  • Aleksandr Brodin
  • Anthony Sottile
  • Arthur Richard
  • Avasam
  • Benjamin Schubert
  • Bruno Oliveira
  • Carsten Grohmann
  • Cheukting
  • Chris Mahoney
  • Christoph Anton Mitterer
  • DetachHead
  • Erik Hasse
  • Florian Bruhin
  • Fraser Stark
  • Ha Pam
  • Hugo van Kemenade
  • Isaac Virshup
  • Israel Fruchter
  • Jens Tröger
  • Jon Parise
  • Kenny Y
  • Lesnek
  • Marc Mueller
  • Michał Górny
  • Mihail Milushev
  • Milan Lesnek
  • M... continue reading
naive kindleBOT
#

Hi All,

On behalf of the NumPy team, I'm pleased to announce the release of NumPy
1.26.3. NumPy 1.26.3 is a maintenance release that fixes bugs and
regressions discovered after the 1.26.2 release. The most notable fixes are
the f2py bug fixes. The Python versions supported by this release are
3.9-3.12. Wheels can be downloaded from PyPI
https://pypi.org/project/numpy/1.26.3/; source archives, release notes,
and wheel hashes are available on Github
https://github.com/numpy/numpy/releases/tag/v1.26.3.

Contributors

A total of 18 people contributed to this release. People with a "+" by
their names contributed a patch for the first time.

  • @DWesl
  • @Illviljan
  • Alexander Grund
  • Andrea Bianchi +
  • Charles Harris
  • Daniel Vanzo
  • Johann Rohwer +
  • Matti Picus
  • Nathan Goldbaum
  • Peter Hawkins
  • Raghuveer Devulapalli
  • Ralf Gommers
  • Rohit Goswami
  • Sayed Adel
  • Sebastian Berg
  • Stefano Rivera +
  • ... continue reading
naive kindleBOT
#

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/2.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 reported issues.

See the full release notes for all of the details:
https://python-oracledb.readthedocs.io/en/latest/release\_notes.html#oracledb-2-0-1-january-2024

Please provide any feedback via GitHub issues: https://github.com/oracle/
python-oracledb/issues or discussions: https://github.com/oracle/python-
oracledb/discussions

naive kindleBOT
#

Hi all,

On behalf of the sparse developers, I’m pleased to announce the release of sparse 0.15.1. This is a significant release with Array API support, pyproject.toml packaging, einsum support and other miscellaneous improvements.
Source Code: https://github.com/pydata/sparse
Documentation: https://sparse.pydata.org/en/stable/
Discussions: https://github.com/pydata/sparse/discussions

Best regards,
Hameer Abbasi

naive kindleBOT
#

On behalf of the Nikola team, I am pleased to announce the immediate
availability of Nikola v8.3.0. This release adds support for Python 3.12,
with some other features and bugfixes.

Note that Nikola v8.3.0 no longer uses the Yapsy plugin manager,
which has been replaced by a custom, minimal manager.
The new Nikola Plugin Manager was tested with some typical plugins,
but there might be issues if your plugins have an unusual structure
or are outdated. Please update your plugins and report any bugs
you may encounter.

The Nikola developers would also like to express discontent with Python’s
efforts to remove features from the standard library, causing breakage
without a solid reason, other than “it’s old”.

What is Nikola?

Nikola is a static site and blog generator, written in Python.
It can use Mako and Jinja2 templates, and input in many popular markup
formats, such as reStructuredText and Markdown — and can even turn
Jupyter Notebooks into blog po... continue reading

naive kindleBOT
naive kindleBOT
#

pytest-8.0.0rc2

The pytest team is proud to announce the 8.0.0rc2 prerelease!

This is a prerelease, not intended for production use, but to test the upcoming features and improvements
in order to catch any major problems before the final version is released to the major public.

We appreciate your help testing this out before the final release, making sure to report any
regressions to our issue tracker:

https://github.com/pytest-dev/pytest/issues

When doing so, please include the string [prerelease] in the title.

You can upgrade from PyPI via:

pip install pytest==8.0.0rc2

Users are encouraged to take a look at the CHANGELOG carefully:

https://docs.pytest.org/en/release-8.0.0rc2/changelog.html

Thanks to all the contributors to this release:

  • Ben Brown
  • Bruno Oliveira
  • Ran Benita

Happy testing,
The pytest Development Team

naive kindleBOT
#

We silently skipped releasing in December (it was too close to the
holidays, a lot of people were away) so by date you may have been expecting
alpha 4, but instead it’s alpha 3:
https://www.python.org/downloads/release/python-3130a3/

This is an early developer preview of Python 3.13
https://discuss.python.org/t/python-3-13-alpha-3/43437#major-new-features-of-the-313-series-compared-to-312-1Major
new features of the 3.13 series, compared to 3.12

Python 3.13 is still in development. This release, 3.13.0a3, is the third
of six planned alpha releases.

Alpha releases are intended to make it easier to test the current state of
new features and bug fixes and to test the release process.

During the alpha phase, features may be added up until the start of the
beta phase (2024-05-07) and, if necessary, may be modified or deleted up
until the release candidate phase (2024-07-30). Please keep in mind that
this is a preview release and its use is not recommended for prod... continue reading

naive kindleBOT
naive kindleBOT
#

Add a C API to the limited C API to configure the Python preinitialization and initialization, and to get the current configuration. It can be used with the stable ABI.

naive kindleBOT
#

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/vulture
http://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

News

naive kindleBOT
#

Hello all,
I'm glad to announce the release of psutil 5.9.8:
https://github.com/giampaolo/psutil

About

psutil (process and system utilities) is a cross-platform library for
retrieving information on running processes and system utilization (CPU,
memory, disks, network) in Python. It is useful mainly for system
monitoring, profiling and limiting process resources and management of
running processes. It implements many functionalities offered by command
line tools such as: ps, top, lsof, netstat, ifconfig, who, df, kill, free,
nice, ionice, iostat, iotop, uptime, pidof, tty, taskset, pmap. It
currently supports Linux, Windows, macOS, Sun Solaris, FreeBSD, OpenBSD,
NetBSD and AIX, both 32-bit and 64-bit architectures. Supported Python
versions are 2.7 and 3.6+. PyPy is also known to work.

What's new

2024-01-19

Enhancements

  • #2343, [FreeBSD]: filter net_connections()_ returned list in C instead
    of
    Python, and avoid to retrieve un... continue reading
naive kindleBOT
naive kindleBOT
#

Hi all,

On behalf of the SciPy development team, I'm pleased to announce the
release of SciPy 1.12.0.

Sources and binary wheels can be found at:
https://pypi.org/project/scipy/
and at: https://github.com/scipy/scipy/releases/tag/v1.12.0

One of a few ways to install this release with pip:

pip install scipy==1.12.0

==========================
SciPy 1.12.0 Release Notes

SciPy 1.12.0 is the culmination of 6 months of hard work. It contains
many new features, numerous bug-fixes, improved test coverage and better
documentation. There have been a number of deprecations and API changes
in this release, which are documented below. All users are encouraged to
upgrade to this release, as there are a large number of bug-fixes and
optimizations. Before upgrading, we recommend that users check that
their own code does not use deprecated SciPy functionality (to do so,
run your code with python -Wd and check for DeprecationWarning s).
Ou... continue reading

naive kindleBOT
#

PyCA cryptography 42.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.7+, and PyPy3 7.3.10+.

Changelog (https://cryptography.io/en/latest/changelog/#v42-0-0):

  • BACKWARDS INCOMPATIBLE: Dropped support for LibreSSL < 3.7.
  • BACKWARDS INCOMPATIBLE: Loading a PKCS7 with no content field using
    load_pem_pkcs7_certificates() or load_der_pkcs7_certificates() will
    now raise a ValueError rather than return an empty list.
  • Parsing SSH certificates no longer permits malformed critical
    options with values, as documented in the 41.0.2 release notes.
  • Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.2.0.
  • Updated the minimum supported Rust version (MSRV) to 1.63.0, from 1.56.0.
  • We now publish both py37 and py39 abi3 wheels. This should resolve
    some... continue reading
naive kindleBOT
#

ANNOUNCING

eGenix Antispam Bot for Telegram

Version 0.6.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.6.0-GA.html


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, descript... continue reading

naive kindleBOT
#

PyCA cryptography 42.0.1 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.7+, and PyPy3 7.3.10+.

Changelog (https://cryptography.io/en/latest/changelog/#v42-0-1):

  • Fixed an issue with incorrect keyword-argument naming with
    EllipticCurvePrivateKey.sign.
  • Resolved compatibility issue with loading certain RSA public keys in
    load_pem_public_key.

-Paul Kehrer (reaperhulk)

naive kindleBOT
#

Hi,

mpdecimal-4.0.0 has been released:

https://www.bytereef.org/mpdecimal/changelog.html
https://www.bytereef.org/mpdecimal/download.html

The release has been tested on a compile farm for five months on the
following platforms:

x86_64, i386, aarch64, ppc64, ppc64le, chrp, sparc64, sparc32,
mips64, mips32, risc-v, Wasm

Tested compilers:

gcc, clang, icc, icx, xlc, ibm-clang, cl.exe, clang-cl, mingw-gcc,
CompCert, emscripten

Distributors of CPython are strongly encouraged to build CPython
--with-system-libmpdec (as most of them already do).

Additionally, distributors of Python-11 and Python-12 are advised to revert
the implementation of the z-format specifier in _decimal.c. It contains a
memory leak for large decimals and does not support the "EG" types.

mpdecimal-4.0.0 automatically supports the z-format specifier without patches
to _decimal.c.

The following patch cleanly reverts b0b836b20cb56c225874a4a39ef895f89ab2970f
and applies to both Python-11 and Pyth... continue reading

naive kindleBOT
#

Wing Python IDE version 10 has been released with AI assisted code
suggestion, AI refactoring, and description-driven development.  Wing 10
also adds support for Python 3.12 including faster debugging with the
new PEP 669 low-impact monitoring API, Poetry for package management,
Ruff for code warnings and reformatting, & more.

Details: https://wingware.com/news/2024-01-19
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 editor provides AI-assisted
development, 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, ... continue reading

naive kindleBOT
#

========================
Announcing NumExpr 2.9.0

Hi everyone,

NumExpr 2.9.0 is a release offering support for latest versions of PyPy.
The full test suite should pass now, at least for the Python 3.10 version.
Thanks to @27rabbitlt for most of the work and @mgorny and @mattip for
providing help and additional fixes.

Project documentation is available at:

http://numexpr.readthedocs.io/

Changes from 2.8.8 to 2.9.0

  • Support for PyPy (see PRs #467 and #740). The full test suite
    should pass now, at least for the 3.10 version. Thanks to
    @27rabbitlt for most of the work and @mgorny and @mattip for
    providing help and additional fixes. Fixes #463.

  • Fixed more sanitizer issues (see PR #469). Thanks to @27rabbitlt.

  • Modernized the test suite to avoid some warnings.

What's Numexpr?

Numexpr is a fast numerical expression evaluator for NumPy. With it,
expressions that operate on arrays (like "3a+4b") are ... continue reading

naive kindleBOT
#

Lea 4.0.0 is now released!
--> https://pypi.org/project/lea/

Save the date: Live demo of Lea at FOSDEM'24, Brussels, Feb 4, 2024 (this is
free!)
--> https://fosdem.org/2024/schedule/track/python-devroom/

What is Lea?

Lea is a Python module for playing with discrete probability distributions
in an intuitive way. This ranges from simple dice, coin flipping, random
sampling . to Bayesian networks, Probabilistic Programming (PP), machine
learning and symbolic computation. One salient feature of Lea is the ability
to change the probability representation, viz. float, fractions, decimals,
and symbols. Lea can be used for education, AI, PP, etc. Comprehensive
tutorials are available online (see Wiki pages). For a 5 minutes tour, check
out the poster presented at PROBPROG2020 conference:
https://probprog.cc/2020/assets/posters/fri/69.pdf .

What's new in Lea 4.0.0?

Here are the major changes since Lea 3.4.6:

naive kindleBOT
#

pytest-8.0.0

The pytest team is proud to announce the 8.0.0 release!

This release contains new features, improvements, bug fixes, and breaking changes, so users
are encouraged to take a look at the CHANGELOG carefully:

https://docs.pytest.org/en/stable/changelog.html

For complete documentation, please visit:

https://docs.pytest.org/en/stable/

As usual, you can upgrade from PyPI via:

pip install -U pytest

Thanks to all of the contributors to this release:

  • Bruno Oliveira
  • Ran Benita

Happy testing,
The pytest Development Team

naive kindleBOT
#

This PEP proposes a collection of changes related to the upload and distribution of digitally signed attestations and metadata used to verify them on a Python package repository, such as PyPI.

naive kindleBOT
#

PyCA cryptography 42.0.2 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.7+, and PyPy3 7.3.10+.

Changelog (https://cryptography.io/en/latest/changelog/#v42-0-2):

  • Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.2.1.
  • Fixed an issue that prevented the use of Python buffer protocol
    objects in sign and verify methods on asymmetric keys.
  • Fixed an issue with incorrect keyword-argument naming with
    EllipticCurvePrivateKey.exchange(), X25519PrivateKey.exchange(),
    X448PrivateKey.exchange(), and DHPrivateKey.exchange().

-Paul Kehrer (reaperhulk)

naive kindleBOT
naive kindleBOT
#

Leo https://leo-editor.github.io/leo-editor/ 6.7.7 is now available on
GitHub and pypi.

Leo is an IDE, outliner and PIM.

The highlights of Leo 6.7.7

Links

naive kindleBOT
#

PyDev 12.0.0 Release Highlights

Debugger

  • sys.monitoring is now used in Python 3.12 (and it's much faster
    than any previous version).
    • A new setting was added in the Preferences > PyDev > Debug to
      debug just my code (meaning that when stepping it will just step
      into files under PyDev source folders).
    • Improved the step into function (activated with Ctrl+Alt then Click
      function
      to step into).
    • Support for Python 3.6 and 3.7 was dropped (only Python 3.8 onwards
      is now supported).

Ruff

  • Ruff can now be used as a code formatter.
    • The latest ruff (0.1.x) is now supported (as it broke backward
      compatibility in its 0.1.0 version).

Code Analysis

  • Fixes in semantic analysis to better determine if strings in
    annotations should be checked for symbols or not.

Note: Only Python 3.8 onwards is now supported

naive kindleBOT
#

Hi All,

On behalf of the NumPy team, I'm pleased to announce the release of NumPy
1.26.4. NumPy 1.26.4 is a maintenance release that fixes bugs and
regressions discovered after the 1.26.3 release. This is the last planned
release in the 1.26.x series. Wheels can be downloaded from PyPI
https://pypi.org/project/numpy/1.26.4/; source archives, release notes,
and wheel hashes are available on Github
https://github.com/numpy/numpy/releases/tag/v1.26.4

Contributors

A total of 13 people contributed to this release. People with a "+" by
their names contributed a patch for the first time.

  • Charles Harris
  • Elliott Sales de Andrade
  • Lucas Colley +
  • Mark Ryan +
  • Matti Picus
  • Nathan Goldbaum
  • Ola x Nilsson +
  • Pieter Eendebak
  • Ralf Gommers
  • Sayed Adel
  • Sebastian Berg
  • Stefan van der Walt
  • Stefano Rivera

Pull requests merged

A total of 19 pull requests were merged for this release.

naive kindleBOT
#

*Python 3.12.2 and 3.11.8 are here! *In addition to all the usual bugfixes,
these releases contain a small security fix: hidden .pth files are no
longer automatically read and executed
https://docs.python.org/release/3.12.2/whatsnew/changelog.html#security
as part of Python startup. (New releases of 3.8, 3.9 and 3.10 containing
the same fix are expected next week.)
https://discuss.python.org/t/python-3-12-2-and-3-11-8-released/45268#python-3122-2Python
3.12.2

https://www.python.org/downloads/release/python-3122/

Python 3.12’s second bugfix release. In addition to the mentioned security
fix and the usual slew of bug fixes, build changes and documentation
updates (more than 350 commits), this is also the first release to include
a Software Bill-of-Materials for the source packages
https://discuss.python.org/t/create-and-distribute-software-bill-of-materials-sbom-for-python-artifacts/39293
(Python-3.12.2.tgz and Python-3.12.2.tar.xz). Full changelog
<https://docs.... continue reading

naive kindleBOT
#

This PEP proposes a new special form, TypeNarrower, to allow annotating functions that can be used to narrow the type of a value, similar to the builtin isinstance(). Unlike the existing typing.TypeGuard special form, TypeNarrower can narrow the type in both the if and else branches of a conditional.

naive kindleBOT
naive kindleBOT
#

Hello,

I was on your website. www.python.org

My name is Niraj from India, having 13+ years of working experience in UI/UX
Design to get attractive modern websites and win more customers.

I will create a completely responsive website for all devices, such as
mobile, iPhone, iPad, and desktop versions.

Please arrange a voice or video chat if necessary. I will be available more
than 40 hours per week and able to start your project as soon as possible.
Thank you for your consideration.

Thank you,

Niraj

naive kindleBOT
#

It’s time for Python 3.13.0 alpha 4 (now with SPDX SBOM OMG!):

https://www.python.org/downloads/release/python-3130a4/

This is an early developer preview of Python 3.13
https://discuss.python.org/t/python-3-13-alpha-4/46042#major-new-features-of-the-313-series-compared-to-312-1Major
new features of the 3.13 series, compared to 3.12

Python 3.13 is still in development. This release, 3.13.0a4, is the fourth
of six planned alpha releases.

Alpha releases are intended to make it easier to test the current state of
new features and bug fixes and to test the release process.

During the alpha phase, features may be added up until the start of the
beta phase (2024-05-07) and, if necessary, may be modified or deleted up
until the release candidate phase (2024-07-30). Please keep in mind that
this is a preview release and its use is not recommended for production
environments.

Many new features for Python 3.13 are still being planned and written. Work
continues ap... continue reading

naive kindleBOT
#

PyCA cryptography 42.0.3 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.7+, and PyPy3 7.3.10+.

Changelog (https://cryptography.io/en/latest/changelog/#v42-0-3):

  • Fixed an initialization issue that caused key loading failures for some users.

-Paul Kehrer (reaperhulk)

naive kindleBOT
#

pytest-8.0.1

pytest 8.0.1 has just been released to PyPI.

This is a bug-fix release, being a drop-in replacement. To upgrade::

pip install --upgrade pytest

The full changelog is available at https://docs.pytest.org/en/stable/changelog.html.

Thanks to all of the contributors to this release:

  • Bruno Oliveira
  • Clément Robert
  • Pierre Sassoulas
  • Ran Benita

Happy testing,
The pytest Development Team

naive kindleBOT
#

PyCA cryptography 42.0.3 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.7+, and PyPy3 7.3.10+.

Changelog (https://cryptography.io/en/latest/changelog/#v42-0-4):

  • Fixed a null-pointer-dereference and segfault that could occur when creating
    a PKCS#12 bundle. Credit to Alexander-Programming for reporting the
    issue. CVE-2024-26130
  • Fixed ASN.1 encoding for PKCS7/SMIME signed messages. The fields
    SMIMECapabilities
    and SignatureAlgorithmIdentifier should now be correctly encoded
    according to the
    definitions in :rfc:2633 :rfc:3370.

Alex

--
All that is necessary for evil to succeed is for good people to do nothing.

naive kindleBOT
#

ASPP2024: 16ᵗʰ Advanced Scientific Programming in Python Summer School

https://aspp.school

Scientists spend more and more time writing, maintaining, and debugging software. While techniques for doing this efficiently have evolved, only few scientists have been trained to use them. As a result, instead of doing their research, they spend far too much time writing deficient code and reinventing the wheel. In this course we will present a selection of advanced programming techniques and best practices which are standard in the industry, but especially tailored to the needs of a programming scientist. Lectures are interactive and allow students to acquire direct hands-on experience with the topics. Students will work in pairs throughout the school and will team up to practice the newly learned skills in a real programming project — an entertaining computer game.

We use the Python programming language for the entire c... continue reading

naive kindleBOT
#

Wing Python IDE version 10.0.2 has been released, adding AI chat and
other improvements to Wing Pro's AI assisted development capabilities,
quick toggling between debug stack frames for project and test files,
better UI for auto-imports in the auto-completer, and other improvements
for the debugger, Diff/Merge tool, editor, & other features.

Details: https://wingware.com/news/2024-02-23
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 editor provides AI-assisted
development, 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
... continue reading

naive kindleBOT
#

PyCA cryptography 42.0.5 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.7+, and PyPy3 7.3.10+.

Changelog (https://cryptography.io/en/latest/changelog/#v42-0-5):

  • Limit the number of name constraint checks that will be performed in
    X.509 path validation to protect against denial of service attacks.
  • Upgrade pyo3 version, which fixes building on PowerPC.

-Paul Kehrer (reaperhulk)

naive kindleBOT
naive kindleBOT
#

We would like to propose the following improvements to DB-API 2.0 that
would require bumping it up to DB-API 3.0:

  • Get rid of SQL strings
  • Get rid of SQL strings
  • Use package resources to store what would otherwise be SQL strings

While we cannot prevent someone from going out of their way to define
package resources at runtime just so they can implement SQL injection,
ultimately the goal is to provide a small speed bump so they don't feel
so inclined to jump straight into SQL injection before trying to do
easier, more secure things.

naive kindleBOT
#

Hello!

I'm pleased to announce version 3.3.3.post1, the first post-release
of release 3.3.3 of branch 3.3 of CheetahTemplate3.

What's new in CheetahTemplate3

CI:

  • GHActions: Build and publish wheels on Linux/aarch64.

What is CheetahTemplate3

Cheetah3 is a free and open source (MIT) Python template engine.
It's a fork of the original CheetahTemplate library.

Python 2.7 or 3.4+ is required.

Where is CheetahTemplate3

Site:
https://cheetahtemplate.org/

Download:
https://pypi.org/project/CT3/3.3.3.post1

News and changes:
https://cheetahtemplate.org/news.html

StackOverflow:
https://stackoverflow.com/questions/tagged/cheetah

Mailing lists:
https://sourceforge.net/p/cheetahtemplate/mailman/

Development:
https://github.com/CheetahTemplate3

Developer Guide:
https://cheetahtemplate.org/dev\_guide/

Example

Install::

$ pip install CT3 # (or even "ct3")

Below is a simple example of... continue reading

naive kindleBOT
#

pytest-8.1.0

The pytest team is proud to announce the 8.1.0 release!

This release contains new features, improvements, and bug fixes,
the full list of changes is available in the changelog:

https://docs.pytest.org/en/stable/changelog.html

For complete documentation, please visit:

https://docs.pytest.org/en/stable/

As usual, you can upgrade from PyPI via:

pip install -U pytest

Thanks to all of the contributors to this release:

  • Ben Brown
  • Ben Leith
  • Bruno Oliveira
  • Clément Robert
  • Dave Hall
  • Dương Quốc Khánh
  • Eero Vaher
  • Eric Larson
  • Fabian Sturm
  • Faisal Fawad
  • Florian Bruhin
  • Franck Charras
  • Joachim B Haga
  • John Litborn
  • Loïc Estève
  • Marc Bresson
  • Patrick Lannigan
  • Pierre Sassoulas
  • Ran Benita
  • Reagan Lee
  • Ronny Pfannschmidt
  • Russell Martin
  • clee2000
  • donghui
  • faph
  • jakkdl
  • mrbean-bremen
  • robotherapist
  • whysage
  • woutdenolf

Happy testing,
The ... continue reading

naive kindleBOT
naive kindleBOT
naive kindleBOT
#

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/2.0.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 adds support for additional features new to Oracle Database
23c and corrects a number of reported bugs.

See the full release notes for all of the details:
https://python-oracledb.readthedocs.io/en/latest/release\_notes.html#oracledb-2-1-0-march-2024

Please provide any feedback via GitHub issues: https://github.com/oracle/
python-oracledb/issues or discussions: https://github.com/oracle/python-
oracledb/discussions

#

Hi Python Announce Team,

We are hosting a 2 day cross sector Python and R conference this summer in the UK and would love to announce it to the mailing list and let people know where to apply if they would like to speak at it. Please see the post below:

EARL (Enterprise Applications of the R & Python Languages) is gearing up for its upcoming conference in Brighton, UK this summer, and we're on the lookout for dynamic speakers to showcase their Python-powered projects. Whether you've developed innovative data analysis tools, streamlined workflow automation systems, or revolutionary AI-driven applications, we invite you to share your expertise with a diverse audience of industry professionals.

Why Speak at EARL?

  • Gain global recognition for your Python-based business applications.
  • Connect with industry leaders, potential collaborators, and like-minded professionals.
  • Share your insights, best practices, and success stories to inspire others.
  • Receive a complimentary 1... continue reading
naive kindleBOT
#

Add Py_COMPAT_API_VERSION and Py_COMPAT_API_VERSION_MAX macros to opt-in for planned incompatible C API changes in a C extension. Maintainers can decide when they make their C extension compatible and also decide which future Python version they want to be compatible with.

naive kindleBOT
#

Hi All

On behalf of the NumPy team, I'm pleased to announce the release of NumPy
2.0.0b1. NumPy 2.0.0 is the first major release since 2006. It is the
result of 10 months of development since the last feature release and is
the work of 190
contributors spread over 968 pull requests. It contains a large number of
exciting new features as well as changes to both the Python and C APIs.

This major release includes breaking changes that could not happen in a
regular minor (feature) release - including an ABI break, changes to type
promotion rules, and API changes which may not have been emitting
deprecation warnings in 1.26.x. Key documents related to how to adapt to
changes in NumPy 2.0 include:

naive kindleBOT
#

We’re getting closer and closer… Alpha 5 is here.
https://www.python.org/downloads/release/python-3130a5/

This is an early developer preview of Python 3.13
Major new features of the 3.13 series, compared to 3.12

Python 3.13 is still in development. This release, 3.13.0a5, is the fifth
of six planned alpha releases.

Alpha releases are intended to make it easier to test the current state of
new features and bug fixes and to test the release process.

During the alpha phase, features may be added up until the start of the
beta phase (2024-05-07) and, if necessary, may be modified or deleted up
until the release candidate phase (2024-07-30). Please keep in mind that
this is a preview release and its use is not recommended for production
environments.

Many new features for Python 3.13 are still being planned and written. Work
continues apace on both the work to remove the Global Interpeter Lock
https://peps.python.org/pep-0703/, and to improve Python performanc... continue reading

naive kindleBOT
#

A new SCons release, 4.7.0, is now available on the SCons download page:

https://scons.org/pages/download.html

Here is a summary of the changes since 4.6.0:

NEW FUNCTIONALITY

  • Method unlink_files was added to the TestCmd class that unlinks a list of
    files
    from a specified directory. An attempt to unlink a file is made only
    when the
    file exists; otherwise, the file is ignored.

CHANGED/ENHANCED EXISTING FUNCTIONALITY

  • Add an optional argument list string to configure's CheckFunc method so
    that the generated function argument list matches the function's
    prototype when including a header file. Fixes GH Issue #4320
  • Now supports pre-release Python 3.13
  • Support for Python versions without support for the threading package
    has been removed
  • Dropped three unused warning classes: DeprecatedSourceCodeWarning,
    TaskmasterNeedsExecuteWarning, DeprecatedMissingSConscriptWarning.
naive kindleBOT
#

Announcing:

managesieve 0.8

RFC-5804 Manage Sieve client library for remotely managing Sieve
scripts,
    including an user application (the interactive 'sieveshell').

:Homepage: https://managesieve.readthedocs.io/
:Author:   Hartmut Goebel h.goebel@crazy-compilers.com
:License:
  - for the managesieve module: Python-Software-Foundation-like License
  - for sieveshell and test suite: GNU Public Licence v3 (GPLv3)

:Quick Installation:
    pip install -U managesieve

:Tarballs:  https://pypi.org/project/managesieve/#files

What is managesieve?

A ManageSieve client library for remotely managing Sieve scripts,
including an user application (the interactive 'sieveshell').

Sieve scripts allow users to filter incoming email on the mail server
and are supported by many IMAP servers.
The ManageSieve protocol allows managing Sieve scripts on a remote
mail server. These servers are commonly sealed so users cannot log
into them, yet users must... continue reading

naive kindleBOT
#

Wing Python IDE 10.0.3 adds more control over AI request context,
improves keyboard navigability on Windows, fixes folding failures seen
in Python files, avoids failure to show debug process output in Debug
I/O, improves Diff/Merge for directories and files, fixes hanging while
examining some types of debug data, solves several problems with setting
up Poetry projects on Windows, and makes about 20 other improvements.

Details: https://wingware.com/news/2024-03-14
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 editor provides AI-assisted
development, 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 sup... continue reading

naive kindleBOT
#

Howdy!
Those are the boring security releases that aren’t supposed to bring anything new. But not this time! We do have a bit of news, actually. But first things first: go update your systems!

https://discuss.python.org/t/python-3-10-14-3-9-19-and-3-8-19-is-now-available/48993#python-31014-1Python 3.10.14

Get it here: Python Release Python 3.10.14 https://www.python.org/downloads/release/python-31014/
26 commits since last release.

https://discuss.python.org/t/python-3-10-14-3-9-19-and-3-8-19-is-now-available/48993#python-3919-2Python 3.9.19

Get it here: Python Release Python 3.9.19 https://www.python.org/downloads/release/python-3919/
26 commits since last release.

https://discuss.python.org/t/python-3-10-14-3-9-19-and-3-8-19-is-now-available/48993#python-3819-3Python 3.8.19

Get it here: Python Release Python 3.8.19 https://www.python.org/downloads/release/python-3819/
28 commits since last release.

<https://discuss.python.org/t/python-3-10-14-3-9-19-and-3-8-19-... continue reading

naive kindleBOT
#

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/2.1.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 reported issues.

See the full release notes for all of the details:
https://python-oracledb.readthedocs.io/en/latest/release\_notes.html#oracledb-2-1-1-march-2024

Please provide any feedback via GitHub issues: https://github.com/oracle/
python-oracledb/issues or discussions: https://github.com/oracle/python-
oracledb/discussions

naive kindleBOT
#

Leo https://leo-editor.github.io/leo-editor/ 6.7.8 is now available on
GitHub https://github.com/leo-editor/leo-editor/releases and pypi
https://pypi.org/project/leo/.

Leo is an IDE, outliner and PIM
https://leo-editor.github.io/leo-editor/preface.html.

The highlights of Leo 6.7.8

This release simplifies Leo's install process.
See https://leo-editor.github.io/leo-editor/getting-started.html

  • PR #3757: (leoTokens.py) Make Leo's beautifier 3x faster.
  • PR #3771: Revert colorizing of f-strings.
  • PR #3786: Support Nim.
  • PR #3790: Add "get-unl" command to Leo's server.
  • PR #3805: Fix problems with auto-completion and calltips.
  • PR #3806: Fix problems with Leo's go-back and go-forward commands.
  • PR #3807: Improve Leo's Python importer.
  • PR #3817: Allow relative paths in gnx-based UNLs.
  • The usual minor improvements and bug fixes.

Links

naive kindleBOT
#

Hi All

On behalf of the NumPy team, I'm pleased to announce the release of NumPy
2.0.0rc1. NumPy 2.0.0 is the first major release since 2006. It is the
result of 10 months of development since the last feature release and is
the work of 193 contributors spread over 1005 pull requests. It contains a
large number of exciting new features as well as changes to both the Python
and C APIs.

This major release includes breaking changes that could not happen in a
regular minor (feature) release - including an ABI break, changes to type
promotion rules, and API changes which may not have been emitting
deprecation warnings in 1.26.x. Key documents related to how to adapt to
changes in NumPy 2.0 include:

naive kindleBOT
#

=========================
Announcing NumExpr 2.10.0

Hi everyone,

NumExpr 2.10.0 is a release offering support for latest versions of NumPy 2.0.
This is still experimental, so please report any issues you find. Thanks to
Clément Robert and Thomas Caswell for the work.

Project documentation is available at:

http://numexpr.readthedocs.io/

Changes from 2.9.0 to 2.10.0

  • Support for NumPy 2.0.0. This is still experimental, so please
    report any issues you find. Thanks to Clément Robert and Thomas
    Caswell for the work.

  • Avoid erroring when OMP_NUM_THREADS is empty string. Thanks to
    Patrick Hoefler.

  • Do not warn if OMP_NUM_THREAD set.

What's Numexpr?

Numexpr is a fast numerical expression evaluator for NumPy. With it,
expressions that operate on arrays (like "3a+4b") are accelerated
and use less memory than doing the same calculation in Python.

It has multi-threaded capabilities, as well as sup... continue reading

naive kindleBOT
#

Hi all,

On behalf of the SciPy development team, I'm pleased to announce the
release of SciPy 1.13.0.

Sources and binary wheels can be found at:
https://pypi.org/project/scipy/
and at: https://github.com/scipy/scipy/releases/tag/v1.13.0

One of a few ways to install this release with pip:

pip install scipy==1.13.0

==========================
SciPy 1.13.0 Release Notes

SciPy 1.13.0 is the culmination of 3 months of hard work. This
out-of-band release aims to support NumPy 2.0.0, and is backwards
compatible to NumPy 1.22.4. The version of OpenBLAS used to build
the PyPI wheels has been increased to 0.3.26.dev.

This release requires Python 3.9+ and NumPy 1.22.4 or greater.

For running on PyPy, PyPy3 6.0+ is required.


Highlights of this release


  • Support for NumPy 2.0.0.
  • Interactive examples have been added to the documentation, allowing users
    to run ... continue reading
naive kindleBOT
#

It’s time to eclipse the Python 3.11.9 release with two releases, one of
which is the very last alpha release of Python 3.13:
https://discuss.python.org/t/python-3-12-3-and-3-13-0a6-released/50601#python-3123-1Python
3.12.3

300+ of the finest commits went into this latest maintenance release of the
latest Python version, the most stablest, securest, bugfreeest we could
make it.
https://www.python.org/downloads/release/python-3123/
https://discuss.python.org/t/python-3-12-3-and-3-13-0a6-released/50601#python-3130a6-2Python
3.13.0a6

What’s that? The last alpha release? Just one more month until feature
freeze! Get your features done, get your bugs fixed, let’s get 3.13.0 ready
for people to actually use! Until then, let’s test with alpha 6. The
highlights of 3.13 you ask? Well:

naive kindleBOT
#

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/2.1.2/

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 reported issues.

See the full release notes for all of the details:
https://python-oracledb.readthedocs.io/en/latest/release\_notes.html#oracledb-2-1-2-april-2024

Please provide any feedback via GitHub issues: https://github.com/oracle/
python-oracledb/issues or discussions: https://github.com/oracle/python-
oracledb/discussions

naive kindleBOT
#

Earlier this year, an experimental “just-in-time” compiler was merged into CPython’s main development branch. While recent CPython releases have included other substantial internal changes, this addition represents a particularly significant departure from the way CPython has traditionally executed Python code. As such, it deserves wider discussion.

naive kindleBOT
#

Hi all,

For those, who like functional programming, this library [1] provides the following way of functional composition:

from friendly_sequences import Seq

assert (
    Seq[int]((1, 2))
    .zip(Seq[int]((3, 4)))
    .flat_map(lambda x: x + 1)
    .filter(lambda x: x != 2)
    .sort()
    .map(str)
    .fold(lambda left, right: f"{left}{right}", "")
) == “345"

It depends only on "attrs>=21.3.0”

[1] https://github.com/zhukovgreen/friendly-sequences

--
zhukovgreen,

Data Engineer @Paylocity
https://github.com/zhukovgreen

naive kindleBOT
#

PyConZA 2024 will take place on the 3rd & 4th of October, 2024. This
year, PyConZA will be a hybrid conference (with in-person and online
access) hosted at the Belmont Square Conference Centre in Rondebosch,
Cape Town.

We are looking for the following presentations:

  • Keynotes (45 minute long talks on a subject of general interest)
  • Talks (30 minute long talks on more specific topics)
  • Remote Talks (30 minute long talks that will be delivered remotely
  • note that the number of remote talk slots is more limited due to
    technical constraints).

If you would like to give a presentation, please register at
https://za.pycon.org/ and submit your proposal, following the
instructions at https://za.pycon.org/talks/how-to-submit-a-talk/ . We
have a number of tracks available, including: Data Science, Teaching
and Learning with Python, Web, Scientific Computing, Testing and Other
(which includes all talks that don't fall under the mentioned tracks).
We hope to notify accepted presenters b... continue reading

naive kindleBOT
naive kindleBOT
naive kindleBOT
#

pytest-8.2.0

The pytest team is proud to announce the 8.2.0 release!

This release contains new features, improvements, and bug fixes,
the full list of changes is available in the changelog:

https://docs.pytest.org/en/stable/changelog.html

For complete documentation, please visit:

https://docs.pytest.org/en/stable/

As usual, you can upgrade from PyPI via:

pip install -U pytest

Thanks to all of the contributors to this release:

  • Bruno Oliveira
  • Daniel Miller
  • Florian Bruhin
  • HolyMagician03-UMich
  • John Litborn
  • Levon Saldamli
  • Linghao Zhang
  • Manuel López-Ibáñez
  • Pierre Sassoulas
  • Ran Benita
  • Ronny Pfannschmidt
  • Sebastian Meyer
  • Shekhar verma
  • Tamir Duberstein
  • Tobias Stoeckmann
  • dj
  • jakkdl
  • poulami-sau
  • tserg

Happy testing,
The pytest Development Team

naive kindleBOT
#

On behalf of the Nikola team, I am pleased to announce the immediate
availability of Nikola v8.3.1. This release fixes some small bugs,
including some introduced by the new Nikola Plugin Manager.

The minimum Python version supported is now 3.8, and we have adopted
a formal policy to define the Python versions supported by Nikola.

What is Nikola?

Nikola is a static site and blog generator, written in Python.
It can use Mako and Jinja2 templates, and input in many popular markup
formats, such as reStructuredText and Markdown — and can even turn
Jupyter Notebooks into blog posts! It also supports image galleries,
and is multilingual. Nikola is flexible, and page builds are extremely
fast, courtesy of doit (which is rebuilding only what has been changed).

Find out more at the website: https://getnikola.com/

Downloads

Install using pip install Nikola.

Changes

Features

naive kindleBOT
#

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/2.2.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 adds support for VECTOR columns (new to Oracle Database 23ai)
and INTERVAL YEAR TO MONTH columns, implements a number of other requested
features and corrects a number of reported bugs.

See the full release notes for all of the details:
https://python-oracledb.readthedocs.io/en/latest/release\_notes.html#oracledb-2-2-0-may-2024

Please provide any feedback via GitHub issues: https://github.com/oracle/
python-oracledb/issues or discussions: https://github.com/oracle/python-
oracledb/discussions

naive kindleBOT
#

I'm happy to announce the release of Pygments 2.18.0. Pygments is a
generic syntax highlighter written in Python.

Pygments 2.18.0 provides 9 new lexers, updates to 20 lexers, and many
small fixes. This release raises the minimum Python version to 3.8. See
https://pygments.org/docs/changelog/ for details.

Report bugs and feature requests in the issue tracker:
https://github.com/pygments/pygments/issues. Thanks go to all the
contributors of these lexers, and to all those who reported bugs and
waited patiently for this release.

Download it from https://pypi.org/project/Pygments/, or look at
the demonstration at https://pygments.org/demo/.

Enjoy,
Matthäus

naive kindleBOT
#

PyCA cryptography 42.0.6 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, X.509, key derivation functions, and much
more. We support Python 3.7+, and PyPy3 7.3.10+.

Changelog (https://cryptography.io/en/latest/changelog/#v42-0-6):

  • Fixed compilation when using LibreSSL 3.9.1.

Alex

--
All that is necessary for evil to succeed is for good people to do nothing.

naive kindleBOT
#

Wing Python IDE 10.0.4 improves performance of the Python 3.12+
debugger, fixes debugging the Python Shell with Python 3.12, and makes
several other improvements.

Details: https://wingware.com/news/2024-05-02
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 editor provides AI-assisted
development, 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 profess... continue reading

naive kindleBOT
#

PyCA cryptography 42.0.7 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, X.509, key derivation functions, and much
more. We support Python 3.7+, and PyPy3 7.3.10+.

Changelog (https://cryptography.io/en/latest/changelog/#v42-0-7):

  • Restored Windows 7 compatibility for our pre-built wheels. Note that
    we do not test on Windows 7 and wheels for our next release will not
    support it. Microsoft no longer provides support for Windows 7 and
    users are encouraged to upgrade.
  • Paul Kehrer (reaperhulk)
naive kindleBOT
#

After a little bit of excitement discovering new bugs during the release, it’s
done
: 3.13.0 beta 1 is released, the 3.13 branch has been created, and
features for 3.13 are frozen! The main branch is now 3.14.0a0.
https://www.python.org/downloads/release/python-3130b1/

This is a beta preview of Python 3.13

Python 3.13 is still in development. This release, 3.13.0b1, is the first
of four beta release previews of 3.13.

Beta release previews are intended to give the wider community the
opportunity to test new features and bug fixes and to prepare their
projects to support the new feature release.

We strongly encourage maintainers of third-party Python projects to test
with 3.13
during the beta phase and report issues found to the Python bug
tracker https://github.com/python/cpython/issues as soon as possible.
While the release is planned to be feature complete entering the beta
phase, it is possible that features may be modified or, in rare cases,
deleted u... continue reading

naive kindleBOT
#

Hi All

On behalf of the NumPy team, I'm pleased to announce the release of NumPy
2.0.0rc2. NumPy 2.0.0 is the first major release since 2006. It is the
result of 11 months of development since the last feature release and is
the work of 198 contributors spread over 1041 pull requests. It contains a
large number of exciting new features as well as changes to both the Python
and C APIs.

This major release includes breaking changes that could not happen in a
regular minor (feature) release - including an ABI break, changes to type
promotion rules, and API changes which may not have been emitting
deprecation warnings in 1.26.x. Key documents related to how to adapt to
changes in NumPy 2.0 include:

naive kindleBOT
naive kindleBOT
naive kindleBOT
#

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/2.2.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 reported issues.

See the full release notes for all of the details:
https://python-oracledb.readthedocs.io/en/latest/release\_notes.html#oracledb-2-2-1-may-2024

Please provide any feedback via GitHub issues: https://github.com/oracle/
python-oracledb/issues or discussions: https://github.com/oracle/python-
oracledb/discussions

naive kindleBOT
#

This PEP proposes a mechanism for type checking metadata that uses the typing.Annotated type. Metadata objects that implement the new __supports_type__ protocol will be type checked by static type checkers to ensure that the metadata is valid for the given type.

naive kindleBOT
#

Structured concurrency is increasingly popular in Python. Interfaces such as the asyncio.TaskGroup and asyncio.timeout context managers support compositional reasoning, and allow developers to clearly scope the lifetimes of concurrent tasks. However, using yield to suspend a frame inside such a context leads to situations where the wrong task is canceled, timeouts are ignored, and exceptions are mishandled. More fundamentally, suspending a frame inside a TaskGroup violates the structured concurrency design principle that child tasks are encapsulated within their parent frame.

naive kindleBOT
#

This PEP supplements PEP 649 by providing various tweaks and additions to its specification:

naive kindleBOT
#

PyCA cryptography 42.0.8 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, X.509, key derivation functions, and much
more. We support Python 3.7+, and PyPy3 7.3.10+.

Changelog (https://cryptography.io/en/latest/changelog/#v42-0-8):

  • Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.2.2.
  • Paul Kehrer (reaperhulk)
naive kindleBOT
#

Last minute bugs in test environments notwithstanding, 3.12.4 is now
available!
https://www.python.org/downloads/release/python-3124/
https://www.python.org/downloads/release/python-3124/
https://discuss.python.org/t/python-3-12-4-now-available/55128#this-is-the-third-maintenance-release-of-python-312-1This
is the third maintenance release of Python 3.12

Python 3.12 is the newest major release of the Python programming language,
and it contains many new features and optimizations. 3.12.4 is the latest
maintenance release, containing more than 250 bugfixes, build improvements
and documentation changes since 3.12.3.
https://discuss.python.org/t/python-3-12-4-now-available/55128#major-new-features-of-the-312-series-compared-to-311-2Major
new features of the 3.12 series, compared to 3.11
https://discuss.python.org/t/python-3-12-4-now-available/55128#new-features-3New
features

#

After a little bit of a delay (I blame the flat tire on my rental car),
3.13.0b2 is released:
https://www.python.org/downloads/release/python-3130b2/
https://www.python.org/downloads/release/python-3130b2/

https://discuss.python.org/t/3-13-0b2-now-available/55056#this-is-a-beta-preview-of-python-313-1This
is a beta preview of Python 3.13

Python 3.13 is still in development. This release, 3.13.0b2, is the second
of four beta release previews of 3.13.

Beta release previews are intended to give the wider community the
opportunity to test new features and bug fixes and to prepare their
projects to support the new feature release.

We strongly encourage maintainers of third-party Python projects to test
with 3.13
during the beta phase and report issues found to the Python bug
tracker https://github.com/python/cpython/issues as soon as possible.
While the release is planned to be feature complete entering the beta
phase, it is possible that features may be mo... continue reading

naive kindleBOT
#

The os.path.commonprefix function basically returns the common initial
characters (if any) shared by a sequence of strings, e.g.
    os.path.commonprefix(("Python is great!", "Python is not bad",
"Python helps")) # returns "Python "
This is purely a string manipulation function which bears no relation to
actual file paths or whether they exist.
I have found uses for it unrelated to file paths:
    (a) When updating a progress display by printing backspaces and
overtyping, discover the common characters between the old and new
values displayed, so as to print as few characters as possible
    (b) Find the first character position where two strings differ.
I am sure there are many others.

It seems to me that this function (or something similar) should not be
in os.path, but somewhere else where it would be more visible.
(There are a lot of "solutions" on the Internet to finding the common
prefix of 2 or more than 2 strings, whose authors obviously don't know
about os.path.com... continue reading

naive kindleBOT
#

This PEP proposes updating the versioning scheme for Python to include the calendar year. This aims to make the support lifecycle clear by making it easy to see when a version was first released, and easier to work out when it will reach end of life (EOL).

naive kindleBOT
#

PEP 484 defines the notation type[C] where C is a class, to refer to a class object that is a subtype of C. It explicitly does not allow type[C] to refer to arbitrary type expression objects such as the runtime object str | None, even if C is an unbounded TypeVar. 1 In cases where that restriction is unwanted, this PEP proposes a new notation TypeExpr[T] where T is a type, to refer to a either a class object or some other type expression object that is a subtype of T, allowing any kind of type to be referenced.

naive kindleBOT
#

Hi All

On behalf of the NumPy team, I'm pleased to announce the release of NumPy
2.0.0rc2. NumPy 2.0.0 is the first major release since 2006. It is the
result of 11 months of development since the last feature release and is
the work of 198 contributors spread over 1041 pull requests. It contains a
large number of exciting new features as well as changes to both the Python
and C APIs.

This major release includes breaking changes that could not happen in a
regular minor (feature) release - including an ABI break, changes to type
promotion rules, and API changes which may not have been emitting
deprecation warnings in 1.26.x. Key documents related to how to adapt to
changes in NumPy 2.0 include:

naive kindleBOT
#

Hello all,
I'm glad to announce the release of psutil 6.0.0:
https://github.com/giampaolo/psutil

About

psutil (process and system utilities) is a cross-platform library for
retrieving information on running processes and system utilization (CPU,
memory, disks, network) in Python. It is useful mainly for system
monitoring, profiling and limiting process resources and management of
running processes. It implements many functionalities offered by command
line tools such as: ps, top, lsof, netstat, ifconfig, who, df, kill, free,
nice, ionice, iostat, iotop, uptime, pidof, tty, taskset, pmap. It
currently supports Linux, Windows, macOS, Sun Solaris, FreeBSD, OpenBSD,
NetBSD and AIX. Supported Python versions are 2.7 and 3.6+. PyPy is also
known to work.

What's new

Enhancements

  • #2109: maxfile and maxpath fields were removed from the namedtuple
    returned by disk_partitions()_. Reason: on network filesystems (NFS)
    this
    can po... continue reading
naive kindleBOT
#

Hi,

The Blosc development team is pleased to announce the first beta release of
Python-Blosc2 3.0.0. We have been working hard to provide a new evaluation
engine (based on numexpr) for NDArray instances, and we would like to get
feedback from the community before the final release.

Now, you can evaluate expressions like a + sin(b) + 1 where a and b
are NDArray instances. This is a powerful feature that allows for
efficient computations on compressed data, and supports advanced features
like reductions, filters, user-defined functions and broadcasting (still
in beta). See this
example <https://github.com/Blosc/python-blosc2/blob/main/examples/ndarray/eval_expr.py>_.

Also, we have added support for memory mapping in SChunk and
NDArray instances.
This allows to map super-chunks stored in disk and access them as if
they were in
memory. When combined with the evaluation engine, this feature allows for very
good performance when working with large datasets. See this
`b... continue reading

naive kindleBOT
#

Hello all,
I'm glad to announce the release of pyftpdlib 1.5.10:
https://github.com/giampaolo/pyftpdlib

About

Python FTP server library provides a high-level portable interface to
easily write very efficient, scalable and asynchronous FTP servers with
Python.

What's new

Enhancements

  • #621: use black formatter.
  • #626: use argparse instead of deprecated optparse.
  • #628: use pytest instead of unittest.
  • #632: add ability to run tests in parallel with make test-parallel.

Bug fixes

  • #627: PermissionError may occur on Windows when binding ports from a
    pre-configured PASV range.

Links

--

Giampaolo - https://gmpy.dev/

naive kindleBOT
#

The next to last Python 3.13 beta version, beta 3, is now released:
https://www.python.org/downloads/release/python-3130b3/

This is a beta preview of Python 3.13

Python 3.13 is still in development. This release, 3.13.0b3, is the third
of four beta release previews of 3.13.

Beta release previews are intended to give the wider community the
opportunity to test new features and bug fixes and to prepare their
projects to support the new feature release.

We strongly encourage maintainers of third-party Python projects to test
with 3.13
during the beta phase and report issues found to the Python bug
tracker https://github.com/python/cpython/issues as soon as possible.
While the release is planned to be feature complete entering the beta
phase, it is possible that features may be modified or, in rare cases,
deleted up until the start of the release candidate phase (Tuesday
2024-07-30). Our goal is to have no ABI changes after beta 4 and as few
code changes as... continue reading

naive kindleBOT
#

ANNOUNCING

eGenix PyRun - One file Python Runtime

Version 2.5.0

Python runtime taking up just 4-6MB on disk

This announcement is also available on our web-site for online reading:
https://www.egenix.com/company/news/eGenix-PyRun-2.5.0-GA.html


INTRODUCTION

eGenix PyRunhttps://www.egenix.com/company/legal/trademarks.html
is our open source, one file, no installation version of Python, making
the distribution of a Python interpreter to run Python based scripts and
applications to Unix based systems simple and efficient.

eGenix PyRun's executable only needs 4-6MB on disk, but still supports
most Python applications and scripts.

Compared to a regular Python installation of typically 100MB on disk,
eGenix PyRun is ideal for applications and scripts that need to be
distributed to containers, VMs, clusters, client installations,
customers or end-users.

It makes "i... continue reading

naive kindleBOT
#

Leo https://leo-editor.github.io/leo-editor/ 6.8.0 is now available on
GitHub https://github.com/leo-editor/leo-editor/releases and pypi
https://pypi.org/project/leo/.

Leo is an IDE, outliner and PIM
https://leo-editor.github.io/leo-editor/preface.html.

The highlights of Leo 6.8.0

This release contains several breaking changes to Leo's API.
See the What's new in Leo 6.8.0 section for details.

Significant changes

  • PR #3828: Leo now requires PyQt6.
  • PR #3911: Leo's core no longer uses the free_layout or nested_splitter
    plugins.
  • PR #3872: Improve how Leo searches for definitions. Add @bool
    prefer-nav-pane.
  • PR #3922: Improved the restart-leo command.

New and improved

  • PR #3870: Leo's beautifier works faster.
  • PR #3841: Add g.traceUnique and g.traceUniqueClass functions.
  • PR #3893: Add vr-fully-expand, vr-toggle-visibility and vr-keep-open
    commands.
  • PR #3902: Add the toggle-unl-view command.
  • ... continue reading
naive kindleBOT
#

I have just released version 0.9.9 of Shed Skin, a
restricted-Python-to-C++ compiler. It comes with a whole host of small
improvements, and also a nice new (constructive solid geometry)
example, which becomes about 15 times faster on my system (not 15%..
15 times!).

For more information about the release:

https://github.com/shedskin/shedskin/releases/tag/v0.9.9
http://blogfarts.blogspot.com/2024/06/shed-skin-restricted-python-to-c.html

If you think this is a cool project, please consider helping out.
There is always enough work (low-hanging fruit even) on both the
Python and C++ side.

Cheers,
Mark.

naive kindleBOT
#

A new SCons release, 4.8.0, is now available on the SCons download page:

https://scons.org/pages/download.html

Here is a summary of the changes since 4.7.0:

NEW FUNCTIONALITY

  • GetSConsVersion() added to retrieve the SCons version.

DEPRECATED FUNCTIONALITY

  • Mark Python 3.6 support as deprecated. Use --warn=no-python-version
    to quiet the warning.

CHANGED/ENHANCED EXISTING FUNCTIONALITY

  • Dump() with json format selected now recognizes additional compound types
    (UserDict and UserList), which improves the detail of the display.
    json output is also sorted, to match the default display.
  • Python 3.13 changes the behavior of isabs() on Windows. Adjust SCons
    usage of this in NodeInfo classes to avoid test problems.
  • Drop duplicated __getstate__ and __setstate__ methods in AliasNodeInfo,
    FileNodeInfo and ValueNodeInfo classes, as they are identical to t... continue reading
naive kindleBOT
#

Wing 10.0.5 adds support for running the IDE on arm64 Linux, updates the
German language UI localization, changes the default OpenAI model to
lower cost and better performing gpt-4o, and fixes several bugs.

Details: https://wingware.com/news/2024-07-08
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 editor provides AI-assisted
development, 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-feature... continue reading

naive kindleBOT
#

Hello All:

I'm proud to release version 2.4.0 of the Roundup issue tracker.
This release is a bugfix and feature release, so make sure to
read https://www.roundup-tracker.org/docs/upgrading.html to bring
your tracker up to date.

The 79 changes, as usual, include some new features and many
bug fixes.

Version 2.4.0 is the last release to support Python 2.
The next minor release, planned for mid 2025, will occur
5 years after Roundup started supporting Python 3.

Among the notable improvements in 2.4.0 from the 2.3.0
release are:

  • three CVE's have been fixed. One requires changes to your
    tracker's home directory. The other two are fixed by
    installing 2.4.0. See
    https://www.roundup-tracker.org/docs/security.html for
    details and instructions on how to fix these in 2.4.0 and
    earlier releases.

  • new classhelper component thanks to a team of students
    from CS682 at U-Mass Boston. This fixes many issues with
    the old classhelper. It is implemented as a web-component
    and nee... continue reading

naive kindleBOT
#

Python 3.13.0b4, the final beta of Python 3.13, is now available:

https://www.python.org/downloads/release/python-3130b4/

This is a beta preview of Python 3.13

Python 3.13 is still in development. This release, 3.13.0b4, is the final
beta release preview of 3.13.

Beta release previews are intended to give the wider community the
opportunity to test new features and bug fixes and to prepare their
projects to support the new feature release.

We strongly encourage maintainers of third-party Python projects to test
with 3.13
during the beta phase and report issues found to the Python bug
tracker https://github.com/python/cpython/issues as soon as possible.
While the release is planned to be feature complete entering the beta
phase, it is possible that features may be modified or, in rare cases,
deleted up until the start of the release candidate phase (Tuesday
2024-07-30). Our goal is to have no ABI changes after this final beta
release, and as few code... continue reading

naive kindleBOT
#

pytest-8.3.0

The pytest team is proud to announce the 8.3.0 release!

This release contains new features, improvements, and bug fixes,
the full list of changes is available in the changelog:

https://docs.pytest.org/en/stable/changelog.html

For complete documentation, please visit:

https://docs.pytest.org/en/stable/

As usual, you can upgrade from PyPI via:

pip install -U pytest

Thanks to all of the contributors to this release:

  • Anita Hammer
  • Ben Brown
  • Brian Okken
  • Bruno Oliveira
  • Cornelius Riemenschneider
  • Farbod Ahmadian
  • Florian Bruhin
  • Hynek Schlawack
  • James Frost
  • Jason R. Coombs
  • Jelle Zijlstra
  • Josh Soref
  • Marc Bresson
  • Michael Vogt
  • Nathan Goldbaum
  • Nicolas Simonds
  • Oliver Bestwalter
  • Pavel Březina
  • Pierre Sassoulas
  • Pradyun Gedam
  • Ran Benita
  • Ronny Pfannschmidt
  • SOUBHIK KUMAR MITRA
  • Sam Jirovec
  • Stavros Ntentos
  • Sviatoslav Sydorenko
  • Sviatoslav S... continue reading
#

PyCA cryptography 43.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, X.509, key derivation functions, and much
more. We support Python 3.7+, and PyPy3 7.3.10+.

Changelog (https://cryptography.io/en/latest/changelog/#v43-0-0)

  • BACKWARDS INCOMPATIBLE: Support for OpenSSL less than 1.1.1e has
    been removed. Users on older version of OpenSSL will need to upgrade.
  • BACKWARDS INCOMPATIBLE: Dropped support for LibreSSL < 3.8.
  • Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.3.1.
  • Updated the minimum supported Rust version (MSRV) to 1.65.0, from 1.63.0.
  • generate_private_key() now enforces a minimum RSA key size of
    1024-bit. Note that 1024-bit is still considered insecure, users
    should generally use a key size of 2048-bits.
  • serialize_certificates() now emits ASN.1 that more closely follows
    the recommendation... continue reading
naive kindleBOT
#

Hi All

On behalf of the NumPy team, I'm pleased to announce the release of NumPy
2.0.1. NumPy 2.0.1 is a maintenance release that fixes bugs and regressions
discovered after the 2.0.0 release. NumPy 2.0.1 is the last planned release
in the 2.0.x series, 2.1.0rc1 should be out shortly.

This release supports Python 3.9-3.12. Wheels can be downloaded from PyPI
https://pypi.org/project/numpy/2.0.1; source archives, release notes, and
wheel hashes are available on Github
https://github.com/numpy/numpy/releases/tag/v2.0.1.

Contributors

A total of 15 people contributed to this release. People with a "+" by
their names contributed a patch for the first time.

  • @vahidmech +
  • Alex Herbert +
  • Charles Harris
  • Giovanni Del Monte +
  • Leo Singer
  • Lysandros Nikolaou
  • Matti Picus
  • Nathan Goldbaum
  • Patrick J. Roddy +
  • Raghuveer Devulapalli
  • Ralf Gommers
  • Rostan Tabet +
  • Sebastian Berg
  • Tyler Reddy
  • Yan... continue reading
naive kindleBOT
#

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/2.3.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 adds support for a new VECTOR storage format (BINARY)
available in Oracle Database 23.5. It also implements a number of other
requested features and corrects a number of reported bugs.

See the full release notes for all of the details:
https://python-oracledb.readthedocs.io/en/latest/release\_notes.html#oracledb-2-3-0-july-2024

Please provide any feedback via GitHub issues:
https://github.com/oracle/python-oracledb/issues or discussions:
https://github.com/oracle/python-oracledb/discussions

naive kindleBOT
#

This PEP proposes a new file format for dependency specification to enable reproducible installation in a Python environment. The format is designed to be human-readable and machine-generated. Installers consuming the file should be able to evaluate each package in question in isolation, with no need for dependency resolution at install-time.

naive kindleBOT
#

I'm pleased to announce release 0.2.1 of the "Python Extension Patterns"
documentation project.

If you are involved in writing or maintaining Python C/C++ extensions then
this 200+ page cookbook is for you.

Whats New:

  • Python versions supported: 3.9, 3.10, 3.11, 3.12, 3.13 (possibly
    backwards compatible with Python 3.6, 3.7, 3.8)
  • Almost all example code is built and tested against these Python versions.
  • Added a chapter on managing file paths and files between Python and C.
  • Added a chapter on subclassing from your classes or builtin classes.
  • Added a chapter on pickling from C.
  • Added a chapter on Capsules.
  • Added a chapter on Iterators and Generators.
  • Added a chapter on memory leaks and how to detect them.
  • Added a chapter on thread safety.
  • Update "Homogeneous Python Containers and C++" to refer to
    https://github.com/paulross/PyCppContainers
  • All the documentation has been extensively reviewed and corrected where
    necessary.
  • Release on PyPi.
    -... continue reading
naive kindleBOT
#

This is a second call for speakers for PyConZA 2024

PyConZA 2024 will take place on the 3rd & 4th of October, 2024. This
year, PyConZA will be a hybrid conference (with in-person and online
access) hosted at the Belmont Square Conference Centre in Rondebosch,
Cape Town.

We are looking for the following presentations:

  • Keynotes (45 minute long talks on a subject of general interest)
  • Talks (30 minute long talks on more specific topics)
  • Remote Talks (30 minute long talks that will be delivered remotely
  • note that the number of remote talk slots is more limited due to
    technical constraints).

If you would like to give a presentation, please register at
https://za.pycon.org/ and submit your proposal, following the
instructions at https://za.pycon.org/talks/how-to-submit-a-talk/ . We
have a number of tracks available, including: Data Science, Teaching
and Learning with Python, Web, Scientific Computing, Testing and Other
(which includes all talks that don't fall under the menti... continue reading

naive kindleBOT
#

Python 3.13 release candidate 1 is now available.

https://www.python.org/downloads/release/python-3130rc1/

https://discuss.python.org/t/python-3-13-0-release-candidate-1-released/59703#p-181511-this-is-the-first-release-candidate-of-python-3130-1This
is the first release candidate of Python 3.13.0

This release, 3.13.0rc1, is the penultimate release preview. Entering the
release candidate phase, only reviewed code changes which are clear bug
fixes are allowed between this release candidate and the final release. The
second candidate (and the last planned release preview) is scheduled for
Tuesday, 2024-09-03, while the official release of 3.13.0 is scheduled for
Tuesday, 2024-10-01.

There will be no ABI changes from this point forward in the 3.13 series,
and the goal is that there will be as few code changes as possible.
https://discuss.python.org/t/python-3-13-0-release-candidate-1-released/59703#p-181511-call-to-action-2Call
to action

We strongly encou... continue reading

naive kindleBOT
#

Python 3.12.5 is now available:

https://www.python.org/downloads/release/python-3125/

This is the fifth maintenance release of Python 3.12

Python 3.12 is the newest major release of the Python programming language,
and it contains many new features and optimizations. 3.12.5 is the latest
maintenance release, containing more than 250 bugfixes, build improvements
and documentation changes since 3.12.4.

This version of Python 3.12 also comes with pip 24.2 by default. However,
due to an incompatibility with older macOS versions, macOS 10.9 through
10.12 will downgrade their version of pip to 24.1.2 during the installation
process
(in the Install Certificates step). See the installer ReadMe and the
pip issue on the matter https://github.com/pypa/pip/issues/12901 for more
information. Versions of macOS older than 10.13 haven’t been supported by
Apple since 2019, and maintaining support for them is becoming increasingly
difficult. While this release of 3.12 still sup... continue reading

naive kindleBOT
#

This PEP introduces tag strings for custom, repeatable string processing. Tag strings are an extension to f-strings, with a custom function – the “tag” – in place of the f prefix. This function can then provide rich features such as safety checks, lazy evaluation, domain-specific languages (DSLs) for web templating, and more.

naive kindleBOT
#

Hi All

On behalf of the NumPy team, I'm pleased to announce the release of NumPy
2.1.0rc1. NumPy 2.1.0rc1 provides support for the upcoming Python 3.13
release and drops support for Python 3.9. In addition to the usual bug
fixes and updated Python support, it helps get us back into our usual
release cycle after the extended development of 2.0. Some 455 pull
requests were merged for this release, highlights are:

  • Support for the array-api 2023.12 standard.
  • Support for Python 3.13.
  • Preliminary support for free threaded Python 3.13

This release supports Python 3.10-3.13. Wheels can be downloaded from PyPI
https://pypi.org/project/numpy/2.1.0rc1; source archives, release notes,
and wheel hashes are available on Github
https://github.com/numpy/numpy/releases/tag/v2.1.0rc1.

Contributors

A total of 110 people contributed to this release. People with a "+" by
their names contributed a patch for the first time.

naive kindleBOT
naive kindleBOT
#

Hi All

On behalf of the NumPy team, I'm pleased to announce the release of NumPy
2.1.0. NumPy 2.1.0 provides support for the upcoming Python 3.13 release
and drops support for Python 3.9. In addition to the usual bug fixes and
updated Python support, this release helps get NumPy back into its usual
release cycle after the extended development of 2.0. Some 469 pull
requests were merged for this release, highlights are:

  • Support for the array-api 2023.12 standard.
  • Support for Python 3.13.
  • Preliminary support for free threaded Python 3.13

This release supports Python 3.10-3.13. Wheels can be downloaded from PyPI
https://pypi.org/project/numpy/2.1.0; source archives, release notes, and
wheel hashes are available on Github
https://github.com/numpy/numpy/releases/tag/v2.1.0.

Contributors

A total of 110 people contributed to this release. People with a "+" by
their names contributed a patch for the first time.

naive kindleBOT
#

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/2.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 adds support for Oracle Database 23ai pipelining and corrects
a number of reported bugs.

See the full release notes for all of the details:
https://python-oracledb.readthedocs.io/en/latest/release\_notes.html#oracledb-2-4-0-august-2024

Please provide any feedback via GitHub issues: https://github.com/oracle/
python-oracledb/issues or discussions: https://github.com/oracle/python-
oracledb/discussions
ReplyReply allForward
Add reaction

naive kindleBOT
#

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/2.4.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 one reported issue.

See the full release notes for all of the details:
https://python-oracledb.readthedocs.io/en/latest/release\_notes.html#oracledb-2-4-1-august-2024

Please provide any feedback via GitHub issues:
https://github.com/oracle/python-oracledb/issues or discussions:
https://github.com/oracle/python-oracledb/discussions

naive kindleBOT
#

iPOPO v3.0.0 has been released!

What is iPOPO ?

iPOPO is a Python-based Service-Oriented Component Model (SOCM) based on
Pelix, a dynamic service platform. They are inspired by two popular Java
technologies for the development of long-lived applications: the iPOJO
component model and the OSGi Service Platform.
iPOPO enables the development of long-running and modular IT services.

It is based on OSGi concepts:

  • Bundle: a Python module imported using Pelix and associated to a
    context. A bundle has a life-cycle (install, start, updated, stop,
    uninstall)
  • Service: a Python object registered in a service registry, associated
    to a specification and to properties.
  • Component: the instance of a class described/manipulated by iPOPO
    decorators

Components are bound together by the specification(s) of the service(s)
they provide. The required services are injected into components by iPOPO.

For more information, see https://ipopo.readthedocs.io/

... continue reading

naive kindleBOT
#

Hi All

On behalf of the NumPy team, I'm pleased to announce the release of NumPy
2.0.2. NumPy 2.0.2 is a maintenance release that fixes bugs and regressions
discovered after the 2.0.1 release. This release supports Python 3.9-3.12.
Wheels can be downloaded from PyPI
https://pypi.org/project/numpy/2.0.2; source
archives, release notes, and wheel hashes are available on Github
https://github.com/numpy/numpy/releases/tag/v2.0.2.

Contributors

A total of 13 people contributed to this release. People with a "+" by
their
names contributed a patch for the first time.

  • Bruno Oliveira +
  • Charles Harris
  • Chris Sidebottom
  • Christian Heimes +
  • Christopher Sidebottom
  • Mateusz Sokół
  • Matti Picus
  • Nathan Goldbaum
  • Pieter Eendebak
  • Raghuveer Devulapalli
  • Ralf Gommers
  • Sebastian Berg
  • Yair Chuchem +

Pull requests merged

A total of 19 pull requests were merged for this release.

naive kindleBOT
#

pyspread 2.3 has been released

This release is the first to support and require PyQt6

New features

  • Imports Excel xlsx files including code conversion into Python via
    pycel
    Excel functionality is limited, no Pivot tables, no charts
    Note that relative cell references from Excel files are not preserved
    because pycel does not support it
  • Money default currency is now changeable in preferences dialog

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.3.tar.gz.asc?inline=false
Source code: https://gitla... continue reading

naive kindleBOT
#

Hi All,

On behalf of the NumPy team, I'm pleased to announce the release of NumPy
2.1.1. NumPy 2.1.1 is a maintenance release that fixes bugs and regressions
discovered after the 2.1.0 release.

This release supports Python 3.10-3.13. Wheels can be downloaded from PyPI
https://pypi.org/project/numpy/2.1.1; source archives, release notes, and
wheel hashes are available on Github
https://github.com/numpy/numpy/releases/tag/v2.1.1.

Contributors

A total of 7 people contributed to this release. People with a "+" by their
names contributed a patch for the first time.

  • Andrew Nelson
  • Charles Harris
  • Mateusz Sokół
  • Maximilian Weigand +
  • Nathan Goldbaum
  • Pieter Eendebak
  • Sebastian Berg

Pull requests merged
A total of 10 pull requests were merged for this release.

  • #27236: REL: Prepare for the NumPy 2.1.0 release [wheel build]
  • #27252: MAINT: prepare 2.1.x for further development
  • #27259: BUG: revert uninte... continue reading
naive kindleBOT
#

PyCA cryptography 43.0.1 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, X.509, key derivation functions, and much
more. We support Python 3.7+, and PyPy3 7.3.10+.

Changelog (https://cryptography.io/en/latest/changelog/#v43-0-1):

  • Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.3.2.

-Paul Kehrer (reaperhulk)

naive kindleBOT
#

A new SCons release, 4.8.1, is now available on the SCons download page:

https://scons.org/pages/download.html

Here is a summary of the changes since 4.8.0:

CHANGED/ENHANCED EXISTING FUNCTIONALITY

  • env.Dump() previously accepted a single optional "key" argument.
    It now accepts any number of optional "key" arguments; any supplied
    keys will be serialized with their values in a Python dict style.
    As a result there is a small change in behavior: if a single key
    argument is given, where it previously would return a string containing
    just the value, now it will return a string that looks like a dictionary
    including the key. For example, from "'gcc'" to "{'CC': 'gcc'}".
    This should not have any impact as the result of calling Dump is
    intended for diagnostic output, not for use by other interfaces.

FIXES

  • SCons 4.8.0 added an __all__ specifier at the top of the Variables
    module (`Variab... continue reading
naive kindleBOT
#

The following PyPI XMLRPC methods are being permanently deprecated:

list_packages
package_releases
release_urls
release_data

See our docs https://warehouse.pypa.io/api-reference/xml-rpc.html#deprecated-methods for alternatives. These methods have seen continued excess traffic that requires a full transit to our backends to service. Given that we have had them marked as deprecated for years, and they are continuing to cause availability issues for the service, it is time for them to go.

This deprecation will rollout over the next three weeks via rolling brownout, this allows us to gradually "notify" users who are not subscribed to pypi-announce https://mail.python.org/mailman3/lists/pypi-announce.python.org/ and to provide some time to work around for users who need time to migrate.

Brownout windows:

September 5th - September 12th
:00-:10 every hour
September 12th - September 19th
:00-:15 and :30-:40 every hour
September 19th - September 26th
:00-20 and :30-:50 every hour
S... continue reading

naive kindleBOT
naive kindleBOT
#

Hi there!
A big joint release today. Mostly security fixes but we also have the final release candidate of 3.13 so let’s start with that!
Python 3.13.0RC2

Final opportunity to test and find any show-stopper bugs before we bless and release 3.13.0 final on October 1st.

Get it here: Python Release Python 3.13.0rc2 | Python.org https://www.python.org/downloads/release/python-3130rc2/
Call to action

We strongly encourage maintainers of third-party Python projects to prepare their projects for 3.13 compatibilities during this phase, and where necessary publish Python 3.13 wheels on PyPI to be ready for the final release of 3.13.0. Any binary wheels built against Python 3.13.0rc2 will work with future versions of Python 3.13. As always, report any issues to the Python bug tracker https://github.com/python/cpython/issues.

Please keep in mind that this is a preview release and while it’s as close to the final release as we can get it, its use is notrecommended for production environme... continue reading

naive kindleBOT
#

pytest 8.3.3 has just been released to PyPI.

This is a bug-fix release, being a drop-in replacement. To upgrade::

pip install --upgrade pytest

The full changelog is available at https://docs.pytest.org/en/stable/changelog.html.

Thanks to all of the contributors to this release:

  • Anthony Sottile
  • Avasam
  • Bruno Oliveira
  • Christian Clauss
  • Eugene Mwangi
  • Florian Bruhin
  • GTowers1
  • Nauman Ahmed
  • Pierre Sassoulas
  • Reagan Lee
  • Ronny Pfannschmidt
  • Stefaan Lippens
  • Sviatoslav Sydorenko (Святослав Сидоренко)
  • dongfangtianyu

Happy testing,
The pytest Development Team

naive kindleBOT
naive kindleBOT
naive kindleBOT
naive kindleBOT
#

Dear Python community,

I am pleased to announce the release of pipefunc, a new open-source Python library
designed to simplify function composition and pipeline creation for scientific computing,
data processing, and machine learning workflows.

BACKGROUND:
In scientific computing and data science, we often deal with complex workflows
involving multiple interdependent functions and large parameter spaces. pipefunc addresses
these challenges by automatically generating Directed Acyclic Graphs (DAGs) from Python
functions and efficiently handling N-dimensional parameter sweeps.

KEY FEATURES:

  1. Automatic DAG generation from Python functions
  2. Efficient handling of N-dimensional parameter sweeps
  3. Seamless scaling from local execution to HPC environments (including SLURM clusters)
  4. Built-in pipeline visualization
  5. Integrated resource usage profiling
  6. N-dimensional map-reduce support
  7. Automatic type checking through annotations
  8. Minimal boilerplate code required

VERSION: 0.3... continue reading

naive kindleBOT
#

What Changed?=============
This is an enhancement and bug-fix release, and all users are encouraged to upgrade.

Brief summary:

    • Fix #117: Add WKD (Web Key Directory) support for auto-locating keys. Thanks to Myzel394 for the patch.
  • Fix #237: Ensure local variable is initialized even when an exception occurs.

  • Fix #239: Remove logging of decryption result.

This release [2] has been signed with my code signing key:

Vinay Sajip (CODE SIGNING KEY) <vinay_sajip at yahoo.co.uk>
Fingerprint: CA74 9061 914E AC13 8E66 EADB 9147 B477 339A 9B86

Recent changes to PyPI don't show the GPG signature with the download links.
An alternative download source where the signatures are available is at [4].
The source code repository is at [1].
Documentation is available at [5].

As always, your feedback is most welcome (especially bug reports [3],
patches and suggestions for improvement, or any other points via this group).

Enjoy!

Cheers

Vinay ... continue reading

naive kindleBOT
#

Wing 10.0.6 adds support for Python 3.13 and fixes some issues with AI
development, code refactoring, and unit testing with pytest.

Details: https://wingware.com/news/2024-09-20
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 editor provides AI-assisted
development, 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 ID... continue reading

naive kindleBOT
#

Dear Python Enthusiasts & Tech Professionals,

We're excited to announce the 5th Python Tanzania Conference (PyCon
Tanzania 2024)! This milestone event celebrates five incredible years of
growth, learning, and community-building in the Tanzanian Python ecosystem.

Date: 4th - 5th, December 2024
Location: University Of Dar-es-Salaam - Main Campus Library

Why Attend?

  • For Seasoned Developers: Dive deep into advanced Python techniques,
    explore cutting-edge frameworks, and exchange ideas with fellow experts.
  • For Beginners and Students: Kickstart your Python journey with
    beginner-friendly workshops and connect with mentors who can guide your
    learning path.
  • For Business Professionals: Discover how Python is transforming
    industries and explore potential applications for your business.
  • For Everyone: Experience the vibrant Python community, expand your
    network, and be inspired by innovative projects from across Tanzania and
    ... continue reading
naive kindleBOT
#

/This announcement is in German since it targets a local user
group//meeting in Düsseldorf, Germany/

Ankündigung

Python Meeting Düsseldorf - Oktober 2024
<https://www.egenix.com/company/news/Python-Meeting-Duesseldorf-2024-10-02>

Ein Treffen von Python Enthusiasten und Interessierten
in ungezwungener Atmosphäre.

*02.10.2024, 18:00 Uhr*
Raum 1, 2.OG im Bürgerhaus Stadtteilzentrum Bilk
<http://www.duesseldorf.de/jugendamt/fam/famfoe/bueh/ac/index.shtml>
Düsseldorfer Arcaden
<http://www.duesseldorf-arcaden.de/anfahrt.html>, Bachstr. 145,
40217 Düsseldorf
<http://maps.google.com/maps?q=51.209169,6.775339&layer=c&sll=51.209353,6.775272&cbp=11,177.96,,0,0.79&cbll=51.209412,6.77577&ie=UTF8&t=m&vpsrc=0&panoid=0NGUHHHEpGGMCcqpf3Gmbw&z=17>


Programm

Bereits angemeldete Vorträge:

  • Detlef Lannert:
    /*pyinfra als Alternative zu Ansible

    */

  • Marc-André Lemburg:
    /*Rapid web app development wi... continue reading

naive kindleBOT
#

This is not the release you’re looking for…

(unless you’re looking for 3.12.7.)

Because no plan survives contact with reality, instead of the actual Python
3.13.0 release we have a new Python 3.13 release candidate today. Python
3.13.0rc3 rolls back the incremental cyclic garbage collector (GC), which
was added in one of the alpha releases. The incremental GC had more
significant performance regressions in specific workloads than we expected.
Rather than try to fiddle with its details in the hope of fixing them (and
not making anything else worse) we decided to revert back to the old GC in
3.13. Work on the incremental GC will continue in 3.14. We also took the
opportunity to fix some other (rare) bugs and issues found in 3.13.0rc2. The
final release of Python 3.13.0 will now happen next week, Monday October 7th
.

In an effort to return to normalcy, we’ve also released Python 3.12.7 as
scheduled, despite the expedited release a month ago. It’s important to be
regul... continue reading

naive kindleBOT
#

This PEP 1 proposes to allow unparenthesized except and except* blocks in Python’s exception handling syntax. Currently, when catching multiple exceptions, parentheses are required around the exception types. This was a Python 2 remnant. This PEP suggests allowing the omission of these parentheses, simplifying the syntax, making it more consistent with other parts of the syntax that make parentheses optional, and improving readability in certain cases.

naive kindleBOT
#

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/vulture
http://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

News

  • Add support for Python 3.13 (Jendrik Seipp, #369).
  • Add PyPI and conda-forge badges to README file (Trevor James Smith,
    #35... continue reading
naive kindleBOT
#

This PEP proposes a mechanism by which projects hosted on pypi.org can safely host wheel artifacts on external sites other than PyPI. This PEP explicitly does not propose external hosting of projects, packages, or their metadata. That functionality is already available by externally hosting independent package indexes. Because this PEP only provides a mechanism for projects to customize the download URL for specific released wheel artifacts, dependency resolution as already implemented by common installer tools such as pip and uv does not need to change.

naive kindleBOT
#

Hi All,

On behalf of the NumPy team, I'm pleased to announce the release of NumPy
2.1.2. NumPy 2.1.2 is a maintenance release that fixes bugs and regressions
discovered after the 2.1.1 release.

This release supports Python 3.10-3.13. Wheels can be downloaded from PyPI
https://pypi.org/project/numpy/2.1.2; source archives, release notes, and
wheel hashes are available on Github
https://github.com/numpy/numpy/releases/tag/v2.1.2.

Contributors
A total of 11 people contributed to this release. People with a "+" by
theirnames contributed a patch for the first time.

  • Charles Harris
  • Chris Sidebottom
  • Ishan Koradia +
  • João Eiras +
  • Katie Rust +
  • Marten van Kerkwijk
  • Matti Picus
  • Nathan Goldbaum
  • Peter Hawkins
  • Pieter Eendebak
  • Slava Gorloff +

Pull requests merged

A total of 14 pull requests were merged for this release.

  • #27333: MAINT: prepare 2.1.x for further development
  • #27400: BUG: a... continue reading
naive kindleBOT
#

After all the shenanigans two weeks ago – everyone discovering nasty little
problems in release candidate 2 – the last week was suspiciously quiet, and
therefore I can finally say:
https://discuss.python.org/t/python-3-13-0-final-has-been-released/66972#p-196505-python-3130-is-now-available-1Python
3.13.0 is now available

https://www.python.org/downloads/release/python-3130/
This is the stable release of Python 3.13.0

Python 3.13.0 is the newest major release of the Python programming
language, and it contains many new features and optimizations compared to
Python 3.12. (Compared to the last release candidate, 3.13.0rc3, 3.13.0
contains two small bug fixes and some documentation and testing changes.)
https://discuss.python.org/t/python-3-13-0-final-has-been-released/66972#p-196505-major-new-features-of-the-313-series-compared-to-312-3Major
new features of the 3.13 series, compared to 3.12

Some of the new major new features and changes in Python 3.13 are:
<https:... continue reading

naive kindleBOT
naive kindleBOT
#

This PEP proposes disallowing bare except: clauses in Python’s exception-handling syntax. Currently, Python allows catching all exceptions with a bare except: clause, which can lead to overly broad exception handling and mask important errors. This PEP suggests requiring explicit exception types in all except clauses, promoting more precise and intentional error handling.

naive kindleBOT
#

Version 0.3.9 of distlib has recently been released on PyPI [1]. For newcomers, distlib is a library of packaging functionality which is intended to be usable as the basis for third-party packaging tools.

The main changes in this release are as follows:

  • Merge #215: Preload script wrappers on Windows to assist with a pip issue.

  • Fix #220: Remove duplicated newline in shebang of windows launcher.

  • Fix #222: Support mounting wheels that use extensions without an EXTENSIONS file.

  • Fix #224: Do not use the absolute path to cache wheel extensions.

  • Fix #225: Add support for wheel compatibility with the limited API.

  • Fix #230: Add handling for cross-compilation environments.

A more detailed change log is available at [2].

Please try it out, and if you find any problems or have any suggestions for improvements, please give some feedback using the issue tracker at [3].

Regards,

Vinay Sajip

[1] https://pypi.org/project/distlib/0.3.9/
[2] https://distli... continue reading

naive kindleBOT
#

The current wheel 1.0 specification was written over a decade ago, and has been extremely robust to changes in the Python packaging ecosystem. Previous efforts to improve the wheel specification were deferred to focus on other packaging specifications. Meanwhile, the use of wheels has changed dramatically in the last decade. There have been many requests for new wheel features over the years; however, a fundamental obstacle to evolving the wheel specification has been that there is no defined process for how to handle adding backwards-incompatible features to wheels. Therefore, to enable other PEPs to describe new enhancements to the wheel specification, this PEP prescribes compatibility requirements on future wheel revisions. This PEP does not specify a new wheel revision. The specification of a new wheel format (“Wheel 2.0”) is left to a future PEP.

naive kindleBOT
#

One of Python’s core strengths is its interactive mode, also known as the Read-Eval-Print Loop (REPL), or the Python console, or the Python shell. This PEP describes the new implementation of this functionality written in Python. The new REPL released in Python 3.13 aims to provide modern features expected by today’s users, such as multi-line editing, syntax highlighting, custom commands, and an overall improved interactive experience.

naive kindleBOT
#

It's now time for a new alpha of a new version of Python!

https://www.python.org/downloads/release/python-3140a1/

This is an early developer preview of Python 3.14

Major new features of the 3.14 series, compared to 3.13

Python 3.14 is still in development. This release, 3.14.0a1 is the first of
seven planned alpha releases.

Alpha releases are intended to make it easier to test the current state of
new features and bug fixes and to test the release process.

During the alpha phase, features may be added up until the start of the
beta phase (2025-05-06) and, if necessary, may be modified or deleted up
until the release candidate phase (2025-07-22). Please keep in mind that
this is a preview release and its use is not recommended for production
environments.

Many new features for Python 3.14 are still being planned and written.
Among the new major new features and changes so far:

naive kindleBOT
#

Hello all,
I'm glad to announce the release of psutil 6.1.0:
https://github.com/giampaolo/psutil

About

psutil (process and system utilities) is a cross-platform library for
retrieving information on running processes and system utilization
(CPU, memory, disks, network) in Python. It is useful mainly for
system monitoring, profiling and limiting process resources and
management of running processes. It implements many functionalities
offered by command line tools such as: ps, top, lsof, netstat,
ifconfig, who, df, kill, free, nice, ionice, iostat, iotop, uptime,
pidof, tty, taskset, pmap. It currently supports Linux, Windows,
macOS, Sun Solaris, FreeBSD, OpenBSD, NetBSD and AIX. Supported
Python versions are 2.7 and 3.6+. PyPy is also known to work.

What's new

2024-10-17

Enhancements

  • #2366, [Windows]: drastically speedup process_iter()_. We now determine
    process unique identity by using process "fast" create time method. This
    will considerably speedu... continue reading
naive kindleBOT
#

PyCA cryptography 43.0.3 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, X.509, key derivation functions, and much
more. We support Python 3.7+, and PyPy3 7.3.10+.

Changelog (https://cryptography.io/en/latest/changelog/#v43-0-3):

  • Fixed compilation when using LibreSSL 4.0.0.

(Astute readers will note that this is listed as a change in 43.0.2,
that release was aborted prior to uploading to PyPI due to twine check
failures.)

Alex

--
All that is necessary for evil to succeed is for good people to do nothing.

naive kindleBOT
#

This document describes the schedule and other details of the 2024 election for the Python steering council, as specified in PEP 13. This is the steering council election for the 2025 term (i.e. Python 3.14).

naive kindleBOT
#

Hello all,
I'm glad to announce the release of pyftpdlib 2.0.1:
https://github.com/giampaolo/pyftpdlib

About

Python FTP server library provides a high-level portable interface to
easily write very efficient, scalable and asynchronous FTP servers
with Python.

What's new

Enhancements

  • #651: Add make install-pydeps-test and make install-pydeps-dev
    targets. They can be used to install dependencies meant for running tests and
    for local development. They can also be installed via pip install .[test]
    and pip install .[dev].

Bug fixes

  • #650: file operations on Windows with Python 3.13 give "Permission denied".

Links

--

Giampaolo - https://gmpy.dev/

naive kindleBOT
#

To: Embedded systems developers who love Python

Announcing the Asp Scripting Platform for embedded systems

Because Python is rather difficult to add into existing embedded
applications as compared with scripting facilities like Lua, I created a
Python-like scripting environment called Asp, specifically targeted at
embedded/real-time applications.

  • Asp feels like simple Python, so it's easy to learn if you already
    know Python.
  • Asp is designed for 32-bit embedded and/or real-time systems and can
    be easily added into existing applications to provide a scripting
    environment. (Different design from MicroPython.)
  • Asp works with OS/RTOS-based or bare-metal applications.
  • Asp's memory footprint is low, it avoids use of dynamic memory
    allocation and recursion, and leaves the application in control of the
    processor between each byte-code instruction.
  • Script-callable functions in the application can be written in a way
    so as to not bl... continue reading
naive kindleBOT
#

Call for Participation

We are happy to announce that we will again be running aPython devroom
at FOSDEM 2025
.

This year's edition will be exclusively in-person, and take place on
February 1 and 2, with the Python devroom being held on Sunday, February 2.

If you haven’t heard about FOSDEM before or are looking for more
information, you can visit the official website athttps://www.fosdem.org/.

As usual, we are looking for multiple Pythonistas to help us shape the
devroom schedule. We are now open to receiving your proposals ! With
over 8500 participants, FOSDEM is the perfect place to share your story
and meet fellow Python enthusiasts.

Good luck to everyone applying. We’re looking forward to meeting you all
at FOSDEM 2025 !

About FOSDEM

FOSDEM is a free and non-commercial event organized by the community fo... continue reading

naive kindleBOT
#

We propose limiting when users can delete files, releases, and projects from PyPI. A project, release, or file may only be deleted within 72 hours of when it is uploaded to the index. From this point, users may only use the “yank” mechanism specified by PEP 592.

naive kindleBOT
#

Hi All,

On behalf of the NumPy team, I'm pleased to announce the release of NumPy
2.1.3. NumPy 2.1.3 is a maintenance release that fixes bugs and regressions
discovered after the 2.1.2 release. This release also adds support for free
threaded Python 3.13 on Windows.

This release supports Python 3.10-3.13. Wheels can be downloaded from PyPI
https://pypi.org/project/numpy/2.1.3; source archives, release notes, and
wheel hashes are available on Github
https://github.com/numpy/numpy/releases/tag/v2.1.3.

Contributors

A total of 15 people contributed to this release. People with a "+" by
their
names contributed a patch for the first time.

  • Abhishek Kumar +
  • Austin +
  • Benjamin A. Beasley +
  • Charles Harris
  • Christian Lorentzen
  • Marcel Telka +
  • Matti Picus
  • Michael Davidsaver +
  • Nathan Goldbaum
  • Peter Hawkins
  • Raghuveer Devulapalli
  • Ralf Gommers
  • Sebastian Berg
  • dependabot[bot]
  • kp2pml30 +

... continue reading

naive kindleBOT
#

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/2.5.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 adds a number of requested enhancements and corrects a number
of issues.

See the full release notes for all of the details:
https://python-oracledb.readthedocs.io/en/latest/release\_notes.html#oracledb-2-5-0-november-2024

Please provide any feedback via GitHub issues: https://github.com/oracle/
python-oracledb/issues or discussions: https://github.com/oracle/python-
oracledb/discussions

naive kindleBOT
#

The version 8 of logassert brings support for the structlog library.
Yes, now you can use the whole power of logassert when using structlog
as a logger.

There are also small administrative enhancements: better README (and
documentation in Read The Docs), the CI uses modern Pythons,
better tested badge, etc.

What is logassert?

A simple log assertion mechanism for Python unittests.

Provides a simple and expressive way to use it in the unit tests and
when the assertion fails it presents a useful report that helps you to
find out why it is failing.

Includes a fixture to use it with pytest and can also be used in
classic unit tests. Allows checking using regular expressions, exact
strings, multiple strings, and even sequences of several lines,
including support for verifying that nothing was logged, and of course
filtering by the log level (if desired).

Full docs: https://logassert.readthedocs.io/en/latest/

--
. Facundo

Blog: http://www.taniquetil.com.ar/plog/
PyAr: htt... continue reading

naive kindleBOT
#

ANNOUNCING

eGenix PyRun - One file Python Runtime

Version 2.6.0

Python runtime taking up just 4-6MB on disk

This announcement is also available on our web-site for online reading:
https://www.egenix.com/company/news/eGenix-PyRun-2.6.0-GA.html


INTRODUCTION

eGenix PyRunhttps://www.egenix.com/company/legal/trademarks.html
is our open source, one file, no installation version of Python, making
the distribution of a Python interpreter to run Python based scripts and
applications to Unix based systems simple and efficient.

eGenix PyRun's executable only needs 4-6MB on disk, but still supports
most Python applications and scripts.

Compared to a regular Python installation of typically 100MB on disk,
eGenix PyRun is ideal for applications and scripts that need to be
distributed to containers, VMs, clusters, client installations,
customers or end-users.

It makes "i... continue reading

naive kindleBOT
#

This PEP proposes to withdraw support for return, break and continue statements that break out of a finally block. This was proposed in the past by PEP 601. The current PEP is based on empirical evidence regarding the cost/benefit of this change, which did not exist at the time that PEP 601 was rejected. It also proposes a slightly different solution than that which was proposed by PEP 601.

naive kindleBOT
#

Alpha 2? But Alpha 1 only just came out!

https://www.python.org/downloads/release/python-3140a2/

This is an early developer preview of Python 3.14

Major new features of the 3.14 series, compared to 3.13:

Python 3.14 is still in development. This release, 3.14.0a2 is the second
of seven planned alpha releases.

Alpha releases are intended to make it easier to test the current state of
new features and bug fixes and to test the release process.

During the alpha phase, features may be added up until the start of the
beta phase (2025-05-06) and, if necessary, may be modified or deleted up
until the release candidate phase (2025-07-22). Please keep in mind that
this is a preview release and its use is not recommended for production
environments.

Many new features for Python 3.14 are still being planned and written.
Among the new major new features and changes so far:

  • PEP 649: deferred evaluation of annotations
  • PEP 741: Python configuration C API
  • PEP 761... continue reading
naive kindleBOT
#

Package resolution is a key part of the Python user experience as the means of extending Python’s core functionality. The experience of package resolution is mostly taken for granted until someone encounters a situation where the package installer does something they don’t expect. The installer behavior with multiple indexes has been a common source of unexpected behavior. Through its ubiquity, pip has long defined the standard expected behavior across other tools in the ecosystem, but Python installers are diverging with respect to how they handle multiple indexes. At the core of this divergence is whether index contents are combined before resolving distributions, or each index is handled individually in order. pip merges all indexes before matching distributions, while uv matches distributions on one index before moving on to the next. Each approach has advantages and disadvantages. This PEP aims to describe each of these behaviors, which are referred to as “version priority” and “index priority” respectively, so that community discussions and troubleshooting can share a common vocabulary, and so that tools can implement predictable behavior based on these descriptions.

naive kindleBOT
#

Lightweight implementation of a hierarchical distributed read-write lock
using Redis. This implementation supports concurrent readers and exclusive
writers in a tree-like hierarchy, ensuring that locks on ancestors affect
descendants.

Here are some of the key features of this implementation:

  • Hierarchical locking with customizable path separators (e.g., /, :).
  • Concurrent read locks on the same path or ancestors.
  • Exclusive write locks on paths or descendants.
  • Timeout and non-blocking lock options.
  • Automatic lock refreshing for long-running operations.

https://pypi.org/project/redishilok/

naive kindleBOT
#

Hi All,

On behalf of the NumPy team, I'm pleased to announce the release of NumPy
2.2.0rc1. The NumPy 2.2.0 release is a short release that brings us back
into sync with the usual twice yearly release cycle. There have been a
number of small cleanups, as well as work bringing the new StringDType to
completion and improving support for free threaded Python. Highlights are:

  • New functions matvec and vecmat, see below.
  • Many improved annotations.
  • Improved support for the new StringDType.
  • Improved support for free threaded Python
  • Fixes for f2py

This release supports Python 3.10-3.13. Wheels can be downloaded from PyPI
https://pypi.org/project/numpy/2.2.0rc1; source archives, release notes,
and wheel hashes are available on Github
https://github.com/numpy/numpy/releases/tag/v2.2.0rc1.

Cheers,

Charles Harris

naive kindleBOT
#

PyCA cryptography 44.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, X.509, key derivation functions, and much more. We support Python
3.7+, and PyPy3 7.3.10+.

Changelog (https://cryptography.io/en/latest/changelog/#v44-0-0):

  • BACKWARDS INCOMPATIBLE: Dropped support for LibreSSL < 3.9.
  • Deprecated Python 3.7 support. Python 3.7 is no longer supported by the
    Python core team. Support for Python 3.7 will be removed in a future
    cryptography release.
  • Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL
    3.4.0.
  • macOS wheels are now built against the macOS 10.13 SDK. Users on older
    versions of macOS should upgrade, or they will need to build cryptography
    themselves.
  • Enforce the RFC 5280 requirement that extended key usage extensions must
    not be empty.
  • Added support for timestamp extraction to th... continue reading
naive kindleBOT
#

pytest 8.3.4 has just been released to PyPI.

This is a bug-fix release, being a drop-in replacement. To upgrade::

pip install --upgrade pytest

The full changelog is available at https://docs.pytest.org/en/stable/changelog.html.

Thanks to all of the contributors to this release:

  • Bruno Oliveira
  • Florian Bruhin
  • Frank Hoffmann
  • Jakob van Santen
  • Leonardus Chen
  • Pierre Sassoulas
  • Pradeep Kumar
  • Ran Benita
  • Serge Smertin
  • Stefaan Lippens
  • Sviatoslav Sydorenko (Святослав Сидоренко)
  • dongfangtianyu
  • suspe

Happy testing,
The pytest Development Team

naive kindleBOT
#

This is to announce the availability of a new package: peek.

To include powerful debug print statement, all you have to do is:
import peek
my_string = "hallo"
my_dict = dict(a=1, b=2)
peek(my_string, my_dict)
And you get
my_string='hallo', my_dict={'a': 1, 'b': 2}
Or, if you add
peek.show_line_number = True
you get something like
#5 ==> my_string='hallo', my_dict={'a': 1, 'b': 2}

For those who know icecream: peek goes much further in adding benchmarking,
a Pythonic interface, import time customization, better docs, etc.
And ... no dependencies whatsoever!

For more information, see www.salabim.org/peek

naive kindleBOT
#

Hello!

I'm pleased to announce version 3.4.0, the final release
of branch 3.4 of CheetahTemplate3.

What's new in CheetahTemplate3

This release spans two topics: adapting to Python 3.13 and
fixes in import hooks.

Bug fixes:

  • Fixed ImportHooks: it must raise ModuleNotFoundError
    instead of ImportError.

  • Fixed absolute import in ImportHooks under Python 3.

  • Use cache\_from\_source in ImportManager to find out
    .pyc/.pyo byte-code files.

  • Fixed unmarshalling .pyc/.pyo byte-code files
    in ImportManager.

  • Fixed Template.webInput: Use urllib.parse.parse\_qs
    instead of cgi.FieldStorage; Python 3.13 dropped cgi.

  • Fixed \_namemapper.c: Silent an inadvertent TypeError exception
    in PyMapping\_HasKeyString under Python 3.13+
    caused by \_namemapper looking up a key in a non-dictionary.

  • Fixed \_namemapper.c: Silence IndexError when t... continue reading

naive kindleBOT
#

pyspread 2.3.1 has been released

This is a bugfix release.

Bug fixes

  • Errors when slicing S fixed
  • If <Enter> or <Tab> are typed too fast in the grid, respective
    actions are now triggered only once and not twice
  • Added debug support via CLI using logging.
    At the moment, this is mainly used for xlsx import.
  • Fixed a bug that prevented many xlsx files from being opened

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.3.tar.gz.asc?inline=false
Source code: https://gitlab.com/pyspread/pyspread

Depend... continue reading

naive kindleBOT
#

Another big release day! Python 3.13.1 and 3.12.8 were regularly scheduled
releases, but they do contain a few security fixes. That makes it a nice
time to release the security-fix-only versions too, so everything is as
secure as we can make it.
https://discuss.python.org/t/python-3-13-1-3-12-8-3-11-11-3-10-16-and-3-9-21-are-now-available/73214/1#p-211771-python-3131-1Python
3.13.1

Python 3.13’s first maintenance release. My child is all growed up now, I
guess! Almost 400 bugfixes, build improvements and documentation changes
went in since 3.13.0, making this the very best Python release to date.
https://www.python.org/downloads/release/python-3131/
https://discuss.python.org/t/python-3-13-1-3-12-8-3-11-11-3-10-16-and-3-9-21-are-now-available/73214/1#p-211771-python-3128-2Python
3.12.8

Python 3.12 might be slowly reaching middle age, but still received over
250 bugfixes, build improvements and documentation changes since 3.12.7.
https://www.python.org/downloads/re... continue reading

naive kindleBOT
naive kindleBOT
#

Hi All,

On behalf of the NumPy team, I'm pleased to announce the release of NumPy
2.2.0. The NumPy 2.2.0 release is a short release that brings us back into
sync with the usual twice yearly release cycle. There have been a number of
small cleanups, as well as work bringing the new StringDType to completion
and improving support for free threaded Python. Highlights are:

  • New functions matvec and vecmat, see below.
  • Many improved annotations.
  • Improved support for the new StringDType.
  • Improved support for free threaded Python
  • Fixes for f2py

This release supports Python 3.10-3.13. Wheels can be downloaded from PyPI
https://pypi.org/project/numpy/2.2.0; source archives, release notes, and
wheel hashes are available on Github
https://github.com/numpy/numpy/releases/tag/v2.2.0.

Cheers,

Charles Harris

naive kindleBOT
#

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 helpful tool
for higher code quality.

Download

https://github.com/jendrikseipp/vulture
http://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

News

  • Improve reachability analysis (kreathon, #270, #302).
  • Add type hints for get_unused_code and the fields of the Item
    class (John Doknjas, #361).

Cheers,
Jendr... continue reading

naive kindleBOT
#

This PEP proposes adding a zero-overhead debugging interface to CPython that allows debuggers and profilers to safely attach to running Python processes. The interface provides safe execution points for attaching debugger code without modifying the interpreter’s normal execution path or adding runtime overhead.

naive kindleBOT
#

Leo https://leo-editor.github.io/leo-editor/ 6.8.3 is now available on
GitHub https://github.com/leo-editor/leo-editor/releases and pypi
https://pypi.org/project/leo/.

Leo is an IDE, outliner and PIM
https://leo-editor.github.io/leo-editor/preface.html.

The highlights of Leo 6.8.3

  • Five PRs improve and generalize Leo's colorizer.
  • PR #4140: Improve @language jupytext.
  • PR #4178: Add @language openscad.
  • PR #4198: Add @language glsl
  • PR #4203: Add @language vue
  • PRs #4207 and #4209: Upgrade Leo's website.
  • The usual assortment of small bug fixes and code cleanups.

Links

naive kindleBOT
#

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/2.5.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 reported issues.

See the full release notes for all of the details:
https://python-oracledb.readthedocs.io/en/latest/release\_notes.html#oracledb-2-5-1-december-2024

Please provide any feedback via GitHub issues: https://github.com/oracle/
python-oracledb/issues or discussions: https://github.com/oracle/python-
oracledb/discussions

naive kindleBOT
#

O Alpha 3, O Alpha 3, how lovely are your branches!

https://www.python.org/downloads/release/python-3140a3/

This is an early developer preview of Python 3.14.

Python 3.14 is still in development. This release, 3.14.0a3, is the third
of seven planned alpha releases.

Alpha releases are intended to make it easier to test the current state of
new features and bug fixes and to test the release process.

During the alpha phase, features may be added up until the start of the
beta phase (2025-05-06) and, if necessary, may be modified or deleted up
until the release candidate phase (2025-07-22). Please keep in mind that
this is a preview release and its use is not recommended for production
environments.

Many new features for Python 3.14 are still being planned and written.
Among the new major new features and changes so far:

  • PEP 649: deferred evaluation of annotations
  • PEP 741: Python configuration C API
  • PEP 761: Python 3.14 and onwards no longer provides PGP... continue reading
naive kindleBOT
#

Hello all,
I'm glad to announce the release of psutil 6.1.1:
https://github.com/giampaolo/psutil

IMPORTANT NOTICE

This is the last release supporting Python 2.7.

About

psutil (process and system utilities) is a cross-platform library for
retrieving information on running processes and system utilization (CPU,
memory, disks, network) in Python. It is useful mainly for system
monitoring, profiling and limiting process resources and management of
running processes. It implements many functionalities offered by command
line tools such as: ps, top, lsof, netstat, ifconfig, who, df, kill, free,
nice, ionice, iostat, iotop, uptime, pidof, tty, taskset, pmap. It
currently supports Linux, Windows, macOS, Sun Solaris, FreeBSD, OpenBSD,
NetBSD and AIX. Supported Python versions are 2.7 and 3.6+. PyPy is also
known to work.

What's new

2024-12-19

Enhancements

  • #2471: use Vulture CLI tool to detect dead code.

**Bug fixe... continue reading

naive kindleBOT
#

Hello!

I'm pleased to announce version 3.12.0, the release of branch
3.12 of SQLObject.

What's new in SQLObject

Drivers

  • Add support for CyMySQL; there're some problems with unicode yet.

  • Separate psycopg and psycopg2;
    psycopg is actually psycopg3 now; not all tests pass.

  • Minor fix in getting error code from PyGreSQL.

  • Dropped oursql. It wasn't updated in years.

  • Dropped PySQLite2. Only builtin sqlite3 is supported.

Tests

  • Run tests with Python 3.13.

  • Run tests with psycopg-c; not all tests pass.

  • Fix test\_exceptions.py under MariaDB, PostgreSQL and SQLite.

  • py-postgres: Set sslmode to allow;
    upstream changed default to prefer.

CI

  • Run tests with PyGreSQL on w32, do not ignore errors.

  • Skip tests with pg8000 on w32.

  • GHActions: Switch to setup-miniconda.

  • GHActions: Python 3.13.

For a more complete list, please see the news:
http://sqlobject.or... continue reading

naive kindleBOT
#

I am happy to announce Guppy 3 3.1.5

Guppy 3 is a library and programming environment for Python,
currently providing in particular the Heapy subsystem, which supports
object and heap memory sizing, profiling and debugging. It also
includes a prototypical specification language, the Guppy
Specification Language (GSL), which can be used to formally specify
aspects of Python programs and generate tests and documentation from a
common source.

Guppy 3 is a fork of Guppy-PE, created by Sverker Nilsson for Python 2.

This release adds support for Python 3.13, and support for Python 3.8
was dropped.

Code for Remote & Monitor has been removed since it no longer worked since
Python 3.9 (I hope PEP 734 will change this in the future). Other libraries
such as aiomanhole might provide similar functionality with a much simpler
implementation.

This release also fixes a few bugs, including:

o Fix -Wmissing-braces compile warning
o Added some error handling code paths to bitset

License: MIT

The... continue reading

naive kindleBOT
#

I'm happy to announce the release of Pygments 2.19.0. Pygments is a
generic syntax highlighter written in Python.

Pygments 2.19.0 provides 11 new lexers, updates to 19 lexers, and many
small fixes. This release also adds official support for Python 3.13.
See https://pygments.org/docs/changelog/ for details.

Report bugs and feature requests in the issue tracker:
https://github.com/pygments/pygments/issues. Thanks go to all the
contributors of these lexers, and to all those who reported bugs and
waited patiently for this release.

Download it from https://pypi.org/project/Pygments/, or look at
the demonstration at https://pygments.org/demo/.

Enjoy,
Matthäus

naive kindleBOT
#

Software Bill-of-Materials (SBOM) is a technology-and-ecosystem-agnostic method for describing software composition, provenance, heritage, and more. SBOMs are used as inputs for software composition analysis (SCA) tools, such as scanners for vulnerabilities and licenses, and have been gaining traction in global software regulations and frameworks.

naive kindleBOT
#

I'm happy to announce the release of Pygments 2.19.1. Pygments is a
generic syntax highlighter written in Python.

Pygments 2.19.1 is a bugfix release addressing regressions introduced by
2.19.0. See https://pygments.org/docs/changelog/ for details.

Report bugs and feature requests in the issue tracker:
https://github.com/pygments/pygments/issues. Thanks go to all the
contributors of these lexers, and to all those who reported bugs and
waited patiently for this release.

Download it from https://pypi.org/project/Pygments/, or look at
the demonstration at https://pygments.org/demo/.

Enjoy,
Matthäus

naive kindleBOT
#

What Changed?=============
This is an enhancement and bug-fix release, and all users are encouraged to upgrade.

Brief summary:

  • Fix #242: Handle exceptions in the on_data callable.

This release [2] has been signed with my code signing key:
Vinay Sajip (CODE SIGNING KEY) <vinay_sajip at yahoo.co.uk>
Fingerprint: CA74 9061 914E AC13 8E66 EADB 9147 B477 339A 9B86

Recent changes to PyPI don't show the GPG signature with the download links.
An alternative download source where the signatures are available is at [4].
The source code repository is at [1].
Documentation is available at [5].

As always, your feedback is most welcome (especially bug reports [3],
patches and suggestions for improvement, or any other points via this group).

Enjoy!

Cheers

Vinay Sajip

[1] https://github.com/vsajip/python-gnupg
[2] https://pypi.org/project/python-gnupg/0.5.4
[3] https://github.com/vsajip/python-gnupg/issues
[4] https://github.com/vsajip/python-gnupg/releases/
... continue reading

naive kindleBOT
#

竜 TatSu is a tool that takes grammars in a variation of EBNF as input, and
outputs memoizing (Packrat) PEG parsers in Python.

In this release:

  • remove comments_re and eol_comments_re from parser configuration
    (ParserConfig). Use comments and/or eol_comments instead (#351)
  • do not apply re.MULTILINE to compiled regexes. Users must add (?m) to
    the expressions for multiline (#351)
  • cache compiled regexes for performance
  • fix bug in positive joins (#342)
  • test with Python 3.13 and latest libraries

--
Juancarlo Añez
mailto:apalala@gmail.com

naive kindleBOT
#

This proposal aims to enhance the operator module by adding a default keyword argument to the attrgetter and itemgetter functions. This addition would allow these functions to return a specified default value when the targeted attribute or item is missing, thereby preventing exceptions and simplifying code that handles optional attributes or items.

naive kindleBOT
#

If you use the screen-scraping library Beautiful Soup (MIT license),
please test Beautiful Soup 4.13.0b3, now available on PyPI:

https://pypi.org/project/beautifulsoup4/4.13.0b3/

pip install beautifulsoup4==4.13.0b3

Maintainer Leonard Richardson hopes to get feedback before the final
release, which he targets for early February.

Key changes from 4.12.3 (Jan. 2024):

  • dropping support for Python 3.6

  • "a new feature (the ElementFilter class) which makes it easy to swap
    in your own matching logic for Beautiful Soup's default logic when
    calling methods like find()."

  • type hints in the Beautiful Soup code base; Richardson requests
    "feedback from people who use type hints when developing with
    Beautiful Soup... There might be some changes to the type hint
    system it would be good to make before doing a full 4.13.0 release."

  • "a larger-than-usual number of deprecations and changes that may
    break backwards compatibility"

If you have questions, send them to the discussion ... continue reading

naive kindleBOT
#

/This announcement is in German since it targets a local user
group//meeting in Düsseldorf, Germany/

Ankündigung

Python Meeting Düsseldorf - Januar 2025
<https://www.egenix.com/company/news/Python-Meeting-Duesseldorf-2025-01-22>

Ein Treffen von Python Enthusiasten und Interessierten
in ungezwungener Atmosphäre.

*22.01.2025, 18:00 Uhr*
Raum 1, 2.OG im Bürgerhaus Stadtteilzentrum Bilk
<http://www.duesseldorf.de/jugendamt/fam/famfoe/bueh/ac/index.shtml>
Düsseldorfer Arcaden
<http://www.duesseldorf-arcaden.de/anfahrt.html>, Bachstr. 145,
40217 Düsseldorf
<http://maps.google.com/maps?q=51.209169,6.775339&layer=c&sll=51.209353,6.775272&cbp=11,177.96,,0,0.79&cbll=51.209412,6.77577&ie=UTF8&t=m&vpsrc=0&panoid=0NGUHHHEpGGMCcqpf3Gmbw&z=17>


Programm

Bereits angemeldete Vorträge:

  • Daniel Schmitz:
    /*Maintaining SciPy: Large scale Open Source in practice

    */

  • Arkadius Schuchhardt:
    /*Erfahru... continue reading

naive kindleBOT
#

Hello, three dot fourteen dot zero alpha four!

https://www.python.org/downloads/release/python-3140a4/

This is an early developer preview of Python 3.14.

Python 3.14 is still in development. This release, 3.14.0a4, is the fourth
of seven planned alpha releases.

Alpha releases are intended to make it easier to test the current state of
new features and bug fixes and to test the release process.

During the alpha phase, features may be added up until the start of the
beta phase (2025-05-06) and, if necessary, may be modified or deleted up
until the release candidate phase (2025-07-22). Please keep in mind that
this is a preview release and its use is not recommended for production
environments.

Many new features for Python 3.14 are still being planned and written.
Among the new major new features and changes so far:

  • PEP 649: deferred evaluation of annotations
  • PEP 741: Python configuration C API
  • PEP 761: Python 3.14 and onwards no longer provides PGP sig... continue reading
naive kindleBOT
#

Hi All,

On behalf of the NumPy team, I'm pleased to announce the release of
NumPy 2.2.2. NumPy 2.2.2 is a patch release that fixes bugs found after the
2.2.1 release. The number of typing fixes/updates is notable.

This release supports Python 3.10-3.13. Wheels can be downloaded from PyPI
https://pypi.org/project/numpy/2.2.2; source archives, release notes, and
wheel hashes are available on Github
https://github.com/numpy/numpy/releases/tag/v2.2.2.

Contributors

A total of 8 people contributed to this release. People with a "+" by their
names contributed a patch for the first time.

  • Alicia Boya García +
  • Charles Harris
  • Joren Hammudoglu
  • Kai Germaschewski +
  • Nathan Goldbaum
  • PTUsumit +
  • Rohit Goswami
  • Sebastian Berg

Pull requests merged

A total of 16 pull requests were merged for this release.

  • #28050: MAINT: Prepare 2.2.x for further development
  • #28055: TYP: fix void arrays not accepting ``st... continue reading
naive kindleBOT
#

Installation of the python.org Python distribution on Windows is complex. There are three main approaches with roughly equivalent levels of user experience, and yet all of these suffer from different limitations, including failing to satisfy modern usage scenarios. This PEP proposes a design for a single Windows install workflow tool that satisfies all the needs of the existing installers for the platform, while avoiding most of their limitations, and provides the core team with the ability to manage releases for many years to come.

naive kindleBOT
#

PEP 508 specifies a mini-language for declaring package dependencies. One feature of this language is the ability to specify extras, which are optional components of a distribution that, when used, install additional dependencies. This PEP proposes a mechanism to allow one or more extras to be installed by default if none are provided explicitly.

naive kindleBOT
#

Since Python 3.13, CPython has been able to be configured and built with an experimental just-in-time (JIT) compiler via the --enable-experimental-jit flag on Linux and Mac and --experimental-jit on Windows. To build CPython with the JIT enabled, users are required to have LLVM installed on their machine (initially, with LLVM 16 but more recently, with LLVM 19). LLVM is responsible for generating stencils that are essential to our copy-and-patch JIT (see PEP 744). These stencils are predefined, architecture-specific templates that are used to generate machine code at runtime.

naive kindleBOT
#

Hello!

I'm pleased to announce version 3.12.0.post2, the second post-release
of release 3.12.0 of branch 3.12 of SQLObject.

What's new in SQLObject

Installation/dependencies

  • Use FormEncode 2.1.1 for Python 3.13.

For a more complete list, please see the news:
http://sqlobject.org/News.html

What is SQLObject

SQLObject is a free and open-source (LGPL) Python object-relational
mapper. Your database tables are described as classes, and rows are
instances of those classes. SQLObject is meant to be easy to use and
quick to get started with.

SQLObject supports a number of backends: MySQL/MariaDB (with a number of
DB API drivers: MySQLdb, mysqlclient, mysql-connector,
PyMySQL, mariadb), PostgreSQL (psycopg2, PyGreSQL,
partially pg8000 and py-postgresql), SQLite (builtin sqlite3);
connections to other backends

  • Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB) - ar... continue reading
naive kindleBOT
#

Leonard Richardson writes:

"After a beta period lasting nearly a year, I've released the biggest update to Beautiful Soup in many years. For version 4.13.0 I added type hints to the Python code, and in doing so uncovered a large number of very small inconsistencies in the code. I've fixed the inconsistencies, but the result is a larger-than-usual number of deprecations and changes that may break backwards compatibility. "

Blog post https://www.crummy.com/2025/02/02/0 "to highlight just the most important changes, specifically the changes most likely to make you need (or want) to change your code."

Full CHANGELOG: https://git.launchpad.net/beautifulsoup/tree/CHANGELOG

Bugfix release 4.13.1 is out: https://groups.google.com/g/beautifulsoup/c/M\_vgwfO0RLA

If you have questions, send them to the discussion group: https://groups.google.com/forum/?fromgroups#!forum/beautifulsoup

If you find a bug, file it on Launchpad: https://bugs.launchpad.net/beautifulsoup/

If it's a security ... continue reading

naive kindleBOT
#

A small release day today! That is to say the releases are relatively
small; the day itself was of average size, as most days are.
https://discuss.python.org/t/python-3-13-2-and-3-12-9-now-available/79509#p-225156-python-3132-1Python
3.13.2

Python 3.13’s second maintenance release. About 250 changes went into this
update, and can be yours for free if you just upgrade now.
https://www.python.org/downloads/release/python-3132/
https://discuss.python.org/t/python-3-13-2-and-3-12-9-now-available/79509#p-225156-python-3129-2Python
3.12.9

Python 3.12’s ninth maintenance release already. Just 180 changes for
3.12, but it’s still worth upgrading.
https://www.python.org/downloads/release/python-3129/
https://discuss.python.org/t/python-3-13-2-and-3-12-9-now-available/79509#p-225156-enjoy-the-new-releases-3Enjoy
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... continue reading

naive kindleBOT
#

This PEP proposes a Python Packaging Council with broad authority over packaging standards, tools, and implementations. Like the Python Steering Council, the Packaging Council seeks to exercise this authority as rarely as possible; instead, they use this power to establish standard processes.

naive kindleBOT
#

PyCA cryptography 44.0.1 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, X.509, key derivation functions, and much
more. We support Python 3.7+, and PyPy3 7.3.10+.

Changelog (https://cryptography.io/en/latest/changelog/#v44-0-1):

  • Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.4.1.
  • We now build armv7l manylinux wheels and publish them to PyPI.
  • We now build manylinux_2_34 wheels and publish them to PyPI.

Alex

--
All that is necessary for evil to succeed is for good people to do nothing.

naive kindleBOT
#

Here comes the antepenultimate alpha.

https://www.python.org/downloads/release/python-3140a5/

This is an early developer preview of Python 3.14.

Major new features of the 3.14 series, compared to 3.13:

Python 3.14 is still in development. This release, 3.14.0a5, is the fifth
of seven planned alpha releases.

Alpha releases are intended to make it easier to test the current state of
new features and bug fixes and to test the release process.

During the alpha phase, features may be added up until the start of the
beta phase (2025-05-06) and, if necessary, may be modified or deleted up
until the release candidate phase (2025-07-22). Please keep in mind that
this is a preview release and its use is not recommended for production
environments.

Many new features for Python 3.14 are still being planned and written.
Among the new major new features and changes so far:

  • PEP 649: deferred evaluation of annotations
  • PEP 741: Python configuration C API
  • PEP... continue reading
naive kindleBOT
#

Hi All,

On behalf of the NumPy team, I'm pleased to announce the release of
NumPy 2.2.3. NumPy 2.2.3 is a patch release that fixes bugs found after the
2.2.2 release. The majority of the changes are typing improvements and
fixes for free threaded Python. Both of those areas are still under
development, so if you discover new problems, please report them.

This release supports Python 3.10-3.13. Wheels can be downloaded from PyPI
https://pypi.org/project/numpy/2.2.3; source archives, release notes, and
wheel hashes are available on Github
https://github.com/numpy/numpy/releases/tag/v2.2.3.

Contributors

A total of 9 people contributed to this release. People with a "+" by
their names contributed a patch for the first time.

  • !amotzop
  • Charles Harris
  • Chris Sidebottom
  • Joren Hammudoglu
  • Matthew Brett
  • Nathan Goldbaum
  • Raghuveer Devulapalli
  • Sebastian Berg
  • Yakov Danishevsky +

Pull requests merged
A total of ... continue reading

naive kindleBOT
#

Hi, folks.

The IMAP4 IDLE command has landed in imaplib as of Python 3.14.0 alpha 5,
along with some internal module changes to support it.

If you maintain code that uses imaplib, now would be a good time to test it
with the latest alpha.

If you've been wanting IMAP IDLE support, now would be a good time to try
the new feature with your mail server(s) of choice.

Cheers!

naive kindleBOT
#

Hello all,
I'm glad to announce the release of psutil 7.0.0:
https://github.com/giampaolo/psutil

About

psutil (process and system utilities) is a cross-platform library for
retrieving information on running processes and system utilization (CPU,
memory, disks, network) in Python. It is useful mainly for system
monitoring, profiling and limiting process resources and management of
running processes. It implements many functionalities offered by command
line tools such as: ps, top, lsof, netstat, ifconfig, who, df, kill, free,
nice, ionice, iostat, iotop, uptime, pidof, tty, taskset, pmap. It
currently supports Linux, Windows, macOS, Sun Solaris, FreeBSD, OpenBSD,
NetBSD and AIX. Supported Python versions are cPython 3.6+ and PyPy.

This release removes support for Python 2.7. See blog post:
https://gmpy.dev/blog/2025/psutil-drop-python-27-support

What's new

2025-02-13

Enhancements

naive kindleBOT
#

Announcing Python-Blosc2 3.1.0 (and 3.1.1)

This is a minor release where we optimized the performance of the
internal compute engine, as well as indexing for NDArrays. We also
added new API:

  • blosc2.evaluate: a drop-in replacement of numexpr.evaluate(). This
    allows to evaluate expressions with combinations of NDArrays and NumPy
    arrays. In addition, it has the next improvements:

    • More functionality than numexpr (e.g. reductions).
    • Follow casting rules of NumPy more closely.
    • Use both NumPy arrays and Blosc2 NDArrays in the same expression.
  • blosc2.jit: a decorator to compile a function with a NumPy expression
    using the compute engine of Blosc2. Useful to speed up the evaluation
    of pure NumPy expressions at runtime.

You can think of Python-Blosc2 3.0 as an extension of NumPy/numexpr that:

  • Can deal with ndarrays compressed using first-class codecs & filters.
  • Performs many kind of math express... continue reading
naive kindleBOT
#

Building CPython without the zlib compression library will no be longer supported, and the zlib module will be required in the standard library. The only exception is WASI, as zlib is not currently supported in CPython on WASI. Building the interpreter without zlib may still be possible, but formally unsupported.

naive kindleBOT
#

PyCA cryptography 44.0.2 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, X.509, key derivation functions, and much
more. We support Python 3.7+, and PyPy3 7.3.10+.

Changelog (https://cryptography.io/en/latest/changelog/#v44-0-2):

  • We now build wheels for PyPy 3.11.

Alex

--
All that is necessary for evil to succeed is for good people to do nothing.

naive kindleBOT
#

A new SCons release, 4.9.0, is now available on the SCons download page:

https://scons.org/pages/download.html

Here is a summary of the changes since 4.8.1:

NOTE: Since SCons 4.9.0, Python 3.7.0 or above is required.

CHANGED/ENHANCED EXISTING FUNCTIONALITY

  • Expose the extra_libs keyword argument in CheckLibWithHeader and
    'CheckLib'

  • Removed Python 3.6 support.

  • Override environments, created when giving construction environment
    keyword arguments to Builder calls (or manually, through the
    undocumented Override method), were modified not to "leak" on item
    deletion.
    The item will now not be deleted from the base environment.

  • Added support for tracking beamer themes in the LaTeX scanner.

  • MSVS: msvs project files are always generated before the corresponding
    msvs solution files. This changes the behavior of clean for a project
    generated with auto_build_solution disabled and explicit solutio... continue reading

naive kindleBOT
#

Hello!

I'm pleased to announce version 3.13.0, the first release of branch
3.13 of SQLObject.

What's new in SQLObject

Drivers

  • Extended default list of MySQL drivers to mysqldb, mysqlclient,
    mysql-connector, mysql-connector-python, pymysql.

  • Extended default list of PostgreSQL drivers to psycopg, psycopg2,
    pygresql, pg8000.

  • Fixed outstanding problems with psycopg. It's now the first class driver.

  • Fixed all problems with pg8000. It's now the first class driver.

  • Dropped support for CyMySQL;
    its author refused to fix unicode-related problems.

  • Dropped support for py-postgresql; it's completely broken
    with debianized Postgres and the authors reject fixes.

Tests

  • Added tests for mysqldb (aka mysql-python)
    and mysqlclient on w32.

  • Improved tests of mysql-connector and mysql-connector-python.

CI

naive kindleBOT
#

The acceptance of PEP 703 (Making the Global Interpreter Lock Optional in CPython), as announced by the Steering Council, describes three phases of development for the work to remove the Global Interpreter Lock. Phase I started early in the development of Python 3.13, and includes making the free-threaded (GIL-less) Python build available but explicitly experimental. Phase II would make the free-threaded build officially supported but still optional, and phase III would make the free-threaded build the default. Because of the number of unknowns at the time, the criteria for moving to the next phase were left deliberately vague at the time. This PEP establishes clear expectations and requirements for moving to Phase II, making the free-threaded Python build officially supported.

naive kindleBOT
#

Here comes the penultimate alpha.

https://www.python.org/downloads/release/python-3140a6/

This is an early developer preview of Python 3.14

Major new features of the 3.14 series, compared to 3.13:

Python 3.14 is still in development. This release, 3.14.0a6, is the sixth
of seven planned alpha releases.

Alpha releases are intended to make it easier to test the current state of
new features and bug fixes and to test the release process.

During the alpha phase, features may be added up until the start of the
beta phase (2025-05-06) and, if necessary, may be modified or deleted up
until the release candidate phase (2025-07-22). Please keep in mind that
this is a preview release and its use is not recommended for production
environments.

Many new features for Python 3.14 are still being planned and written.
Among the new major new features and changes so far:

  • PEP 649: deferred evaluation of annotations
  • PEP 741: Python configuration C API
  • PEP 761:... continue reading
naive kindleBOT
#

Hi All,

On behalf of the NumPy team, I'm pleased to announce the release of
NumPy 2.2.3. NumPy 2.2.4 is a patch release that fixes bugs found after the
2.2.3 release. There are a large number of typing improvements, the rest of
the changes are the usual mix of bug fixes and platform maintenance.

This release supports Python 3.10-3.13. Wheels can be downloaded from PyPI
https://pypi.org/project/numpy/2.2.4; source archives, release notes, and
wheel hashes are available on Github
https://github.com/numpy/numpy/releases/tag/v2.2.4.

Contributors

A total of 15 people contributed to this release. People with a "+" by
their
names contributed a patch for the first time.

  • Abhishek Kumar
  • Andrej Zhilenkov
  • Andrew Nelson
  • Charles Harris
  • Giovanni Del Monte
  • Guan Ming(Wesley) Chiu +
  • Jonathan Albrecht +
  • Joren Hammudoglu
  • Mark Harfouche
  • Matthieu Darbois
  • Nathan Goldbaum
  • Pieter Eendebak
  • Sebastian Berg... continue reading
naive kindleBOT
#

Emscripten is a complete open source compiler toolchain. It compiles C/C++ code into WebAssembly/JavaScript executables, for use in JavaScript runtimes, including browsers and Node.js. The Rust language also maintains an Emscripten target.

naive kindleBOT
#

pyspread 2.4

This release adds basic Excel syntax for cell code.

New features:

  • If a cell code starts with = then it is interpreted as Excel syntax
    (optional dependency pycel required). Limitations of pycel apply.
  • New action insert and shift/delete and shift cells that shift
    below/right cells.
  • Cell formats can now be set to defaults, which allows to let a cell
    follow the OS theme, e.g. for a dark theme, the cell background of
    the black, while it may be white for the identical pys file on light
    theme.
  • Files can now be opened via drag 'n drop

Bug fixes:

  • Several bugs that appear with Python 3.13 fixed, e.g. printing,
    cell referencing, grid resizing
  • The entry line is now updated on a table change
  • Globals are now cleared after initializing the grid

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 th... continue reading

naive kindleBOT
#

I am pleased to announce v0.3 of "Python Extension Patterns", the guide to
writing Python C/C++ extensions.

Added Chapters

  • "Containers and Reference Counts" which corrects the Python documentation
    where that is wrong, misleading or missing.
  • "Struct Sequences (namedtuple in C)" which corrects the Python
    documentation where that is wrong, misleading or missing.
  • "Context Managers" with practical C code examples.
  • "Watchers" with practical examples for dictionary watchers (Python 3.12+).
  • "Installation" for the project.
  • "Source Code Layout" for the project.

Changed Chapters

  • Update the "Homogeneous Python Containers and C++" chapter.
  • Expand the "Memory Leaks" chapter.
  • Extended the "Logging" chapter to show how to access the CPython Frame
    from C.
  • Add "Emulating Sequence Types" to the "Creating New Types" chapter.
  • Expand the Index.

Other

  • Python versions supported: 3.9, 3.10, 3.11, 3.12, 3.13.
  • Development Status :: 5 - Production/St... continue reading
naive kindleBOT
#

ASPP2025: 17ᵗʰ Advanced Scientific Programming in Python Summer School

https://aspp.school

Scientists spend more and more time writing, maintaining, and debugging software. While techniques for doing this efficiently have evolved, only few scientists have been trained to use them. As a result, instead of doing their research, they spend far too much time writing deficient code and reinventing the wheel. In this course we will present a selection of advanced programming techniques and best practices which are standard in the industry, but especially tailored to the needs of a programming scientist. Lectures are interactive and allow students to acquire direct hands-on experience with the topics. Students will work in pairs throughout the school and will team up to practice the newly learned skills in a real programming project — an entertaining computer game.

We use the Python programming language for the entire ... continue reading

naive kindleBOT
#

Greetings from GDG on Campus VIT Chennai!

We’re excited to introduce DevsHouse'25, an MLH official hackathon
happening on April 4-6, 2025, at VIT Chennai. This 36-hour innovation
sprint will bring together top developers and tech enthusiasts from 30+
universities, solving real-world challenges in FinTech, Blockchain, AR/VR,
IoT, and more.

With a reach of over 50,000 tech enthusiasts nationwide, this event
provides an excellent opportunity to engage with a highly relevant and
impactful audience.

We are reaching out to explore a potential sponsorship collaboration and
believe this could be a great opportunity for your organization to engage
with a vibrant community of future tech leaders. Your involvement will not
only enhance the event’s impact but also demonstrate your commitment to
driving innovation and supporting transformative ideas.

Please find the attached sponsorship brochure for more details about the
event and sponsorship opportunit... continue reading

naive kindleBOT
#

Wing 10.0.9 fixes usability issues with AI supported development,
selects text and shows callouts when visiting Find Uses matches, adds
User Interface > Fonts > Editor Line Spacing preference, avoids spurious
syntax errors on type annotation comments, increases allowed length for
Image ID in the Container dialog, and fixes other minor bugs and
usability issues.

Details: https://wingware.com/news/2025-03-24
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 editor provides AI-assisted
development, 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, ... continue reading

naive kindleBOT
#

This PEP defines using ABI features as environment markers for project dependencies, through a new sys_abi_features environment marker and sys.abi_features attribute in the sys module. PEP 508 (later moved to packaging:dependency-specifiers) introduced environment markers to specify dependencies based on rules that describe when the dependency should be used. This PEP extends the environment markers to allow specifying dependencies based on specific ABI features of the Python interpreter. For this, it defines a set of ABI Features and specifies how they are made available via an addition to the Python Standard Library in the form of a new attribute sys.abi_features, as well as for environment markers as a new marker variable, sys_abi_features.

naive kindleBOT
#

Announcing Python-Blosc2 3.2.1

Here, all array containers in Blosc2 implement the \_\_array\_interface\_\_
protocol to expose the data in the array. This allows for better
interoperability with other libraries like NumPy, CuPy, etc. Now, the range
of functions spans to most of NumPy functions, including reductions.

See examples at:
https://github.com/Blosc/python-blosc2/blob/main/examples/ndarray/jit-numpy-funcs.py
See benchmarks at:
https://github.com/Blosc/python-blosc2/blob/main/bench/ndarray/jit-numpy-funcs.py

We have also improved the performance of constructors like
blosc2.linspace()
or blosc2.arange() by a factor of up to 3x for large arrays.

You can think of Python-Blosc2 3.x as an extension of NumPy/numexpr that:

  • Can deal with ndarrays compressed using first-class codecs & filters.
  • Performs many kind of math expressions, including reductions, indexing...
  • Supports broadcasting operations.
  • Supports N... continue reading
naive kindleBOT
#

A new SCons release, 4.9.1, is now available on the SCons download page:

https://scons.org/pages/download.html

Here is a summary of the changes since 4.9.0:

FIXES

  • New CacheDir initialization code failed on Python 3.7 for unknown
    reason (worked on 3.8+). Adjusted the approach a bit. Fixes #4694.

  • Fixed a hang in wait_for_process_to_die() on Windows, affecting
    clean-up of the SCons daemon used for Ninja builds.

Thanks to the following contributors listed below for their contributions
to this release.

git shortlog --no-merges -ns 4.9.0..HEAD
     7  Mats Wichmann
     4  William Deegan
     2  Adam Simpkins
naive kindleBOT
#

This PEP proposes adding a new built-in variable, TYPE_CHECKING, to improve the experience of writing Python code with type annotations. It is evaluated as True when the code is being analyzed by a static type checker, and as False during normal runtime execution. Unlike typing.TYPE_CHECKING, which this variable replaces, it does not require an import statement.

naive kindleBOT
naive kindleBOT
#

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/3.1.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 adds a number of new features and corrects a number of issues.
Highlights are as follows:

  • support added for scrollable cursors in thin mode
  • improved support for AQ in thin mode
  • improvements to data frame fetching

See the full release notes for all of the details:
https://python-oracledb.readthedocs.io/en/latest/release\_notes.html#oracledb-3-1-0-april-2025

Please provide any feedback via GitHub issues:
https://github.com/oracle/python-oracledb/issues or discussions:
https://github.com/oracle/pytho... continue reading

naive kindleBOT
#

Zstandard is a widely adopted, mature, and highly efficient compression standard. This PEP proposes adding a new module to the Python standard library containing a Python wrapper around Meta’s zstd library, the default implementation. Additionally, to avoid name collisions with packages on PyPI and to present a unified interface to Python users, compression modules in the standard library will be moved under a compression.* namespace package.

naive kindleBOT
#

This PEP proposes a new platform tag series pyodide for binary Python package distributions for the Pyodide Python runtime.

naive kindleBOT
#

Not one, not two, not three, not four, not five, but six releases! Is this
the most in a single day?

3.12-3.14 were regularly scheduled, and we had some security fixes to
release in 3.9-3.11 so let’s make a big day of it. This also marks the last
bugfix release of 3.12 as it enters the security-only phase.

Python 3.14.0a7

Here comes the final alpha! This means we have just four weeks until the
first beta to get those last features into 3.14 before the feature freeze
on 2025-05-06!

https://www.python.org/downloads/release/python-3140a7/

This is an early developer preview of Python 3.14

Major new features of the 3.14 series, compared to 3.13:

Python 3.14 is still in development. This release, 3.14.0a7, is the last of
seven planned alpha releases.

Alpha releases are intended to make it easier to test the current state of
new features and bug fixes and to test the release process.

During the alpha phase, features may be added up until the start of the
b... continue reading

naive kindleBOT
naive kindleBOT
#

PEP 750 introduced template strings (t-strings) as a generalization of f-strings, providing a way to safely handle string interpolation in various contexts. This PEP proposes extending the subprocess and shlex modules to natively support t-strings, enabling safer and more ergonomic shell command execution with interpolated values, as well as serving as a reference implementation for the t-string feature to improve API ergonomics.

naive kindleBOT
#

Hi All,

NumPy 2.2.5 is a patch release that fixes bugs found after the 2.2.4
release. It has a large number of typing fixes/improvements as well as the
normal bug fixes and some CI maintenance.

This release supports Python 3.10-3.13. Wheels can be downloaded from PyPI
https://pypi.org/project/numpy/2.2.5; source archives, release notes, and
wheel hashes are available on Github
https://github.com/numpy/numpy/releases/tag/v2.2.5.

Contributors

A total of 7 people contributed to this release. People with a "+" by
their names contributed a patch for the first time.

  • Charles Harris
  • Joren Hammudoglu
  • Baskar Gopinath +
  • Nathan Goldbaum
  • Nicholas Christensen +
  • Sayed Adel
  • karl +

Pull requests merged
A total of 19 pull requests were merged for this release.

  • #28545: MAINT: Prepare 2.2.x for further development
  • #28582: BUG: Fix return type of NpyIter_GetIterNext in Cython
    declarations
  • #28583: BUG: ... continue reading
naive kindleBOT
#

PyGILState_Ensure(), PyGILState_Release(), and other related functions in the PyGILState family are the most common way to create native threads that interact with Python. They have been the standard for over twenty years (PEP 311). But, over time, these functions have become problematic:

naive kindleBOT
naive kindleBOT
#

Announcing Python-Blosc2 3.3.2

This is a bugfix release, with some minor optimizations. We fixed
specially a bug in the determination of chunk shape in constructors
on CPUs with large L3 cache sizes (like AMD EPYC). We also fixed a
bug preventing the correct chaining of string lazy expressions for
logical operators (&, \|, ^...).

You can think of Python-Blosc2 3.x as an extension of NumPy/numexpr that:

  • Can deal with ndarrays compressed using first-class codecs & filters.
  • Performs many kind of math expressions, including reductions, indexing...
  • Supports broadcasting operations.
  • Supports NumPy ufunc mechanism: mix and match NumPy and Blosc2
    computations.
  • Integrates with Numba and Cython via UDFs (User Defined Functions).
  • Adheres to modern NumPy casting rules way better than numexpr.
  • Supports linear algebra operations (like blosc2.matmul()).

Install it with::

pip install blosc2 --update   # if ... [continue reading](https://mail.python.org/archives/list/python-announce-list@python.org/thread/SAYLSYNP27PJAG5FARLOFNIFIMZZF75X/)
naive kindleBOT
#

PyCA cryptography 44.0.3 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, X.509, key derivation functions, and much
more. We support Python 3.7+, and PyPy3 7.3.10+.

Changelog (https://cryptography.io/en/latest/changelog/#v44-0-3):

  • Fixed compilation when using LibreSSL 4.1.0.

Alex

--
All that is necessary for evil to succeed is for good people to do nothing.

naive kindleBOT
#

Only one day late, welcome to the first beta!

https://www.python.org/downloads/release/python-3140b1/

This is a beta preview of Python 3.14

Python 3.14 is still in development. This release, 3.14.0b1, is the first
of four planned beta releases.

Beta release previews are intended to give the wider community the
opportunity to test new features and bug fixes and to prepare their
projects to support the new feature release.

We strongly encourage maintainers of third-party Python projects to test
with 3.14 during the beta phase and report issues found to the Python bug
tracker as soon as possible (https://github.com/python/cpython/issues).
While the release is planned to be feature-complete entering the beta
phase, it is possible that features may be modified or, in rare cases,
deleted up until the start of the release candidate phase (Tuesday
2025-07-22). Our goal is to have no ABI changes after beta 4 and as few
code changes as possible after the first release ca... continue reading

naive kindleBOT
#

ANNOUNCING

eGenix Antispam Bot for Telegram

Version 0.7.1

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.7.1-GA.html


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, descript... continue reading

naive kindleBOT
#

We're excited to announce the general availability of the SonarScanner for Python now installable directly via PyPI: https://pypi.org/project/pysonar/

This new scanner is designed specifically for the Python ecosystem and is fully compatible with:

Python 3.9 and above
SonarQube Cloud
SonarQube Server 10.6 and above

It replaces the previous beta scanner (https://pypi.org/project/pysonar-scanner/), which is now officially unsupported and not recommended for production use.

The scanner supports a wide range of popular libraries and frameworks including security rules for Django, Flask, FastAPI, and quality rules for Pytorch, Numpy, Pandas, Scikit-learn and more.

Whether you’re analyzing your Python projects on SonarQube Server or SonarQube Cloud, this scanner offers a streamlined and Python-native experience.


You can find the documentation for setup and usage here:
SonarQube Server: https://docs.sonarsource.... continue reading

naive kindleBOT
#

Leo https://leo-editor.github.io/leo-editor/ 6.8.4 is now available on
GitHub https://github.com/leo-editor/leo-editor/releases and pypi
https://pypi.org/project/leo/.

Many thanks to all those who have contributed to this release!

Leo is an IDE, outliner and PIM
https://leo-editor.github.io/leo-editor/preface.html.

The highlights of Leo 6.8.4

  • Improve the Rust importer.
  • Allow rest comments to be colored differently from @language
    https://github.com/language rest.
  • Support @language typst.
  • Several other improvements to syntax coloring.
  • Add the show-buttons-and-at-commands command.
  • Add the find-source-for-command command.
  • Add the beautify-script command.
  • The execute-script command beautifies c.p's tree if
    @bool beautify-python-code-on-write = True.
  • Remove the join-leo-irc command.
  • Scripts (including @command and @button scripts) may now return a
    value.
  • Replace c.scanAllDirectives with 7 se... continue reading
naive kindleBOT
#

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/3.1.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 reported issues.

See the full release notes for all of the details:
https://python-oracledb.readthedocs.io/en/latest/release\_notes.html#oracledb-3-1-1-may-2025

Please provide any feedback via GitHub issues:
https://github.com/oracle/python-oracledb/issues or discussions:
https://github.com/oracle/python-oracledb/discussions

naive kindleBOT
#

PyCA cryptography 45.0.1 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, X.509, key derivation functions, and much
more. We support Python 3.7+, and PyPy3 7.3.10+.

Changelog (https://cryptography.io/en/latest/changelog/#v45-0-1):

  • Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL
    3.5.0.

This also includes the changes from 45.0.0:

Changelog (https://cryptography.io/en/latest/changelog/#v45-0-0):

  • Support for Python 3.7 is deprecated and will be removed in the next
    cryptography release.
  • Updated the minimum supported Rust version (MSRV) to 1.74.0, from 1.65.0.
  • Added support for serialization of PKCS#12 Java truststores in
    serialize_java_truststore()
  • Added derive_phc_encoded() and verify_phc_encoded() methods to support
    password hashing in the PHC string format.
  • Added support for P... continue reading
#

PyCA cryptography 45.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, X.509,
key derivation functions, and much more. We support Python 3.7+, and PyPy3
7.3.10+.

Changelog (https://cryptography.io/en/latest/changelog/#v45-0-0):

  • Support for Python 3.7 is deprecated and will be removed in the next
    cryptography release.
  • Updated the minimum supported Rust version (MSRV) to 1.74.0, from 1.65.0.
  • Added support for serialization of PKCS#12 Java truststores in
    serialize_java_truststore()
  • Added derive_phc_encoded() and verify_phc_encoded() methods to support
    password hashing in the PHC string format.
  • Added support for PKCS7 decryption and encryption using AES-256 as the
    content algorithm, in addition to AES-128.
  • BACKWARDS INCOMPATIBLE: Made SSH private key loading more consistent with
    other private key loadi... continue reading
naive kindleBOT
#

On behalf of the Nikola team, I am pleased to announce
the immediate availability of Nikola v8.3.3. This is a bugfix release.

We’ve had to release Nikola v8.3.3 immediately after releasing
Nikola v8.3.2, as it is broken on Python 3.8. We would like to thank
the Python packaging ecosystem for being an incomprehensible and
incompatible trainwreck.

What is Nikola?

Nikola is a static site and blog generator, written in Python.
It can use Mako and Jinja2 templates, and input in many popular markup
formats, such as reStructuredText and Markdown — and can even turn
Jupyter Notebooks into blog posts! It also supports image galleries,
and is multilingual. Nikola is flexible, and page builds are extremely
fast, courtesy of doit (which is rebuilding only what has been changed).

Find out more at the website: https://getnikola.com/

Downloads

Install using pip install Nikola.

Changes from v8.3.1

Features

... continue reading

naive kindleBOT
#

Hi All,

NumPy 2.2.6 is a patch release that fixes bugs found after the 2.2.5
release. It is a mix of typing fixes/improvements as well as the normal
bug fixes and some CI maintenance.

This release supports Python 3.10-3.13. Wheels can be downloaded from PyPI
https://pypi.org/project/numpy/2.2.6; source archives, release notes, and
wheel hashes are available on Github
https://github.com/numpy/numpy/releases/tag/v2.2.6.

Contributors

A total of 8 people contributed to this release. People with a "+" by
their names contributed a patch for the first time.

  • Charles Harris
  • Ilhan Polat
  • Joren Hammudoglu
  • Marco Gorelli +
  • Matti Picus
  • Nathan Goldbaum
  • Peter Hawkins
  • Sayed Adel

Pull requests merged

A total of 11 pull requests were merged for this release.

  • #28778: MAINT: Prepare 2.2.x for further development
  • #28851: BLD: Update vendor-meson to fix module_feature conflicts
    arguments...
  • #28852... continue reading
naive kindleBOT
#

PyCA cryptography 45.0.2 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, X.509, key derivation functions, and much
more. We support Python 3.7+, and PyPy3 7.3.11+.

Changelog (https://cryptography.io/en/latest/changelog/#v45-0-2):

  • Fixed using mypy with cryptography on older versions of Python.

Alex

--
All that is necessary for evil to succeed is for good people to do nothing.

naive kindleBOT
naive kindleBOT
#

Hello all,

PyData/Sparse <https://sparse.pydata.org https://sparse.pydata.org/> 0.17.0 is now available on
GitHub https://github.com/pydata/sparse/releases/tag/0.17.0, pypi
https://pypi.org/project/sparse/0.17.0/ and conda-forge.

PyData/Sparse provides sparse multi-dimensional arrays for the Python
Ecosystem.

The highlights of this release include support for the v2024 Array API
standard. The full release notes can be found on GitHub.

Best,
Hameer

naive kindleBOT
#

PyCA cryptography 45.0.3 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, X.509, key derivation functions, and much
more. We support Python 3.7+, and PyPy3 7.3.11+.

Changelog (https://cryptography.io/en/latest/changelog/#v45-0-3):

  • Fixed decrypting PKCS#8 files encrypted with long salts (this impacts keys
    encrypted by Bouncy Castle).
  • Fixed decrypting PKCS#8 files encrypted with DES-CBC-MD5. While wildly
    insecure, this remains prevalent.

Alex

All that is necessary for evil to succeed is for good people to do nothing.

naive kindleBOT
#

Hi All,

On behalf of the NumPy team, I'm pleased to announce the release of
NumPy 2.3.0rc1. The NumPy 2.3.0rc1 release continues the work to improve
free threaded Python support and annotations together with the usual set of
bug fixes. It is unusual in the number of expired deprecations and the
number of code modernizations and style cleanups. The latter may not be
visible to users, but is important for code maintenance over the long term.
Note that we have also upgraded from manylinux2014 to manylinux_2_28.

There are known test failures in the rc1 release involving MyPy and PyPy.
The cause of both has been determined and fixes will be applied before the
final
release. The current Windows on ARM wheels also lack OpenBLAS, but they
should suffice for initial downstream testing. OpenBLAS will be
incorporated in those wheels when it becomes available.

Highlights for this release are:

  • Interactive examples in the NumPy documentation.
  • Building NumPy with O... continue reading
naive kindleBOT
#

Here’s the second 3.14 beta.

https://www.python.org/downloads/release/python-3140b2/

This is a beta preview of Python 3.14

Python 3.14 is still in development. This release, 3.14.0b2, is the second
of four planned beta releases.

Beta release previews are intended to give the wider community the
opportunity to test new features and bug fixes and to prepare their
projects to support the new feature release.

We strongly encourage maintainers of third-party Python projects to test
with 3.14 during the beta phase and report issues found to the Python bug
tracker as soon as possible. While the release is planned to be
feature-complete entering the beta phase, it is possible that features may
be modified or, in rare cases, deleted up until the start of the release
candidate phase (Tuesday 2025-07-22). Our goal is to have no ABI changes
after beta 4 and as few code changes as possible after the first release
candidate. To achieve that, it will be extremely important to... continue reading

naive kindleBOT
#

In this PEP, we propose a new entry point for C extension modules, by which one can define a module using an array of PyModuleDef_Slot structures without an enclosing PyModuleDef structure. This allows extension authors to avoid using a statically allocated PyObject, lifting the most common obstacle to making one compiled library file usable with both regular and free-threaded builds of CPython.

naive kindleBOT
#

pytest-8.4.0

The pytest team is proud to announce the 8.4.0 release!

This release contains new features, improvements, and bug fixes,
the full list of changes is available in the changelog:

https://docs.pytest.org/en/stable/changelog.html

For complete documentation, please visit:

https://docs.pytest.org/en/stable/

As usual, you can upgrade from PyPI via:

pip install -U pytest

Thanks to all of the contributors to this release:

  • Adam Johnson
  • Ammar Askar
  • Andrew Pikul
  • Andy Freeland
  • Anthony Sottile
  • Anton Zhilin
  • Arpit Gupta
  • Ashley Whetter
  • Avasam
  • Bahram Farahmand
  • Brigitta Sipőcz
  • Bruno Oliveira
  • Callum Scott
  • Christian Clauss
  • Christopher Head
  • Daara
  • Daniel Miller
  • Deysha Rivera
  • Emil Hjelm
  • Eugene Mwangi
  • Florian Bruhin
  • Frank Hoffmann
  • GTowers1
  • Guillaume Gauvrit
  • Gupta Arpit
  • Harmin Parra Rueda
  • Jakob van Santen
  • Jason N. White
  • Jiajun Xu
  • J... continue reading
naive kindleBOT
#

Python Release Party

It was only meant to be release day for 3.13.4 today, but poor number 13
looked so lonely… And hey, we had a couple of tarfile CVEs that we had to
fix. So most of the Release Managers and all the Developers-in-Residence
(including Security Developer-in-Residence Seth Michael Larson) came
together to make it a full release party.
https://discuss.python.org/t/python-3-13-4-3-12-11-3-11-13-3-10-18-and-3-9-23-are-now-available/94367#p-252840-security-content-in-these-releases-2Security
content in these releases

naive kindleBOT
#

This PEP proposes extending the core metadata specification for Python packaging to include a new, repeatable field named Import-Name to record the import names that a project owns once installed. A new key named import-names will be added to the [project] table in pyproject.toml. This also leads to the introduction of core metadata version 2.5.

naive kindleBOT
#

/This announcement is in German since it targets a local user
group//meeting in Düsseldorf, Germany/

Ankündigung

Python Meeting Düsseldorf - Juni 2025
<https://www.egenix.com/company/news/Python-Meeting-Duesseldorf-2025-06-18>

Ein Treffen von Python Enthusiasten und Interessierten
in ungezwungener Atmosphäre.

*18.06.2025, 18:00 Uhr*
Raum 1, 2.OG im Bürgerhaus Stadtteilzentrum Bilk
<http://www.duesseldorf.de/jugendamt/fam/famfoe/bueh/ac/index.shtml>
Düsseldorfer Arcaden
<http://www.duesseldorf-arcaden.de/anfahrt.html>, Bachstr. 145,
40217 Düsseldorf
<http://maps.google.com/maps?q=51.209169,6.775339&layer=c&sll=51.209353,6.775272&cbp=11,177.96,,0,0.79&cbll=51.209412,6.77577&ie=UTF8&t=m&vpsrc=0&panoid=0NGUHHHEpGGMCcqpf3Gmbw&z=17>


Programm

Bereits angemeldete Vorträge:

  • Klaus Bremer:
    *Using Python's argparse

  • Jochen Wersdörfer:
    *MCP Server - Connect LLMs to your data

... continue reading

naive kindleBOT
#

Hi All,

On behalf of the NumPy team, I'm pleased to announce the release of
NumPy 2.3.0. The NumPy 2.3.0 release improves free threaded Python support
and annotations together with the usual set of bug fixes. It is unusual in
the number of expired deprecations, code modernizations, and style
cleanups. The
latter may not be visible to users, but is important for code maintenance
over the long term. Note that we have also upgraded from manylinux2014 to
manylinux_2_28. Highlights are:

  • Interactive examples in the NumPy documentation.
  • Building NumPy with OpenMP Parallelization.
  • Preliminary support for Windows on ARM.
  • Improved support for free threaded Python.
  • Improved annotations.

This release supports Python 3.11-3.13, Python 3.14 will be supported when
it is released. Wheels can be downloaded from PyPI
https://pypi.org/project/numpy/2.3.0; source archives, release notes, and
wheel hashes are available on Github
<https://github.com/nu... continue reading

naive kindleBOT
#

=========================
Announcing NumExpr 2.11.0

Hi everyone,

NumExpr 2.11.0 Initial support for free-threaded Python 3.13t has been
added.
This is still experimental, so please report any issues you find.
Finally, Python 3.10 is now the minimum supported version.

Project documentation is available at:

http://numexpr.readthedocs.io/

Changes from 2.10.2 to 2.11.0

  • Initial support for free-threaded Python 3.13t has been added.
    This is still experimental, so please report any issues you find.
    For more info, see discussions PRs #504, #505 and #508.
    Thanks to @andfoy, @rgommers and @FrancescAlted for the work.

  • Fix imaginary evaluation in the form of 1.1e1j. This was
    previously not supported and would raise an error. Thanks to @27rabbitlt
    for the fix.

  • The test suite has been modernized to use pytest instead of unittest.
    This should make it easier to run the tests and contri... continue reading

naive kindleBOT
#

This PEP proposes a standardized set of index-supplied project status markers, as well as a mechanism for communicating those markers in the HTML and JSON simple indices.

naive kindleBOT
#

PyCA cryptography 45.04 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, X.509, key derivation functions, and much
more. We support Python 3.7+, and PyPy3 7.3.11+.

Changelog (https://cryptography.io/en/latest/changelog/#v45-0-4):

  • Fixed decrypting PKCS#8 files encrypted with SHA1-RC4. (This is not
    considered secure, and is supported only for backwards compatibility.)

Alex

--
All that is necessary for evil to succeed is for good people to do nothing.

naive kindleBOT
#

When I was younger (...hush) we would call this a brown paper bag release,
but actually, we shouldn’t hide from our mistakes. We’re only human. So,
please enjoy:
https://discuss.python.org/t/python-3-13-5-is-now-available-yes-really/95211#p-254481-python-3135-1Python
3.13.5
https://www.python.org/downloads/release/python-3135/
https://discuss.python.org/t/python-3-13-5-is-now-available-yes-really/95211#p-254481-this-is-the-fifth-maintenance-release-of-python-313-2This
is the fifth maintenance release of Python 3.13

Python 3.13 is the newest major release of the Python programming language,
and it contains many new features and optimizations compared to Python
3.12. 3.13.5 is the fifth maintenance release of 3.13.

3.13.5 is an expedited release to fix a couple of significant issues with
the 3.13.4 release:

naive kindleBOT
#

It’s 3.14 beta 3!

https://www.python.org/downloads/release/python-3140b3/

This is a beta preview of Python 3.14

Python 3.14 is still in development. This release, 3.14.0b3, is the third
of four planned beta releases.

Beta release previews are intended to give the wider community the
opportunity to test new features and bug fixes and to prepare their
projects to support the new feature release.

We strongly encourage maintainers of third-party Python projects to test
with 3.14 during the beta phase and report issues found to the Python bug
tracker as soon as possible. While the release is planned to be
feature-complete entering the beta phase, it is possible that features may
be modified or, in rare cases, deleted up until the start of the release
candidate phase (Tuesday 2025-07-22). Our goal is to have no ABI changes
after beta 4 and as few code changes as possible after the first release
candidate. To achieve that, it will be extremely important to get as much... continue reading

naive kindleBOT
naive kindleBOT
#

Hi All,

On behalf of the NumPy team, I'm pleased to announce the release of
NumPy 2.3.1. The NumPy 2.3.1 release is a patch release with several bug
fixes, annotation improvements, and better support for OpenBSD. Highlights
are:

  • Fix bug in matmul for non-contiguous out kwarg parameter
  • Fix for Accelerate runtime warnings on M4 hardware
  • Fix new in NumPy 2.3.0 np.vectorize casting errors
  • Improved support of cpu features for FreeBSD and OpenBSD

This release supports Python 3.11-3.13, Python 3.14 will be supported when
it is released. Wheels can be downloaded from PyPI
https://pypi.org/project/numpy/2.3.1; source archives, release notes, and
wheel hashes are available on Github
https://github.com/numpy/numpy/releases/tag/v2.3.1.

Contributors

A total of 9 people contributed to this release. People with a "+" by
their names contributed a patch for the first time.

naive kindleBOT
#

Announcing Python-Blosc2 3.5.0

This release adds significant new functionality in the form of stack().
It allows you to stack multiple Blosc2 NDarrays along a new axis, similar
to NumPy's np.stack(). This is particularly useful for creating
higher-dimensional arrays from lower-dimensional ones.

We have blogged about this:
https://www.blosc.org/posts/blosc2-new-concatenate/#stacking-arrays

You can think of Python-Blosc2 3.x as an extension of NumPy/numexpr that:

  • Can deal with ndarrays compressed using first-class codecs & filters.
  • Performs many kind of math expressions, including reductions, indexing...
  • Supports broadcasting operations.
  • Supports NumPy ufunc mechanism: mix and match NumPy and Blosc2
    computations.
  • Integrates with Numba and Cython via UDFs (User Defined Functions).
  • Adheres to modern NumPy casting rules way better than numexpr.
  • Supports linear algebra operations (like blosc2.matmul()).

Insta... continue reading

naive kindleBOT
#

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/3.2.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 adds a number of new features and corrects a number of issues.
Highlights are as follows:

  • support for recipient lists in Oracle Advanced Queuing with thin mode
  • support for fetching VECTOR columns in data frames
  • support for Instance Principal authentication when using OCI Cloud
    Native Authentication
  • support for Oracle Database 23ai multi-pool DRCP

See the full release notes for all of the details:
https://python-oracledb.readthedocs.io/en/latest/release\_notes.html#oracledb-3-2-0-june-2025

... continue reading

naive kindleBOT
#

Announcing Python-Blosc2 3.5.1

This release:
✅ Dramatically reduced memory usage when computing slices of lazy
expressions
(up to 20x less memory)
✅ Added fast path for small slices that fit in memory (up to 20x faster)
✅ Renamed blosc2.concatenate() to blosc2.concat() (following Array API
standard)
✅ Improved mode handling for concatenating arrays stored on disk

You can think of Python-Blosc2 3.x as an extension of NumPy/numexpr that:

  • Can deal with ndarrays compressed using first-class codecs & filters.
  • Performs many kind of math expressions, including reductions, indexing...
  • Supports broadcasting operations.
  • Supports NumPy ufunc mechanism: mix and match NumPy and Blosc2
    computations.
  • Integrates with Numba and Cython via UDFs (User Defined Functions).
  • Adheres to modern NumPy casting rules way better than numexpr.
  • Supports linear algebra operations (like blosc2.matmul()).

Install it with::

pip insta... [continue reading](https://mail.python.org/archives/list/python-announce-list@python.org/thread/ZTYUZ67JYUGYN2NBISPK6Q5PGZEGRWZY/)
naive kindleBOT
#

PyCA cryptography 45.0.5 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, X.509, key derivation functions, and much
more. We support Python 3.7+, and PyPy3 7.3.10+.

Changelog (https://cryptography.io/en/latest/changelog/#v45-0-5):

  • Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL
    3.5.1.

-Paul Kehrer (reaperhulk)

naive kindleBOT
#

Leo https://leo-editor.github.io/leo-editor/ 6.8.5 is now available on
GitHub and pypi.

Leo is an IDE, outliner and PIM.

Many thanks to all who have contributed to this release. The changes may
have been small, but the issues were subtle.

The highlights of Leo 6.8.5

  • This release contains minor bug fixes and code cleanups.
  • The signatures of the k.registerCommand and k.registerCommandShortcut
    methods
    have changed.

Links

naive kindleBOT
#

Hey

I recently started working on a new project and thought I’d share it. It’s
a bit niche and in its early stages of development, but I’d be curious to
hear what other Python devs think about this idea.

pyfiq is a lightweight, MIT-licensed, Redis-backed FIFO task queue for
Python. It lets you decorate (I/O-bound) functions with @pyfiq.fifo(...),
enqueue them for execution, and ensures those functions run in strict
order, even across multiple application instances.

You can think of pyfiq as an embedded, Python-native alternative to AWS
Lambda + SQS FIFO: no external infrastructure, no vendor lock-in--just drop
it into your app.

Check it out:
https://github.com/rbw/pyfiq

--
Robert Wikman
0xf6feb506ae5d3762

naive kindleBOT
#

It’s the final 3.14 beta!

https://www.python.org/downloads/release/python-3140b4/

This is a beta preview of Python 3.14

Python 3.14 is still in development. This release, 3.14.0b4, is the last of
four planned beta releases.

Beta release previews are intended to give the wider community the
opportunity to test new features and bug fixes and to prepare their
projects to support the new feature release.

We strongly encourage maintainers of third-party Python projects to test
with 3.14 during the beta phase and report issues found to the Python bug
tracker as soon as possible. While the release is planned to be
feature-complete entering the beta phase, it is possible that features may
be modified or, in rare cases, deleted up until the start of the release
candidate phase (Tuesday 2025-07-22). Our goal is to have no ABI changes
after beta 4 and as few code changes as possible after the first release
candidate. To achieve that, it will be extremely important to get ... continue reading

naive kindleBOT
#

Hello all:

I'm proud to release version 2.5.0 of the Roundup issue
tracker. This release is a bugfix and feature release, so
make sure to read https://www.roundup-tracker.org/docs/upgrading.html
to bring your tracker up to date.

The 42 changes, as usual, include some new features and many bug
fixes. One bug fix is an XSS security issue with CVE-2025-53865
primarily with the responsve and devel templates. See:

https://www.roundup-tracker.org/docs/upgrading.html#xss-security-issue-with-devel-and-responsive-templates-recommended

Version 2.5.0 does not support Python 2. The minimum Python
version is 3.7.

Among the significant enhancements in version 2.5.0 compared to
the 2.4.0 release are:

  • XSS vulnerability with devel and responsive templates fixed

    Just before release an XSS security issue with trackers based on
    the devel or responsive templates was discovered. The updating
    directions include instructions on fixing this issue with the
    html templates.

  • **The prop... continue reading

naive kindleBOT
#

Hello Python developers,

We've made some quality of life updates to the pysonar scanner https://pypi.org/project/pysonar/ and documentation, including an in-product set-up guide. We also welcome your contributions to the project (see https://github.com/SonarSource/sonar-scanner-python).

Official documentation: https://docs.sonarsource.com/sonarqube-server/latest/analyzing-source-code/scanners/sonarscanner-for-python/
Latest analyzer updates: https://community.sonarsource.com/t/write-quality-comprehensions-coroutines-with-sonarqube/143035

pysonar requirements:
SonarQube Sever 10.6 or higher or SonarQube Cloud
Python 3.9 or higher

Happy scanning!
-Team Sonar

naive kindleBOT
#

Version 0.4.0 of distlib has recently been released on PyPI [1]. For newcomers, distlib is a library of packaging functionality which is intended to be usable as the basis for third-party packaging tools.

The main changes in this release are as follows:

  • Add the interpret\_parsed function to markers.

  • Fix #238: Add build tag to wheel metadata if specified.

  • Fix #243: Update to support free-threading version of Python (3.13t).

  • Fix #246: Support subdirectories in the dist-info directory. Thanks to Pieter P for the patch.

  • Fix #248: Fix path normalization issue caused by the fix for #246.

  • Move import in script wrapper to if \_\_name\_\_ == 'main' clause.

  • Fix #245: Skip test_package_data if a SKIP\_EXT\_PACKAGE\_DATA environment variable is present.

A more detailed change log is available at [2].

Please try it out, and if you find any problems or have any suggestions for improvements, please give some feedback using the issue tracker at [3].

Regards,
... continue reading

naive kindleBOT
#

Announcing Python-Blosc2 3.6.1

In this release:

✅ Blosc2 now suppports fancy indexing (and orthogonal indexing)
✅ Added fast path for 1D fancy indexing
✅ More complex slicing is now supported for lazy expressions
✅ Blosc2 indexing more consistent with NumPy
✅ Comprehensive squeeze function which squeezes only specified
dimensions
✅ Correctly point to most recent C-blosc2 version 2.19.1

We have blogged about the new fancy indexing support:
https://www.blosc.org/posts/blosc2-fancy-indexing/

You can think of Python-Blosc2 3.x as an extension of NumPy/numexpr that:

  • Can deal with ndarrays compressed using first-class codecs & filters.
  • Performs many kind of math expressions, including reductions, indexing...
  • Supports NumPy ufunc mechanism: mix and match NumPy and Blosc2
    computations.
  • Integrates with Numba and Cython via UDFs (User Defined Functions).
  • Adheres to modern NumPy casting rules way better than numexpr.
  • Perf... continue reading
naive kindleBOT
#

This PEP proposes extending list, set, and dictionary comprehensions, as well as generator expressions, to allow unpacking notation (* and **) at the start of the expression, providing a concise way of combining an arbitrary number of iterables into one list or set or generator, or an arbitrary number of dictionaries into one dictionary, for example:

naive kindleBOT
#

It’s the first 3.14 release candidate!

https://www.python.org/downloads/release/python-3140rc1/

This release, 3.14.0rc1, is the penultimate release preview. Entering the
release candidate phase, only reviewed code changes which are clear bug
fixes are allowed between this release candidate and the final release. The
second candidate (and the last planned release preview) is scheduled for
Tuesday, 2025-08-26, while the official release of 3.14.0 is scheduled for
Tuesday, 2025-10-07.

There will be no ABI changes from this point forward in the 3.14 series,
and the goal is that there will be as few code changes as possible.

Call to action

We strongly encourage maintainers of third-party Python projects to prepare
their projects for 3.14 during this phase, and where necessary publish
Python 3.14 wheels on PyPI to be ready for the final release of 3.14.0, and
to help other projects do their own testing. Any binary wheels built
against Python 3.14.0rc1 will work with ... continue reading

naive kindleBOT
#

To analyze Python programs precisely, type checkers need to know when two classes can and cannot have a common child class. However, the information necessary to determine this is not currently part of the type system. This PEP adds a new decorator, @typing.solid_base, that indicates that a class is a “solid base”. Two classes that have distinct, unrelated solid bases cannot have a common child class.

naive kindleBOT
naive kindleBOT
#

Hi All,

On behalf of the NumPy team, I'm pleased to announce the release of
NumPy 2.3.2. The NumPy 2.3.2 release is a patch release with a number of
bug fixes and maintenance updates. The highlights are:

  • Wheels for Python 3.14.0rc1
  • PyPy updated to the latest stable release
  • OpenBLAS updated to 0.3.30

This release supports Python 3.11-3.14. Wheels can be downloaded from PyPI
https://pypi.org/project/numpy/2.3.2; source archives, release notes, and
wheel hashes are available on Github
https://github.com/numpy/numpy/releases/tag/v2.3.2.

Contributors

A total of 9 people contributed to this release. People with a "+" by
their names contributed a patch for the first time.

  • !DWesl
  • Charles Harris
  • Joren Hammudoglu
  • Maanas Arora
  • Marco Edward Gorelli
  • Matti Picus
  • Nathan Goldbaum
  • Sebastian Berg
  • kostayScr +

Pull requests merged

A total of 16 pull requests were merged for this release.

... continue reading

naive kindleBOT
#

(also posted to https://blog.pypi.org/posts/2025-07-28-pypi-phishing-attack/
)

(Ongoing, preliminary report)

PyPI has not been hacked, but users are being targeted by a phishing attack
that attempts to trick them into logging in to a fake PyPI site.

Over the past few days, users who have published projects on PyPI with
their email in package metadata may have received an email titled:

[PyPI] Email verification

from the email address noreply@pypj.org.

Note the lowercase j in the domain name, which is not the official PyPI
domain, pypi.org.

This is not a security breach of PyPI itself, but rather a phishing attempt
that exploits the trust users have in PyPI.

The email instructs users to follow a link to verify their email address,
which leads to a phishing site that looks like PyPI but is not the official
site.

The user is prompted to log in, and the requests are passed back to PyPI,
which may lead to the user believing they have logged in to PyPI, but in
reality, they hav... continue reading

naive kindleBOT
#

Hi there,

This is just a quick note to let people know about Python by the Sea, a
small (20-40 people) unconference focused more on face-to-face meetings
than planned presentations. This is the first event I've organised in over
a decade, and seems much more in the spirit of the times than larger
gatherings. With luck it should also be less demanding to manage.

You can find out more about the conference at https://python-by-the-sea.org,
and early bird tickets are now available at https://pybysea.eventbrite.com.

I hope to see friends old and new there. Please pass the message on!

Kind regards
Steve
Python by the Sea, a friendly little unconference:
https://python-by-the-sea.org
Author, Python in a Nutshell:
https://www.oreilly.com/library/view/python-in-a/9781098113544/

naive kindleBOT
#

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/3.3.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 has the following highlights:

  • support for sessionless transactions with Oracle Database 23ai
  • support for ingestion of dataframes
  • support for the ArrowArrayStream PyCapsule interface
  • pre-built binaries for Python 3.14 (this version is in the release
    candidate phase currently)

See the full release notes for all of the details:
https://python-oracledb.readthedocs.io/en/latest/release\_notes.html#oracledb-3-3-0-july-2025

Please provide any feedback via GitHub issues: https://github.com/oracle/
... continue reading

naive kindleBOT
#

We propose a new notation, {/}, to construct and represent the empty set. This is modelled after the corresponding mathematical symbol ‘\emptyset’.

naive kindleBOT
#

Not one but two expedited releases! 🎉🎉

Python 3.14.0rc2

It’s the final 🪄 penultimate 🪄 3.14 release candidate!

https://www.python.org/downloads/release/python-3140rc2/

Note: rc2 was originally planned for 2025-08-26, but we fixed a bug that
required bumping the magic number stored in Python bytecode (.pyc) files.
This means file .pyc files created for rc1 cannot be used for rc2, and
they’ll be recompiled.

The ABI isn’t changing. Wheels built for rc1 should be fine for rc2, rc3
and 3.14.x. So this shouldn’t affect too many people but let’s get this out
for testing sooner.

Due to this early release, we’ll also add a third release candidate between
now and the final 3.14.0 release, with no planned change to the final
release date.

This is the penultimate release candidate of Python 3.14

This release, 3.14.0rc2, is the penultimate release preview. Entering the
release candidate phase, only reviewed code changes which are clear bug
fixes are allowed betw... continue reading

naive kindleBOT
#

/This announcement is in German since it targets a local user
group//meeting in Düsseldorf, Germany/

Ankündigung

Python Meeting Düsseldorf - September 2025
<https://www.egenix.com/company/news/Python-Meeting-Duesseldorf-2025-09-10>

Ein Treffen von Python Enthusiasten und Interessierten
in ungezwungener Atmosphäre.

*10.09.2025, 18:00 Uhr*
Raum 1, 2.OG im Bürgerhaus Stadtteilzentrum Bilk
<http://www.duesseldorf.de/jugendamt/fam/famfoe/bueh/ac/index.shtml>
Düsseldorfer Arcaden
<http://www.duesseldorf-arcaden.de/anfahrt.html>, Bachstr. 145,
40217 Düsseldorf
<http://maps.google.com/maps?q=51.209169,6.775339&layer=c&sll=51.209353,6.775272&cbp=11,177.96,,0,0.79&cbll=51.209412,6.77577&ie=UTF8&t=m&vpsrc=0&panoid=0NGUHHHEpGGMCcqpf3Gmbw&z=17>


Programm

Bereits angemeldete Vorträge:

  • Arkadius Schuchhardt:
    *Python Ökosystem innerhalb von Snowflake
    *
  • Marc-André Lemburg:
    *ETL with Python and... continue reading
naive kindleBOT
#

PyCA cryptography 45.0.7 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, X.509, key derivation functions, and much
more. We support Python 3.7+, and PyPy3 7.3.10+.

Changelog (https://cryptography.io/en/latest/changelog/#v45-0-7):

  • Added a function to support an upcoming pyOpenSSL release.

Alex

All that is necessary for evil to succeed is for good people to do nothing.

naive kindleBOT
#

pytest 8.4.2 has just been released to PyPI.

This is a bug-fix release, being a drop-in replacement.

The full changelog is available at https://docs.pytest.org/en/stable/changelog.html.

Thanks to all of the contributors to this release:

  • AD
  • Aditi De
  • Bruno Oliveira
  • Florian Bruhin
  • John Litborn
  • Liam DeVoe
  • Marc Mueller
  • NayeemJohn
  • Olivier Grisel
  • Ran Benita
  • bengartner
  • 🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко)

Happy testing,
The pytest Development Team

naive kindleBOT
#

Version 3.15 of the Stable ABI will be compatible with both free-threaded and GIL-enabled builds. To allow this, the PyObject internal structure and related APIs will be removed from version 3.15 of the Limited API, requiring migration to new API for common tasks like defining modules and most classes.

naive kindleBOT
#

Hi All,

On behalf of the NumPy team, I'm pleased to announce the release of NumPy
2.3.3. The NumPy 2.3.3 release is a patch release split between a number of
maintenance updates and bug fixes. This release supports Python 3.11-3.14.
Wheels can be downloaded from PyPI https://pypi.org/project/numpy/2.3.3;
release notes and the changelog are available on Github
https://github.com/numpy/numpy/releases/tag/v2.3.3.

Note that we have changed our release process and publish directly to
GitHub. Hashes and source files are no longer available at the GitHub
v2.3.3 tag. GitHub itself generates source files, but those don't work. If
you need a source file, get it from PyPI.

Contributors

A total of 13 people contributed to this release. People with a "+" by
their
names contributed a patch for the first time.

  • Aleksandr A. Voyt +
  • Bernard Roesler +
  • Charles Harris
  • Hunter Hogan +
  • Joren Hammudoglu
  • Maanas Arora
  • Matti Picus
  • Nath... continue reading
naive kindleBOT
#

Wing Python IDE version 11.0.4 has been released. It adds debugger and
code analysis support for Python 3.14, improves Python code analysis and
code warnings, and makes a number of other minor improvements.

Details: https://wingware.com/news/2025-09-08
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 editor provides AI-assisted
development, 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 i... continue reading

naive kindleBOT
#

=========================
Announcing NumExpr 2.12.1

Hi everyone,

NumExpr 2.12.1 now allows isnan/isfinite/isinf functions to be used with
complex.
Also, compilation agains OneAPI MKL has been fixed. Thanks to Luke Shaw
for these contributions.

Project documentation is available at:

http://numexpr.readthedocs.io/

Changes from 2.12.0 to 2.12.1

  • Added complex counterparts for isnan/isfinite/isinf functions.
    Thanks to Luke Shaw.

  • Updated documentation for the new functions and instructions
    for adding new functions to the virtual machine. Thanks to Luke Shaw.

  • Fixed MKL support; it was broken in 2.12.0. Thanks to
    Christoph Gohlke for reporting the issue.

What's Numexpr?

Numexpr is a fast numerical expression evaluator for NumPy. With it,
expressions that operate on arrays (like "3a+4b") are accelerated
and use less memory than doing the same calculation in Python.... continue reading

naive kindleBOT
#

PyCA cryptography 46.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, X.509,
key derivation functions, and much more. We support Python 3.8+, and PyPy3
3.11.

Changelog (https://cryptography.io/en/latest/changelog/#v46-0-0)

  • BACKWARDS INCOMPATIBLE: Support for Python 3.7 has been removed.
  • Support for OpenSSL < 3.0 is deprecated and will be removed in the next
    release.
  • Support for x86_64 macOS (including publishing wheels) is deprecated and
    will be removed in two releases. We will switch to publishing an arm64 only
    wheel for macOS.
  • Support for 32-bit Windows (including publishing wheels) is deprecated
    and will be removed in two releases. Users should move to a 64-bit Python
    installation.
  • Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL
    3.5.3.
  • We now build ppc64le manylinux wheels and ... continue reading
naive kindleBOT
#

PyCA cryptography 46.0.1 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, X.509,
key derivation functions, and much more. We support Python 3.8+, and PyPy3
3.11.

Changelog (https://cryptography.io/en/latest/changelog/#v46-0-1)

  • Fixed an issue where users installing via pip on Python 3.14 development
    versions would not properly install a dependency.
  • Fixed an issue building the free-threaded macOS 3.14 wheels.

Changelog (https://cryptography.io/en/latest/changelog/#v46-0-0)

  • BACKWARDS INCOMPATIBLE: Support for Python 3.7 has been removed.
  • Support for OpenSSL < 3.0 is deprecated and will be removed in the next
    release.
  • Support for x86_64 macOS (including publishing wheels) is deprecated and
    will be removed in two releases. We will switch to publishing an arm64 only
    wheel for macOS.
  • Support for 32-bit Windows ... continue reading
naive kindleBOT
naive kindleBOT
#

Hello all,
I'm glad to announce the release of psutil 7.1.0:
https://github.com/giampaolo/psutil

About

psutil (process and system utilities) is a cross-platform library for
retrieving information on running processes and system utilization (CPU,
memory, disks, network) in Python. It is useful mainly for system
monitoring, profiling and limiting process resources and management of
running processes. It implements many functionalities offered by command
line tools such as: ps, top, lsof, netstat, ifconfig, who, df, kill, free,
nice, ionice, iostat, iotop, uptime, pidof, tty, taskset, pmap. It
currently supports Linux, Windows, macOS, Sun Solaris, FreeBSD, OpenBSD,
NetBSD and AIX. Supported Python versions are cPython 3.6+ and PyPy.

What's new

2025-09-17

Enhancements

  • #2581, [Windows]: publish ARM64 wheels. (patch by Matthieu Darbois)
  • #2571, [FreeBSD]: Dropped support for FreeBSD 8 and earlier. FreeBSD 8 was
    maintained from 2009 t... continue reading
naive kindleBOT
#

=========================
Announcing NumExpr 2.13.0

Hi everyone,

NumExpr 2.13.0 introduced a bunch of new features including new
bitwise operators (&, |, ^, ~), floor division (//). It also adds
many new functions (like hypot, log2, maximum, minimum, nextafter...).
Thanks to Luke Shaw for these contributions.

Project documentation is available at:

https://numexpr.readthedocs.io/

Changes from 2.12.1 to 2.13.0

  • New functionality has been added:

    • Bitwise operators (and, or, not, xor): &, |, ~, ^
    • New binary arithmetic operator for floor division: //
    • New functions: signbit, hypot, copysign, nextafter, maximum,
      minimum, log2, trunc, round and sign.
    • Also enables integer outputs for integer inputs for
      abs, fmod, copy, ones_like, sign and round.

    Thanks to Luke Shaw for the contributions.

  • New wheels for Python 3.14 and 3.14t are provided.

... continue reading

naive kindleBOT
#

Hello all,
I'm glad to announce the release of pyftpdlib 2.1.0:
https://github.com/giampaolo/pyftpdlib

About

Python FTP server library provides a high-level portable interface to
easily write very efficient, scalable and asynchronous FTP servers with
Python.

What's new

Enhancements

  • #647: add CLI options to use FTPS:
    • --tls
    • --certfile
    • --keyfile,
    • --tls-control-required
    • --tls-data-required
  • #666: add new CLI options:
    • --banner
    • --concurrency
    • --disable-sendfile
    • --encoding
    • --max-cons
    • --max-cons-per-ip
    • --max-login-attempts
    • --permit-foreign-addresses
    • --permit-privileged-ports
    • --timeout
    • --use-localtime
  • #667: colorized output when using pyftpdlib from CLI (invoked via
    python3 -m pyftpdlib).
  • #670: exclude unit tests from installation.

Bug fixes

naive kindleBOT
#

Python allows the with and async with statements to handle multiple context managers in a single statement, so long as they are all respectively synchronous or asynchronous. When mixing synchronous and asynchronous context managers, developers must use deeply nested statements or use risky workarounds such as overuse of AsyncExitStack.

naive kindleBOT
#

This PEP proposes a standard mechanism through which arbitrary Python package indices can support “Trusted Publishing,” a misuse-resistant credential exchange scheme already implemented by the Python Package Index (PyPI).

naive kindleBOT
#

The Stable ABI as abi3 can no longer be preserved, and requires replacement. abi2026 will be the first replacement, providing resolution of current known incompatibilities, with planned retirement after at least 10 years. The next ABI (for example, abi2031) will have at least five years of overlap with the preceding one.

naive kindleBOT
#

PyCA cryptography 46.0.2 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, X.509, key derivation functions, and much
more. We support Python 3.8+, and PyPy3 3.11.

Changelog (https://cryptography.io/en/latest/changelog/#v46-0-2)

  • Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.4.

Alex

--
All that is necessary for evil to succeed is for good people to do nothing.

naive kindleBOT
#

A new SCons release, 4.9.10, is now available on the SCons download page:

https://scons.org/pages/download.html

Here is a summary of the changes since 4.9.1:

CHANGED/ENHANCED EXISTING FUNCTIONALITY

  • Nodes are now treated as PathLike objects.

  • Replace use of old conditional expression idioms with the official
    one from PEP 308 introduced in Python 2.5 (2006). The idiom being
    replaced (using and/or) is regarded as error prone.

  • MSVC: The following shell environment variables are now included in
    the environment used by SCons to initialize MSVC when defined:
    VCPKG_DISABLE_METRICS, VCPKG_ROOT, POWERSHELL_TELEMETRY_OPTOUT,
    PSDisableModuleAnalysisCacheCleanup, and PSModuleAnalysisCachePath.
    A subset of the shell environment PSModulePath is included in the
    environment used by SCons to initialize MSVC when defined. None of
    these variables and values are propagated to the user's SCons
    environment ... continue reading

naive kindleBOT
#

This PEP introduces syntax for lazy imports as an explicit language feature:

naive kindleBOT
#

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/3.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 has the following highlights:

  • support for Direct Path Load in thin mode for fast data ingestion
  • support for data frames is no longer considered a pre-release
  • support for type mapping when querying with data frames
  • support for ingesting more Apache Arrow data types
  • support for ingesting Apache Arrow data frames containing multiple
    chunks
  • support for cursor.executemany() operating on large input data in
    batches
  • fine-grained control over LOB and number handling
  • new optiona... continue reading
naive kindleBOT
#

Python 3.13.8 is now available (but 3.14.0 probably deserves more attention ;p)

https://www.python.org/downloads/release/python-3138/

This is the eighth maintenance release of Python 3.13

Python 3.13 is the newest previous major release of the Python programming language, and it contains many new features and optimizations compared to Python 3.12. 3.13.8 is the eighth maintenance release of 3.13, containing around 200 bugfixes, build improvements and documentation changes since 3.13.7.

Enjoy the new release!

naive kindleBOT
#

Note: we also announce CPython releases at
https://discuss.python.org/tag/release and https://blog.python.org, and
are planning on only announcing at those places in the future, and not on
this mailing list. See
https://discuss.python.org/t/cpython-release-announcements/103924/1

Please see https://discuss.python.org/t/python-3-14-0-final-is-here/104210
for the 3.14.0 release notes.

Regards from a colourful autumnal Helsinki,

Your release team,
Hugo van Kemenade
Ned Deily
Steve Dower
Łukasz Langa

naive kindleBOT
#

Hello Python developers,

SonarQube Python analysis is getting faster! We recommend updating to the latest versions of SonarQube and the scanner (pysonar) to make the most of these changes.
Since our last update here, we have also added new unique rules for Serverless AWS & PyTorch.

The latest scanner can be found here: https://pypi.org/project/pysonar/
The latest SonarQube-Server can be found here: https://www.sonarsource.com/products/sonarqube/downloads/
Alternatively, get SonarQube-Cloud here: https://www.sonarsource.com/products/sonarcloud/signup/

We always welcome your contributions to the project (see https://github.com/SonarSource/sonar-scanner-python).
Official documentation: https://docs.sonarsource.com/sonarqube-server/latest/analyzing-source-code/scanners/sonarscanner-for-python/

pysonar requirements:
SonarQube Sever 10.6 or higher or SonarQube Cloud
Python 3.9 or higher

Happy scanning!
-Team Sonar

naive kindleBOT
#

Old-timer Release Party

We couldn’t just let Hugo have fun with 3.14.0, so here are new security releases of the venerated Python versions, 3.12 through 3.9!
Security content in these releases

XML-related

• gh-139312 https://github.com/python/cpython/issues/139312: Upgraded bundled libexpat to 2.7.3 to fix CVE-2025-59375 https://nvd.nist.gov/vuln/detail/CVE-2025-59375
• gh-139400 https://github.com/python/cpython/issues/139400: xml.parsers.expat https://www.python.org/downloads/release/library/pyexpat.html#module-xml.parsers.expat: Made sure that parent Expat parsers are only garbage-collected once they are no longer referenced by subparsers created by ExternalEntityParserCreate() https://www.python.org/downloads/release/library/pyexpat.html#xml.parsers.expat.xmlparser.ExternalEntityParserCreate.
Archive-related

• gh-130577 https://github.com/python/cpython/issues/130577: tarfile <https://www.python.org/downloads/release/library/tarfile.html#module-t... continue reading

naive kindleBOT
#

Python 3.13.9 is now available.

https://www.python.org/downloads/release/python-3139/

3.13.9 is an expedited release containing a fix for one specific regression in Python 3.13.8:
• gh-139783 https://github.com/python/cpython/issues/139783: Fix inspect.getsourcelines for the case when a decorator is followed by a comment or an empty line.
There are no other changes in this release, compared to 3.13.8.

Enjoy the new release!

naive kindleBOT
#

PyCA cryptography 46.0.3 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, X.509, key derivation functions, and much
more. We support Python 3.8+, and PyPy3 3.11.

Changelog (https://cryptography.io/en/latest/changelog/#v46-0-3)

  • Fixed compilation when using LibreSSL 4.2.0.

Alex

--
All that is necessary for evil to succeed is for good people to do nothing.

naive kindleBOT
#

Hi All,

On behalf of the NumPy team, I'm pleased to announce the release of NumPy
2.3.4. The NumPy 2.3.4 release is a patch release split between a number of
maintenance updates and bug fixes. This release supports Python 3.11-3.14.
Wheels can be downloaded from PyPI https://pypi.org/project/numpy/2.3.4;
release notes and the changelog are available on Github
https://github.com/numpy/numpy/releases/tag/v2.3.4.

Contributors

A total of 17 people contributed to this release. People with a "+" by
their
names contributed a patch for the first time.

  • !DWesl
  • Charles Harris
  • Christian Barbia +
  • Evgeni Burovski
  • Joren Hammudoglu
  • Maaz +
  • Mateusz Sokół
  • Matti Picus
  • Nathan Goldbaum
  • Ralf Gommers
  • Riku Sakamoto +
  • Sandeep Gupta +
  • Sayed Awad
  • Sebastian Berg
  • Sergey Fedorov +
  • Warren Weckesser
  • dependabot[bot]

Pull requests merged
A total of 30 pull requests were merged for this... continue reading

naive kindleBOT
#

Hi All,

I am happy to announce func-validator 1.1.1 , which provides
argument validation for
python functions and methods. The main objective is to remove argument
validation from
the function's body which reduces lines of code and improves code
readability.

This package was inspired by MATLAB’s argument validation framework,
bringing a similar level
of clarity and structure to Python function definitions.

Below is a quick example:

from typing import Annotated
from func_validator import validate_params, MustBePositive, MustBeNegative

@validate_params
def func(a: Annotated[int, MustBePositive()], b: Annotated[float, 
MustBeNegative()]):
    ...

Links

Install
pip install func-validator

Compatible with Python 3.11 - 3.13. Licensed under MIT

Bes... continue reading

naive kindleBOT
#

Hello all,
I'm glad to announce the release of psutil 7.1.1:
https://github.com/giampaolo/psutil

About

psutil (process and system utilities) is a cross-platform library for
retrieving information on running processes and system utilization (CPU,
memory, disks, network) in Python. It is useful mainly for system
monitoring, profiling and limiting process resources and management of
running processes. It implements many functionalities offered by command
line tools such as: ps, top, lsof, netstat, ifconfig, who, df, kill, free,
nice, ionice, iostat, iotop, uptime, pidof, tty, taskset, pmap. It
currently supports Linux, Windows, macOS, Sun Solaris, FreeBSD, OpenBSD,
NetBSD and AIX. Supported Python versions are cPython 3.6+ and PyPy.

What's new

2025-10-19

Enhancements

  • 2645_, [SunOS]: dropped support for SunOS 10.
  • 2646_, [SunOS]: add CI test runner for SunOS.

Bug fixes

naive kindleBOT
#

This document describes the schedule and other details of the 2025 election for the Python steering council, as specified in PEP 13. This is the steering council election for the 2026 term (i.e. Python 3.15).

naive kindleBOT
#

Hello all,
I'm glad to announce the release of psutil 7.1.2:
https://github.com/giampaolo/psutil

A detailed blogport is available at:
https://gmpy.dev/blog/2025/wheels-for-free-threaded-python-now-available-in-psutil

About

psutil (process and system utilities) is a cross-platform library for
retrieving information on running processes and system utilization (CPU,
memory, disks, network) in Python. It is useful mainly for system
monitoring, profiling and limiting process resources and management of
running processes. It implements many functionalities offered by command
line tools such as: ps, top, lsof, netstat, ifconfig, who, df, kill, free,
nice, ionice, iostat, iotop, uptime, pidof, tty, taskset, pmap. It
currently supports Linux, Windows, macOS, Sun Solaris, FreeBSD, OpenBSD,
NetBSD and AIX. Supported Python versions are cPython 3.6+ and PyPy.

What's new

2025-10-25

Enhancements

naive kindleBOT
naive kindleBOT
#

Call for Participation

We are happy to announce that we will again be running aPython devroom
at FOSDEM 2026
.

The next edition of FOSDEM will take place on January 31 and February 1
2026, with the Python devroom currently scheduled for Saturday, January
31, in the afternoon.

If you haven’t heard about FOSDEM before or are looking for more
information, you can visit the official website athttps://www.fosdem.org/.

As usual, we are looking for multiple Pythonistas to help us shape the
devroom schedule. We are now open to receiving your proposals ! With
over 8500 participants, FOSDEM is the perfect place to share your story
and meet fellow Python enthusiasts.

Good luck to everyone applying. We’re looking forward to meeting you all
at FOSDEM 2026 !

About FOSDEM

FOSDEM is a free and non-commercial event... continue reading

naive kindleBOT
#

Hi All,

I am happy to announce func-validator 1.2.0 release, this version
provides custom error messages for validators via the "err_msg" optional
keyword argument.

This package was inspired by MATLAB’s argument validation framework,
bringing a similar level of clarity and structure to Python function
definitions.

Below is a quick example:

from typing import Annotated
from func_validator import validate_params, MustBePositive, MustBeNegative

@validate_params
def func(a: Annotated[int, MustBePositive(err_msg="a must be greater 
than 0")], b: Annotated[float, MustBeNegative(err_msg="b must be less 
than 0")]):
    ...

Links

Install
pip install func-validator

Compatible with Python 3.11 - 3.13. Licensed under MIT

Best,
Patrick Boateng
patrickb... continue reading

naive kindleBOT
#

Hello all,
I'm glad to announce the release of psutil 7.1.3:
https://github.com/giampaolo/psutil

About

psutil (process and system utilities) is a cross-platform library for
retrieving information on running processes and system utilization (CPU,
memory, disks, network) in Python. It is useful mainly for system
monitoring, profiling and limiting process resources and management of
running processes. It implements many functionalities offered by command
line tools such as: ps, top, lsof, netstat, ifconfig, who, df, kill, free,
nice, ionice, iostat, iotop, uptime, pidof, tty, taskset, pmap. It
currently supports Linux, Windows, macOS, Sun Solaris, FreeBSD, OpenBSD,
NetBSD and AIX. Supported Python versions are cPython 3.6+ and PyPy.

What's new

2025-11-02

Enhancements

  • #2667: enforce clang-format on all C and header files. It is now the
    mandatory formatting style for all C sources.
  • #2672, [macOS], [BSD]: increase the chances to re... continue reading
naive kindleBOT
#

Hi all,

I'd like to share a new release Autobahn|Python v25.10.2 for #WebSocket & #WAMP. Included are: Enhanced CI/CD, latest PyPy Support, Binary Wheels for x86-64 and ARM64, and native NVX (SIMD vector acceleration).

What is Autobahn|Python?

Autobahn|Python is a Python implementation of:

  • WebSocket (RFC 6455) - Both client and server
  • WAMP (Web Application Messaging Protocol) - RPC and PubSub for microservices

that works on both Twisted and asyncio with the same API.

Key Features of This Release

🔧 Critical Fixes

  • Fixed source distribution integrity issues
  • Resolved CPU architecture detection (NVX support)
  • Improved reliability of sdist build... continue reading
#

Hi all,

I'd like to share a new release of zlmdb: LMDB for Python with PyPy Support, Binary Wheels, and Vendored Dependencies.

What is zlmdb?

zlmdb provides two APIs in one package:

  1. Low-level py-lmdb compatible API - Drop-in replacement for py-lmdb with the same interface
  2. High-level ORM API - Type-safe persistent objects with automatic serialization

Why this release is interesting

🔋 Batteries Included - Zero Dependencies

  • Vendored LMDB (no system installation needed)
  • Vendored Flatbuffers (high-performance serialization built-in)
  • Just pip install zlmdb and you're ready to go!

🐍 PyPy Support

  • Built with CFFI (not CPyExt) so it works perfectly with PyPy
  • Near-C performance with JIT compilation
  • py-lmdb doesn't... continue reading
naive kindleBOT
#

pyspread 2.4.1

This is a bugfix release.

Bug fixes:

  • Deprecation issue in Python 3.13 with pkg_resources fixed by
    migrating to importlib.
  • Excel code evaluation is now described in the docs
  • Fix for installing packages not present on the system
  • Missing xls helper function added to the package

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.4.1.tar.gz.asc
Source code: https://gitlab.com/pyspread/pyspread

Dependencies

Mandatory:

  • Python (≥ 3.6)
  • numpy (>=1.1)
  • PyQt6 (≥ 6.5, requires PyQt6.Svg),
  • setuptools (>=40.0)
  • markdown... continue reading
naive kindleBOT
#

pytest-9.0.0

The pytest team is proud to announce the 9.0.0 release!

This release contains new features, improvements, bug fixes, and breaking changes, so users
are encouraged to take a look at the CHANGELOG carefully:

https://docs.pytest.org/en/stable/changelog.html

For complete documentation, please visit:

https://docs.pytest.org/en/stable/

As usual, you can upgrade from PyPI via:

pip install -U pytest

Thanks to all of the contributors to this release:

  • AD
  • Aditi De
  • Ali Nazzal
  • Bruno Oliveira
  • Charles-Meldhine Madi Mnemoi
  • Clément Robert
  • CoretexShadow
  • Cornelius Roemer
  • Eero Vaher
  • Florian Bruhin
  • Harsha Sai
  • Hossein
  • Israël Hallé
  • Iwithyou2025
  • James Addison
  • John Litborn
  • Jordan Macdonald
  • Kieran Ryan
  • Liam DeVoe
  • Marc Mueller
  • Marcos Boger
  • Michał Górny
  • Mulat Mekonen
  • NayeemJohn
  • Olivier Grisel
  • Omri Golan
  • Pierre Sassoulas
  • Praise Tompane
  • Ran Benita
  • Reilly Brogan
  • Samuel Gaist
  • Sarah... continue reading
naive kindleBOT
#

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/3.4.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.

See the full release notes for all of the details:
https://python-oracledb.readthedocs.io/en/latest/release\_notes.html#oracledb-3-4-1-november-2025

Please provide any feedback via GitHub issues: https://github.com/oracle/
python-oracledb/issues or discussions: https://github.com/oracle/python-
oracledb/discussions

naive kindleBOT
#

pytest 9.0.1 has just been released to PyPI.

This is a bug-fix release, being a drop-in replacement.

The full changelog is available at https://docs.pytest.org/en/stable/changelog.html.

Thanks to all of the contributors to this release:

  • Bruno Oliveira
  • Ran Benita
  • 🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко)

Happy testing,
The pytest Development Team

naive kindleBOT
naive kindleBOT
#

A new SCons release, 4.10.1, is now available on the SCons download page:

https://scons.org/pages/download.html

Here is a summary of the changes since PREVIOUS_RELEASE:

NEW FUNCTIONALITY

  • Add support for Visual Studio 2026.

CHANGED/ENHANCED EXISTING FUNCTIONALITY

  • Switch test framework from using profile to cProfile. profile
    generates deprecation warnings starting with Python 3.15.

FIXES

  • Enable membership tests on instances of Literal (non-substituting string).

  • In the SequenceTypes tuple used for dynamic type checks, include
    the dict contents views, exclude the dictionary view itself as it
    is not an iterable sequence type.

IMPROVEMENTS

  • Internal: where the find method on a string was used to determine
    if a substring is present, use the more readable "in" and "not in".

DOCUMENTATION

naive kindleBOT
#

Hi All,

On behalf of the NumPy team, I'm pleased to announce the release of NumPy
2.3.4. The NumPy 2.3.4 release is a patch release split between a number of
maintenance updates and bug fixes. This release supports Python 3.11-3.14.
Wheels can be downloaded from PyPI https://pypi.org/project/numpy/2.3.5;
release notes and the changelog are available on Github
https://github.com/numpy/numpy/releases/tag/v2.3.5.

Contributors

A total of 10 people contributed to this release. People with a "+" by
their names contributed a patch for the first time.

  • Aaron Kollasch +
  • Charles Harris
  • Joren Hammudoglu
  • Matti Picus
  • Nathan Goldbaum
  • Rafael Laboissière +
  • Sayed Awad
  • Sebastian Berg
  • Warren Weckesser
  • Yasir Ashfaq +

Pull requests merged

A total of 16 pull requests were merged for this release.

  • #29979: MAINT: Prepare 2.3.x for further development
  • #30026: SIMD, BLD: Backport FPMATH mode on x86-32 an... continue reading
naive kindleBOT
#

Reminder: Call for Participation ends Dec 1st

We are happy to announce that we will again be running aPython devroom
at FOSDEM 2026
.

The next edition of FOSDEM will take place on January 31 and February 1
2026, with the Python devroom currently scheduled for Saturday, January
31, in the afternoon.

If you haven’t heard about FOSDEM before or are looking for more
information, you can visit the official website athttps://www.fosdem.org/.

As usual, we are looking for multiple Pythonistas to help us shape the
devroom schedule. We are now open to receiving your proposals ! With
over 8500 participants, FOSDEM is the perfect place to share your story
and meet fellow Python enthusiasts.

Good luck to everyone applying. We’re looking forward to meeting you all
at FOSDEM 2026 !

About FOSDEM

FOSDEM is a free a... continue reading

naive kindleBOT
naive kindleBOT
#

Hi All,

On behalf of the NumPy team, I'm pleased to announce the release of NumPy
2.4.0rc1. The NumPy 2.4.0 release continues the work to improve free
threaded Python support, user dtypes implementation, and annotations. There
are many expired deprecations and bug fixes as well. This release supports
Python versions 3.11-3.14. Wheels can be downloaded from PyPI
https://pypi.org/project/numpy/2.4.0rc1; release notes and the changelog
are available on Github
https://github.com/numpy/numpy/releases/tag/v2.4.0rc1.

Highlights

Apart from annotations and same_value kwarg, the 2.4 highlights are
mostly of interest to downstream developers. They should help in
implementing new user dtypes.

  • Many annotation improvements. In particular, runtime signature
    introspection.
  • New casting kwarg 'same_value' for casting by value.
  • New PyUFunc_AddLoopsFromSpec function that can be used to add user
    sort loops using the ArrayMethod API.
  • New `_... continue reading
naive kindleBOT
#

This PEP deprecates the RECORD.jws and RECORD.p7s wheel signature files. Lack of support in tooling means that these virtually unused files do not provide the security they purport. Users looking for wheel signing should instead refer to index hosted attestations.

naive kindleBOT
#

pytest-9.0.2

pytest 9.0.2 has just been released to PyPI.

This is a bug-fix release, being a drop-in replacement.

The full changelog is available at https://docs.pytest.org/en/stable/changelog.html.

Thanks to all of the contributors to this release:

  • Alex Waygood
  • Bruno Oliveira
  • Fazeel Usmani
  • Florian Bruhin
  • Ran Benita
  • Tom Most
  • 🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко)

Happy testing,
The pytest Development Team

naive kindleBOT
#

This PEP outlines the expected support for WASI by CPython. It contains enough details to know what WASI and WASI SDK version is expected to be supported for any release of CPython while official WASI support is specified in PEP 11.

naive kindleBOT
#

Hello!

I'm pleased to announce version 3.13.1, the first bugfix release of the
branch 3.13 of SQLObject.

What's new in SQLObject

The contributors for this release are:

  • Igor Yudytskiy. Thanks for PR #194:
    fix: connect to old mssql versions via set tds_version uri parameter.

  • Dave Mulligan fixed #195: Minor NameError in pgconnection.py
    when using psycopg version 1 with a non-default port. Thanks!

  • Chris Kauffman found a minor bug in UuidValidator.

  • GH user ghaushe-ampere. Thanks for finding an obscure bug!

Bug fixes

  • UuidValidator.from\_python() now accepts strings as a valid input.
    This fixes #199.

  • Fixed #197: a bug in dbconnection.ConnectionURIOpener.registerConnection
    triggered by non-empty instance's name. The bug was inserted in 2004 so
    it seems nobody ever used named instances. Fixed anyway.

  • Fixed #195: Minor NameError in pgconnection.py
    when using psycopg version 1 with a n... continue reading

naive kindleBOT
#

Hi ,

I hope you’ve been doing well. I wanted to reach out because our Call for
Papers for the 2026 conference is now open.

PyCon Estonia 2026 will take place on 8–9 October in Tallinn and will bring
together 400+ CTOs, developers, tech leads, and investors. This year we’re
focusing on three main tracks:

  1. Python Core and Frameworks
  2. AI and Machine Learning
  3. Productivity and Ethics in Development

If you’re working on something exciting in Python, AI, data, or developer
culture, we’d love to see your proposal again. We accept regular talks (30
min) and workshops (45–90 min), and all sessions are presented in person.
CFP Deadline: 28 February 2026

You can submit your proposal here:
CFP form: https://forms.gle/HputfhSnDGwbHRbJ8
<https://thorgate-dot-yamm-track.appspot.com/2nmVnEKMg2uoMn4-IfUAoVoBFIjYyvohYkOWTglPXHgjFTPoNmwFeuOZ\_DcJlhX3NRptWeGkCzDFuB7iNAwHEpswncqfO644qj-Ft9zWAz3RombZKDmP0g7bIn4X5Re81GGqn95aeXmNR2MbEIzk4WHSLmauFZiRcT8MYVpUeaB6TNS8D... continue reading

naive kindleBOT
#

Hello all,

we are happy to announce the schedule for the Python Devroom at FOSDEM 2026.

The Devroom will be held on January 31 2026 as part of the FOSDEM
conference in Brussels, Belgium.

FOSDEM 2026 - Python https://fosdem.org/2026/schedule/track/python/

  Saturday

The Bakery: How PEP810 sped up my bread operations business

https://fosdem.org/2026/schedule/event/fosdem-2026-9099-the-bakery-how-pep810-sped-up-my-bread-operations-business/
Jacob Coffee https://fosdem.org/2026/schedule/speaker/jacob\_coffee/
15:00 https://fosdem.org/2026/schedule/day/saturday/#1500 15:30
https://fosdem.org/2026/schedule/day/saturday/#1530
The GIL and API Performance: Past, Present, and Free-Threaded Future
https://fosdem.org/2026/schedule/event/fosdem-2026-7766-the-gil-and-api-performance-past-present-and-free-threaded-future/
Ruben Hias https://fosdem.org/2026/schedule/speaker/ruben\_hias/
15:30 https://fosdem.org/2026/schedule/day/saturday/#1530 ... continue reading

naive kindleBOT
#

Hello all,

SonarQube Python analysis now supports Python 3.14 along with 5 new best practice rules for it's new features.

The latest scanner can be found here: https://pypi.org/project/pysonar/
The latest SonarQube-Server can be found here: https://www.sonarsource.com/products/sonarqube/downloads/
Alternatively, get SonarQube-Cloud for free here: https://www.sonarsource.com/products/sonarcloud/signup/

We always welcome your contributions to the project (see https://github.com/SonarSource/sonar-scanner-python).
Official documentation: https://docs.sonarsource.com/sonarqube-server/latest/analyzing-source-code/scanners/sonarscanner-for-python/

pysonar requirements:
SonarQube Sever 10.6 or higher or SonarQube Cloud
Python 3.9 or higher

Happy scanning!
-Team Sonar

naive kindleBOT
#

Hi All,

On behalf of the NumPy team, I'm pleased to announce the release of NumPy
2.4.0. The NumPy 2.4.0 release continues the work to improve free threaded
Python support, user dtypes implementation, and annotations. There are many
expired deprecations and bug fixes as well. This release supports Python
versions 3.11-3.14. Wheels can be downloaded from PyPI
https://pypi.org/project/numpy/2.4.0; release notes and the changelog are
available on Github https://github.com/numpy/numpy/releases/tag/v2.4.0.

Highlights

Apart from annotations and same_value kwarg, the 2.4 highlights are
mostly of interest to downstream developers. They should help in
implementing new user dtypes.

  • Many annotation improvements. In particular, runtime signature
    introspection.
  • New casting kwarg 'same_value' for casting by value.
  • New PyUFunc_AddLoopsFromSpec function that can be used to add user
    sort loops using the ArrayMethod API.
  • New `__numpy_dty... continue reading
naive kindleBOT
#

Hello all,
I'm glad to announce the release of psutil 7.2.0:
https://github.com/giampaolo/psutil

Read detailed blog post at:
https://gmpy.dev/blog/2025/psutil-heap-introspection-apis

About

psutil (process and system utilities) is a cross-platform library for
retrieving information on running processes and system utilization (CPU,
memory, disks, network) in Python. It is useful mainly for system
monitoring, profiling and limiting process resources and management of
running processes. It implements many functionalities offered by command
line tools such as: ps, top, lsof, netstat, ifconfig, who, df, kill, free,
nice, ionice, iostat, iotop, uptime, pidof, tty, taskset, pmap. It
currently supports Linux, Windows, macOS, Sun Solaris, FreeBSD, OpenBSD,
NetBSD and AIX. Supported Python versions are cPython 3.6+ and PyPy.

What's new

2025-12-23

Enhancements

  • #1275: new heap_info()_ and heap_trim()_ functions, providing direct
    acce... continue reading
naive kindleBOT
#

Hello all,
I'm glad to announce the release of psutil 7.2.1:
https://github.com/giampaolo/psutil

About

psutil (process and system utilities) is a cross-platform library for
retrieving information on running processes and system utilization (CPU,
memory, disks, network) in Python. It is useful mainly for system
monitoring, profiling and limiting process resources and management of
running processes. It implements many functionalities offered by command
line tools such as: ps, top, lsof, netstat, ifconfig, who, df, kill, free,
nice, ionice, iostat, iotop, uptime, pidof, tty, taskset, pmap. It
currently supports Linux, Windows, macOS, Sun Solaris, FreeBSD, OpenBSD,
NetBSD and AIX. Supported Python versions are cPython 3.6+ and PyPy.

What's new

2025-12-29

Bug fixes

  • #2699, [FreeBSD], [NetBSD]: heap_info()_ does not detect small
    allocations
    (<= 1K). In order to fix that, we now flush internal jemalloc cache before
    fetching the me... continue reading
naive kindleBOT
#

Hi,

I'm glad to announce the release of Modu v0.1.0, a new Python module
dedicated to modular arithmetic.

Through operator overloading, Modu provides a user experience similar to a
"domain-specific language" (DSL), with sets / arithmetic operations using
modular arithmetic. Modu is best used as an interactive calculator in Python
terminal sessions (REPL) or in Jupyter Notebooks with instantaneous
rendering as LaTeX formulae. The prime target domain is research and
education in number theory.

Modu is an open-source module distributed under the MIT license.

If you want to give it a try, you may follow the link below for the online
"Modutorial" (Jupyter Notebook):
https://mybinder.org/v2/gh/piedenis/Modu/HEAD?urlpath=%2Fdoc%2Ftree%2Fsrc%2F
modutorial.ipynb

The present version v0.1.0 is BETA. Any feedback or enhancement ideas are
welcome!

Pierre Denis

naive kindleBOT
naive kindleBOT
#

This PEP proposes variant wheels, an extension to packaging:specifications/binary-distribution-format that permits building multiple variants of the same package while embedding additional compatibility data. The specific properties are stored inside the wheel, and expressed via a human-readable variant label in the filename, which is then mapped to the actual properties via a separately hosted JSON mapping. This aims to make {tool} install {package} capable of selecting the most appropriate variant of packages where additional compatibility dimensions such as GPU support need to be accounted for.

naive kindleBOT
#

We propose to add powerful type-level introspection and construction facilities to the type system, inspired in large part by TypeScript’s conditional and mapped types, but adapted to the quite different conditions of Python typing.

naive kindleBOT
#

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 helpful tool
for higher code quality.

Download

https://github.com/jendrikseipp/vulture
http://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

News

  • Handle while True loops without break statements (kreathon).
  • Add whitelist for ssl.SSLContext (tunnelsociety, #392).
  • Add more ruff rules (even-even).
  • Dro... continue reading
naive kindleBOT
#

Hi All,

On behalf of the NumPy team, I'm pleased to announce the release of NumPy
2.4.3. The NumPy 2.4.3 is a patch release that fixes bugs discovered after
the 2.4.2 release. The most user visible fix may be a threading fix for
OpenBLAS on ARM, closing issue #30816.

This release supports Python versions 3.11-3.14. Wheels can be downloaded
from PyPI https://pypi.org/project/numpy/2.4.3; release notes and the
changelog are available on Github
https://github.com/numpy/numpy/releases/tag/v2.4.3.

Contributors

A total of 11 people contributed to this release. People with a "+" by
their names contributed a patch for the first time.

  • Antareep Sarkar +
  • Charles Harris
  • Joren Hammudoglu
  • Matthieu Darbois
  • Matti Picus
  • Nathan Goldbaum
  • Peter Hawkins
  • Pieter Eendebak
  • Sebastian Berg
  • Warren Weckesser
  • stratakis +

Pull requests merged

A total of 14 pull requests were merged for this release.

naive kindleBOT
#

I am proud to announce version 0.3.1 of pymemtrace, a collection of tools
for tracking the memory usage of Python objects and processes.

Two new tools have been added:

A complete description of all the tools, with worked examples, is in the
PyPi description: https://pypi.org/project/pymemtrace/#description

Other changes:

naive kindleBOT
#

I'm happy to announce the release of Pygments 2.20.0. Pygments is a
generic syntax highlighter written in Python.

Pygments 2.20.0 is a major release addressing many bugs and also adding
a new lexer. See https://pygments.org/docs/changelog/ for details.

Report bugs and feature requests in the issue tracker:
https://github.com/pygments/pygments/issues. Thanks go to all the
contributors of these lexers, and to all those who reported bugs and
waited patiently for this release.

Download it from https://pypi.org/project/Pygments/, or look at
the demonstration at https://pygments.org/demo/.

Enjoy,
Matthäus

naive kindleBOT
#

Hi All,

On behalf of the NumPy team, I'm pleased to announce the release of NumPy
2.4.4. NumPy 2.4.4 is a patch release that fixes bugs discovered after the
2.4.3 release. It should finally close issue #30816, the OpenBLAS threading
problem on ARM.

This release supports Python versions 3.11-3.14. Wheels can be downloaded
from PyPI https://pypi.org/project/numpy/2.4.4; release notes and the
changelog are available on Github
https://github.com/numpy/numpy/releases/tag/v2.4.4.

Contributors

A total of 8 people contributed to this release. People with a "+" by
their
names contributed a patch for the first time.

  • Charles Harris
  • Daniel Haag +
  • Denis Prokopenko +
  • Harshith J +
  • Koki Watanabe
  • Marten van Kerkwijk
  • Matti Picus
  • Nathan Goldbaum

Pull requests merged

A total of 7 pull requests were merged for this release.

  • #30978: MAINT: Prepare 2.4.x for further development
  • #31049: BUG: Add test to rep... continue reading
naive kindleBOT
#

This PEP proposes a TOML-based configuration file format to replace the .pth file mechanism used by site.py during interpreter startup. The new format, using files named .site.toml, provides structured configuration for extending sys.path and executing package initialization code, replacing the current ad-hoc .pth format that conflates path configuration with arbitrary code execution.

naive kindleBOT
#

pytest-9.0.3

pytest 9.0.3 has just been released to PyPI.

This is a bug-fix release, being a drop-in replacement.

The full changelog is available at https://docs.pytest.org/en/stable/changelog.html.

Thanks to all of the contributors to this release:

  • Aditya Giri
  • Alejandro Villate
  • Bruno Oliveira
  • Bubble-Interface
  • Charles-Meldhine Madi Mnemoi
  • DavidAG
  • Denis Cherednichenko
  • Dr Alex Mitre
  • Freya
  • Freya Bruhin
  • Hugo van Kemenade
  • John Litborn
  • Liam DeVoe
  • Lily Wu
  • Maxime Grenu
  • Ran Benita
  • Randy Döring
  • Ronald Eddy Jr
  • Samuel Newbold
  • Tejas Verma
  • Vladimir
  • jxramos
  • 🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко)

Happy testing,
The pytest Development Team

naive kindleBOT
#

PyCA cryptography 46.0.7 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, X.509,
key derivation functions, and much more. We support Python 3.8+, and PyPy3
3.11.

Changelog (https://cryptography.io/en/latest/changelog/#v46-0-7)

  • SECURITY ISSUE: Fixed an issue where non-contiguous buffers could be
    passed to APIs that accept Python buffers, which could lead to buffer
    overflow. CVE-2026-39892
  • Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL
    3.5.6.

-Paul Kehrer (reaperhulk)

naive kindleBOT
#

This PEP adds an optional __timestamp_ns__ attribute to BaseException that records when the exception was instantiated with no observable overhead. When enabled via environment variable or command-line flag, formatted tracebacks display this timestamp alongside the exception message.

naive kindleBOT
naive kindleBOT
#

pyspread 2.4

This is a bugfix release.

Bug fixes:

  • Dependencies dialog improved for better readability in dark themes
  • About dialog now works without AUTHORS file to simplify deployment
  • Toolbar icon size can now be adjusted from settings.py

Known issues:

  • Building the apidocs is failing.
  • Using pyspread with Wayland can result in key shortcuts that are
    triggered twice on each shortcut. This leads to unexpected behavior
    such as cut operations, with empty clpiboard content (cut is done
    twice). This issue can be fixed setting the environment variable
    QT_QPA_PLATFORM to
    xcb before launching pyspread:
    export QT_QPA_PLATFORM=xcb

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://pysp... continue reading

naive kindleBOT
#

ANNOUNCING

pymmich - uploader/downloader for Immich

Version 0.3.0

A a small, focused CLI for uploading and downloading
photos and videos to/from an Immich https://immich.app/ server


INTRODUCTION

pymmich is easy to use on Windows, Linux or macOS and only does a few
things, but tries to do them well:

  • upload photos and add them to albums
  • download photos or albums
  • list photos and albums
  • list users (for sharing)
  • share and unshare albums with other users

Usage is simple:

uvx pymmich <command>

You only need to setup two env vars to have it connect to your Immich
https://immich.app/ server.


FEATURES

  • CLI tool based on typer
  • Uses the Immich API for accessing the server
  • Apache2 licensed
  • Works with Python 3.13+

-------------------------------------... continue reading

naive kindleBOT
#

This PEP proposes freezing the standard HTML representation of the simple repository API, as originally specified in PEP 503 and updated over subsequent PEPs.

naive kindleBOT
#

PyCA cryptography 47.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, X.509,
key derivation functions, and much more. We support Python 3.8+, and PyPy3
3.11.

Changelog (https://cryptography.io/en/latest/changelog/#v47-0-0)

  • Support for Python 3.8 is deprecated and will be removed in the next
    cryptography release.
  • BACKWARDS INCOMPATIBLE: Support for binary elliptic curves (SECT*
    classes) has been removed. These curves are rarely used and have additional
    security considerations that make them undesirable.
  • BACKWARDS INCOMPATIBLE: Support for OpenSSL 1.1.x has been removed.
    OpenSSL 3.0.0 or later is now required. LibreSSL, BoringSSL, and AWS-LC
    continue to be supported.
  • BACKWARDS INCOMPATIBLE: Dropped support for LibreSSL < 4.1.
  • BACKWARDS INCOMPATIBLE: Loading keys with unsupported algorithms or keys
    with unsu... continue reading
naive kindleBOT
#

pyspread 2.4.5

This is a bugfix release.

Bug fixes:

  • Chart dialog regression (not opening) fixed

Known issues:

  • Building the apidocs is failing.
  • Using pyspread with Wayland can result in key shortcuts that are
    triggered twice on each shortcut. This leads to unexpected behavior
    such as cut operations, with empty clpiboard content (cut is done
    twice). This issue can be fixed setting the environment variable
    QT_QPA_PLATFORM to
    xcb before launching pyspread:
    export QT_QPA_PLATFORM=xcb

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/rel... continue reading

naive kindleBOT
#

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/4.0.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 has the following highlights:

  • support for Oracle Database 26ai Deep Data Security in thin mode
  • support for Continuous Query Notification (CQN) and Advanced Queuing
    (AQ) notifications in thin mode
  • new functions to help developers prevent SQL injection when processing
    user input to create SQL statements
  • improved cloud native authentication
  • improved support for data frames (binary views "vb" and string views
    "vu" formats now accepted)

See the full release notes for all of the details... continue reading

naive kindleBOT
#

PyCA cryptography 48.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, X.509,
key derivation functions, and much more. We support Python 3.9+, and PyPy3
3.11.

Changelog (https://cryptography.io/en/latest/changelog/#v48-0-0)

  • BACKWARDS INCOMPATIBLE: Support for Python 3.8 has been removed.
    cryptography now requires Python 3.9 or later.
  • BACKWARDS INCOMPATIBLE: Loading an X.509 CRL whose inner
    TBSCertList.signature algorithm does not match the outer signatureAlgorithm
    now raises ValueError. Previously, such CRLs were parsed successfully and
    only rejected during signature validation.
  • Added support for ML-KEM key encapsulation and ML-DSA signing when using
    OpenSSL 3.5.0 or later, in addition to the existing AWS-LC and BoringSSL
    support. This means post-quantum algorithms are now available to users of
    our wheels.
    *... continue reading
naive kindleBOT
#

Hello all,

We are excited to announce a new release of Diffusion Imaging in PYthon
(DIPY): DIPY 1.12.1 !

DIPY is a the paragon 3D/4D+ medical imaging library in Python. Contains
generic methods for spatial normalization, signal processing, machine
learning, statistical analysis and visualization of medical images.
Additionally, it contains specialized methods for computational anatomy
including diffusion, perfusion and structural imaging.

DIPY 1.12.1 (Friday, 23 April 2026)

The full release notes are at:
https://docs.dipy.org/stable/release\_notes/release1.12.html.

Thank you all for your contributions and feedback!

Please click here
https://docs.dipy.org/stable/api\_changes.html#dipy-1-12-0-changes to
check 1.12.1 API changes.

Highlights of 1.12.1 release include:

NF: FORCE reconstruction model

NF: New BiasField correction method.

NF: Parallelization of EuDX tractography.

NF: Intermediate map for symmet... continue reading

naive kindleBOT
#

I am happy to announce Guppy 3 3.1.7

Guppy 3 is a library and programming environment for Python,
currently providing in particular the Heapy subsystem, which supports
object and heap memory sizing, profiling and debugging. It also
includes a prototypical specification language, the Guppy
Specification Language (GSL), which can be used to formally specify
aspects of Python programs and generate tests and documentation from a
common source.

Guppy 3 is a fork of Guppy-PE, created by Sverker Nilsson for Python 2.

This release unbreaks wheel builds for Python 3.14.4 and Python 3.14.5,
due to modified ABI in PyInterpreterState. Additionally, many bugs has
been found by Daniel Diniz with LLM and has been fixed in this release.
(This was featured in LWN! https://lwn.net/Articles/1067234/). This
includes several segfaults, error propagation bugs, and refcounting bugs.

Support for free-threaded mode is still in development. Existing unit
tests are passing but many edge cases are still being... continue reading

naive kindleBOT
#

Hi All,

On behalf of the NumPy team, I'm pleased to announce the release of NumPy
2.4.5. NumPy 2.4.5 is a patch release that fixes bugs discovered after the
2.4.4 release, has some typing improvements, and maintains infrastructure.

This release supports Python versions 3.11-3.14. Wheels can be downloaded
from PyPI https://pypi.org/project/numpy/2.4.5; release notes and the
changelog are available on Github
https://github.com/numpy/numpy/releases/tag/v2.4.5.

Contributors
A total of 17 people contributed to this release. People with a "+" by
their names contributed a patch for the first time.

  • Aleksei Nikiforov
  • Anarion Zuo +
  • Ankit Ahlawat
  • Breno Favaretto +
  • Charles Harris
  • Igor Krivenko +
  • Ijtihed Kilani +
  • Joren Hammudoglu
  • Maarten Baert +
  • Matti Picus
  • Nathan Goldbaum
  • Praneeth Kodumagulla +
  • Ralf Gommers
  • RoomWithOutRoof +
  • Sebastian Berg
  • Warren Weckesser
  • div +

... continue reading

naive kindleBOT
#

Hi All,

On behalf of the NumPy team, I'm pleased to announce the release of NumPy
2.4.6. NumPy 2.4.6 is a quick release that fixes a regression discovered in
the 2.4.5 release.

This release supports Python versions 3.11-3.14. Wheels can be downloaded
from PyPI https://pypi.org/project/numpy/2.4.6; release notes and the
changelog are available on Github
https://github.com/numpy/numpy/releases/tag/v2.4.6.

Contributors

A total of 4 people contributed to this release. People with a "+" by
their names contributed a patch for the first time.

  • !EarlMilktea
  • Charles Harris
  • Sebastian Berg
  • Warren Weckesser

Pull requests merged

A total of 4 pull requests were merged for this release.

  • #31444: MAINT: Prepare 2.4.x for further development
  • #31453: BUG: Fix regression in arr.conj()
  • #31459: BUG: np.linalg.svd(..., hermitian=True) returns
    non-unitary...
  • #31460: BUG: Don't call INCREF/DECREF on descr in
    ... continue reading
naive kindleBOT
#

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/4.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.

See the full release notes for all of the details:
https://python-oracledb.readthedocs.io/en/latest/release\_notes.html#oracledb-4-0-1-may-2026

Please provide any feedback via GitHub issues: https://github.com/oracle/
python-oracledb/issues or discussions: https://github.com/oracle/python-
oracledb/discussions

#

How adverse would you guys feel about a change to the way asserts are handled so that they are not recoverable? Asserts could latch on to the first failed assert and always throw an AssertionError on subsequent assert statements. Another way would be for subsequent asserts to turn off after the first failure.

As long as developers keep the contract that asserts should never fail, they wont notice this change; and it blocks developers from writing code that is dependent on asserts.

naive kindleBOT
#

Tkintertoy was updated to version 1.3.0

This update allows the programmer to select Tk rather than Ttk widgets to get around problems with certain parameters like background with Ttk widgets. Also, the add* methods now return the Ttk/Tk widgets to make configuration easier. Other minor bug fixes and documentation improvements occurred.

What is Tkintertoy? It is a light-weight GUI library built upon Tkinter and Ttk. Using a few lines of code, less experienced programmers will be introduced into... continue reading

#

On behalf of the community and contributors, I’m pleased to announce PyData/Sparse v0.10.0.

PyData/Sparse is a package that provides sparse arrays mimicking NumPy API for the PyData ecosystem.

This was a mainly bug-fix focused release with a few features and performance improvements. Most notably, it fixes deprecation warnings that arise when pairing it with Numba v0.49, which will turn into errors with Numba v0.50. The full change-log can be found at https://sparse.pydata.org/en/latest/change... continue reading

naive kindleBOT
#

Python package for object oriented headers, HTTP/1.1 style. Parse headers
to objects.

Changes:

  • Bugfix: dir method in Header instance could contain entries with
    illegal characters.
  • Documentation: Major update available at kiss-headers.tech
  • Bugfix: Allow set item value to contain comma-separated entries in
    Headers.
  • Bugfix: pop() method on Headers was discarding output_lock_type()
    toggle.
  • Feature: Introducing index() method on Headers class. Behave ... continue reading
naive kindleBOT
#

On behalf of the entire Python development community, and the currently serving Python release team in particular, I’m pleased to announce the release of Python 3.8.3, the third maintenance release of Python 3.8. You can find it here:

https://www.python.org/downloads/release/python-383/ https://www.python.org/downloads/release/python-383/

It contains two months worth of bug fixes. Detailed information about all changes made in 3.8.3 can be found in its change log <https://docs.python.org/rel... continue reading

naive kindleBOT
#

Hi,

It would be helpful for us if tracemalloc had a function that reset the peak memory usage counter, without clearing the current traces. At the moment, I don't think there's a way to find the peak memory of a subset of the code since the initial tracemalloc.start() call, without calling tracemalloc.clear_traces(). The latter disturbs other parts of the tracing.

Specifically, it might be a function like (pseudo-implementation):

def reset_peak_memory():
    # in _tracemalloc.c
  ... [continue reading](https://mail.python.org/archives/list/python-ideas@python.org/thread/QDWI37A4TJXOYUKULGPY2GKD7IG2JNDC/)
naive kindleBOT
#

On Fri, May 15, 2020 at 05:46:43PM +0200, Antoine Pitrou wrote:

On Fri, 15 May 2020 10:46:25 -0400
David Mertz mertz@gnosis.cx wrote:

  1. +1 itertools.zip_strict function
  2. +1 zip.strict(*args)
  3. +1 zip(*args, mode='strict') # mode='shortest' by default
  4. +0 zip(*args, strict=True)

Mostly I agree with Steven on relative preference:

itertools.zip_strict() +1
zip.strict() +0.5
zip(mode='strict') +0
zip(strict=True) -0.5
... continue reading

naive kindleBOT
#

Hello!

I'm pleased to announce version 3.2.5, a minor feature release
of branch 3.2 of CheetahTemplate3.

What's new in CheetahTemplate3

The contributor for this release is Yegor Yefremov.

Build:

  • Install Cheetah3 + markdown (used in Cheetah.Filters)
    using pip install cheetah3[filters] (or cheetah3[markdown]).

CI:

  • Run tests with Python 3.8 at Travis CI.

What is CheetahTemplate3

Cheetah3 is a free and... continue reading

naive kindleBOT
#

Steven D'Aprano wrote:

Proposal:
We should have a mechanism that collects the current function or
method's parameters into a dict, similar to the way locals() returns all
local variables.
This mechanism could be a new function,or it could even be a magic local
variable inside each function, similar to what is done to make super()
work. But for the sake of this discussion, I'll assume it is a function,
parameters(), without worrying about whether it is a built-in or
imported fro... continue reading

naive kindleBOT
#

well it’s all in the title

the specific character that I am referring to is this one

In [1]: print("\u2192”)

https://unicode-table.com/en/2192/

——

just curious about how people would feel about taking better advantage of non-ascii characters when that seems to make sense

fyi here’s how both options appear in a markdown-based website

thanks !

naive kindleBOT
#

Many a python programmer have tired to see code written like:

def bar(a1, a2, options=None):
if options is None:
options = {}
... # rest of function

syntax if argument is not passed, evaluate {} and store to options
def foo(options:={}): pass
syntax if argument is not passed or is None, evaluate {} and store to options*
def foo(options?={}): pass

The Zen of Python states "there shouldn't be two ways to do the same thing."

Thus, only one of ":=" or "?=" should be adopted. They ... continue reading

naive kindleBOT
naive kindleBOT
#

Hi All,

On behalf of the NumPy team I am pleased to announce that NumPy 1.19.0rc1 h=
as
been released. This NumPy release is marked by the removal of much
technical debt: support for Python 2 has been removed, many deprecations
have been expired, and documentation has been improved. The polishing of
the random module continues apace with bug fixes and better usability from
Cython. Perhaps the most interesting thing for users will be the
availability of wheels for aarch64 and PyPY.

D... continue reading

naive kindleBOT
#

Both urlretrieve() and urlcleanup() were kept for backward compatibility with Python2 but they were never deprecated like urllib.request.URLOpener and urllib.request.FancyURLOpener.

Now that Python2 has been definitely sunset, can we raise a deprecation warning so that they can be removed in the future?

naive kindleBOT
#

On behalf of the entire Python development community, and the currently serving Python release team in particular, I’m pleased to announce the release of Python 3.9.0b1. Get it here:

https://www.python.org/downloads/release/python-390b1/ https://www.python.org/downloads/release/python-390b1/

This is a beta preview of Python 3.9

Python 3.9 is still in development. This release, 3.9.0b1, is the first of four planned beta release previews.

Beta release previews are intended to give th... continue reading

naive kindleBOT
#

I often find myself in a need of stripping only a specified amount of characters from a string (most commonly a single character). I have been implementing this in an ad-hoc manner, which is quite inelegant:

def rstrip1(txt, chars):
if txt is None:
return None
elif any(txt.endswith(c) for c in chars):
return txt[:-1]
else:
return txt

I would appreciate if str.split, str.lstrip, str.rsplit functions had a maxstrip argument, similar to the maxsplit argument of str.split, ... continue reading

naive kindleBOT
#

I'm writing to share a Sphinx plugin I wrote, which I think makes the documentation for large classes much easier to navigate and understand.  The plugin is called autoclasstoc and you can find the documentation here:

https://autoclasstoc.readthedocs.io/en/latest/

I wrote this plugin because, while restructured text and Sphinx are great in a lot of ways, I've always been disappointed by the options for documenting classes.  autoclass is easy to use, but hard to read because all of the meth... continue reading

naive kindleBOT
#

There is a long standing issue, (or at least I consider it a poor feature some others consider it compliance with other existing tools), with a couple of python standard libraries that I would like to raise an issue for & PR(s) to address but when it comes to putting tests in place the failing test case can potentially crash the host machine, sometimes in an unrecoverable manner, due to the potential to generate an infinite size file.

Is there a way of proposing a change with tests that refuse ... continue reading

naive kindleBOT
#

You’re about to ship your Python application into production using Docker: your images are going to be critical infrastructure.

And that means you need to follow best practices—if you don’t, you risk wasting quite a lot of money:

  • You don’t want to waste hours every week waiting for slow builds.
  • Or even worse, you might have a production outage or security breach, costing your company orders of magnitude more money.
    So how can you ensure your Docker image packaging isn’t wasting your ... continue reading
naive kindleBOT
#

I have developed a library to introduce tagged unions to python that uses
dataclasses to define disjoint members of the tagged union (by defining
them as Optional fields). With some additional validation I make sure that
only one of the fields is not None.

I find that it also fits well with the existing analysis tools and IDEs
(e.g. PyCharm) and doesn’t require any additional work in order to be
supported.

I would like to see some criticism and whether that could potentially be a
good candidat... continue reading

naive kindleBOT
#

Hi,

I am creating a Python newsletter showcasing useful code snippets from
popular open-source libraries. I will also be providing a runnable demo
link to better understand the working.

Newsletter link: https://www.pythonninja.xyz/subscribe

A sample snippet from the newsletter:

HTTP Request retrying with Backoffs - Technique for retrying failed HTTP
requests.

From Google Maps Services Python
(https://github.com/googlemaps/google-maps-services-python)

Demo link: https://repl.it/@Python... continue reading

naive kindleBOT
#

Have a look at this short thread on discuss:

https://discuss.python.org/t/searching-array-of-data-objects/4251/1

After I answered that question, it dawned on me that I have probably
written something like that loop, or variations of it, a thousand times:

for obj in somelist:
    if comparison(obj, needle):
        do_something(obj)
        break

and now it's a thousand and one times wink

So here's a thought... suppose we gave list.index an optional keyword-
only comparis... continue reading

naive kindleBOT
#

Hi all,

I am very exciting about the sub-interpreters ... but I do not like some parts ...
Consider the following code:

import _xxsubinterpreters as interpreters
import threading
import textwrap as tw
import marshal

if __name__ == '__main__':
    # Create a sub-interpreter
    interpid = interpreters.create()

    # If you had a function that generated some data
    arry = list(range(0,100))

    # Create a channel
    channel_id = interpreters.channel_create()

    # Pre-populate th... [continue reading](https://mail.python.org/archives/list/python-ideas@python.org/thread/NYKC4UCRQXT6K7BXACBTIU57MIAK2MPF/)
naive kindleBOT
#

Hi everyone,

I submitted a PR today, and Serhiy decided it needs a discussion on
python-ideas and agreement from core developers before it could go forward.

BPO: https://bugs.python.org/issue40752
PR: https://github.com/python/cpython/pull/20348

Today I wrote a script and did this:

sorted(paths, key=lambda path: len(str(path)), reverse=True)

But it would have been nicer if I could do this:

sorted(paths, key=len, reverse=True)

So I implemented PurePath.__len__ as str(len(path))... continue reading

naive kindleBOT
naive kindleBOT
#

We do not have a standard way to get (programatically) informations
about Python versions, this leads to having to commit to numerous places
during each releases, and some other places never get the information
(like old docs, see [1]).

Maybe we should provide an HTTP API listing Python versions, like:

{
"current_stable": "3.8.3",
"versions": [
{
"branch": "master",
"status": "dev",
"version": "3.10",
"release_manager":... continue reading

naive kindleBOT
#

On Thu, May 28, 2020 at 10:42 AM Rob Cliffe rob.cliffe@btinternet.com wrote:

On 26/05/2020 20:03, Chris Angelico wrote:

On Wed, May 27, 2020 at 2:51 AM Steven D'Aprano steve@pearwood.info wrote:

But doing otherwise, having Undef be not an object but a kinda ghost
in the interpreter, is a huge language change and I doubt it would be
worth it.

But is it a huge change? I thought so too, until Greg suggested a
quite plausible option: leave the local unbo... continue reading

naive kindleBOT
#

On 28/05/20 12:38 pm, Rob Cliffe wrote:

why not go
further (as the OP suggested as far as I recall)
and allow the more concise

def order(eggs = 4, spam ?= Spam()):
        etc.

That clutters up the header with things that are not part of
the function's signature. All the caller needs to know is that
the spam argument is optional. The fact that a new Spam object
is created on each call if he doesn't supply one is an
implementation detail.

--
Greg

naive kindleBOT
#

Hi guys!

I'm a unittest newbie, so it's possible there's a better solution than what
I'm proposing here. If there is, please let me know.

I recently submitted this PR
https://github.com/more-itertools/more-itertools/pull/430/files, and I
had to use assertSequenceEqual twice, just because I wanted to compare 3
sequences to each other rather than 2.

Wouldn't it be possible to make assertEqual and its entire family
(including assertSequenceEqual and the dozen of other methods) accept an
arbitr... continue reading

naive kindleBOT
#

Hi all,

In Python we often use the following syntax to call the main logic of script when it was ran:

def main():
    pass # whatever should be done for `python ./script.py`

if __name__ == '__main__':
    main()

Maybe it is a time to introduce the new module level function like main ?
Consider the following code:

def __main__():
    pass # whatever should be done for `python ./script.py`

It is much easy an less code to write ;)

Under-hood Python just will g... continue reading

naive kindleBOT
#

While is possible to use if __name__ == '__main__': several times in the
same script, your proposed magic function def __main__() cannot be
redefined. Not to speak about lexical scope differences between one
approach and the other.

So your proposal is reducing features instead of expanding them.

Jose Veiga

naive kindleBOT
#

On Fri, May 29, 2020 at 5:54 AM tritium-list@sdamon.com wrote:

-----Original Message-----
From: Chris Angelico rosuav@gmail.com

People can already put all their main logic into a function. If you want
to unit-
test your main function, that's the best way to do it.
The trouble is, how much goes into main() and how much into if name
== 'main'? For example: Does your main function accept a list of
arguments, or does it look in sys.argv? Neither answer... continue reading

naive kindleBOT
#

Trac 1.5.1 Released

Trac 1.5.1, the latest development release leading up to Trac 1.6, is
available.

You will find this release at the usual places:

https://trac.edgewall.org/wiki/TracDownload#LatestDevRelease

You can find the detailed release notes for 1.5.1 on the following
pages:
https://trac.edgewall.org/wiki/1.5/TracChangeLog
https://trac.edgewall.org/wiki/TracDev/ReleaseNotes/1.6#DevelopmentReleases

Now to the packages themselves:

URLs:

https://download.edgewall... continue reading

naive kindleBOT
#

Here's the short version:

  • "Convert float-like object to a float" is a useful operation
  • For a C extension, there's an obvious way to spell that operation: use PyFloat_AsDouble
  • In pure Python, there's no Obvious Way To Do It
  • Proposal: expose the equivalent of PyFloat_FromDouble(PyFloat_AsDouble(obj)) to Python
  • Question: where should it go?

Longer version:

Various parts of CPython that expect a float will accept anything "float-like"; examples include most of the math module func... continue reading

naive kindleBOT
#

I was wondering why have restrictions on the datetime.time constructor
arguments? For example, why can't you enter 1.5 minutes or 90 seconds to
create a datetime object with 1 minute and 30 seconds?

datetime.time(minute=1.5)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: integer argument expected, got float

datetime.time(second=90)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: second must be in 0..59

I'd like... continue reading

#

We are very excited to announce the first version of our EuroPython
2020 schedule:

	     * EuroPython 2020 Schedule *

	https://ep2020.europython.eu/schedule/

More sessions than we ever dreamed of

After the 2nd CFP, we found that we had so many good talk submissions
that we were able to open a fourth track. Together with the newly
added slots for the Indian / Asian / Pacific and Americas time zones,
we now have a fully packed program, with:

naive kindleBOT
#

I want to implement my own version of _PyThread_CurrentFrames()
https://github.com/python/cpython/blob/e838a9324c1719bb917ca81ede8d766b5cb551f4/Python/pystate.c#L1161,
but it seems like it's not possible using public C-API. The comment
https://github.com/python/cpython/blob/e838a9324c1719bb917ca81ede8d766b5cb551f4/Python/pystate.c#L1176
in the source code of _PyThread_CurrentFrames() says that lists of
interpreters and threads can be mutated even when GIL is held and so
HEAD_LOCK() should be... continue reading

naive kindleBOT
#

Hi All,

On behalf of the NumPy team I am pleased to announce that
NumPy 1.19.0rc2 has been released. This NumPy release supports Python
3.6-3.8 and is marked by the removal of much technical debt: support for
Python 2 has been removed, many deprecations have been expired, and
documentation has been improved. The polishing of the random module
continues apace with bug fixes and better usability from Cython. Perhaps
the most interesting thing for users will be the availability of wheels f... continue reading

naive kindleBOT
#

Currently the dictionary view objects behave exactly like sets when set operations defined on them are used, such as the pipe or ampersand operators:

d.keys() | [1]
{1, 2}

dictionary views are even sets by the ABC standard, having support for all the required abstract methods:

isinstance(d.keys(), collections.abc.Set)
True

However, the dict views do not have the equivalent named set methods, such as intersection or issuperset. It seems that the collections.abc.Set API was purposely... continue reading

naive kindleBOT
naive kindleBOT
#

Hi All,

On behalf of the NumPy team I am pleased to announce the release of NumPy
1.18.5. This is a short release to enable pickle protocol=5 to be used in
Python3.5 and is motivated by the recent backport of pickle5 to Python3.5.

The Python versions supported in this release are 3.5-3.8. Downstream
developers should use Cython >= 0.29.15 for Python 3.8 support and OpenBLAS

= 3.7 to avoid errors on the Skylake architecture. Wheels for this release
can be downloaded from PyPI <https:/... continue reading

naive kindleBOT
#

Hello world,

I've been recently trying to switch from a library using gevent to a
library using asyncio. And do so without contaminating the whole code
with the "async" keyword in one go.

As expected, calling the synchronous code from a coroutine is pretty
straightforward. But the other way around is a bit more tricky.
If the function is not running in the thread that runs the event loop,
I can use something like this:

asyncio.run_coroutine_threadsafe(...).result()

Which seems to work, despi... continue reading

naive kindleBOT
#

pytest 4.6.11 has just been released to PyPI.

pytest 4.6 is the last version that still supports Python 2, being
supported by patches from the community. To upgrade:

pip install --upgrade pytest

The full changelog is available at
https://docs.pytest.org/en/4.6.x/changelog.html

Thanks to all who contributed to this release, among them:

  • Anthony Sottile
  • Bruno Oliveira
  • Sviatoslav Sydorenko

Happy testing, The pytest Development Team

naive kindleBOT
#

Hi,
Python has integrated shared memory into standard library starting from 3.8 (https://docs.python.org/3/library/multiprocessing.shared_memory.html https://docs.python.org/3/library/multiprocessing.shared_memory.html), which provides a user friendly API to access shared memory across unrelated processes using names. But, there are no synchronisation mechanisms present in the standard library to prevent race conditions when shared memory is accessed across unrelated processes.

I had earlier ... continue reading

naive kindleBOT
#

Hi guys,

I'm not sure whether this is the right mailing list for this, because it's
more for the Python development process on GitHub than Python itself. If
this belongs somewhere else, let me know.

When you open a PR to CPython, it would be cool if there was an option to
get email notifications on whether the tests fail or succeeded. For
example, I may open a PR as a draft, and only after I get notification on
success, mark it as "Ready for review".

Right now I just poll it manually, which i... continue reading

naive kindleBOT
#

Hi, Celelibi,

Welcome to Python Ideas.

Python Dev is more for discussions of implementations of proposed
features, typically clearly on their way to an accepted pull request
into master. Python-Ideas is a better place for a request for
enhancement without an implementation patch, so I'm moving it here.

You're also more likely to get discussion here.

Celelibi writes:

Hello world,

I always knew asynchronous programming is awesome. And having a language
support for it really help ... continue reading

naive kindleBOT
#

Hello all,

We're glad to announce the release of fades 9.0.

fades is a system that automatically handles the virtualenvs in the
cases normally found when writing scripts and simple programs, and
even helps to administer big projects.

It will automagically create a new virtualenv (or reuse a previous
created one), installing the necessary dependencies, and execute
your script inside that virtualenv.

You only need to execute the script with fades (instead of Python) and
also mark the required ... continue reading

naive kindleBOT
#

I have a problem with notifying all current subscribers and new subscribers about the closure of the queue and the reason. For example, I have a producer that reads messages from websocket or something else and send this to a queue, and several consumers (I do not know how many). If any exception occurred, then all current subscribers and subscribers which will be added later should know about this error. I tried to send an exception to a queue, but that did not help, because I have several cons... continue reading

naive kindleBOT
#

Hello,

It is sometimes tedious to write a dictionary in Python. For example,

def register_user(first, last, addr1, addr2):
    d = {'first': first,
         'last': last,
         'addr1': addr1,
         'addr2': addr2,
         'tel': '123-456-789'}

    requests.post(URL, d)

The dict literal contains a lot of duplicated words and quotation
marks. Using dict type looks nicer, but still verbose.

d = dict(first=first,
         last=last,
         addr1... [continue reading](https://mail.python.org/archives/list/python-ideas@python.org/thread/2UHZWIMHO5GIW7YD3ZT7WLGPVL2LFSK6/)
naive kindleBOT
#

On behalf of the entire Python development community, and the currently serving Python release team in particular, I’m pleased to announce the release of Python 3.9.0b3. Get it here:

https://www.python.org/downloads/release/python-390b3/ https://www.python.org/downloads/release/python-390b3/
Wait, Beta 3? What happened to Beta 2?

Beta 2? Speak of him no more. We disappeared him. He was a bad release. Truly awful. I get shivers just thinking about it. Never mention that name again in thi... continue reading

naive kindleBOT
#

In Python 3.10 we will no longer be burdened by the old parser (though 3rd
party tooling needs to catch up).

One thing that the PEG parser makes possible in about 20 lines of code is
something not entirely different from the old print statement. I have a
prototype:

Python 3.10.0a0 (heads/print-statement-dirty:5ed19fcc1a, Jun 9 2020,
16:31:17)
[Clang 11.0.0 (clang-1100.0.33.8)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
Cannot read termcap database;
using ... continue reading

naive kindleBOT
#

Hi all,

This is a proposal to enable uuid objects serialization / deserialization
by the json module out of the box.

UUID objects cast to string:

example = uuid.uuid4()
str(example)
'b8bcbfaa-d54f-4f33-9d7e-c91e38bb1b63'

The can be casted from string:

example == uuid.UUID(str(example))
True

But are not serializable out of the box:

json.dumps(example)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.8/json/init.py", line ... continue reading

#

PyCon ZA 2020 will take place on the 8th & 9th of October, 2020. This
year, due to the ongoing uncertainty of when conference facilities
will be allowed to open, we will be running PyCon ZA as an online
event.

We are looking for the following presentations:

  • Keynotes (45 minute long talks on a subject of general interest)
  • Talks (30 minute long talks on more specific topics)

If you would like to give a presentation, please register at
https://za.pycon.org/ and submit your proposal, follo... continue reading

naive kindleBOT
#

it'd be really cool if we could drop virtualenvs + requirements.txt altogether, i.e., like deno, mordern javascript and so...

i.e. instead of
pip install package
and
import package
and
pip freeze > requirements.txt
for every import,

we stick to, for every python script

abc = import("package", "2.*")

from imports could be done like

value = import("package", "1.*").value

this completely removes the virtualenvs issue, and solves alot of problematic issues with python imports

naive kindleBOT
#

PyDev 7.6.0 Release Highlights

Debugger improvements (updated to pydevd 1.9.1).

  • Variables are now grouped (special/class/function/protected) --
    note: it's possible to hide groups in the variables view menu dropdown.
    • When a launching a subprocess does not target a python executable,
      the original args are kept (so, quotes are no longer trimmed).
    • A step in which would skip code won't be reported in the return if
      it'd reach the same loca... continue reading
naive kindleBOT
#

Hi all,

Currently, you can not use await outside an async function, the following
code:

async def lol():
return 'bar'

def test():
return await lol()

print(test())

Will fail with: SyntaxError: 'await' outside async function

Of course, you can use asyncio.run and then it works fine:

import asyncio

async def lol():
return 'bar'

def test():
return asyncio.run(lol())

print(test())

Why not make using await do asyncio.run "behind the scenes" when called
outside ... continue reading

naive kindleBOT
#

Hi all,

Just wonder what it would look like if coroutines where awaited by default,
you would only have to use "noawait" when you do not want to await a
coroutine ?

async def test():
return do_something()

it's awaited here by default: we get the result and not a coroutine

result1 = test()

not awaiting here because you want to do_something_else

coroutine = noawait test()
do_something_else()
result2 = await coroutine

Then, you could be chaining code again like this:

... continue reading

naive kindleBOT
#

Hi

Here's something that might make code run quicker. The basic idea is to not
refcount some objects that are sure never to be deleted. On a multicore
machine, this might significantly reduce the number of cache invalidations
(and perhaps misses). I lack many of the skills needed to investigate this
further.

Aside: This idea prompted by: Make del x an expression evaluating to x
https://mail.python.org/archives/list/python-ideas@python.org/message/WVQNATE7KYU5G64BQB5VEWALPYVS3QPV/

Consider... continue reading

naive kindleBOT
naive kindleBOT
naive kindleBOT
#

ftputil 4.0.0 is now available from
https://ftputil.sschwarzer.net/download and
https://pypi.org/project/ftputil/

Changes since the last stable release 3.4

Backward-incompatible changes


This ftputil version isn't fully backward-compatible with the previous
version. The backward-incompatible changes are:

- Python 2 is no longer supported.

- The minimum supported Python 3 version is 3.6.

- By default, time stamps in dir... [continue reading](https://mail.python.org/archives/list/python-announce-list@python.org/thread/3GWYOUPAHASBHB5HM645X54AJNQOXW65/)
naive kindleBOT
#

Hi all,

after just having typed tons of math.isclose (see PEP 485 [1]) and
numpy.isclose calls (while basically using their default tolerances
most of the time), I was wondering whether it makes sense to add a
matching operator.

"Strict" equality check as usual: a == b
"Approximate" equality check:
-> a ?= b (similar to !=)
-> a ~= b (my preference)
-> a === b (just to confuse the JS crowd)

A corresponding method could for instance be named __ic__ (Is Close),
__ae__ (Approxi... continue reading

naive kindleBOT
#

This attribute will use for convertion classes to other types, i.e. int(MyClass) will return convert result in MyClass

Example:
class MyClass:
def init(self, numer: int):
self.number = number
def convert(self, type):
assert type == int # Only integer is allowed
return self.number*5 # Example

test = MyClass(1)
test_2 = MyClass(5)

print( int(test) ) # 5
print( int(test2) ) # 25

naive kindleBOT
#

Hey all. Ever had some list comprehension hell in your code?
Me neither whistles 418 happly...

I was thinking about this idea and while this keyword is equalevant to self i have to explain myself.
English is not my main language, sorry for that :' ) Here is my pseudo code.

if [i for i in range(10) if i == 11]:
    print(this)

Evaluate: []

Another one

if [i for i in range(10) if i == 5]:
    print(this)

Evaluate: [5]

As I try to show above. It would be neat to make a li... continue reading

naive kindleBOT
naive kindleBOT
#

in Lua 5.2+, there's this string escape that allows you to put
"whitespace" (in particular, including newlines) in a string literal, by
skipping them entirely. now, unlike lua's long strings, python does
have escapes in long strings. however, sometimes you have help text:

"switches to toml config format. the old 'repos' " #cont
                "table is preserved as 'repos_old'"

and... well yeah you can see what I did to make it work. if I used a
long string here, I'd g... continue reading

#

What if we introduce the string module:

from "https://python.org/some_module.py" import name

...

It will add possibility to run code with complex name of module that cannot be presented as set of lexical items and also will allow to load the module from external location

naive kindleBOT
#

Hi all, me again ... )

I think it would be desired to modularize Python library and then to provide part of standard library through PyPi
It will add possibility to evolve separately run-time and standard library

I think standard library should be as small as needed and all other functionality should be provided through PyPi
It will be similar as Rust did ... they have pretty small standard library and core library

If Python would have small standard library and core library it woul... continue reading

naive kindleBOT
#

Hi all,

I’d like to propose support for infinite dates, datetimes and timedeltas.
They're very useful when you need to model ranges with one or both ends
unbounded (e.g. “forever starting from June 15th 2020”).

Without first-class infinite values, you can use None, or you can use the
min and max attributes of Python’s datetime types, or some other
arbitrary large values. Using None means you need to implement a path for
None, and a path for everything else, and your various infinite values... continue reading

naive kindleBOT
#

Can we implement eventfd(2) as documented here https://man7.org/linux/man-pages/man2/eventfd.2.html?

It would only be available on the Linux platform, and one of the benefits would be the ability to create synchronisation primitives on said platform that can block on normal threads, and be awaited on in coroutines (without busy looping inside said coroutine).

Currently the best place I can think of to put it would be in one of the Networking and Interprocess Communication modules (possibly `... continue reading

naive kindleBOT
#

Hi list,

as you might be aware, the json library is non standards-compliant [1]
by default: when fed {NaN, Inf, -Inf} floating point values in the
serialization input, it will output {Nan, Inf, -Inf} literals in
serialized form, unless the keyward argument allow_nan is explicitly set
to False - and by default it's set to True.

Therefore, the current state of affairs is that a simple import json; json.dumps(float("NaN")) is non-standards compliant. There is a
symmetrical issue with deserializ... continue reading

naive kindleBOT
naive kindleBOT
#

Trac 1.4.2 Released

Trac 1.4.2, the latest maintenance release for the current stable
branch, is available.

You will find this release at the usual places:

https://trac.edgewall.org/wiki/TracDownload#Trac14StableRelease

You can find the detailed release notes for 1.4.2 on the following
pages:
https://trac.edgewall.org/wiki/TracChangeLog
https://trac.edgewall.org/wiki/TracDev/ReleaseNotes/1.4#MaintenanceReleases

Now to the packages themselves:

URLs:

https://download.ed... continue reading

naive kindleBOT
#

So yeah, we can "if <expression>: return", but why not?

Examples:

def some_function(a, b):
return if a == b # That will return None
return a * b
print(some_function(2,2)) # None
print(some_function(5,2)) # 10

def some_function_2(a, b):
return if a > b or a == b
return if a == 1 and b == 1
return a*b
print(some_function_2(2,2)) # None
print(some_function_2(1,1)) # None
print(some_function_2(1,2)) # 2
print(some_function_2(5, 10)) # 50

naive kindleBOT
#

Hi All

Summary: Shared objects in Unix are a major influence. This proposal can be
seen as a first step towards packaging pure Python modules as Unix shared
objects.

First, there's a high level overview. Then some technical stuff in
Appendices.

An object is transient if it can be garbage collected. An object is
permanent if it will never be garbage collected. Every interpreted Python
function has a code object (that contains instructions for the
interpreter). Many of these code objects persis... continue reading

naive kindleBOT
#

Unless I've misunderstood this API, and the ByteArray part doesn't refer to an array of bytes representing the value of PyLong in 2's complement, can we implement this in the public header? It's already available, it's just not exported (at least I can't use it, and it's not in the documentation).

This would be beneficial for fixed width integer types, especially ones larger than long long (e.g. __int128_t), and shouldn't take much effort since it's already implemented privately (https:... continue reading

naive kindleBOT
#

Proposal:
range(start, ..., step)
should function like
itertools.count(start, step)

Reason:
It's pretty common to see people do things where they increment a count within a while True loop, and it would be nice to have something easily available for people to use to replace this.

Usefulness:
There is definitely a use for this, as the type of code mentioned above is common, and itertools.count is commonly used as well.

naive kindleBOT
#

Hi All,

On behalf of the NumPy team I am pleased to announce that NumPy 1.19.0 has
been released. This NumPy release supports Python 3.6-3.8 and is marked by
the removal of much technical debt: support for Python 2 has been removed,
many deprecations have been expired, and documentation has been improved.
The polishing of the random module continues apace with bug fixes and
better usability from Cython. Perhaps the most interesting thing for users
will be the availability of wheels for ... continue reading

naive kindleBOT
#

Hi all,

On behalf of the SciPy development team I'm pleased to announce
the release of SciPy 1.5.0.

Sources and binary wheels can be found at:
https://pypi.org/project/scipy/
and at:
https://github.com/scipy/scipy/releases/tag/v1.5.0

One of a few ways to install this release with pip:

pip install scipy==1.5.0

==========================
SciPy 1.5.0 Release Notes

SciPy 1.5.0 is the culmination of 6 months of hard work. It contains
many new featur... continue reading

naive kindleBOT
#

I am delighted to announce the release 1.0.1 of Austin. If you haven't
heard of Austin before, it is a frame stack sampler for CPython. It can
be used to obtain statistical profiling data out of a running Python
application without a single line of instrumentation. This means that you
can start profiling a Python application straightaway, even while it's
running on a production environment, with minimal impact on performance.

The simplest way of using Austin is by piping its output to FlameGrap... continue reading

naive kindleBOT
naive kindleBOT
#

Hello,

I have been working on an idea that would introduce pattern matching syntax
to python. I now have this syntax implemented in cpython, and feel this is
the right time to gather further input. The repository and branch can be
found at https://github.com/natelust/cpython/tree/match_syntax. The new
syntax would clean up readability, ease things like visitor pattern style
programming, localize matching behavior to a class, and support better
signaling amongst other things. This is the tl;dr, ... continue reading

naive kindleBOT
#

Hey everyone. I have been looking into asyncio lately, and even though I
have had my fair share of work, I still have some of it very shaky, so
first of all forgive me if what I am saying here is already implemented and
I totally missed it (so far, it looks really likely).

Basically this is the situation: I have an application that listens on two
websockets through the async library https://websockets.readthedocs.io/ and
I have to perform the same function on the result, no matter where the
m... continue reading

naive kindleBOT
naive kindleBOT
#

We’re very happy to announce our very own EuroPython merchandise shop:

	      * EuroPython Merch Shop *

       https://shop.spreadshirt.ie/europython/

Customize your conference t-shirt for EP2020

The shop is run on the Spreadshirt platform and so Spreadshirt will
handle all payments, invoicing and shipping.

Since we’re running EuroPython 2020 as an online event, we will not be
giving out conference bags or t-shirts this year, as we do for th... continue reading

naive kindleBOT
naive kindleBOT
naive kindleBOT
#

Hey all,
Often I've found this kind of code:

seen = set()
for i in iterable:
if i in seen:
... # do something in case of duplicates
else:
seen.add(i)
... # do something in case of first visit

This kind of code appears whenever one needs to check for duplicates in
case of a user-submitted iterable, or when we loop over a recursive
iteration that may involve cycles (graph search or the like). This code
could be improved if one could ensure an item is in the set, and get
whether ... continue reading

naive kindleBOT
#

Hey everyone,

I've been developing code which (alas) needs to operate in a runtime
environment which is quite enthusiastic about sending SIGTERMs and the
like, and where there are critical short sections of code that, if
interrupted, are very hard to resume without some user-visible anomaly
happening. This means getting to know the signal handling logic far too
well. In particular, it means that preventing signals in a "dangerous
window" is very difficult in the current language: while you ca... continue reading

naive kindleBOT
#

Hey,

Just a quick announcement that I plan to give a full-day hands-on pytest
training in September in Switzerland (slides in English, but the training will
be in German):
https://workshoptage.ch/workshops/2020/pytest-test-driven-development-nicht-nur-fuer-python/

The training is a part of the "Workshoptage" organized by CH Open in September
2020, at the HSLU Campus Rotkreuz (ZG): https://workshoptage.ch/

Of course it remains to be seen how things turn out with COVID-19. The
organizer (CH Ope... continue reading

naive kindleBOT
#

Date: Fri, 26 Jun 2020 18:47:44 +0200
From: Hans Ginzel hans@matfyz.cz
To: Hans Ginzel hans@artax.karlin.mff.cuni.cz
Subject: Access (ordered) dict by index; insert slice

Hello,

thank you for making dict ordered.
Is it planned to access key,value pair(s) by index? See https://stackoverflow.com/a/44687752/2556118 for example. Both for reading and (re)writing?
Is it planned to insert pair(s) on exact index? Or generally to slice? See splice() in Perl, https://perldoc.perl.org/functions/splic... continue reading

#

What is cx_Oracle?

cx_Oracle 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.

Where do I get it?
https://oracle.github.io/python-cx_Oracle

The easiest method to install/upgrade cx_Oracle is via pip as in

python -m pip install cx_Oracle --upgrade

What's new?

See the full release notes for all of the details:
https://cx-oracle.readthedocs.io/en/lates... continue reading

naive kindleBOT
#

Hi all, this is a very small change, but I thought I would field it here to see if anyone has suggestions or ideas. Instead of requiring that comments be written in Strunk & White Standard English, PEP-8 should require instead that English-language comments be clear and easily understandable by other English speakers. This accomplishes the same goal without alienating or putting up barriers for people (especially people of color) whose native dialect of English is not Standard English. This chan... continue reading

naive kindleBOT
#

When I need to traverse nested dicts, is a common pattern to do

somedict.get('foo', {}).get('bar', {})

But there is no such equivalent for arrays, wouldn't be nice if we can
follow

somedict.get('foo', {}).get('bar', []).get(10) ... ?

What I do in this case is surround with try/except IndexError and set some
variable to None, or wrap the try/except block in a function. But this is
noise in my opinion, I just want to follow the same reasoning that I have
with dicts: I'm searching for some pat... continue reading

naive kindleBOT
#

On behalf of the Nikola team, I am pleased to announce the immediate
availability of Nikola v8.1.0. This release makes a few feature changes,
improvements, and fixes a few bugs.

What is Nikola?

Nikola is a static site and blog generator, written in Python.
It can use Mako and Jinja2 templates, and input in many popular markup
formats, such as reStructuredText and Markdown — and can even turn
Jupyter Notebooks into blog posts! It also supports image galleries,
and is multilingua... continue reading

naive kindleBOT
#

I've recently released version 0.3.1 of distlib on PyPI [1]. For newcomers,
distlib is a library of packaging functionality which is intended to be
usable as the basis for third-party packaging tools.

The main changes in this release are as follows:

  • Fixed #132: Added documentation to help with relative interpreter paths. Thanks
      to Paul Kienzle for the patch.

  • Fixed #134: Allowed specifying a different target Python version when generating
      scripts.

  • Fixed #135: Exposed the ``enquote_e... continue reading

naive kindleBOT
naive kindleBOT
#

Hello everyone,

the above referenced thread is getting heated and unfriendly; I’ve already rejected a message as inappropriately ad hominem. Please take some time to (re)consider the content of your e-mails before sending them. We may turn on default moderation if it continues.

As a reminder:

The code of conduct that governs this list (and all Python spaces) is here, https://www.python.org/psf/conduct/.

If you want to discuss the python code of conduct and its applicability to this t... continue reading

#

Trac 1.0.20 Released

Trac 1.0.20, the latest maintenance release for the older stable branch,
is available.

You will find this release at the usual places:

https://trac.edgewall.org/wiki/TracDownload#Trac12StableRelease

You can find the detailed release notes for 1.0.20 on the following
pages:
https://trac.edgewall.org/wiki/1.0/TracChangeLog
https://trac.edgewall.org/wiki/TracDev/ReleaseNotes/1.0#MaintenanceReleases

Now to the packages themselves:

URLs:

https://downlo... continue reading

naive kindleBOT
#

PEP 622 proposes a special use for _: to match anything, discarding the
whatever value matches. (If I understand.) This aligns with the way _ is
conventionally used in other statements. This special use in case
statements feels weird given that _ is otherwise just an ordinary
variable. It may even have a value going into the case/match statement,
which would be ignored.

Has there been any discussion on deprecating use of _ as an R-value? In
other words, making _ a "black hole" variab... continue reading

naive kindleBOT
#

Hi,

I've released mpdecimal-2.5.0:

http://www.bytereef.org/mpdecimal/index.html

15417edc8e12a57d1d9d75fa7e3f22b158a3b98f44db9d694cfd2acde8dfa0ca mpdecimal-2.5.0.tar.gz

Starting with Python 3.9, this version should be used for an external libmpdec.

Python versions 3.7 and 3.8 should use the previous version mpdecimal-2.4.2.

libmpdec

libmpdec will continue to evolve conservatively. For the few changes, see:

http://www.bytereef.org/mpdecimal/changelog.html

libmpdec++
... continue reading

naive kindleBOT
#

Proposal:

Allow standard python escapes inside curly braces in f-strings.
Main point is to make clear visual distinction between text and
escaped chars:

current syntax:

  print ("\nnewline")
  print ("\x0aa")

new syntax:

  print (f"{\n}newline")
  print (f"{\x0a}a")

Currently it is SyntaxError:
"SyntaxError: f-string expression part cannot include a backslash"

Further, I suggest hex code escapes with a new prefix "\ ", i.e.
backslash+space,
(this would work in f-stri... continue reading

naive kindleBOT
naive kindleBOT
#

I am pleased to announce the release of SfePy 2020.2.

Description

SfePy (simple finite elements in Python) is a software for solving systems of
coupled partial differential equations by finite element methods. It is
distributed under the new BSD license.

Home page: https://sfepy.org
Mailing list: https://mail.python.org/mm3/mailman3/lists/sfepy.python.org/
Git (source) repository, issue tracker: https://github.com/sfepy/sfepy

Highlights of this release

... continue reading

naive kindleBOT
#

Is there any reason why collections.abc.[Sequence|MutableSequence] do
not have "eq" for free?

I was writing some tests now and was caught by surprise there.

(chcking the docs, if my custom MutbaleSequence also
inherits from "collections.abc.Set" I will have working "eq" - and
"ne", methods
but also weirdly behaved "le" and cousins as a side efffect - weird
enough
I think i will just hand-write the "eq")

While theoretically adding "eq" and "ne" could hab
backwar... continue reading

naive kindleBOT
#

Python 3.8.4rc1 is the release candidate of the fourth maintenance release of Python 3.8. Go get it here:
https://www.python.org/downloads/release/python-384rc1/ https://www.python.org/downloads/release/python-384rc1/
Assuming no critical problems are found prior to 2020-07-13, the scheduled release date for 3.8.4, no code changes are planned between this release candidate and the final release.

That being said, please keep in mind that this is a pre-release and as such its main purpose i... continue reading

naive kindleBOT
#

This will be helpful for python linters, own data types, etc.
Example:

class SQL_String(str):
@property
def chr(self): # SQL_string.chr will return string that need to be before string start
return 's'
def check(self): # This method will be called by intepreter to check if string is OK
if not str(self).endswith(';'): # For example, we want to make that this string always needed to ends with ";"
raise SyntaxError('Missing ";" a... continue reading

naive kindleBOT
#

Trac 1.2.6 Released

Trac 1.2.6, the latest maintenance release for the older stable branch,
is available.

You will find this release at the usual places:

https://trac.edgewall.org/wiki/TracDownload#Trac12StableRelease

You can find the detailed release notes for 1.2.6 on the following
pages:
https://trac.edgewall.org/wiki/1.2/TracChangeLog
https://trac.edgewall.org/wiki/TracDev/ReleaseNotes/1.2#MaintenanceReleases

Now to the packages themselves:

URLs:

https://download.e... continue reading

naive kindleBOT
#

The @property.getter and @property.setter decorators are
clever, but they have the disadvantage that you end up
writing the name of the property no less than 5 times,
all of which have to match.

Thinking there must be a better way, I came up with this:

def Property(name, bases, dict):
return property(dict.get('get'), dict.get('set'))

which allows you to write

class Test:

 class foo(metaclass = Property):

     def get(self):
         print("Getting foo")
         return... [continue reading](https://mail.python.org/archives/list/python-ideas@python.org/thread/LYNBL6D2HFYHQGQCBXFKJO6W3JRZYJZ5/)
#

All,

In the past few years I have realized that I no longer use cx_Freeze myself
and my spare time to maintain cx_Freeze is limited. In the past number of
months Marcelo Duarte has been doing much of the work of responding to
issues and creating pull requests to continue enhancing cx_Freeze. As such,
as of today I am transferring the maintenance of cx_Freeze to him. I will
continue to be available for consultation but this is a formal recognition
that the bulk of the work is now being p... continue reading

naive kindleBOT
#

We’re happy to announce our keynote lineup for EuroPython 2020.

                  * EuroPython 2020 Keynotes *
         https://ep2020.europython.eu/events/keynotes/

Guido van Rossum - Q&A

In this session, you’ll get a chance to get your questions answered by
Guido van Rossum, our retired BDFL.

In order to submit a question, please use the following Google form:
Guido van Rossum Q&A: Question Submission:

https://forms.gle/cAaBgUeVEBgjaDrH7

Siddha Ganju - 30... continue reading

naive kindleBOT
#

The goal as it stands is to make PyObject an opaque type (interpreted to
mean, "incomplete type"), but there is a blocking problem to
accomplishing that.

Functions/Macros like PY_TYPE require a complete PyObject.

There is 3 ways we can solve this problem:

  1. Dump to & export from the Python DLL.

    • This will created performance overhead that can scale worse and
      worse the more they're used.
  2. Dump to a static library.

    • This has a toss up on saving performance or sharing #1's probl... continue reading
naive kindleBOT
#

Often, I know that a variable should have one of a set of values, and I want to determine which one, with an if/elif/else clause. This looks something like this:

if foo == 1:
    # do a
elif foo == 2:
    # do b
elif foo == 3:
    # do c
else:
    raise ValueError('foo must be 1, 2 or 3')

Sometimes, I just do

if foo == 1:
    # do a
elif foo == 2:
    # do b
else:
    # do c

But this is less readable and allows errors to slip past. My proposal is to allow the following syntax:
``... continue reading

naive kindleBOT
#

Even after years of coding it sometimes takes me a moment to correctly
parse expressions like min(max(value, minimum), maximum), especially
when the parentheses enclose some local computation instead of only
references, and the fact that min actually needs the maximum value
as an argument (and vice-versa) certainly doesn't help.

It's a little surprising to me how shorthand functions akin to CSS's
clamp() aren't more popular among modern programming languages. Such a
tool is, in my... continue reading

naive kindleBOT
#

On behalf of the entire Python development community, and the currently serving Python release team in particular, I’m pleased to announce the release of Python 3.9.0b4. Get it here:

https://www.python.org/downloads/release/python-390b4/ https://www.python.org/downloads/release/python-390b4/

This is a beta preview of Python 3.9

Python 3.9 is still in development. This release, 3.9.0b4, is the fourth of five planned beta release previews.

Beta release previews are intended to give t... continue reading

naive kindleBOT
naive kindleBOT
#

Hi all,

On behalf of the SciPy development team I'm pleased to announce
the release of SciPy 1.5.1, which is a bug fix release.

Sources and binary wheels can be found at:
https://pypi.org/project/scipy/
and at: https://github.com/scipy/scipy/releases/tag/v1.5.1

One of a few ways to install this release with pip:

pip install scipy==1.5.1

==========================
SciPy 1.5.1 Release Notes

SciPy 1.5.1 is a bug-fix release with no new features
co... continue reading

naive kindleBOT
#

On behalf of the Nikola team, I am pleased to announce the immediate
availability of Nikola v8.1.1. This release is mainly due to an
incorrect PGP key being used for the PyPI artifacts; three regressions
were also fixed in this release.

What is Nikola?

Nikola is a static site and blog generator, written in Python.
It can use Mako and Jinja2 templates, and input in many popular markup
formats, such as reStructuredText and Markdown — and can even turn
Jupyter Notebooks into blog ... continue reading

naive kindleBOT
#

This course will help you to expertise in the usage of Python.
Programming languages have been around for ages, and every decade sees the launch of a new language sweeping developers off their feet. Python is considered one of the most popular and in-demand programming languages. A recent Stack Overflow survey showed that Python has taken over languages such as Java, C, C++ and has made its way to the top. This makes Python certification one of the most sought-after programming certifications. T... continue reading

#

Kibana is an open-source application from ten sources at the top of the Elastic Stack stack that provides data search and display capabilities for data indexed in Elastic search. Often known as a graphical tool for Elastic Stack (formerly known as ELK Stack by Elasticsearch, Logstash, and Kibana), Kibana also acts as the user interface for monitoring, managing, and securing an Elastic Stack cluster— as well as the centralized hub for built-in solutions developed on the Elastic Stack. , the USA C... continue reading

naive kindleBOT
#

The official doc of the partial function from the functools stdlib module says it "is used for partial function application which “freezes” some portion of a function’s arguments and/or keywords resulting in a new object with a simplified signature".

However, whereas positional arguments are effectively "frozen" (cannot be altered in the partial object), keyword arguments can in fact not be frozen as they always will be overridden by the ones passed to the partial object.

The "and/or keywords"... continue reading

naive kindleBOT
naive kindleBOT
naive kindleBOT
#

Hi All

This is related to discussion
https://mail.python.org/archives/list/python-ideas@python.org/thread/KWAOQFSV3YJYQV2Y5JXGXFCXHJ3WFLRS/#ZT3OBOPNIMXQ2MU7N5RFBL5AJSYRZJ6Q

In Python, lists don't have a join method. Instead, it's strings that have
the join method. Hence we have:
>>> ', '.join('abcde')
'a, b, c, d, e'

The intermediate method we can save and store and use again.
>>> joiner = ', '.join
>>> joiner('fghijk')
'f, g, h, i, j, k'

We can do something similar when ... continue reading

naive kindleBOT
#

With lib2to3 going away (https://bugs.python.org/issue40360), it seems to
me that some of its functionality for handling "whitespace" can be fairly
easily added to the ast module. (By "whitespace", I mean things like
indent, dedent, comments, backslash; and also the ability to manipulate the
encoded bytes in the original source.)

Off the top of my head, I know of the following projects that use lib2to3
or similar to access the "whitespace" in the parse tree and will need a new
solution:
yapf, b... continue reading

naive kindleBOT
#

CPython at the very least has 2 different type of native states: Interpreter & Module state.
Unfortunately, the multi-phase initialization has a weakness when it comes to Module states.

You can't access the module state without a pointer to the module.
PyState_GetModule from a standpoint looks to be the obvious answer to use, but it's documentation states it's unfit for multi-phase initialization.

I'm proposing an idea here for discussion on a new state system for at least CPython.

Tier 1: Co... continue reading

naive kindleBOT
#

pytest 6.0.0rc1 has just been released to PyPI.

This is a prerelease to help identify any issues before the final 6.0.0.
Please use this version to run your test suite and report any problems!

To upgrade:

pip install --upgrade --pre pytest

The full changelog is available at
https://docs.pytest.org/en/latest/changelog.html.

Thanks to all who contributed to this release, among them:

  • Alfredo Deza
  • Andreas Maier
  • Andrew
  • Anthony Sottile
  • ArtyomKaltovich
  • Bruno Olive... continue reading
naive kindleBOT
#

ELSE-clause in FOR and WHILE has unclear syntax. I suggest new clause instead:

if COND:
...
[elif COND:
...]
[else:
...]

This IF-clause like must be immediately after FOR- or WHILE-cycle (only comment allowed between). It looks like a regular IF, but COND is special.
COND may be "break", "pass" or "finally". "if break:" - if used break-operator to exit cycle. "if pass:" - cycle executed 0 times. "if finally:" - cycle executed 0 or more times ("pass-case" is included in "finally-case"). ... continue reading

naive kindleBOT
#

The current practice, by overriding find_class, is limited to overriding what globals get loaded. This makes it impossible to distinguish globals that will be used as data from globals that will be called as constructors, along with similar concerns with object attributes [especially methods] obtained by loading builtins.getattr as global.

I would suggest also exposing for overrides the points where a callable loaded from the pickle is called - on the pure-python _Unpickler these are _instantia... continue reading

naive kindleBOT
#

I posted this in the thread about indexing dict items but it seems to
have been buried there so I'm starting a new thread.

Maybe there could be a function in the random module for making a
random choice from an arbitrary (finite) iterable. This implementation
can choose a random element from an iterable by fully iterating over
it so is O(N) in terms of CPU operations but O(1) for memory usage:

rnd.py

from random import randrange

def choice_iter(iterable):
iterator = iter(iterable)
t... continue reading

naive kindleBOT
#

Hello:

I'm proud to release version 2.0.0 of the Roundup issue tracker
which has been possible due to the help of several contributors. This
release contains some major changes, so make sure to read
docs/upgrading.txt <http://www.roundup-tracker.org/docs/upgrading.html>_ to bring
your tracker up to date.

There are special directions for those using mysql backend.

The changes, as usual, include some new features and many bug fixes.

You can download it with:

pip download roundup

then un... continue reading

naive kindleBOT
naive kindleBOT
#

Python 3.8.4 is the fourth maintenance release of Python 3.8. Go get it here:

https://www.python.org/downloads/release/python-384/ https://www.python.org/downloads/release/python-384/
Maintenance releases for the 3.8 series will continue at regular bi-monthly intervals, with 3.8.5 planned for mid-September 2020.

What’s new?

The Python 3.8 series is the newest feature release of the Python language, and it contains many new features and optimizations. See the “What’s New in Python 3.8... continue reading

naive kindleBOT
#

Hi all,

I am pleased to announce the release of soops 2020.2.

soops = scoop output of parametric studies

The package contains functions to run parametric studies in parallel using
Dask, and to scoop the output files produced by the studies into a Pandas
DataFrame.

The latest release can be installed using pip:
pip install soops

Git repository: https://github.com/rc/soops.git

Best regards,
Robert Cimrman

naive kindleBOT
#

Wing 7.2.3 has been released. This update introduces a How-To for using
Wing with PyXLL, adds folding in .pyi and .pi files, fixes opening files
from the macOS Catalina Finder, and makes many usability
improvements. For details see the change log:
https://wingware.com/pub/wingpro/7.2.3.0/CHANGELOG.txt

== New features in Wing 7.2 include ==

  • Auto-Reformatting with Black and YAPF (Wing Pro)

Wing 7.2 adds support for Black and YAPF for code reformatting, in
addition to the previously ... continue reading

naive kindleBOT
#

Hello all,
I'm glad to announce the release of psutil 5.7.1:
https://github.com/giampaolo/psutil

About

psutil (process and system utilities) is a cross-platform library for
retrieving information on running processes and system utilization
(CPU, memory, disks, network) in Python. It is useful mainly for
system monitoring, profiling and limiting process resources and
management of running processes. It implements many functionalities
offered by command line tools such as: ps, top, lsof, n... continue reading

naive kindleBOT
#

Right now in str.format(), we have !s, !r, and !a to allow us to call str(), repr(), and ascii() respectively on the given expression.

I'm proposing that we add a !p conversion to have pprint.pformat() be called to convert the given expression to a 'pretty' string.

Calling

print(f"My dict: {d!p}")

is a lot more concise than:

import pprint
print(f"My dict: {pprint.pformat(d)}")

We may even be able to have a static attribute stored to change the various default kwargs of pprin... continue reading

naive kindleBOT
#

I was playing with the codecs module and realized that there's untapped
potential to use them for de/serialization. It's easy enough to register a
codec for some case, but very few objects (I think only strings and bytes
and their stream cousins) have native encode/decode methods.

It seems to me that obj.encode("json") and str.decode("json"), for example,
would be a powerful feature, if it were tied into the native codecs
registry, enabling users to simplify a lot of serialization code and
impl... continue reading

naive kindleBOT
naive kindleBOT
#

Hi Pythonistas,

The -b flag, which turns on checks which emit BytesWarnings on
operations mixing bytes and str objects, is very useful.

However, the only way to set this flag is via the Python invocation.
This limits its usability in contexts where the user's control of the
Python invocation is limited, e.g when using Python embedded in another
executable (such as uwsgi). There appears to be no function which can
set the flag, and no environment variable which controls it.

Up to Python 3.7, t... continue reading

naive kindleBOT
#

Recently I have been thinking about why JavaScript with it's horrible type system and lots of edge cases has supported so many platform and is very fast ...

First answer is simple, because big companies such as Google, Facebook and so on evolve this language and run-time for it ...

But it is only part of story, all this platforms would not be possible without some good architecture that was done by this companies

What is this architecture decision ? It is a splitting run-time and infrastruc... continue reading

naive kindleBOT
naive kindleBOT
#

What is Python?

Python is a high-level, object-oriented, interpreted programming language with dynamic semantics. High level integrated data structures combined with dynamic writing and dynamic linking make it very attractive to use applications as a scripting language or glue for combining existing components as well as rapidly developing applications. The simple and easy-to-learn Python syntax emphasizes readability and therefore reduces the maintenance cost of the program. Python supports mo... continue reading

naive kindleBOT
#

We’d like to draw your attention to our job board, with plenty of job
ads from our sponsors:

               * EuroPython 2020 Job Board *

       https://ep2020.europython.eu/sponsor/job-board/

Our sponsors would love to get in touch with you, so please have a
look and visit them at their sponsor exhibit channel on Discord or
contact them via the links and email addresses given on the page.

Job ad emails

We will also send out job ad emails to attendees who have agreed t... continue reading

naive kindleBOT
#

Hi, I’ve been lurking for a while.  This is my first real post in a long
time.

This is a proposal for a system-less python; that is, a version of
python that does not have file or other inappropriate access to the os. 
The idea is to provide a python environment capable of safely running
insecure scripts.  The inspiration and obvious use case for this is an
addition to or replacement for Javascript scripting in a web browser. 
Another use might be for scripting a spreadsheet, such as Ex... continue reading

naive kindleBOT
naive kindleBOT
#

We are very pleased to have Bloomberg as Diamond Sponsor for EuroPython
2020. Without sponsors like Bloomberg, we wouldn't be able to make the
event affordable.

You will be able to visit their sponsor exhibit rooms and take the
opportunity to chat with their staff to learn more about the large
Python eco-system they have built internally and how they are
collaborating with the Python community.

Please read a hosted blog post from Bloomberg on our blog with full
detail:

https://blog.europython... continue reading

naive kindleBOT
#

This is a combined release of Python 3.8.5 and 3.9.0b5. Both are significant but for different reasons. Let’s dig in!

Security content in 3.8.5

We decided to release 3.8.5 ahead of schedule due to a number of security-related fixes. All details can be found in the change log https://docs.python.org/release/3.8.5/whatsnew/changelog.html#changelog but the gist is:

CVE-2019-20907 https://bugs.python.org/issue39017: infinite loop in a maliciously created .tar file
BPO-41288 <https://bu... continue reading

naive kindleBOT
#

Python is a simple language to understand, but to me functions are a
special case. And according to the Zen of Python (PEP20
https://www.python.org/dev/peps/pep-0020/): Special cases aren't special enough to break the rules..

For beginners, Python functions can cause some pain that boils down to
three points that shows some lack of standardization.

  1. Function declaration needs keyword def:

If you are a long time Python (1991) developer, you surely got used to the
keyword def to decla... continue reading

naive kindleBOT
#

[This has been sent to python-committers, python-dev, and python-ideas]

Recently, a series of discussions on this mailing list resulted in behavior
that did not live up to the standards of the Python Community. The PSF
Board of Directors, Python Steering Council, and the PSF Conduct Working
Group would like to remind this community that our shared goal is to
advance the Python language while simultaneously building a diverse,
inclusive, and welcoming Python community. While the community has ma... continue reading

naive kindleBOT
#

PyCA cryptography 3.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 2.7, Python 3.5+, and PyPy.

Changelog (https://cryptography.io/en/latest/changelog/#v3-0):

  • BACKWARDS INCOMPATIBLE: Removed support for passing an Extension
    instance to from_issuer_subject_key_identifier(), as p... continue reading
naive kindleBOT
#

Our designer Jessica has created a beautiful conference booklet for
you to use during the conference and keep as a memory afterwards. It
provides all details, schedule, keynotes, sponsor listings, etc. in a
single PDF.

	* EuroPython 2020 Conference Booklet *

   https://ep2020.europython.eu/events/conference-booklet/

We'd normally give out the booklet as part of the conference bag, but
since we’re running the event online, we’ve put up the PDF of the
booklet instead for your to enjoy.

If... continue reading

naive kindleBOT
#

Let me first say that the code and discussion, as per title, is also about
possible performance improvements to the dict base type.

TL;DR I implemented a frozendict using CPython 3.9 code. It seems that an
immutable dict could be faster than dict in some cases. Furthermore, some
optimization could be applied to dict too.

Long explaining:

Since now I have some time, I decided to experiment a little with the
creation of an immutable dict in Python.

Unluckily, I started this experiment many m... continue reading

#

Hi All,

On behalf of the NumPy team I am pleased to announce that NumPy 1.19.1 has
been released. This release supports Python 3.6-3.8 and may be built with
the latest Python 3.9 beta. It fixes several bugs found in the 1.19.0
release, replaces several functions deprecated in the upcoming Python-3.9
release, has improved support for AIX, and has a number of development
related updates to keep CI working with recent upstream changes.

Downstream developers should use Cython >= 0.29.21 ... continue reading

naive kindleBOT
#

We are excited to announce a complete two day data science track at
EuroPython 2020 Online, happening on Thursday and Friday (July 23 -
24).

Yes, that’s starting tomorrow. Sorry for the short notice :-)

	  * Data Science @ EuroPython 2020 *

  https://ep2020.europython.eu/events/data-science/

The data science track is part of EuroPython 2020, so you won’t need
to buy an extra ticket to attend.

We will have a two day track featuring more than 20 keynotes,
full-length talks and posters:

-... continue reading

naive kindleBOT
#

Lea 3.3.0 is now released!
---> http://pypi.org/project/lea/3.3.0

What is Lea?

Lea is a Python module aiming at working with discrete probability
distributions in an intuitive way.

It allows you modeling a broad range of random phenomena: gambling, weather,
finance, etc. More generally, Lea may be used for any finite set of discrete
values having known probability: numbers, booleans, date/times, symbols, ...
Each probability distribution is modeled as a plain object, which can be
... continue reading

naive kindleBOT
#

Hi all,

On behalf of the SciPy development team I'm pleased to announce
the release of SciPy 1.5.2, which is a bug fix release.

Sources and binary wheels can be found at:
https://pypi.org/project/scipy/
and at: https://github.com/scipy/scipy/releases/tag/v1.5.2

One of a few ways to install this release with pip:

pip install scipy==1.5.2

==========================
SciPy 1.5.2 Release Notes

SciPy 1.5.2 is a bug-fix release with no new features
com... continue reading

naive kindleBOT
#

Hello, I'd like to bring to your attention https://bugs.python.org/issue41383. The core idea here is per Elizaveta Shashkova:

I would like to have a lazy repr evaluation for the objects! Sometimes users have many really large objects, and when debugger is trying to show them in Variables View (=show their string representation) it can takes a lot of time. We do some tricks, but they not always work. It would be really-really cool to have parameter in repr, which defines max number of symbols we... continue reading

naive kindleBOT
#

Overview

leoAst.py
https://github.com/leo-editor/leo-editor/blob/fstrings/leo/core/leoAst.py
unifies python's token-oriented and ast-oriented worlds.

leoAst.py defines classes that create two-way links between tokens
created by python's tokenize module
https://docs.python.org/3/library/tokenize.html and parse tree nodes
created by python's ast module https://docs.python.org/3/library/ast.html:

The Token Order Generator (TOG) class quickly creates the following
link... continue reading

naive kindleBOT
#

In the initial announcement, the link to leoAst.py was incorrect.
The correct link is to leoAst.py in Leo's "devel" branch:

https://github.com/leo-editor/leo-editor/blob/devel/leo/core/leoAst.py

Alas, the link did not generate a 404, but instead linked to way obsolete
code. My apologies for the confusion this has already caused.

Edward

Edward K. Ream: edreamleo@gmail.com Leo: http://leoedito... continue reading

naive kindleBOT
#

Hey all,

What are thoughts about implementing an object-compare function in the
unittest package? (Compare two objects recursively, attribute by
attribute.) This seems like a common use case in many testing scenarios,
and there are many 3rd party solutions solving the same problem. (Maybe we
can promote standardization by implementing it in the standard library?)

Apologies ahead of time if this idea has already been proposed; I was not
able to find similar posts in the archive.

Best,
-Henry

... continue reading

naive kindleBOT
#

Problem:
Currently, let’s say I create a shared_memory segment using mulitprocessing.shared_memory.SharedMemory https://docs.python.org/3.10/library/multiprocessing.shared_memory.html in Process 1 and open the same in Process 2.
Then, I try to write some data to the shared memory segment using both the processes, so for me to prevent any race condition (data corruption), either these operations must be atomic, or I should be able to lock / unlock shared memory segment, which I cannot at the mo... continue reading

naive kindleBOT
#

Hello!

According to PEP8, there should be 2 blank lines before the function definition. But,
I think in case of defining new typing.TypeVar, that will be used only in one function
definition, it would be better to put it right before the function definition, i.e. with no
blank lines. So I suggest to update PEP8, so it'd recommend skipping blank lines in this
case.

Thank you for your attention and sorry for my bad English.

Sincerely yours,
Nikita Serba.

naive kindleBOT
#

I have had a long standing unanswered question on on stackoverflow: is it possible to pass a function to a default parameter so that you could do in essence things like this.

def time_diff(target_time, curr_time= lambda : datetime.now() ):
return curr_time - target_time

this would be an syntactical improvement over this style where you have if statement to initialize a missing parameter.

def time_diff(target_time, curr_time=None):
if curr_time == None:
curr_time = datetime.dat... continue reading

naive kindleBOT
#

There's been a discussion of the "for ... else ..." construction in Python.
Here's a suggestion as to how we might improve matters, and perhaps
usefully extend the language. I hope it might benefit some, without harming
anyone else.

Aside: I've not read the whole of the previous discussion, and it may be
that some or all of what I say has already been expressed there. So
apologies for any missing credits to others. The errors, I'm responsible
for.

Here's what happens at present.
for i in i... continue reading

naive kindleBOT
#

Hello,

The idea here is to use the same operator already used to type-hint the
return of functions -> to define the return of a Callable.

  • Current syntax:

Callable[[ArgumentList], ReturnType]

eg.

def x(method: Callable[[int, dict], None]) -> None:
    pass
  • Proposed syntax:

Callable[ArgumentList] -> ReturnType

eg.

def x(method: Callable[int, dict] -> None) -> None:
    pass

Do you think this is more intuitive? Is it viable?

Kind regards,

Thiago

naive kindleBOT
#

Hello,

There's a simple function that I use many times, and I think may be a good
fit to be added to itertools. A function that gets an iterator, and if it
has exactly one element returns it, and otherwise raises an exception. This
is very useful for cases where I do some sort of query that I expect to get
exactly one result, and I want an exception to be raised if I'm wrong. For
example:

jack = one(p for p in people if p.id == '1234')

sqlalchemy already has such a function for queries:
https... continue reading

naive kindleBOT
#

The pytest team is proud to announce the 6.0.0 release!

pytest is a mature Python testing tool with more than 2000 tests
against itself, passing on many different interpreters and platforms.

This release contains a bunch of new goodies such as typing annotations,
pyproject.toml, new hooks, and new command-line flags.

CHANGELOG:

https://docs.pytest.org/en/stable/changelog.html

For complete documentation, please visit:

https://docs.pytest.org/en/stable/

As usual, you... continue reading

naive kindleBOT
naive kindleBOT
#

On behalf of the Python Packaging Authority, I am pleased to announce
that we have just released pip 20.2, a new version of pip. You can
install it by running python -m pip install --upgrade pip.

The highlights for this release are:

- The beta of the next-generation dependency resolver is available
- Faster installations from wheel files
- Improved handling of wheels containing non-ASCII file contents
- Faster `pip list` using parallelized network operations
- Installed p... [continue reading](https://mail.python.org/archives/list/python-announce-list@python.org/thread/G7WYYNCMZ4EMDRYPM7NHJFCI67OP5FDV/)
naive kindleBOT
#

On behalf of the Python Packaging Authority, I am pleased to announce
the release of pip 20.2. Please upgrade for speed improvements, bug
fixes, and better logging. You can install it by running python -m pip
install --upgrade pip.

We make major releases each quarter, so this is the first new release
since 20.1 in April.

NOTICE: This release includes the beta of the next-generation dependency
resolver. It is significantly stricter and more consistent when it
receives incompatible instruc... continue reading

naive kindleBOT
#

When writing some code now, I needed to produce a shuffled version of
range(10, 10 ** 5).

This is one way to do it:

shuffled_numbers = list(range(10, 10 ** 5))
random.shuffle(shuffled_numbers)

I don't like it because (1) it's too imperative and (2) I'm calling the
list "shuffled" even before it's shuffled.

Another solution is this:

shuffled_numbers = random.sample(range(10, 10 ** 5), k=len(range(10, 10 **
5)))

This is better because it solves the 2 points above. However, it is quite
cum... continue reading

naive kindleBOT
#

Hi folks, and sorry for the double posting if any,

It's my pleasure to share with you the 0.9.6 release of Pythran, code-named
talar-tro [0].

Pythran is a compiler for numerical kernels written in Python.
It doesn't require much type information and its inputs are 100% compatible with
the Python interpreter (but the other way around is not true!)

More than 6 months have passed since last revision, so the changelog is a bit
dense [1], but basically, that's the first release that only supports ... continue reading

naive kindleBOT
#

Hi all,

yet another (possibly bad?) idea from day-to-day work ...

I occasionally need to import a lot of "stuff" from certain modules. The
"stuff" is usually following a pattern. E.g. I have modules that
(mostly) collect special exception classes and I usually need them all
in one push - but nothing else from those modules.

So a general wildcard import is a bad idea in a lot of ways:

from somemodule import *

What I usually do instead is something along the following lines:

``... continue reading

naive kindleBOT
#

SUMMARY:
Some news. I've just published https://pypi.org/project/kwkey/0.0.1/.

This package is about PEP 472 -- Support for indexing with keyword arguments
See: https://www.python.org/dev/peps/pep-0472/

As a result, I think we're now in a good position to try this idea out,
using present day Python. This includes building some clients that can use
the new feature, should it become available. It also includes exploring the
design of the API.

The crucial idea is writing
>>> from kwkeys impo... continue reading

naive kindleBOT
naive kindleBOT
#

In one of my projects I'm reusing class-level type annotations to identify relevant attributes for serialization, e.g. similar to the following:

attrs = {name: getattr(obj, name) for name in get_type_hints(type(obj))}

This is convenient because it merges the type annotations from the various stages in the class hierarchy, e.g.

class Base:
    a: int
class Derived(Base):
    b: str

results in attrs == dict(a=..., b=...).

However it becomes inconvenient if external base ... continue reading

naive kindleBOT
#

The following comment is from the thread about adding kwd arg support to
the square bracket operator (eg, Vec = Dict[i=float, j=float]).

On Tue, Aug 4, 2020, 2:57 AM Greg Ewing greg.ewing@canterbury.ac.nz wrote:

On 4/08/20 1:16 pm, Steven D'Aprano wrote:

Why would we want to even consider a new approach to handling keyword
arguments which applies only to three dunder methods, __getitem__,
__setitem__ and __delitem__, instead of handling keyword arguments
in the same way that ... continue reading

naive kindleBOT
#

Consider the monotonic clock defined in pytime.c. Whether or not it tracks time across system suspend is implementation-defined (and not documented either). PEP 418 [1] has details along with the raw system APIs used.

We could introduce two new monotonic clocks that distinguish between whether they track across system suspend or not. These clocks exist on at least Windows, macOS, and Linux.

[1] https://www.python.org/dev/peps/pep-0418/#id56


Rishav

P.S.: This is my first time submitting to... continue reading

naive kindleBOT
naive kindleBOT
#

Hey all,

Instead of writing this:

try:
    return my_dict[“a”][“b”][“c”][“d”]
except:
    return “some default”

Or this

return my_dict.get(“a”, {}).get(“b”, {}),get(“c”, {}).get(“d”, “some
default”)

I propose we allow for an inline exception handler, like eor:

return my_dict[“a”][“b”][“c”][“d”] eor “some default”

This works very similar to what we already have with or, and makes code
much more compact and readable.

Cheers,
Jonathan

naive kindleBOT
#

I'm happy to announce that openfoodfacts-python 0.1.1 has been released!
https://github.com/openfoodfacts/openfoodfacts-python

What is Open Food Facts?
Open Food Facts is a database of food products with ingredients, allergens,
nutrition facts and all the tidbits of information we can find on product
labels.

Open Food Facts is a non-profit association of volunteers. 1800+
contributors like you have added 700 000+ products from 150 countries using
our Android, iPhone or their camera t... continue reading

#

I'm happy to bring you a new release of logassert, a simple logging
assertion mechanism for Python unittests.

Because we all know that we must test the logging calls in our
programs, right? With logassert this is very easy.

This new release brings the functionality of logassert as a pytest
fixture, with totally renewed semantics (for "classic unittest"
structures, logassert is not changing much, to be backwards
compatibile).

So, for pytest all you need to do is to declare logs in your tes... continue reading

naive kindleBOT
#

Hi!

Some time ago I opened a bug and sent a patch, but I realize that I
should have started a chat here first, better late than never.

The default behavior of the functools.wraps decorator, is to copy over
the __annotations__ from the wrapped function to the wrapper function.

This is ok if the wrapper function has the same signature that the
wrapped one (that I guess was the main goal behind it, just a simple
wrapper).

The issue comes when the wrapper function has a different signature ... continue reading

naive kindleBOT
#

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.

Do... continue reading

naive kindleBOT
#

This was inspired by a tweet today from Brandon Rhodes. I looked for
something like it on the mypy issues page and didn't find anything.

Would it make good semantic sense- and be useful- to specify valid
numerical ranges using slices and type-hint syntax? My suggestion would be
to, at minimum, provide this functionality for int and float.

Consider that currently we have:

x: int # this means "all ints", today
x: float # this means "all floating point numbers", today

Idea in a nutshell would... continue reading

naive kindleBOT
#

The property decorator, with its .setter and .deleter chaining, is a bit cumbersome and repetitive. If we can add .apply as a method on property that calls a function that returns the fget/fset/fdel/doc arguments, it would simplify instantiating the descriptor. For example:

@property.apply
def attr():
def fget(self): pass
def fset(self, value): pass
def fdel(self): pass
return (fget, fset, fdel, "doc")

instead of

@property
def attr(self): pass

@attr.setter
def attr(self, value): pass
... continue reading

naive kindleBOT
#

Hi all,

I am pleased to announce that guidata v1.7.7 has been released (https://github.com/PierreRaybaut/guidata).
This is a maintenance release with a couple of bugfixes (compatibility with Spyder v4) -- guidata is compatible with Python 2.7, 3.4-3.8, PyQt4 and PyQt5.

Based on the Qt GUI library (PyQt4, PyQt5, and mostly compatible with PySide), guidata is a Python library generating graphical user interfaces for easy dataset editing and display. It also provides helpers and application dev... continue reading

naive kindleBOT
#

Hello,

on behalf of the PyInstaller development team I'm happy to announce
PyInstaller 4.0.

http://www.pyinstaller.org

Thanks for all those who contributed questions, bug-reports or
pull-requests.

PyInstaller is in urgent need of funding to make future security fixes
happen, see https://github.com/pyinstaller/pyinstaller/issues/4404 for
details.

=== Important Changes ===

Release 4.0 adds support for 3rd-party packages to provide PyInstaller hooks
along with the pa... continue reading

naive kindleBOT
#

Hi all,

I am pleased to announce that PythonQwt v0.6.2 has been released (https://github.com/PierreRaybaut/PythonQwt).
This is a maintenance release, compatible with Python 2.7, 3.4-3.8, PyQt4 and PyQt5.

The PythonQwt package is a 2D-data plotting library using Qt graphical user interfaces for the Python programming language. It is compatible with both PyQt4 and PyQt5 (PySide is currently not supported but it could be in the near future).

The PythonQwt project was initiated to solve -at least... continue reading

naive kindleBOT
#

Forgive me if this has already been discussed.

Could we add the idea of "negative" sets to Python? That means sets that
contain EVERYTHING EXCEPT certain elements.

First, let's have a universal set that contains everything.

 assert element in set.UNIVERSAL

The universal set is a superset of every other set.

 assert set.UNIVERSAL >= any_set

Adding anything to universal set doesn't change anything.

 assert set.UNIVERSAL | element == set.UNIVERSAL

However REMOVING an element... continue reading

naive kindleBOT
#

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.

Do... continue reading

naive kindleBOT
#

Python 3.9.0 is almost ready. This release, 3.9.0rc1, is the penultimate release preview. You can get it here:

https://www.python.org/downloads/release/python-390rc1/
Entering the release candidate phase, only reviewed code changes which are clear bug fixes are allowed between this release candidate and the final release. The second candidate and the last planned release preview is currently planned for 2020-09-14.

Please keep in mind that this is a preview release and its use is not rec... continue reading

naive kindleBOT