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, following the
instructions at https://za.pycon.org/talks/submit-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 the 31st of
August 2020.
Speakers will be expected to be available after the presentation for a
short Q&A session. Shared sessions are also possible. The
presentations will be in English.
PyCon ZA offers a mentorship program for inexperienced speakers. If
you would like assistance preparing your submission, email
team(a)za.pycon.org with a rough draft of your talk proposal and we'll
find a suitable experienced speaker to act as a mentor.
If you want to present something else at PyCon ZA, please contact the
organising committee at team(a)za.pycon.org .
We’re researching which software platforms will be most suitable for
running PyCon ZA. As soon as we have finalised this decision, we’ll
make it public and update potential presenters. If you have experience
with presenting on particular platforms, we'd love to hear from you at
team(a)za.pycon.org .
--
Neil Muller
On behalf of the PyCon ZA organising committee
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 packages now contain metadata about whether they were
directly
requested by the user (PEP 376’s REQUESTED file)
The new dependency resolver is *off by default* because it is *not yet
ready for everyday use*. The new dependency resolver is significantly
stricter and more consistent when it receives incompatible instructions,
and reduces support for certain kinds of constraints files, so some
workarounds and workflows may break. Please test it with the
`--use-feature=2020-resolver` flag. Please see our guide on how to test
and migrate, and how to report issues
<https://pip.pypa.io/en/latest/user_guide/#changes-to-the-pip-dependency-res…>.
We are preparing to change the default dependency resolution behavior
and make the new resolver the default in pip 20.3 (in October 2020).
This release also partially optimizes pip’s network usage during
installation (as part of a Google Summer of Code project by McSinyx
<https://summerofcode.withgoogle.com/projects/#5428041779511296>).
Please test it with `pip install --use-feature=2020-resolver
--use-feature=fast-deps` and report bugs to the issue tracker
<https://github.com/pypa/pip/issues/new?template=bug-report.md>. This
functionality is *still experimental* and *not ready for everyday use*.
You can find more details (including deprecations and removals) in the
changelog <https://pip.pypa.io/en/stable/news/>.
As with all pip releases, a significant amount of the work was
contributed by pip’s user community. Huge thanks to all who have
contributed, whether through code, documentation, issue reports and/or
discussion. Your help keeps pip improving, and is hugely appreciated.
Specific thanks go to Mozilla (through its Mozilla Open Source Support
<https://www.mozilla.org/en-US/moss/> Awards) and to the Chan Zuckerberg
Initiative <https://chanzuckerberg.com/eoss/> DAF, an advised fund of
Silicon Valley Community Foundation, for their funding that enabled
substantial work on the new resolver.
--
Sumana Harihareswara
pip project manager via contract with PSF
Changeset Consulting
https://changeset.nyc
Hello list!
I've been teaching programming with Python at various levels for the last 15 years. Over time, the exercises, examples, algorithmic patterns I accumulated for these courses became so numerous that I started to have trouble finding my way around: which ones to present in which course, in which order, at which time, and with which expected benefits?
I developed a tool to help me answer these questions, and more generally to rethink the structure and content of my curriculum. After a few years of tinkering with a rough implementation of these ideas, I decided to rewrite it from scratch with the hope of making it useful to my colleagues, and anyone facing the same issues: this is how Paroxython was born.
https://github.com/laowantong/paroxython#readme
How can you use it? In a preliminary step, you make it tag your collection of educational Python programs. Then, whenever you want, based on the things your students already know, the concepts you intend to make them discover or practice, and those you wish to introduce later (or never), it recommends you a list of programs roughly ordered by increasing learning costs.
To all of you who are going back to school in, and despite, these difficult times, I wish you a year filled with beautiful human and pedagogical experiences.
Cheers!
Hello list!
I've been teaching programming with Python at various levels for the last 15 years. Over time, the exercises, examples, algorithmic patterns I accumulated for these courses became so numerous that I started to have trouble finding my way around: which ones to present in which course, in which order, at which time, and with which expected benefits?
I developed a tool to help me answer these questions, and more generally to rethink the structure and content of my curriculum. After a few years of tinkering with a rough implementation of these ideas, I decided to rewrite it from scratch with the hope of making it useful to my colleagues, and anyone facing the same issues: this is how Paroxython was born.
https://github.com/laowantong/paroxython#readme
How can you use it? In a preliminary step, you make it tag your collection of educational Python programs. Then, whenever you want, based on the things your students already know, the concepts you intend to make them discover or practice, and those you wish to introduce later (or never), it recommends you a list of programs roughly ordered by increasing learning costs.
To all of you who are going back to school in, and despite, these difficult times, I wish you a year filled with beautiful human and pedagogical experiences.
Cheers!
Hello,
I’m happy to announce the release of PyData/Sparse 0.11.1, available to download via pip and conda-forge. PyData/Sparse is a library that provides sparse N-dimensional arrays for the PyData ecosystem.
This is a bugfix release, with a fix for the regression in dot for very small values.
The official website and documentation is available at: https://sparse.pydata.org (https://sparse.pydata.org/)
The sources and bug tracker: https://github.com/pydata/sparse
The changelog for this release can be viewed at: https://sparse.pydata.org/en/0.11.1/changelog.html
Best Regards,
Hameer Abbasi
--
Sent from Canary (https://canarymail.io/)
pyspread 1.99.3
===============
This is the third Beta release for pyspread 2.0.
This version concentrates on usability improvements.
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-1.99.3…
Source code: https://gitlab.com/pyspread/pyspread
Dependencies
============
Mandatory:
* Python (≥ 3.6)
* numpy (>=1.1)
* PyQt5 (≥ 5.10, requires PyQt5.Svg)
Recommended:
* matplotlib (>=1.1.1)
* pyenchant (>=1.1)
* pip (>=18)
For building the apidocs with Sphinx see apidocs/requirements.txt
Known issues
============
* While the main issue on the Mac has been solved, there is a report on
Mac Catalina, which reports that the menu may freeze unless another
application has been switched to.
Enjoy
Martin
All libraries related wheezy.web<https://github.com/akornatskyy/wheezy.web> and wheezy.template<https://github.com/akornatskyy/wheezy.template> have been recently migrated from bitbucket to github<https://github.com/akornatskyy>.
As a part of this migration there have been provided the following major benefits:
* Established build process with travis-ci
* Dependecy updates with dependabot
* Integrated with covereall.io, 100% test coverage
* Release process to pypi per tags with github actions
* Replaced Makefile with tox, covering python 2.7, 3.7+, pypy3
* Improved linting with autoflake, flake8, flake8-bugbear, flake8-import-order, flake8-mutable, pep8-naming
* Code formatting with black and isort
* Eliminated beta status
* Benchmarks have been migrated to py-helloworld<https://github.com/akornatskyy/py-helloworld> and scheduled to run on travis.ci<https://travis-ci.org/github/akornatskyy/py-helloworld> weekly with py3, py3-cython and pypy3
Plans:
* Support for python2.7 will be dropped in 2021
* Major cleanup from python 2.4-2.7 compatibility code
* Update to use mypy in strict mode
If you’re using some of these libraries, ★Star a related repository to show your interest, please!
Thanks.
Andriy Kornatskyy
Hello all,
I'm very happy to announce the release of pyo 1.0.3, available for python 3.6,
3.7 and 3.8.
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 pyo
For all the details and how to uninstall version prior to 1.0.0, see this page
in the documentation:
http://ajaxsoundstudio.com/pyodoc/download.html
This version fixes a bug under MacOS where a missing dependency
prevents the library
from working properly.
Bug Fixes:
- Fixed missing lib dependency links on MacOS.
Olivier Belanger
belangeo(a)gmail.com
http://olivier.ajaxsoundstudio.com/
----
<P><A HREF="http://ajaxsoundstudio.com/software/pyo/">Pyo 1.0.3</A> - short
Python DSP library. (28-Aug-20)
PyCA cryptography 3.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
2.7, Python 3.5+, and PyPy.
Changelog (https://cryptography.io/en/latest/changelog/#v3-1):
* BACKWARDS INCOMPATIBLE: Removed support for idna based U-label parsing in
various X.509 classes. This support was originally deprecated in version
2.1 and moved to an extra in 2.5.
* Deprecated OpenSSL 1.0.2 support. OpenSSL 1.0.2 is no longer supported by
the OpenSSL project. The next version of cryptography will drop support for
it.
* Deprecated support for Python 3.5. This version sees very little use and
will be removed in the next release.
* backend arguments to functions are no longer required and the default
backend will automatically be selected if no backend is provided.
* Added initial support for parsing certificates from PKCS7 files with
load_pem_pkcs7_certificates() and load_der_pkcs7_certificates() .
* Calling update or update_into on CipherContext with data longer than 231
bytes no longer raises an OverflowError. This also resolves the same issue
in Fernet (symmetric encryption).
-Paul Kehrer (reaperhulk)
Version 0.1.6 of Sarge, a cross-platform library which wraps the subprocess
module in the standard library, has been released.
What changed?
-------------
- Fixed #44: Added an optional timeout to Command.wait() and Pipeline.wait(), which
only takes effect on Python >= 3.3.
- Fixed #47: Added the ``replace_env`` keyword argument which allows a complete
replacement for ``os.environ`` to be passed.
- Fixed #51: Improved error handling around a Popen call.
What does Sarge do?
-------------------
Sarge tries to make interfacing with external programs from your
Python applications easier than just using subprocess alone.
Sarge offers the following features:
* A simple way to run command lines which allows a rich subset of Bash-
style shell command syntax, but parsed and run by sarge so that you
can run on Windows without cygwin (subject to having those commands
available):
>>> from sarge import capture_stdout
>>> p = capture_stdout('echo foo | cat; echo bar')
>>> for line in p.stdout: print(repr(line))
...
'foo\n'
'bar\n'
* The ability to format shell commands with placeholders, such that
variables are quoted to prevent shell injection attacks.
* The ability to capture output streams without requiring you to
program your own threads. You just use a Capture object and then you
can read from it as and when you want.
* The ability to look for patterns in captured output and to interact
accordingly with the child process.
Advantages over subprocess
---------------------------
Sarge offers the following benefits compared to using subprocess:
* The API is very simple.
* It's easier to use command pipelines - using subprocess out of the
box often leads to deadlocks because pipe buffers get filled up.
* It would be nice to use Bash-style pipe syntax on Windows, but
Windows shells don't support some of the syntax which is useful, like
&&, ||, |& and so on. Sarge gives you that functionality on Windows,
without cygwin.
* Sometimes, subprocess.Popen.communicate() is not flexible enough for
one's needs - for example, when one needs to process output a line at
a time without buffering the entire output in memory.
* It's desirable to avoid shell injection problems by having the
ability to quote command arguments safely.
* subprocess allows you to let stderr be the same as stdout, but not
the other way around - and sometimes, you need to do that.
Python version and platform compatibility
-----------------------------------------
Sarge is intended to be used on any Python version >= 2.6 and is
tested on Python versions 2.6, 2.7, 3.3, 3.4, 3.5, 3.6, 3.7 and 3.8 on Linux,
Windows, and Mac OS X (not all versions are tested on all platforms,
but sarge is expected to work correctly on all these versions on all
these platforms).
Finding out more
----------------
You can read the documentation at
http://sarge.readthedocs.org/
There's a lot more information, with examples, than I can put into
this post.
You can install Sarge using "pip install sarge" to try it out. The
project is hosted on BitBucket at
https://bitbucket.org/vinay.sajip/sarge/
And you can leave feedback on the issue tracker there.
I hope you find Sarge useful!
Regards,
Vinay Sajip