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
<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 unpack and test/install the tarball.
Among the notable improvements from the 1.6.1 release are:
Roundup is multilingual and will run under either Python 3 or
Python 2. If you want to use Python 3, you *must read* the Python 3
Support section in the upgrading doc. Depending on the database
backend you may have to export/import the tracker. Also you will
need to make sure your tracker's Python code is Python 3
compliant. Thanks to Joseph Myers with help from Christof Meerwald.
Roundup has a rest API to go along with the existing xmlrpc
API. See doc/rest.txt for details on configuring, authorizing
access (per role) and making a request. Thanks to Ralf
Schlatterbeck who integrated and updated Chau Nguyen's GSOC code.
PGP encryption is now done using the gpg module and not the
obsolete pyme library. Thanks to Christof Meerwald.
Use of mod_python is deprecated. Apache mod_wsgi documentation
has been updated along with gunicorn and uwsgi and is the
jinja templates updated to bootstrap 4.4.1. Templates use
autoescape and translation library. Support for messages
written in markdown added. SimpleMDE used as markdown editor to
provide preview features. Thanks to Christof Meerwald.
Fixes to mysql indexing may require a database dump/restore.
The file CHANGES.txt has a detailed list of feature additions and bug
fixes for each release. The most recent changes from there are at the
end of this announcement. Also see the information in
If you find bugs, please report them to issues AT roundup-tracker.org
or create an account at https://issues.roundup-tracker.org and open a
new ticket. If you have patches to fix the issues they can be attached
to the email or uploaded to the tracker.
If you're upgrading from an older version of Roundup you *must* follow
all the "Software Upgrade" guidelines given in the doc/upgrading.txt
Roundup requires Python 2 newer than version 2.7.2 or Python 3 newer
than or equal to version 3.4 for correct operation.
The wsgi, server and cgi web deployment modes are the ones with the
To give Roundup a try, just download (see below), unpack and run::
Release info and download page:
Source and documentation is available at the website:
Mailing lists - the place to ask questions:
Roundup is a simple-to-use and install issue-tracking system with
command-line, web and e-mail interfaces. It is based on the winning design
from Ka-Ping Yee in the Software Carpentry "Track" design competition.
Note: Ping is not responsible for this project. The contact for this
project is richard(a)users.sourceforge.net.
Roundup manages a number of issues (with flexible properties such as
"description", "priority", and so on) and provides the ability to:
(a) submit new issues,
(b) find and edit existing issues, and
(c) discuss issues with other participants.
The system facilitates communication among the participants by managing
discussions and notifying interested parties when issues are edited. One of
the major design goals for Roundup that it be simple to get going. Roundup
is therefore usable "out of the box" with any Python 2.7.2+ (or 3.4+)
installation. It doesn't even need to be "installed" to be operational,
though an install script is provided.
It comes with five issue tracker templates
* a classic bug/feature tracker
* a more extensive devel tracker for bug/features etc.
* a responsive version of the devel tracker
* a jinja2 version of the devel template (work in progress)
* a minimal skeleton
and supports four database back-ends (anydbm, sqlite, mysql and postgresql).
Recent Changes (since 2.0.0beta)
- Allow to pass additional headers to nosymessage, nice if a message
needs to be marked as urgent or similar, e.g., Outlook uses an
"Importance" header, when set to "high" it highlights the message.
- issue2550926 - Original author adding a second message shouldn't set
status to 'chatting'. See upgrading.txt for details. (John Rouillard)
- issue2550919 - Anti-bot signup using 4 second delay. New config.ini
param [web] registration_delay must be set to 0 if template
user.register.html is not modified. See upgrading.txt for details.
- Reimplement -u <login>[:<password>]. This opens the database as the
user and applies expected permissions. It also creates history
entries for the user. Note that the password is unused, no mention
of it is in the spec that I can find, so not sure what it was
supposed to be used for as the CLI has full access to the files so a
password check is not useful. An edge case is when the login has a :
in it. In this case it may not work as expected. So don't do that.
- Implement Cache-Control headers for static files. Allows tracker
admin to control caching for css, js and other static files. See
customizing.html. The use is documented in the section describing
how to use interfaces.py.
- issue2551071 Update jinja template to bootstrap 4. Updated to 4.4.1.
The pull request has been around for a while. (Patch: Paul Spooren;
templates merged and additional changes by Christof Meerwald; other
merged by John Rouillard)
- Add config option 'http_auth_convert_realm_to_lowercase'
If usernames consist of a name and a domain/realm part of the form
user@realm and we're using REMOTE_USER for authentication (e.g. via
Kerberos), convert the realm part of the incoming REMOTE_USER to
lowercase before matching against the roundup username. This allows
roundup usernames to be lowercase (including the realm) and still
follow the Kerberos convention of using an uppercase realm. In
addition this is compatible with Active Directory which stores the
username with realm as UserPrincipalName in lowercase.
- Cleaned up the WSGI interface implementation by separating the
request handler from the request displatcher. Also allow
customisation of tracker instance creation via an overridable
"get_tracker" context manager.
- Allow transitive properties in @fields in REST API. These transitive
properties may not cross Multilinks, e.g., when querying 'issue' the
property 'messages.author' is not allowed (because 'messages' is a
multilink). A multilink at the end (e.g. messages in the example) is
- Added markdown rendering using markdown, markdown2 or mistune; use
SimpleMDE markdown editor in jinja2 template (Christof Meerwald)
- Allow filtering by multiple date ranges or empty date. Date ranges are
separated by comma, an empty date is represented by '-'
- issue2551083 - Replace BaseException and Exception as base classes
with new RoundupException (inheriting from Exception) for most
roundup exceptions. (John Rouillard and Ralf Schlatterbeck on
request from Robert Klonner.)
- issue2550996 - Give better error message when running with -c
(install as windows service) and pywin32 is not importable. Could use
better testing on a windows box. (John Rouillard)
- issue2550921 - Can create login name with , in it. Confuses nosy
list editing. Also can embed html tags. Updated userauditor.py
to prevent this. See updating.txt. (John Rouillard)
- issue1344046 - Search for "All text" can't find some Unicode words
(John Rouillard, Ezio Melotti)
- issue1195739 - search in russian does not work (John Rouillard, Ezio
- issue2550920 - Registration with confirmation detects duplcate name
when using validation. Added option to allow detection of duplicate
username when the user tries to register. Previously user was
rejected when confirming registration. (John Rouillard)
- French translation gave errors with Python 3 because of ISO-8859-1
character in .mo file header. (Joseph Myers)
- Fix representation of boolean html attributes to be 'required'
rather than the xhtml form of 'required="required"'. Specify
(reverted attribute value same as attribute name or) attribute
value of None, to output attribute as boolean. (John Rouillard)
Reverted (part of) this change. It breaks rendering of non-boolean
attributes (like name="name"). So only value of None renders
attribute properly as boolean. (Ralf Schlatterbeck)
- issue2551076 - in responsive template, default searches for bugs and
tasks sets status=new default should be "don't care". (Report:
Ludwig Reiter; Fix: John Rouillard)
- issue2551077 - In "jinja2" template: cannot login if German language
is used. Fixed three places where the value of a hidden @action
input field was translated. (Reported by Ludwig Reiter. John
- Document security issues in xmlrpc interface in doc/xmlrpc.txt.
- Enable autoescape in the jinja2 template and use the i18n extension
for translations. (Report: John Rouillard; Fix: Christof Meerwald)
- Cleanup code by linting using flake8. (John Rouillard)
- Cleanup code by security linting using bandit. (John Rouillard)
- issue2550912 - fixed missing query string in __came_from for jinja2
template. (Christof Meerwald)
- issue2551019 - handle character set conversions for CSV export
action in Python 3. (Christof Meerwald)
- issue2551051: Return a 403 on non-existing or non-searchable
transitive properties when queried via REST-API (same behavior for
sorting and searching).
- Fixed ReStructuredText encoding with Python 3.
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!
pip install --upgrade --pre pytest
The full changelog is available at
Thanks to all who contributed to this release, among them:
* Alfredo Deza
* Andreas Maier
* Anthony Sottile
* Bruno Oliveira
* Claire Cecil
* Curt J. Sampson
* Daniel Hahler
* Danny Sepler
* David Diaz Barquero
* Fabio Zadrozny
* Felix Nieuwenhuizen
* Florian Bruhin
* Florian Dahlitz
* Gleb Nikonorov
* Hugo van Kemenade
* Hunter Richards
* Katarzyna Król
* Katrin Leinweber
* Keri Volans
* Lewis Belcher
* Lukas Geiger
* Martin Michlmayr
* Maximilian Cosmo Sitter
* Nikolay Kondratyev
* Pavel Karateev
* Paweł Wilczyński
* Prashant Anand
* Ram Rachum
* Ran Benita
* Ronny Pfannschmidt
* Ruaridh Williamson
* Simon K
* Tim Hoffmann
* Tor Colvin
* Xinbin Huang
* Zac Hatfield-Dodds
* gaurav dhameeja
The pytest Development Team
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. Through this blog, I will be listing down the top 10 reasons to learn Python.
Python is a versatile language when needed for website development.
Python is considered instrumental in AI and data science
Python excessively and uninterruptedly used in the Internet of Things
Python highly recommended when learning to code.
Python is extremely simple and easy to learn. It is a very powerful language and it closely resembles the English language!
So, what contributes to its simplicity? Python is
Free & open source
Blessed with a large community.
Start learning Python for Data Science from basics to advance levels here...
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 Created in 2013 by the Elasticsearch community, Kibana became the Elastic Stack window to work from a single presentation for users and companies.
Find out more at the website- https://mindmajix.com/kibana-training
Demos at Convenient Time?
Batch Start Dates
Customize Course Content
Mock Interviews after Training
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 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/
Install using `pip install Nikola`.
* Default to no line numbers in code blocks, honor CodeHilite
requesting no line numbers. Listing pages still use line numbers
* Remove duplicate MathJax config in bootstrap themes (Issue #3427)
* Fix ``doit`` requirement to ``doit>=0.32.0`` (Issue #3422)
Chris Warrick <https://chriswarrick.com/>
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:
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
compared to 1.5.0. In particular, an issue where DLL loading
can fail for SciPy wheels on Windows with Python 3.6 has been
* Peter Bell
* Loïc Estève
* Philipp Thölke +
* Tyler Reddy
* Paul van Mulbregt
* Pauli Virtanen
* Warren Weckesser
A total of 7 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
Issues closed for 1.5.1
* `#9108 <https://github.com/scipy/scipy/issues/9108>`__: documentation:
scipy.spatial.KDTree vs. scipy.spatial.cKDTree
* `#12218 <https://github.com/scipy/scipy/issues/12218>`__: Type error in
stats.ks_2samp when alternative != 'two-sided-
* `#12406 <https://github.com/scipy/scipy/issues/12406>`__: DOC: Docstring
in stats.anderson function not properly formatted
* `#12418 <https://github.com/scipy/scipy/issues/12418>`__: Regression in
Pull requests for 1.5.1
* `#12280 <https://github.com/scipy/scipy/pull/12280>`__: BUG: Fixes
gh-12218, TypeError converting int to float inside...
* `#12336 <https://github.com/scipy/scipy/pull/12336>`__: BUG: KDTree
should reject complex input points
* `#12344 <https://github.com/scipy/scipy/pull/12344>`__: MAINT: Don't use
numpy's aliases of Python builtin objects.
* `#12407 <https://github.com/scipy/scipy/pull/12407>`__: DOC: Fix
docstring for dist param in anderson function
* `#12410 <https://github.com/scipy/scipy/pull/12410>`__: CI: Run the Azure
Windows Python36 32bit tests with mode 'fast'
* `#12421 <https://github.com/scipy/scipy/pull/12421>`__: Fix regression in
scipy 1.5.0 in dendogram when labels is a numpy...
* `#12462 <https://github.com/scipy/scipy/pull/12462>`__: MAINT: move
distributor_init import after __config__ import
We’re happy to announce our keynote lineup for EuroPython 2020.
* EuroPython 2020 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:
Siddha Ganju - 30 Golden Rules of Deep Learning Performance
“Watching paint dry is faster than training my deep learning model.”
“If only I had ten more GPUs, I could train my model in time.”
“I want to run my model on a cheap smartphone, but it’s probably too
heavy and slow.”
If this sounds like you, then you might like this talk.
Exploring the landscape of training and inference, we cover a myriad of
tricks that step-by-step improve the efficiency of most deep learning
pipelines, reduce wasted hardware cycles, and make them cost-effective.
We identify and fix inefficiencies across different parts of the
pipeline, including data preparation, reading and augmentation,
training, and inference.
With a data-driven approach and easy-to-replicate TensorFlow examples,
finely tune the knobs of your deep learning pipeline to get the best out
of your hardware. And with the money you save, demand a raise!
Naomi Ceder - Staying for the Community:
Building Community in the face of Covid-19
Python communities around the world, large and small are facing loss -
from the loss of in person meetups and conferences to the loss of
employment and even the potential loss of health and life. As
communities we are all confronting uncertainty and unanswered questions.
In this talk I would like to reflect on some of those questions. What
are communities doing now to preserve a sense of community in the face
of this crisis? What might we do and what options will we have for
coming events? How can we build and foster community and still keep
everyone safe? What challenges might we all face in the future? What
sources of support can we find? What are our sources of optimism and
Alejandro Saucedo - Meditations on First Deployment:
A Practical Guide to Responsible Development
As the impact of software increasingly reaches farther and wider, our
professional responsibility as developers becomes more critical to
society. The production systems we design, build and maintain often
bring inherent adversities with complex technical, societal and even
ethical challenges. The skillsets required to tackle these challenges
require us to go beyond the algorithms, and require cross-functional
collaboration that often goes beyond a single developer. In this talk
we introduce intuitive and practical insights from a few of the core
ethics themes in software including Privacy, Equity, Trust and
Transparency. We cover their importance, the growing societal
challenges, and how organisations such as The Institute for Ethical AI,
The Linux Foundation, the Association for Computer Machinery, NumFocus,
the IEEE and the Python Software Foundation are contributing to these
critical themes through standards, policy advise and open source
software initiatives. We finally will wrap up the talk with practical
steps that any individual can take to get involved and contribute to
some of these great open initiatives, and contribute to these critical
EuroPython 2020 is waiting for you
We’ve compiled a full program for the event:
- more than 120 sessions,
- more than 120 speakers from around the world,
- 4 brilliant keynotes,
- 2 exciting lightning talk blocks,
- 4 all-day tracks, with a whole track dedicated to data science topics,
- a poster track,
- a virtual social event,
- an after party,
- and lots of socializing on our conference platform.
Conference tickets are available on our registration page. We hope to
see lots of you at the conference from July 23-26. Rest assured that
we’ll make this a great event again — even within the limitations of
running the conference online.
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:
EuroPython 2020 Team
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 performed by Marcelo. I wish him all
The new repository is: https://github.com/marcelotduarte/cx_Freeze