I am please to announce the availability of the "baseline" package.
This tool streamlines creation and maintenance of tests which compare string
output against a baseline. It offers a mechanism to compare a string against
a baselined copy and update the baselined copy to match the new value when a
mismatch occurs. The update process includes a manual step to facilitate a
review of the change before acceptance. The tool uses multi-line string
format
for string baselines to improve readability for human review.
Docs: https://baseline.readthedocs.io/en/latest/
PyPi: https://pypi.org/project/baseline/
Repo: https://github.com/dmgass/baseline
License: MIT
With Regards,
Dan Gass
(dan.gass at gmail)
***********
Quick Start
***********
Create an empty baseline with a triple quoted multi-line string. Place
the ending triple quote on a separate line and indent it to the level
you wish the string baseline update to be indented to. Add a compare of
the string being tested to the baseline string. Then save the file as
``fox.py``:
.. code-block:: python
from baseline import Baseline
expected = Baseline("""
""")
test_string = "THE QUICK BROWN FOX\n JUMPS\nOVER THE LAZY DOG."
assert test_string == expected
Run ``fox.py`` and observe that the ``assert`` raises an exception since
the strings are not equal. Because the comparison failed, the tool located
the triple quoted baseline string in the source file and updated it with the
miscompared value. When the interpretter exited, the tool saved the updated
source file but changed the file name to ``fox.update.py``:
.. code-block:: python
from baseline import Baseline
expected = Baseline("""
THE QUICK BROWN FOX
JUMPS
OVER THE LAZY DOG.
""")
test_string = "THE QUICK BROWN FOX\n JUMPS\nOVER THE LAZY DOG."
assert test_string == expected
After reviewing the change with your favorite file differencing tool,
accept the change by either manually overwriting the original file or use
the ``baseline`` command line tool to scan the directory for updated
scripts and accept them:
.. code-block:: shell
$ python -m baseline *
Found updates for:
fox.py
Hit [ENTER] to update, [Ctrl-C] to cancel
fox.update.py -> fox.py
Run ``fox.py`` again and observe the ``assert`` does not raise an exception
nor is a source file update generated. If in the future the test value
changes, the ``assert`` will raise an exception and cause a new source file
update to be generated. Simply repeat the review and acceptance step and you
are back in business!
<P><A HREF="https://baseline.readthedocs.io/en/latest/">
baseline 0.2.1</A> - Easy String Baseline (07-Jun-18)
This course will help you to expertise the usage of Python in Data Science world.
Carter your Python Knowledge so that it can be utilized to get the Insights of Data using Methodologies and Techniques of Data Science...
Objective:
Understand the concepts of Data science and Python
You will be able to use Python in Discovering Data.
You will have an idea of Statistical and Analytical methods to deal with huge data sets.
You will gain an expertise on Regular Expressions, looping functions and concepts of Object Oriented Programming.
You will be able to create business algorithms and data models using Python and it's techniques.
Work on Real-life Projects will help you to get a practical experience of real scenarios of IT Industry.
Start learning Python for Data Science from basics to advance levels here...
https://goo.gl/070wXw
Hello all,
I'm glad to announce the release of psutil 5.7.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, both 32-bit and 64-bit architectures. Supported Python
versions are 2.6, 2.7 and 3.4+. PyPy is also known to work.
What's new
==========
2020-12-18
**Enhancements**
- #1637: [SunOS] add partial support for old SunOS 5.10 Update 0 to 3.
- #1648: [Linux] sensors_temperatures() looks into an additional
/sys/device/
directory for additional data. (patch by Javad Karabi)
- #1652: [Windows] dropped support for Windows XP and Windows Server 2003.
Minimum supported Windows version now is Windows Vista.
- #1671: [FreeBSD] add CI testing/service for FreeBSD (Cirrus CI).
- #1677: [Windows] process exe() will succeed for all process PIDs (instead
of
raising AccessDenied).
- #1679: [Windows] net_connections() and Process.connections() are 10%
faster.
- #1682: [PyPy] added CI / test integration for PyPy via Travis.
- #1686: [Windows] added support for PyPy on Windows.
- #1693: [Windows] boot_time(), Process.create_time() and users()'s login
time
now have 1 micro second precision (before the precision was of 1 second).
**Bug fixes**
- #1538: [NetBSD] process cwd() may return ENOENT instead of NoSuchProcess.
- #1627: [Linux] Process.memory_maps() can raise KeyError.
- #1642: [SunOS] querying basic info for PID 0 results in FileNotFoundError.
- #1646: [FreeBSD] many Process methods may cause a segfault on FreeBSD 12.0
due to a backward incompatible change in a C type introduced in 12.0.
- #1656: [Windows] Process.memory_full_info() raises AccessDenied even for
the
current user and os.getpid().
- #1660: [Windows] Process.open_files() complete rewrite + check of errors.
- #1662: [Windows] process exe() may raise WinError 0.
- #1665: [Linux] disk_io_counters() does not take into account extra fields
added to recent kernels. (patch by Mike Hommey)
- #1672: use the right C type when dealing with PIDs (int or long). Thus far
(long) was almost always assumed, which is wrong on most platforms.
- #1673: [OpenBSD] Process connections(), num_fds() and threads() returned
improper exception if process is gone.
- #1674: [SunOS] disk_partitions() may raise OSError.
- #1684: [Linux] disk_io_counters() may raise ValueError on systems not
having /proc/diskstats.
- #1695: [Linux] could not compile on kernels <= 2.6.13 due to
PSUTIL_HAVE_IOPRIO not being defined. (patch by Anselm Kruis)
Links
=====
- Home page: https://github.com/giampaolo/psutil
- Download: https://pypi.org/project/psutil/#files
- Documentation: http://psutil.readthedocs.io
- What's new: https://github.com/giampaolo/psutil/blob/master/HISTORY.rst
--
Giampaolo - http://grodola.blogspot.com
We are happy to announce that the Call for Proposals will open on
March 9. It will be left open for three weeks and then close on:
Sunday, March 29 23:59:59 CEST
While you wait for submissions to open, please check out the Call for
Proposals details on our pre-launch website:
https://ep2020.europython.eu/call-for-proposals/
We’re looking for proposals on every aspect of Python: all levels of
programming from novice to advanced, applications, frameworks, data
science, Python projects, internals or topics which you’re excited
about, your experiences with Python and its ecosystem, creative or
artistic things you’ve done with Python, to name a few.
EuroPython is a community conference and we are eager to hear about
your use of Python.
Since feedback shows that our audience is very interested in advanced
topics, we’d appreciate more entries in this category for EuroPython
2020.
Please help spread word about Call for Proposals to anyone who might
be interested. Thanks.
Some additional updates:
------------------------
- We’re working on launching the website, CfP and ticket sales in
March.
- We are also preparing the sponsorship packages and should have them
ready early in March as well. Early bird sponsors will again receive
a 10% discount on the package price. If you’re interested in
becoming a launch sponsor, please contact our sponsor team at
sponsoring(a)europython.eu.
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/611042486524280832/europython-2020-call-for…
Tweet:
https://twitter.com/europython/status/1232708258525302784
Enjoy,
--
EuroPython 2020 Team
https://ep2020.europython.eu/https://www.europython-society.org/
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 two of the latest Python editions.
Python 3.8.2
Python 3.8.2 is the second maintenance release of Python 3.8 and contains two months worth of bug fixes. Detailed information about all changes made in 3.8.2 can be found in its change log <https://docs.python.org/release/3.8.2/whatsnew/changelog.html#python-3-8-2-…>. Note that compared to 3.8.1, version 3.8.2 also contains the changes introduced in 3.8.2rc1 and 3.8.2rc2.
The Python 3.8 series is the newest feature release of the Python language, and it contains many new features and optimizations. You can find Python 3.8.2 here:
https://www.python.org/downloads/release/python-382/ <https://www.python.org/downloads/release/python-382/>
See the “What’s New in Python 3.8 <https://docs.python.org/3.8/whatsnew/3.8.html>” document for more information about features included in the 3.8 series.
Maintenance releases for the 3.8 series will continue at regular bi-monthly intervals, with 3.8.3 planned for April 2020 (at the PyCon US sprints <https://us.pycon.org/2020/events/sprints/>).
Python 3.9.0a4
An early developer preview of Python 3.9 is also ready:
https://www.python.org/downloads/release/python-390a4/ <https://www.python.org/downloads/release/python-390a4/>
Python 3.9 is still in development. This releasee, 3.9.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 (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.
We hope you enjoy both!
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/ <https://www.python.org/psf/>
Your friendly release team,
Ned Deily
Steve Dower
Łukasz Langa
I'm pleased to announce the release of copernic v0.1.1
This project wants to be a scalable application that support a change-request
mechanic similar to github pull-request or gitlab merge-request, on any
structured data. That includes relational data, graph-like data and tabular
data. Eventually, it should scale both in terms of data size and number of
contributions.
It is powered by Django and FoundationDB.
Like wikipedia or wikidata, there is a single version of truth. In other words,
every user gets the same data. There is no per-user data repositories.
Change-request work in a way that similar to git stash. That is the diff,
additions and deletions, is stored in the database like the rest of the data.
Until the change is applied by a super user. The data part of the change-request
is invisible outside the change-request.
Once a super user applies the change, that is merely swapping a single `None`
value with a timestamp, the history is properly serialized realizing a single
branch history.
It it possible to do time traveling queries, like freebase did. It is not
exposed in the web user interface.
There is always an up-to-date image of the latest data, to speed up queries.
But the history only store the differences between successive versions.
The code is at: https://github.com/amirouche/copernic
A demo is available at: http://copernic.space/about/
The license is AGPLv3+
Enjoy!
We're pleased to announce the release of *RISE* 5.6.1!
*What is RISE?*
RISE lets you show your Jupyter notebook rendered as an executable
*Reveal.js*-based slideshow.
It is your very same notebook but in a *slidy* way!
For more information about this release, please visit the following blog
post: http://damianavila.github.io/blog/posts/rise-561-is-out.html.
Have fun!!
--
*Damián Avila*
We’re pleased to announce our official conference logo for EuroPython
2020, July 20-26, in Dublin, Ireland:
* https://ep2020.europython.eu/ *
The logo is inspired by the colors and symbols often associated with
Ireland: the shamrock and the Celtic harp. It was again created by our
designer Jessica Peña Moro from Simétriko, who had already helped us
in previous years with the conference design.
Some additional updates:
------------------------
- We’re working on launching the mein website, the CFP and ticket sales
in March.
- We are also preparing the sponsorship packages and should have them
ready early in March as well. Early bird sponsors will again receive
a 10% discount on the package price. If you’re interested in
becoming a launch sponsor, please contact our sponsor team at
sponsoring(a)europython.eu.
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/190894113857/europython-2020-presenting-our…
Tweet:
https://twitter.com/europython/status/1229770448516395008
Enjoy,
--
EuroPython 2020 Team
https://ep2020.europython.eu/https://www.europython-society.org/
Python 3.8.2rc2 is the second release candidate of the second maintenance release of Python 3.8. Go get it here:
https://www.python.org/downloads/release/python-382rc2/ <https://www.python.org/downloads/release/python-382rc2/>
Why a second release candidate?
The major reason for RC2 is that GH-16839 <https://github.com/python/cpython/pull/16839> has been reverted.
The original change was supposed to fix for some edge cases in urlparse (numeric paths, recognizing netlocs without //; details in BPO-27657 <https://bugs.python.org/issue27657>). Unfortunately it broke third parties relying on the pre-existing undefined behavior.
Sadly, the reverted fix has already been released as part of 3.8.1 (and 3.7.6 where it’s also reverted now). As such, even though the revert is itself a bug fix, it is incompatible with the behavior of 3.8.1.
Please test.
Timeline
Assuming no critical problems are found prior to 2020-02-24, the currently scheduled release date for 3.8.2 (as well as 3.9.0 alpha 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 of 3.8.2 and as such its main purpose is testing.
Maintenance releases for the 3.8 series will continue at regular bi-monthly intervals, with 3.8.3 planned for April 2020 (during sprints at PyCon US).
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 <https://docs.python.org/3.8/whatsnew/3.8.html>” document for more information about features included in the 3.8 series.
Detailed information about all changes made in version 3.8.2 specifically can be found in its change log <https://docs.python.org/release/3.8.2rc2/whatsnew/changelog.html#python-3-8…>.
We hope you enjoy Python 3.8!
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/ <https://www.python.org/psf/>
- Ł