I like to announce the release of BOTLIB 12.
BOTLIB is a python3 framework to use if you want to program IRC or XMPP bots.
Copyright (C) 2016,2017 by Bart Thate <bthate(a)dds.nl>
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE
FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY
DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
* CLI, IRC and XMPP bots.
* Object class - save/load to/from a JSON file.
* ReST server - serve saved object's over HTTP.
* RSS fetcher - echo rss feeds to IRC channels.
* UDP server - udp to bot to IRC channel.
* Watcher server - run tail -f and have output send to IRC channel.
* Email scanning - scan mbox format to searchable BOTLIB objects.
* Set export PYTHONPATH="." if the bot cannot be found by the python interpreter.
* Set export PYTHONIOENCODING="utf-8" if your shell has problems with handling utf-8 strings.
* For the XMPP server use a ~/.sleekpass file with the password in it
* Bart Thate
* botfather on #dunkbot irc.freenode.net
* bthate(a)dds.nl, thatebart(a)gmail.com
BOTLIB is code released in the Public Domain - https://bitbucket.org/bthate/botlib
<Programming> 2018 : The Art, Science, and Engineering of Programming
Mon 9 - Thu 12 April 2018 Nice, France
In 2017, we started a new conference and journal focused on everything
to do with programming, including the experience of programming, called
<Programming> for short. The first edition of <Programming> was a great
success (seehttp://twitter.com/programmingconffor testimonies).
Paper submissions and publications are handled by the journal. Accepted
papers must be presented at the conference.
CALL FOR PAPERS
<Programming> 2018 accept scholarly papers including essays that advance
the knowledge of programming. Almost anything about programming is in
scope, but in each case there should be a clear relevance to the act and
experience of programming.
August 1 2017 (Research Papers Second Submission Deadline)
December 1 2017 (Research Papers Third Submission Deadline)
We accept submissions covering several areas of expertise. These areas
include, but are not limited to:
• General-purpose programming
• Distributed systems programming
• Parallel and multi-core programming
• Graphics and GPU programming
• Security programming
• User interface programming
• Database programming
• Visual and live programming
• Data mining and machine learning programming
• Interpreters, virtual machines and compilers
• Modularity and separation of concerns
• Model-based development
• Metaprogramming and reflection
• Testing and debugging
• Program verification
• Programming education
• Programming environments
• Social coding
Research paper submissions:
August 1 2017 (Research Papers Second Submission Deadline)
December 1 2017 (Research Papers Third Submission Deadline)
Research paper first notification (for second submission deadline):
October 1 2017
Research paper final notification (for second submission deadline):
November 7 2017
Research paper first notification (for third submission deadline):
February 1 2018
Research paper final notification (for third submission deadline): March
Workshop Proposals: October 1 2017
All important dates can also be found
Manuel Serrano, INRIA France
Local Organizing Chair:
Tamara Rezk, INRIA France
Stefan Marr (workshops), Johannes Kepler University Linz
Jennifer B. Sartor (workshops), Software Languages Lab, Vrije
Universiteit Brussel Belgium
Philipp Haller (student research competition), KTH Royal Institute of
Tobias Pape (web technology), HPI - University of Potsdam
Sylvia Grewe (publicity), Technische Universität Darmstadt Germany
Guido Salvaneschi (program chair), Technische Universität Darmstadt, Germany
Davide Ancona, University of Genova, Italy
Alberto Bacchelli, Delft University of Technology, Netherlands
Shigeru Chiba, University of Tokyo, Japan
Yvonne Coady, University of Victoria, Canada
Susan Eisenbach, Imperial College London, UK
Patrick Eugster, TU Darmstadt, Germany and Purdue University, United States
Antonio Filieri, Imperial College London, UK
Matthew Flatt, University of Utah, United States
Lidia Fuentes, Universidad de Málaga, Spain
Richard P. Gabriel, Dream Songs, Inc. & HPI, California
Jeremy Gibbons, University of Oxford, UK
Yossi Gil, Israel Institute of Technology
Elisa Gonzalez Boix, Vrije Universiteit Brussel, Belgium
Phlipp Haller, KTH Royal Institute of Technology, Sweden
Matthew Hammer, University of Colorado, Boulder, United States
Felienne Hermans, Delft University of Technology, Netherlands
Robert Hirschfeld, Hasso Plattner Institute (HPI), Germany
Roberto Ierusalimschy, Pontifical Catholic University of Rio de Janeiro,
Jun Kato, National Institute of Advanced Industrial Science and
Jörg Kienzle, McGill University, Canada
Neelakantan R. Krishnaswami, University of Cambridge, UK
Ralf Lämmel, University of Koblenz-Landau, Germany
Hidehiko Masuhara, Tokyo Institute of Technology, Japan
Mira Mezini, Technische Universität Darmstadt, Germany
Emerson Murphy-Hill, North Carolina State University, United States
Mario Südholt, IMT Atlantique, Nantes, France
Sam Tobin-Hochstadt, Indiana University, United States
Eelco Visser, Delft University of Technology, Netherlands
Tijs van der Storm, CWI & University of Groningen, Netherlands
<Programming> 2018 is kindly supported by:
A new version of the Python module which wraps GnuPG has been released.
This is an enhancement and bug-fix release, and all users are encouraged to upgrade.
See the project website  for more information.
* Updated message handling logic to no longer raise exceptions when a message isn't
recognised. Thanks to Daniel Kahn Gillmor for the patch.
* Always use always use --fixed-list-mode, --batch and --with-colons. Thanks to Daniel
Kahn Gillmor for the patch.
* Improved scan_keys() handling on GnuPG >= 2.1. Thanks to Daniel Kahn Gillmor for the
* Improved test behaviour with GnuPG >= 2.1. Failures when deleting test directory trees
are now ignored. Thanks to Daniel Kahn Gillmor for the patch.
* Added close_file keyword argument to verify_file to allow the file closing to be made
optional. Current behaviour is maintained - close_file=False can be passed to skip
closing the file being verified.
* Added the extra_args keyword parameter to allow custom arguments to be passed to the
* Instances of the GPG class now have an additional on_data attribute, which defaults to
None. It can be set to a callable which will be called with a single argument - a binary
chunk of data received from the gpg executable. The callable can do whatever it likes
with the chunks passed to it - e.g. write them to a separate stream. The callable should
not raise any exceptions (unless it wants the current operation to fail).
This release  has been signed with my code signing key:
Vinay Sajip (CODE SIGNING KEY) <vina... at yahoo.co.uk>
Fingerprint: CA74 9061 914E AC13 8E66 EADB 9147 B477 339A 9B86
What Does It Do?
The gnupg module allows Python programs to make use of the
functionality provided by the Gnu Privacy Guard (abbreviated GPG or
GnuPG). Using this module, Python programs can encrypt and decrypt
data, digitally sign documents and verify digital signatures, manage
(generate, list and delete) encryption keys, using proven Public Key
Infrastructure (PKI) encryption technology based on OpenPGP.
This module is expected to be used with Python versions >= 2.4, as it
makes use of the subprocess module which appeared in that version of
Python. This module is a newer version derived from earlier work by
Andrew Kuchling, Richard Jones and Steve Traugott.
A test suite using unittest is included with the source distribution.
>>> import gnupg
>>> gpg = gnupg.GPG(gnupghome='/path/to/keyring/directory')
'uids': ['', 'Gary Gross (A test user) <gary.gr... at gamma.com>']},
'uids': ['', 'Danny Davis (A test user) <danny.da... at delta.com>']}]
>>> encrypted = gpg.encrypt("Hello, world!", ['0C5FEFA7A921FC4A'])
'-----BEGIN PGP MESSAGE-----\nVersion: GnuPG v1.4.9 (GNU/Linux)\n
-----END PGP MESSAGE-----\n'
>>> decrypted = gpg.decrypt(str(encrypted), passphrase='secret')
>>> signed = gpg.sign("Goodbye, world!", passphrase='secret')
>>> verified = gpg.verify(str(signed))
>>> print "Verified" if verified else "Not verified"
As always, your feedback is most welcome (especially bug reports ,
patches and suggestions for improvement, or any other points via the
mailing list/discussion group ).
Please refer to the documentation  for more information.
Red Dove Consultants Ltd.
An estimate of entropy of English texts is 1.34 bits per letter . This
implies that, if the letters are coded into 5 bits, one needs to
combine 4 text files in order to obtain bit sequences of full entropy, since
4*1.34 = 5.36 > 5. The method used in our software is to sum (mod 32)
values of a-z (mapped to 0-25) as 5 bits of the corresponding letters of
There are plenty of other schemes for obtaining high quality pseudo-random
sequences in practice, e.g. AES in counter mode. However our scheme seems to
be much simpler both in the underlying logic (understandability) and in
implementation and is thus a viable alternative that one could use/need
The software is available at mok-kong-shen.de
M. K. Shen
 T. M. Cover, R. C. King, A Convergent Gambling Estimate of the
