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.0a5. Get it here:
https://www.python.org/downloads/release/python-390a5/ <https://www.python.org/downloads/release/python-390a5/>
This is an early developer preview of Python 3.9
Python 3.9 is still in development. This releasee, 3.9.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 (2020-05-18) and, if necessary, may be modified or deleted up until the release candidate phase (2020-08-10). Please keep in mind that this is a preview release and its use is not recommended for production environments.
Major new features of the 3.9 series, compared to 3.8
Many new features for Python 3.9 are still being planned and written. Among the new major new features and changes so far:
PEP 584 <https://www.python.org/dev/peps/pep-0584/>, Union Operators in dict
PEP 593 <https://www.python.org/dev/peps/pep-0593/>, Flexible function and variable annotations
PEP 602 <https://www.python.org/dev/peps/pep-0602/>, Python adopts a stable annual release cadence
BPO 38379 <https://bugs.python.org/issue38379>, garbage collection does not block on resurrected objects;
BPO 38692 <https://bugs.python.org/issue38692>, os.pidfd_open added that allows process management without races and signals;
BPO 39926 <https://bugs.python.org/issue39926>, Unicode support updated to version 13.0.0
BPO 1635741 <https://bugs.python.org/issue1635741>, when Python is initialized multiple times in the same process, it does not leak memory anymore
A number of Python builtins (range, tuple, set, frozenset, list) are now sped up using PEP 570 <https://www.python.org/dev/peps/pep-0570> vectorcall
A number of standard library modules (audioop, ast, grp, _hashlib, pwd, _posixsubprocess, random, select, struct, termios, zlib) are now using the stable ABI defined by PEP 384 <https://www.python.org/dev/peps/pep-0384/>.
(Hey, fellow core developer, if a feature you find important is missing from this list, let Łukasz know <mailto:lukasz@python.org>.)
The next pre-release, the last alpha release of Python 3.9, will be 3.9.0a6. It is currently scheduled for 2020-04-22. Until then, stay safe!
Your friendly release team,
Ned Deily @nad <https://discuss.python.org/u/nad>
Steve Dower @steve.dower <https://discuss.python.org/u/steve.dower>
Łukasz Langa @ambv <https://discuss.python.org/u/ambv>
On behalf of Twisted Matrix Laboratories, I am honoured to announce the
release of Twisted 20.3! The highlights of this release are:
- curve25519-sha256 key exchange algorithm support in Conch.
- "openssh-key-v1" key format support in Conch.
- Security fixes to twisted.web, including preventing request smuggling
attacks and rejecting malformed headers. CVE-2020-10108 and
CVE-2020-10109 were assigned for these issues, see the NEWS file for
full details.
- `twist dns --secondary` now works on Python 3.
- The deprecation of twisted.news.
- ...and various other fixes, with 28 tickets closed in total.
You can find the downloads at <https://pypi.python.org/pypi/Twisted> (or
alternatively <http://twistedmatrix.com/trac/wiki/Downloads>). The NEWS
file is also available at
<https://github.com/twisted/twisted/blob/twisted-20.3.0/NEWS.rst>.
Many thanks to everyone who had a part in this release - the supporters
of the Twisted Software Foundation, the developers who contributed code
as well as documentation, and all the people building great things with
Twisted!
- hawkowl
Hello all! We decided to host a few meetups online on the Python Amsterdam community. Sharing it here because in this opportunity it's possible to join from anywhere in the world :-)
https://py.amsterdam/2020/03/25/virtual-pyamsterdam-from-home-stayathome.ht…
[VIRTUAL] Py.Amsterdam from home! #StayAtHome
=============================================
Are you dealing with isolation due to COVID-19? Are you missing your
friends from the Python community? PyAmsterdam is also moving online
to help you!
This is going to be our first online meetup and we have two amazing
speakers!
Join the meetup using this Zoom meeting link [1]
About Optiver
-------------
Optiver [2] hosted our first meetup in 2019 and a year later they are
sponsoring our first online meetup. Thank you! Optiver is a leading
technology-based trading firm with over one thousand people globally,
united in our mission to improve the market. We provide liquidity
using our capital, at our own risk, trading in tens of thousands of
financial instruments on more than 50 exchanges around the world.
Engineering is at the core of our trading strategies. We build and
maintain low latency trading systems that respond to market events in
nanoseconds. Crucial to our success is the precision, reliability and
speed of our systems. Our engineers continually refine, store, and
analyse hundreds of terabytes of data, enabling us to automatically
price large, diverse sets of financial instruments with extremely low
error tolerance. To do this we use sophisticated technology and large-
scale systems. Our infrastructure is a combination of 10 000 highly
customised components and 600 different applications running on 1500
servers, distributed globally. Check their current open positions [3]:
Schedule
--------
+-------+-----------------------------------------------------------------------------------------------------+
| 19:00 | Intro |
+-------+-----------------------------------------------------------------------------------------------------+
| 19:15 | How to be Pythonic? Design a Query Language in Python (Cheuk Ting Ho) |
+-------+-----------------------------------------------------------------------------------------------------+
| 20:00 | Building community and the impact of COVID-19 on the PSF/PyCon and its community work (Naomi Ceder) |
+-------+-----------------------------------------------------------------------------------------------------+
| 21:00 | Lightning talks |
+-------+-----------------------------------------------------------------------------------------------------+
| 21:30 | Closing (if no further interest) |
+-------+-----------------------------------------------------------------------------------------------------+
How to be Pythonic? Design a Query Language in Python
-----------------------------------------------------
About Cheuk Ting Ho [4]:
After having a career in data science, Cheuk now brings her knowledge
in data and passion for the tech community into TerminusDB as the
developer relations lead. Cheuk constantly contributes to the open-
source community by giving AI and deep learning workshops and organize
sprints to encourage diversity contributions. You can also find her at
twitter via @cheukting_ho [7]
Abstract
~~~~~~~~
We created Python API calls that let you can make queries and
manipulate data in our graph database. We thought about what will be
best for Pythonistas? What will be the most Pythonic way to do it? (Is
it a thing?) Here’s our journey in making WOQLpy and we want to make
it useful to you.
Building community and the impact of COVID-19 on the PSF/PyCon and its community work
-------------------------------------------------------------------------------------
About Naomi Ceder [5]:
Naomi Ceder earned a PhD in Classics several decades ago but switched
from ancient human languages to computer languages sometime in the
last century. Since 2001, she has been learning, teaching, writing
about, and using Python.
An elected fellow of the Python Software Foundation, Naomi currently
serves as chair of its board of directors. She also speaks
internationally about the Python community, and on inclusion and
diversity in technology in general.
By day she leads a team of Python programmers for Dick Blick Art
Materials, and in her spare time, she enjoys sketching, knitting, and
deep philosophical conversations with her dog. You can follow her at
twitter @NaomiCeder [6]
Abstract
~~~~~~~~
The past few weeks have been difficult for tech communities in general
and for the Python community. I'll talk a little about the importance
of building communities and give some background on how the PSF is
dealing with the current situation, and answer questions.
Links
-----
[1]
https://zoom.us/j/921378848
[2]
https://www.optiver.com/eu/en/
[3]
https://www.optiver.com/eu/en/job-
opportunities/all/Technology/Amsterdam/
[4] :
https://cheuk.dev/
[5]
https://www.naomiceder.tech/
[6]
https://twitter.com/NaomiCeder
[7]
https://twitter.com/cheukting_ho
Nicolás Demarchi
http://gilgamezh.me
Hi all,
We just released Sphinx-3.0.0b1.
It has many changes including incompatible ones.
Please confirm it working fine on your documents.
In detail, please see CHANGES:
https://github.com/sphinx-doc/sphinx/blob/3.0.x/CHANGES
You can use it with: pip install --pre Sphinx
Since this is a beta release, we expect that you may encounter bugs.
If you find a bug, please file an issue on Github issues:
https://github.com/sphinx-doc/sphinx/issues
Thanks,
Takeshi KOMIYA
Hi!
I've created a Jupyter notebook that presents a simple probabilistic model
linking diseases (cold, flu, COVID-19) to symptoms (fever, cough):
http://mybinder.org/v2/gh/piedenis/lea_mini_tutorials/master?filepath=Lea_CO
VID19.ipynb
Assuming that this model is accurate (which is probably not!), it allows you
to answer questions like:
What is the probability of having COVID-19 in the occurrence
of fever but without cough?
This model is programmed in Python, using Lea, a package dedicated to
probabilistic programming (PP).
Note that the goal is to let you discover PP and Bayesian reasoning, not to
provide you usable/trustable figures (even if the calculations are plainly
correct).
Take care of you!
Pierre Denis
=======================
Announcing PyYAML-5.3.1
=======================
A new release of PyYAML is now available:
https://pypi.org/project/PyYAML/
This release contains a security fix for CVE-2020-1747. FullLoader was still
exploitable for arbitrary command execution.
https://bugzilla.redhat.com/show_bug.cgi?id=1807367
Thanks to Riccardo Schirone (https://github.com/ret2libc) for both reporting
this and providing the fixes to resolve it.
Changes
=======
* https://github.com/yaml/pyyaml/pull/386 -- Prevents arbitrary code execution during python/object/new constructor
Resources
=========
PyYAML IRC Channel: #pyyaml on irc.freenode.net
PyYAML homepage: https://github.com/yaml/pyyaml
PyYAML documentation: http://pyyaml.org/wiki/PyYAMLDocumentation
Source and binary installers: https://pypi.org/project/PyYAML/
GitHub repository: https://github.com/yaml/pyyaml/
Bug tracking: https://github.com/yaml/pyyaml/issues
YAML homepage: http://yaml.org/
YAML-core mailing list: http://lists.sourceforge.net/lists/listinfo/yaml-core
About PyYAML
============
YAML is a data serialization format designed for human readability and
interaction with scripting languages. PyYAML is a YAML parser and emitter for
Python.
PyYAML features a complete YAML 1.1 parser, Unicode support, pickle support,
capable extension API, and sensible error messages. PyYAML supports standard
YAML tags and provides Python-specific tags that allow to represent an
arbitrary Python object.
PyYAML is applicable for a broad range of tasks from complex configuration
files to object serialization and persistence.
Example
=======
>>> import yaml
>>> yaml.full_load("""
... name: PyYAML
... description: YAML parser and emitter for Python
... homepage: https://github.com/yaml/pyyaml
... keywords: [YAML, serialization, configuration, persistence, pickle]
... """)
{'keywords': ['YAML', 'serialization', 'configuration', 'persistence',
'pickle'], 'homepage': 'https://github.com/yaml/pyyaml', 'description':
'YAML parser and emitter for Python', 'name': 'PyYAML'}
>>> print(yaml.dump(_))
name: PyYAML
homepage: https://github.com/yaml/pyyaml
description: YAML parser and emitter for Python
keywords: [YAML, serialization, configuration, persistence, pickle]
Maintainers
===========
The following people are currently responsible for maintaining PyYAML:
* Tina Mueller
* Ingy döt Net
* Matt Davis
and many thanks to all who have contribributed!
See: https://github.com/yaml/pyyaml/pulls
Copyright
=========
Copyright (c) 2017-2020 Ingy döt Net <ingy(a)ingy.net>
Copyright (c) 2006-2016 Kirill Simonov <xi(a)resolvent.net>
The PyYAML module was written by Kirill Simonov <xi(a)resolvent.net>.
It is currently maintained by the YAML and Python communities.
PyYAML is released under the MIT license.
See the file LICENSE for more details.
I'm thrilled to share with the community ´kiss-headers´. "Keep It Simple,
Stupid, Headers".
This idea came from the fact that I have seen so much chunk of code trying
to deal with headers, often I saw this :
charset = headers['Content-Type'].split(';')[-1].split('=')[-1].replace('"', '')
*No more of that !* 🤮
No matter your religion, IMAP4 or HTTP, you should not worry about
accessing easily header and associated attributes, adjectives or values.
Even ´psf/requests ́ represent headers with a dictionary and that is not
representative of what headers are. They are not 1 to 1. And accessing
'Content_type' should work as well as 'Content-Type'.
This package is capable of extracting original headers, unmodified and
exploitable from a Response object of requests or bytes, fp or str. It is
working on both HTTP and IMAP headers.
So that is why I decided to expose a sweet way to access them, based on the
most common needs o f the community. The license is MIT !
Take a glimpse at it : https://github.com/Ousret/kiss-headers
Hope you like it !
In our blog post on the COVID-19 last week, we were still hopeful that
the situation would improve in time for the event in July. The last
few days have shown us that we need to have a more realistic view on
how things will develop in the coming months:
https://blog.europython.eu/post/612393987829039104/europython-2020-and-covi…
Right now, we are at a point in the conference organization where we
have invested a lot of time into the preparation of the conference,
but have not started ticket sales, entered sponsorship agreements or
ordered conference and marketing material.
We also had discussions with the venue and caterer on possible options
to address the risk of not being able to hold the event in July due to
government regulations preventing indoor gatherings.
EuroPython 2021
---------------
In our EuroPython Society Board call last night, we discussed the
situation, looked at the options and decided to take the offer of the
venue to postpone the in-person conference to next year.
* EuroPython 2021 will be held in Dublin, Ireland, *
* from July 26 - August 1 2021 *
How about a virtual EuroPython 2020 ?
-------------------------------------
Since we all love EuroPython, the community and good vibes coming from
such gatherings, we are now considering turning this year’s EuroPython
2020 conference into a virtual event.
For this, we’d like to gather some feedback and have created a form
for you to let us know what your thoughts are on such a virtual setup:
* EuroPython 2020 going virtual feedback form *
https://forms.gle/dwMYXVR4RFAqvthP6
If we go for the virtual setup for EuroPython 2020, the dates will
likely change a bit, so ticket sales will start a little later. For
now, we will leave the EuroPython 2020 Call for Proposals (CfP)
open. Please note that those talks will then have to be held from your
notebook/desktop without face-to-face audience contact. On the other
hand, many more people could join in, since there’s no travel
involved. We will aim to make the virtual event as interactive as
possible.
Code name: EuroPython Winter Edition
------------------------------------
While we’re at it, we’d also like to use the form to gather some
feedback on the idea to have a winter EuroPython event, one where we
run a BarCamp/Sprint/Hackathon style setup in a smaller setting.
Help spread the word
--------------------
Please help us spread this message by sharing it on your social
networks as widely as possible. Thank you !
Link to the blog post:
https://blog.europython.eu/post/612826526375919616/europython-2020-going-vi…
Tweet:
https://twitter.com/europython/status/1239845360694067201
Thanks,
--
EuroPython 2020 Team
https://ep2020.europython.eu/https://www.europython-society.org/
=================
pyspread 1.99.1
=================
Pyspread 1.99.1 has been released.
This is the first Beta release for pyspread 2.0.
While the latest stable version pyspread 1.1.3 requires Python 2, the
new Beta release 1.99.1 makes pyspread available for Python 3.6+.
The GUI is now using PyQt5. Web page and code are now hosted on gitlab.
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/
Source code: https://gitlab.com/pyspread/pyspread
Dependencies
============
Mandatory:
* Python (≥ 3.6)
* PyQt5 (≥ 5.10, must include PyQt5.Svg)
Recommended:
* matplotlib (>=1.1.1)
* pyenchant (>=1.1)
* pip (>=18)
For building the apidocs with Sphinx see apidocs/requirements.txt
Known issues
============
* Toolbars are not shown on some Mac installations
* The chart dialog is modal so that one cannot scroll the grid while
editing
Enjoy
Martin