English, IEEE Trans. Inf. Theory, vol. 24, 1978, pp. 413-421.
We are very happy to announce the v2.0 release of the Astropy package,
a core Python package for Astronomy:
Astropy is a community-driven Python package intended to contain much
of the core functionality and common tools needed for astronomy and
New and improved major functionality in this release includes:
* Most models now support parameters having units (i.e., being
* A new CCDData class that is directly useful for typical astronomical
images and implements the NDData interface.
* Coordinate frame objects can now carry proper motions and radial
velocities, and will carry them through and transform them between
frames. (This functionality is experimental and feedback is greatly
* Many of the typical mixin columns for astropy tables can now be
saved into ECSV files and fully round-tripped.
* The fft and direct versions of the convolution algorithm in
astropy.convolution are now more consistent and work better with
typical use cases.
* A variety of additions to the astropy.stats subpackage
In addition, hundreds of smaller improvements and fixes have been
made. An overview of the changes is provided at:
Note that the Astropy 2.x series will be the last versions of Astropy
that will support Python 2.x. Future versions of Astropy will only
support Python 3.x.
Instructions for installing Astropy are provided on our website, and
extensive documentation can be found at:
If you make use of the Anaconda Python Distribution, you can update to
Astropy v2.0 with:
conda update astropy
If you normally use pip, you can upgrade with:
pip install astropy --upgrade
Please report any issues, or request new features via our GitHub repository:
Over 232 developers have contributed code to Astropy so far, and you
can find out more about the team behind Astropy here:
Astropy v2.0 now repaces v1.0 as the long term support release, and
will be supported until the end of 2019. The next major release of
Astropy (scheduled for January 2018) will only support Python 3.x. So
if you need to use Astropy in a very stable environment in Python 2.7,
you should continue to use the 2.0.x series after 3.0.x is released.
If you use Astropy directly for your work, or as a dependency to
another package, please remember to include the following
acknowledgment at the end of papers:
“This research made use of Astropy, a community-developed core Python
package for Astronomy (Astropy Collaboration, 2013).”
where (Astropy Collaboration, 2013) is a reference to the Astropy paper:
Please feel free to forward this announcement to anyone you think
might be interested in this release! The announcement can also be
found online at http://www.astropy.org/announcements/release-2.0.html.
Special thanks to the coordinator for this release: Brigitta Sipocz.
Erik Tollerud, Tom Robitaille, Kelle Cruz, and Tom Aldcroft
on behalf of The Astropy Collaboration
I'm happy to announce pandas 0.20.3 has been released.
This is a minor bug-fix release in the 0.20.x series and includes some
small regression fixes and bug fixes. We recommend that all users upgrade
to this version.
See the v0.20.3 Whatsnew
overview for an extensive list of all enhancements and bugs that have been
fixed in 0.20.3
*What is it:*
pandas is a Python package providing fast, flexible, and expressive data
structures designed to make working with “relational” or “labeled” data
both easy and intuitive. It aims to be the fundamental high-level building
block for doing practical, real world data analysis in Python.
Additionally, it has the broader goal of becoming the most powerful and
flexible open source data analysis / manipulation tool available in any
*How to get it:*
Source tarballs and windows/mac/linux wheels are available on PyPI (thanks
to Christoph Gohlke for the windows wheels, and to Matthew Brett for
setting up the mac/linux wheels).
Conda packages currently building for conda forge, and will be available on
the default channel shortly.
Please report any issues on our issue tracker: https://github.com/pydata/
*Thanks to all the contributors:*
A total of 20 people contributed to this release. People with a “+” by
their names contributed a patch for the first time.
- Bran Yang
- Chris Kerr +
- David Gwynne
- Douglas Rudd
- Forbidden Donut +
- Jeff Reback
- Joris Van den Bossche
- Karel De Brabandere +
- Peter Quackenbush +
- Pradyumna Reddy Chinthala +
- Telt +
- Tom Augspurger
- ian +
- jdeschenes +
- kjford +
- ri938 +
On behalf of the NumPy team, I am pleased to announce the release of NumPy
1.13.1. This is a bugfix release for problems found in 1.13.0. The major
- fixes for the new memory overlap detection,
- fixes for the new temporary elision capability,
- reversion of the removal of the boolean binary ``-`` operator.
It is recommended that users of 1.13.0 upgrade to 1.13.1. Wheels can be
found on PyPI <https://pypi.python.org/pypi/numpy>. Source tarballs,
zipfiles, release notes, and the changelog are available on github
Note that the wheels for Python 3.6 are built against 3.6.1, hence will not
work when used with 3.6.0 due to Python bug #29943
<https://bugs.python.org/issue29943>. The plan is to release NumPy 1.13.2
shortly after the release of Python 3.6.2 is out with a fix that problem.
If you are using 3.6.0, the workaround is to upgrade to 3.6.1 or use an
earlier Python version.
*Pull requests merged*A total of 19 pull requests were merged for this
* #9240 DOC: BLD: fix lots of Sphinx warnings/errors.
* #9255 Revert "DEP: Raise TypeError for subtract(bool_, bool_)."
* #9261 BUG: don't elide into readonly and updateifcopy temporaries for...
* #9262 BUG: fix missing keyword rename for common block in numpy.f2py
* #9263 BUG: handle resize of 0d array
* #9267 DOC: update f2py front page and some doc build metadata.
* #9299 BUG: Fix Intel compilation on Unix.
* #9317 BUG: fix wrong ndim used in empty where check
* #9319 BUG: Make extensions compilable with MinGW on Py2.7
* #9339 BUG: Prevent crash if ufunc doc string is null
* #9340 BUG: umath: un-break ufunc where= when no out= is given
* #9371 DOC: Add isnat/positive ufunc to documentation
* #9372 BUG: Fix error in fromstring function from numpy.core.records...
* #9373 BUG: ')' is printed at the end pointer of the buffer in numpy.f2py.
* #9374 DOC: Create NumPy 1.13.1 release notes.
* #9376 BUG: Prevent hang traversing ufunc userloop linked list
* #9377 DOC: Use x1 and x2 in the heaviside docstring.
* #9378 DOC: Add $PARAMS to the isnat docstring
* #9379 DOC: Update the 1.13.1 release notes
A total of 12 people contributed to this release. People with a "+" by
names contributed a patch for the first time.
* Andras Deak +
* Bob Eldering +
* Charles Harris
* Daniel Hrisca +
* Eric Wieser
* Joshua Leahy +
* Julian Taylor
* Michael Seifert
* Pauli Virtanen
* Ralf Gommers
* Roland Kaufmann
* Warren Weckesser
On behalf of all the developers, I'm very happy to announce the release of
aiosmtpd is a re-implementation of the stdlib smtpd.py module on top of the
asyncio framework. It is compliant with the relevant RFCs (5321, 2033, etc.)
and supports both SMTP (Simple Mail Transport Protocol) and LMTP (Local Mail
Transport Protocol) out of the box. It provides for running the server both
from Python and the command line, and it is extensible both by subclassing and
by implementing your own "event handlers".
aiosmtpd is compatible with Python 3.5 and 3.6.
Changes in 1.1 include:
* Dropped support for Python 3.4. Yay for async/await!
* Better support for RFC 5321. This includes a minor backward
incompatibility: if your handler implements handle_NOOP(), the method must
now accept an argument.
* Much better support for HELP, including adding a decorator that allows
SMTP subclasses to control what shows up in HELP.
* General improvements to the command line, including adding a manpage.
* General improvements and enhancements in the Controller class.
* Fixes to several issues around STARTTLS.
Much thanks goes to all our fine contributors!
Project home: https://github.com/aio-libs/aiosmtpd
Report bugs at: https://github.com/aio-libs/aiosmtpd/issues
Git clone: https://github.com/aio-libs/aiosmtpd.git
Our Beginners’ Day host Harry Percival cannot attend EuroPython due to
personal reasons, but thanks to our brilliant community, we have
managed to find trainers who are willing to help out and run the
* Ilian Iliev
* Juan Manuel Santos
* Petr Viktorin
* Lasse Schuirmann
* Michał Bultrowicz
A big thanks for the quick offers of help. So once more, we’re pleased
to present the...
* Beginners’ Day Workshop *
We will have a Beginners’ Day workshop, on Sunday, July 9th, from
10:00 until 17:00, at the Palacongressi di Rimini (Via della Fiera 23,
Rimini), the same location as the main conference.
The session will be presented in English (although a few of the
coaches do speak other languages as well).
Please bring your laptop, as a large part of the day will be devoted
to learning Python on your own PC.
For more information and the session list, please see the Beginners’
Day workshop page on our website:
EuroPython 2017 Team
PS: Please forward or retweet to help us reach all interested parties: