From fwierzbicki at gmail.com Sat Jul 1 21:06:45 2017 From: fwierzbicki at gmail.com (fwierzbicki at gmail.com) Date: Sat, 1 Jul 2017 18:06:45 -0700 Subject: Jython 2.7.1 final released! Message-ID: On behalf of the Jython development team, I'm pleased to announce that Jython 2.7.1 final is released! We thought 2007-07-01 was the perfect time :) Thanks to Amobee for sponsoring my work on Jython, and thanks to the many contributors to Jython! Details are here: http://fwierzbicki.blogspot.com/2017/07/jython-271-final-released.html -Frank From mal at europython.eu Mon Jul 3 07:37:10 2017 From: mal at europython.eu (M.-A. Lemburg) Date: Mon, 3 Jul 2017 13:37:10 +0200 Subject: EuroPython 2017: Day tickets available Message-ID: <57e969cb-f66d-e9c2-a741-8210b9c5a340@europython.eu> We have now opened ticket sales for day tickets to EuroPython 2017 from July 9-17 in Rimini. * EuroPython 2017 Day Tickets * https://ep2017.europython.eu/en/registration/ These day passes can be bought online and are valid for the day you pick up your badge. We have again tried to make these as affordable as possible for students, pupils and postdocs: * Student day ticket: EUR 55.00 incl. 22% VAT (only available for pupils, students and postdoctoral researchers; please bring your student card or declaration from University, stating your affiliation, starting and end dates of your contract) * Personal day ticket: EUR 148.00 incl. 22% VAT (for people enjoying Python from home) * Business day ticket: EUR 215.00 excl. VAT, EUR 262.30 incl. 22% VAT (for people using Python to make a living) Full conference tickets (valid for all 8 days) at the on-desk rate are available as well, but we are no longer selling student tickets: * Personal full ticket: EUR 490.00 incl. 22% VAT (for people enjoying Python from home, including students, postdocs, etc.) * Business full ticket: EUR 720.00 excl. VAT, EUR 878.40 incl. 22% VAT (for people using Python to make a living) Please also remember to get your social event ticket for Thursday, July 13. This is not included in the above conference tickets: * EuroPython Social Event: EUR 25.00 incl. 10% VAT per person Please see our registration page for more details. Enjoy, -- EuroPython 2017 Team http://ep2017.europython.eu/ http://www.europython-society.org/ PS: Please forward or retweet to help us reach all interested parties: https://twitter.com/europython/status/881837737879449601 Thanks. From jendrikseipp at web.de Mon Jul 3 18:24:43 2017 From: jendrikseipp at web.de (Jendrik Seipp) Date: Tue, 4 Jul 2017 00:24:43 +0200 Subject: Vulture 0.15 Message-ID: vulture - Find dead code ======================== Vulture finds unused classes, functions, imports and variables in your code. This helps you cleanup and find errors in your programs. If you run it on both your library and test suite you can find untested code. Due to Python's dynamic nature, static code analyzers like vulture are likely to miss some dead code. Also, code that is only called implicitly may be reported as unused. Nonetheless, vulture can be a helpful tool for higher code quality. Download ======== https://github.com/jendrikseipp/vulture http://pypi.python.org/pypi/vulture Features ======== * fast: static code analysis * lightweight: only one module * tested: tests itself and has complete test coverage * complements pyflakes and has the same output syntax * supports Python 2.6, 2.7 and 3.x News ==== This release features 3 changes made by "Google summer of code" student Rahul Jha: * Automatically include whitelists based on imported modules (thanks @RJ722). * Add --version parameter (thanks @RJ722). * Add appveyor tests for testing on Windows (thanks @RJ722). Cheers, Jendrik From nicoddemus at gmail.com Tue Jul 4 11:33:43 2017 From: nicoddemus at gmail.com (Bruno Oliveira) Date: Tue, 04 Jul 2017 15:33:43 +0000 Subject: Pytest 3.1.3 Message-ID: Hi everyone, pytest 3.1.3 has just been released to PyPI. This is a bug-fix release, being a drop-in replacement. To upgrade:: pip install --upgrade pytest The full changelog is available at http://doc.pytest.org/en/latest/changelog.html. Thanks to all who contributed to this release, among them: * Antoine Legrand * Bruno Oliveira * Max Moroz * Raphael Pierzina * Ronny Pfannschmidt * Ryan Fitzpatrick Happy testing, The pytest Development Team From mal at europython.eu Wed Jul 5 05:37:27 2017 From: mal at europython.eu (M.-A. Lemburg) Date: Wed, 5 Jul 2017 11:37:27 +0200 Subject: =?UTF-8?Q?EuroPython_2017:_Beginners=e2=80=99_Day_workshop_revived?= Message-ID: <9f2ba3a4-18e1-9db1-b8ab-f906187444d8@europython.eu> 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 workshop: * 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 * https://ep2017.europython.eu/en/events/beginners-day/ 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: https://ep2017.europython.eu/en/events/beginners-day/ Enjoy, -- EuroPython 2017 Team http://ep2017.europython.eu/ http://www.europython-society.org/ PS: Please forward or retweet to help us reach all interested parties: https://twitter.com/europython/status/882532425636753408 Thanks. From barry at python.org Thu Jul 6 11:49:32 2017 From: barry at python.org (Barry Warsaw) Date: Thu, 6 Jul 2017 11:49:32 -0400 Subject: aiosmtpd 1.1 Message-ID: <20170706114932.1c778f11@presto.wooz.org> Hi! On behalf of all the developers, I'm very happy to announce the release of aiosmtpd 1.1. 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 Documentation: http://aiosmtpd.readthedocs.io/ StackOverflow: https://stackoverflow.com/questions/tagged/aiosmtpd Cheers, -Barry From charlesr.harris at gmail.com Thu Jul 6 22:20:18 2017 From: charlesr.harris at gmail.com (Charles R Harris) Date: Thu, 6 Jul 2017 20:20:18 -0600 Subject: NumPy 1.13.1 released Message-ID: Hi All, 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 changes are: - 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 . 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 . 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 release. * #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 *Contributors* A total of 12 people contributed to this release. People with a "+" by their 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 From tom.augspurger88 at gmail.com Fri Jul 7 18:03:01 2017 From: tom.augspurger88 at gmail.com (Tom Augspurger) Date: Fri, 7 Jul 2017 17:03:01 -0500 Subject: ANN: pandas v0.20.3 released Message-ID: Hi all, 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 Tom --- *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 language. *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. *Issues:* Please report any issues on our issue tracker: https://github.com/pydata/ pandas/issues *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 - Chris Kerr + - DSM - David Gwynne - Douglas Rudd - Forbidden Donut + - Jeff Reback - Joris Van den Bossche - Karel De Brabandere + - Peter Quackenbush + - Pradyumna Reddy Chinthala + - Telt + - Tom Augspurger - chris-b1 - gfyoung - ian + - jdeschenes + - kjford + - ri938 + From erik.tollerud at gmail.com Sat Jul 8 00:24:33 2017 From: erik.tollerud at gmail.com (Erik Tollerud) Date: Sat, 8 Jul 2017 00:24:33 -0400 Subject: ANN: Astropy v2.0 released Message-ID: Dear colleagues, We are very happy to announce the v2.0 release of the Astropy package, a core Python package for Astronomy: http://www.astropy.org Astropy is a community-driven Python package intended to contain much of the core functionality and common tools needed for astronomy and astrophysics. New and improved major functionality in this release includes: * Most models now support parameters having units (i.e., being Quantity objects). * 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 desired.) * 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: http://docs.astropy.org/en/stable/whatsnew/2.0.html 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: http://docs.astropy.org 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: https://github.com/astropy/astropy/issues Over 232 developers have contributed code to Astropy so far, and you can find out more about the team behind Astropy here: http://www.astropy.org/team.html 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: http://dx.doi.org/10.1051/0004-6361/201322068 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 From nad at python.org Sat Jul 8 01:22:32 2017 From: nad at python.org (Ned Deily) Date: Sat, 8 Jul 2017 01:22:32 -0400 Subject: [RELEASE] Python 3.6.2rc2 is now available for testing Message-ID: <4B22E08B-9C6C-47F6-B908-CC7676D43B77@python.org> On behalf of the Python development community and the Python 3.6 release team, I would like to announce the availability of Python 3.6.2rc2. 3.6.2rc2 is the second release candidate for Python 3.6.2, the next maintenance release of Python 3.6. 3.6.2rc2 includes fixes for three security-related issues resolved since the previous release candidate; see the change log (link below). While 3.6.2rc2 is a preview release and, thus, not intended for production environments, we encourage you to explore it and provide feedback via the Python bug tracker (https://bugs.python.org). Please see "What?s New In Python 3.6" for more information: https://docs.python.org/3.6/whatsnew/3.6.html You can find Python 3.6.2rc2 here: https://www.python.org/downloads/release/python-362rc2/ and its change log here: https://docs.python.org/3.6/whatsnew/changelog.html#python-3-6-2-release-candidate-2 3.6.2 is now planned for final release on 2017-07-17 with the next maintenance release expected to follow in about 3 months. More information about the 3.6 release schedule can be found here: https://www.python.org/dev/peps/pep-0494/ -- Ned Deily nad at python.org -- [] From mok-kong.shen at t-online.de Sun Jul 9 06:33:12 2017 From: mok-kong.shen at t-online.de (Mok-Kong Shen) Date: Sun, 9 Jul 2017 12:33:12 +0200 Subject: ANN: TEXTCOMBINE-SP Message-ID: An estimate of entropy of English texts is 1.34 bits per letter [1]. This implies that, if the letters are coded into 5 bits, one needs to appropriately 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) the coded values of a-z (mapped to 0-25) as 5 bits of the corresponding letters of the text files. 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 under circumstances. The software is available at mok-kong-shen.de M. K. Shen ------------------------------------------------------------------------ [1] T. M. Cover, R. C. King, A Convergent Gambling Estimate of the Entropy of English, IEEE Trans. Inf. Theory, vol. 24, 1978, pp. 413-421. From Stefan.Richthofer at gmx.de Mon Jul 10 16:23:06 2017 From: Stefan.Richthofer at gmx.de (Stefan Richthofer) Date: Mon, 10 Jul 2017 22:23:06 +0200 Subject: pytypes 1.0 beta 1 released Message-ID: After many months of work, we proudly announce the first beta release of pytypes. (https://github.com/Stewori/pytypes) pytypes is a toolbox for PEP-484 style typing, explicitly supporting Python >= 3.3, Python 2.7, Jython >= 2.7.1, PyPy 3 (others not tested, but might work). Its main features are - decorators and profiler for runtime typechecking - decorators for typesafe override checking of methods - easily pull type information from stubfiles into __annotations__ - get_type_hints: workable backport to Python 2.7 (based on type comments) - get_type_hints: variant that also takes stubfiles into account - utility functions is_of_type(obj, tp) and is_subtype(subtype, supertype) for use with PEP 484 types - decorator and profiler for generating stubfiles from type information observed and logged at runtime - all these features work equally well on Python 2.7 - all these features smoothly work with OOP, i.e. methods, static methods, class methods, properties This beta release is intended to allow testing of pytypes' approaches in real-world code. Please check to what extend it suites your needs and help us to improve it. Github: https://github.com/Stewori/pytypes/releases PyPI: https://pypi.python.org/pypi/pytypes License: Apache 2.0 Enjoy! -Stefan From vinay_sajip at yahoo.co.uk Mon Jul 10 17:40:56 2017 From: vinay_sajip at yahoo.co.uk (Vinay Sajip) Date: Mon, 10 Jul 2017 21:40:56 +0000 (UTC) Subject: ANN: A new version (0.4.1) of python-gnupg has been released. References: <1241259385.3956741.1499722856981.ref@mail.yahoo.com> Message-ID: <1241259385.3956741.1499722856981@mail.yahoo.com> A new version of the Python module which wraps GnuPG has been released. What Changed? ============= This is an enhancement and bug-fix release, and all users are encouraged to upgrade. See the project website [1] for more information. Brief summary: * 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 ??patch. * 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 ??gpg executable. * 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 [2] has been signed with my code signing key: Vinay Sajip (CODE SIGNING KEY) 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. Simple usage: >>> import gnupg >>> gpg = gnupg.GPG(gnupghome='/path/to/keyring/directory') >>> gpg.list_keys() [{ ... 'fingerprint': 'F819EE7705497D73E3CCEE65197D5DAC68F1AAB2', 'keyid': '197D5DAC68F1AAB2', 'length': '1024', 'type': 'pub', 'uids': ['', 'Gary Gross (A test user) ']}, { ... 'fingerprint': '37F24DD4B918CC264D4F31D60C5FEFA7A921FC4A', 'keyid': '0C5FEFA7A921FC4A', 'length': '1024', ... 'uids': ['', 'Danny Davis (A test user) ']}] >>> encrypted = gpg.encrypt("Hello, world!", ['0C5FEFA7A921FC4A']) >>> str(encrypted) '-----BEGIN PGP MESSAGE-----\nVersion: GnuPG v1.4.9 (GNU/Linux)\n \nhQIOA/6NHMDTXUwcEAf . -----END PGP MESSAGE-----\n' >>> decrypted = gpg.decrypt(str(encrypted), passphrase='secret') >>> str(decrypted) 'Hello, world!' >>> signed = gpg.sign("Goodbye, world!", passphrase='secret') >>> verified = gpg.verify(str(signed)) >>> print "Verified" if verified else "Not verified" 'Verified' As always, your feedback is most welcome (especially bug reports [3], patches and suggestions for improvement, or any other points via the mailing list/discussion group [4]). Please refer to the documentation [5] for more information. Enjoy! Cheers Vinay Sajip Red Dove Consultants Ltd. [1] https://bitbucket.org/vinay.sajip/python-gnupg [2] https://pypi.python.org/pypi/python-gnupg/0.4.1 [3] https://bitbucket.org/vinay.sajip/python-gnupg/issues [4] https://groups.google.com/forum/#!forum/python-gnupg [5] https://gnupg.readthedocs.io/en/latest/? From grewe at st.informatik.tu-darmstadt.de Tue Jul 11 17:17:48 2017 From: grewe at st.informatik.tu-darmstadt.de (Sylvia Grewe) Date: Tue, 11 Jul 2017 23:17:48 +0200 Subject: 2018: 2nd Call for Papers Message-ID: <33d114af-6256-ec0f-baba-9426c1ec77ab@st.informatik.tu-darmstadt.de> ------------------------------------------------------------------------------------ 2018 : The Art, Science, and Engineering of Programming Mon 9 - Thu 12 April 2018 Nice, France http://2018.programming-conference.org/ In 2017, we started a new conference and journal focused on everything to do with programming, including the experience of programming, called for short. The first edition of 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 ******************************************************** 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. PAPER SUBMISSIONS: 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 ******************************************************** IMPORTANT DATES ******************************************************** 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 7 2018 Workshop Proposals: October 1 2017 All important dates can also be found athttp://programming-journal.org/timeline/ ******************************************************** ORGANIZATION ******************************************************** General Chair: Manuel Serrano, INRIA France Local Organizing Chair: Tamara Rezk, INRIA France Organizing Committee: 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 Technology, Sweden Tobias Pape (web technology), HPI - University of Potsdam Sylvia Grewe (publicity), Technische Universit?t Darmstadt Germany Program Committee: 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, Brazil Jun Kato, National Institute of Advanced Industrial Science and Technology, Japan 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 ******************************************************** 2018 is kindly supported by: ACM In-Cooperation SIGPLAN (In-cooperation) SIGSOFT (In-cooperation) INRIA France AOSA ******************************************************** From jendrikseipp at web.de Wed Jul 12 15:29:23 2017 From: jendrikseipp at web.de (Jendrik Seipp) Date: Wed, 12 Jul 2017 21:29:23 +0200 Subject: Vulture 0.16 Message-ID: <9f961689-b591-79c8-b76f-306f860363c3@web.de> vulture - Find dead code ======================== Vulture finds unused classes, functions, imports and variables in your code. This helps you cleanup and find errors in your programs. If you run it on both your library and test suite you can find untested code. Due to Python's dynamic nature, static code analyzers like vulture are likely to miss some dead code. Also, code that is only called implicitly may be reported as unused. Nonetheless, vulture can be a helpful tool for higher code quality. Download ======== https://github.com/jendrikseipp/vulture http://pypi.python.org/pypi/vulture Features ======== * fast: static code analysis * lightweight: only one module * tested: tests itself and has complete test coverage * complements pyflakes and has the same output syntax * supports Python 2.6, 2.7 and 3.x News ==== * Differentiate between unused classes and functions (thanks @RJ722). * Add --sort-by-size option (thanks @jackric and @RJ722). * Count imports as used if they are accessed as module attributes. Cheers, Jendrik From thatebart at gmail.com Wed Jul 12 09:29:19 2017 From: thatebart at gmail.com (Bart Thate) Date: Wed, 12 Jul 2017 06:29:19 -0700 (PDT) Subject: ANN: BOTLIB - Framework to program bots. Message-ID: <43f0e819-9578-4f7f-a96a-35feb255274f@googlegroups.com> 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 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. PROVIDES: * 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. SETUP: * 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 CONTACT: * Bart Thate * botfather on #dunkbot irc.freenode.net * bthate at dds.nl, thatebart at gmail.com BOTLIB is code released in the Public Domain - https://bitbucket.org/bthate/botlib From admin at shalmirane.com Thu Jul 13 14:26:52 2017 From: admin at shalmirane.com (Ken Kundert) Date: Thu, 13 Jul 2017 11:26:52 -0700 Subject: QuantiPhy 2.0 Message-ID: <20170713182652.GA20142@kundert.designers-guide.com> QuantiPhy -- Physical Quantities ================================ QuantiPhy is a Python library that offers support for physical quantities. A quantity is the pairing of a number and a unit of measure that indicates the amount of some measurable thing. QuantiPhy provides quantity objects that keep the units with the number, making it easy to share them as single object. They subclass float and so can be used anywhere a number is appropriate. QuantiPhy naturally supports SI scale factors, which are widely used in science and engineering. SI scale factors make it possible to cleanly represent both very large and very small quantities in a form that is both easy to read and write. While generally better for humans, no general programming language provides direct support for reading or writing quantities with SI scale factors, making it difficult to write software that communicates effectively with humans. QuantiPhy addresses this deficiency, making it natural and simple to both input and output physical quantities. Features -------- * Flexibly reads amounts with units and SI scale factors. * Quantities subclass the float class and so can be used as conventional numbers. * Generally includes the units when printing or converting to strings and by default employs SI scale factors. * Flexible unit conversion and scaling is supported to make it easy to convert to or from any required form. * Provides a small but extensible collection of physical constants. Download -------- https://github.com/KenKundert/quantiphy https://pypi.python.org/pypi/quantiphy Documentation ------------- https://quantiphy.readthedocs.io/en/stable/ News ---- This is the first formal production release. With this release the API is considered mature and fully supported. Cheers, Ken From michele.simionato at gmail.com Sat Jul 15 09:33:08 2017 From: michele.simionato at gmail.com (Michele Simionato) Date: Sat, 15 Jul 2017 06:33:08 -0700 (PDT) Subject: decorator 4.1 is out Message-ID: <4ac8d3f7-493b-4d90-b63f-98b27d2dc37c@googlegroups.com> Dear all, a new release of the decorator module is out. For the first time we support decorating Python 3.5 coroutines. For instance, this is an example of how to implement a tracing decorator called log_start_stop that you can use for debugging: import time import logging from asyncio import get_event_loop, sleep, wait from decorator import decorator @decorator async def log_start_stop(coro, *args, **kwargs): logging.info('Starting %s%s', coro.__name__, args) t0 = time.time() await coro(*args, **kwargs) dt = time.time() - t0 logging.info('Ending %s%s after %d seconds', coro.__name__, args, dt) @log_start_stop async def make_task(n): for i in range(n): await sleep(1) if __name__ == '__main__': logging.basicConfig(level=logging.INFO) tasks = [make_task(3), make_task(2), make_task(1)] get_event_loop().run_until_complete(wait(tasks)) You will get an output like this: INFO:root:Starting make_task(1,) INFO:root:Starting make_task(3,) INFO:root:Starting make_task(2,) INFO:root:Ending make_task(1,) after 1 seconds INFO:root:Ending make_task(2,) after 2 seconds INFO:root:Ending make_task(3,) after 3 seconds Also, for the first time the documentation is hosted on readthedocs.org. Here are the relevant links: Download: https://pypi.python.org/pypi/decorator/4.1.1 Project: https://github.com/micheles/decorator/ Docs: http://decorator.readthedocs.io/en/latest/index.html From nad at python.org Mon Jul 17 01:50:33 2017 From: nad at python.org (Ned Deily) Date: Mon, 17 Jul 2017 01:50:33 -0400 Subject: [RELEASE] Python 3.6.2 is now available Message-ID: On behalf of the Python development community and the Python 3.6 release team, I am happy to announce the availability of Python 3.6.2, the second maintenance release of Python 3.6. 3.6.0 was released on 2016-12-22 to great interest and we are now providing the second set of bugfixes and documentation updates for it; the first maintenance release, 3.6.1, was released on 2017-03-31. Detailed information about the changes made in 3.6.2 can be found in the change log here: https://docs.python.org/3.6/whatsnew/changelog.html#python-3-6-2 Please see "What?s New In Python 3.6" for more information about the new features in Python 3.6: https://docs.python.org/3.6/whatsnew/3.6.html You can download Python 3.6.2 here: https://www.python.org/downloads/release/python-362/ The next maintenance release of Python 3.6 is expected to follow in about 3 months, around the end of 2017-09. More information about the 3.6 release schedule can be found here: https://www.python.org/dev/peps/pep-0494/ Enjoy! P.S. If you need to download the documentation set for 3.6.2 immediately, you can always find the release version here: https://docs.python.org/release/3.6.2/download.html The most current updated versions will appear here: https://docs.python.org/3.6/ -- Ned Deily nad at python.org -- [] From paul.l.kehrer at gmail.com Mon Jul 17 11:52:10 2017 From: paul.l.kehrer at gmail.com (Paul Kehrer) Date: Mon, 17 Jul 2017 11:52:10 -0400 Subject: PyCA cryptography 2.0 released Message-ID: PyCA cryptography 2.0 has been released to PyPI. cryptography includes both high level recipes and low level interfaces to common cryptographic algorithms such as symmetric ciphers, message digests, and key derivation functions. We support Python 2.6-2.7, Python 3.4+, and PyPy. * BACKWARDS INCOMPATIBLE: Support for Python 3.3 has been dropped. * We now ship manylinux1 wheels linked against OpenSSL 1.1.0f. These wheels will be automatically used with most Linux distributions if you are running the latest pip. * Deprecated the use of signer on RSAPrivateKey, DSAPrivateKey, and EllipticCurvePrivateKey in favor of sign. * Deprecated the use of verifier on RSAPublicKey, DSAPublicKey, and EllipticCurvePublicKey in favor of verify. * Added support for parsing SignedCertificateTimestamp objects from X.509 certificate extensions. * Added support for ChaCha20Poly1305. * Added support for AESCCM. * Added AESGCM, a ?one shot? API for AES GCM encryption. * Added support for X25519 key exchange. * Added support for serializing and deserializing Diffie-Hellman parameters with load_pem_parameters(), load_der_parameters(), and parameter_bytes() . * The extensions attribute on Certificate, CertificateSigningRequest, CertificateRevocationList, and RevokedCertificate now caches the computed Extensions object. There should be no performance change, just a performance improvement for programs accessing the extensions attribute multiple times. Thanks to all the contributors! -Paul Kehrer (reaperhulk) From jendrikseipp at web.de Mon Jul 17 17:50:41 2017 From: jendrikseipp at web.de (Jendrik Seipp) Date: Mon, 17 Jul 2017 23:50:41 +0200 Subject: Vulture 0.17 and 0.18 Message-ID: vulture - Find dead code ======================== Vulture finds unused classes, functions, imports and variables in your code. This helps you cleanup and find errors in your programs. If you run it on both your library and test suite you can find untested code. Due to Python's dynamic nature, static code analyzers like vulture are likely to miss some dead code. Also, code that is only called implicitly may be reported as unused. Nonetheless, vulture can be a helpful tool for higher code quality. Download ======== https://github.com/jendrikseipp/vulture http://pypi.python.org/pypi/vulture Features ======== * fast: static code analysis * lightweight: only one module * tested: tests itself and has complete test coverage * complements pyflakes and has the same output syntax * supports Python 2.6, 2.7 and 3.x News ==== 0.18 (2017-07-17) ----------------- * Make `--sort-by-size` faster and more accurate (thanks @RJ722). 0.17 (2017-07-17) ----------------- * Add `get_unused_code()` method. * Return with exit code 1 when syntax errors are found or files can't be read. Cheers, Jendrik From njs at pobox.com Tue Jul 18 03:43:13 2017 From: njs at pobox.com (Nathaniel Smith) Date: Tue, 18 Jul 2017 00:43:13 -0700 Subject: [ANN] trustme v0.1.0 - #1 quality TLS certs while you wait, for the discerning tester Message-ID: Hi all, I just released a new package: trustme You wrote a cool network client or server. You encrypt your connections using TLS. Your test suite needs to make TLS connections. Uh oh. Your test suite *probably* doesn't have a valid TLS certificate. Now what? ``trustme`` is a tiny Python package that does one thing: it gives you a fake certificate authority (CA) that you can use to generate fake TLS certs to use in your tests. Well, technically they're real certs, they're just signed by your CA, which nobody trusts. But you can trust it. Trust me. Download: https://pypi.org/project/trustme/ Github: https://github.com/python-trio/trustme Share and enjoy, -n -- Nathaniel J. Smith -- https://vorpus.org From aude at codingame.com Wed Jul 19 12:44:38 2017 From: aude at codingame.com (Aude Barral, CodinGame) Date: Wed, 19 Jul 2017 18:44:38 +0200 Subject: Your feedback on our free Advanced Python tutorial Message-ID: Hi everyone, I am co-founder of a startup called CodinGame. A few days ago we've launched a project: Tech.io . It's a free knowledge-sharing platform that allows tech professionals to learn new programming concepts through hands-on content crafted by volunteers in the community. Everything runs on our backend. Our system relies on Docker images so we can play tutorials and demos of virtually any technology from the browser. So why this project? Because as more and more resources over the Internet now need to be paid for (Udacity, Udemy, etc), we want to foster free online technology education thanks to peer learning. In a sense, we'd like to become some kind of Wikipedia for tech. One of the first tutorials our contributors published is about Advanced Python Features (hope more will be published soon!): https://tech.io/play grounds/500/advanced-python-features/advanced-python-features I have 2 questions for you: - Do you think this tutorial could be helpful to your Python user community? - Would you be willing to help us spread the word about Tech.io? Thanks a lot for checking, Cheers! Aude *Aude BARRAL*, Co-Founder +33 674 632 708 [image: https://fr.linkedin.com/in/audebarral] From anthony.tuininga at gmail.com Mon Jul 24 13:52:53 2017 From: anthony.tuininga at gmail.com (Anthony Tuininga) Date: Mon, 24 Jul 2017 11:52:53 -0600 Subject: cx_Oracle 6.0rc2 Message-ID: What is cx_Oracle? cx_Oracle is a Python extension module that enables access to Oracle Database for Python 3.x and 2.x and conforms to the Python database API 2.0 specifications with a number of enhancements. Where do I get it? https://oracle.github.io/python-cx_Oracle The easiest method to install cx_Oracle 6.0rc1 is via pip as in python -m pip install cx_Oracle --upgrade --pre Note that the --pre option is required since this is a prerelease. What's new? This release continues to focus on correcting issues discovered over the past month and polishing items in preparation for a production release. The full release notes can be read here: http://cx-oracle.readthedocs.io/en/latest/releasenotes.html#version-6-0-rc-2-july-2017 Please provide any feedback via GitHub issues (https://github.com/oracle/ python-cx_Oracle/issues). From jendrikseipp at web.de Wed Jul 26 04:50:57 2017 From: jendrikseipp at web.de (Jendrik Seipp) Date: Wed, 26 Jul 2017 10:50:57 +0200 Subject: Vulture 0.20 Message-ID: Vulture - Find dead code ======================== Vulture finds unused code in Python programs. This is useful for cleaning up and finding errors in large code bases. If you run Vulture on both your library and test suite you can find untested code. Due to Python's dynamic nature, static code analyzers like Vulture are likely to miss some dead code. Also, code that is only called implicitly may be reported as unused. Nonetheless, Vulture can be a very helpful tool for higher code quality. Download ======== https://github.com/jendrikseipp/vulture http://pypi.python.org/pypi/vulture Features ======== * fast: static code analysis * lightweight: only one module * tested: tests itself and has complete test coverage * complements pyflakes and has the same output syntax * supports Python 2.6, 2.7 and 3.x News ==== 0.20 (2017-07-26) ----------------- * Report unused tuple assignments as dead code. * Report attribute names that have the same names as variables as dead code. * Let Item class inherit from ``object`` (thanks @RJ722). * Handle names imported as aliases like all other used variable names. * Rename Vulture.used_vars to Vulture.used_names. * Use function for determining which imports to ignore. * Only try to import each whitelist file once. * Store used names and used attributes in sets instead of lists. * Fix estimating the size of code containing ellipses (...). * Refactor and simplify code. Cheers, Jendrik From larry at hastings.org Tue Jul 25 04:37:02 2017 From: larry at hastings.org (Larry Hastings) Date: Tue, 25 Jul 2017 01:37:02 -0700 Subject: RELEASED] Python 3.4.7rc1 and Python 3.5.4rc1 are now available Message-ID: On behalf of the Python development community and the Python 3.4 and Python 3.5 release teams, I'm relieved to announce the availability of Python 3.4.7rc1 and Python 3.5.4rc1. Python 3.4 is now in "security fixes only" mode. This is the final stage of support for Python 3.4. Python 3.4 now only receives security fixes, not bug fixes, and Python 3.4 releases are source code only--no more official binary installers will be produced. Python 3.5.4 will be the final 3.5 release in "bug fix" mode. After 3.5.4 is released, Python 3.5 will also move into "security fixes mode". Both these releases are "release candidates". They should not be considered the final releases, although the final releases should contain only minor differences. Python users are encouraged to test with these releases and report any problems they encounter. You can find Python 3.4.7rc1 here: https://www.python.org/downloads/release/python-347rc1/ And you can find Python 3.5.4rc1 here: https://www.python.org/downloads/release/python-354rc1/ Python 3.4.7 final and Python 3.5.4 final are both scheduled for release on August 6th, 2017. Happy Pythoning, //arry/ From robin at alldunn.com Mon Jul 24 23:47:16 2017 From: robin at alldunn.com (Robin Dunn) Date: Mon, 24 Jul 2017 20:47:16 -0700 Subject: wxPython 4.0.0b1 Message-ID: <5976BF44.4090907@alldunn.com> Announcing wxPython 4.0.0b1 =========================== PyPI: https://pypi.python.org/pypi/wxPython/4.0.0b1 Extras: https://extras.wxPython.org/wxPython4/extras/ Changes in this release include the following: * Various little tweaks and fixes in some of the demo samples. * Fixes in wx.lib.imagebrowser so it looks and acts better on OSX. * Fixed problem due to wxModules not being initialized when non-core extensions are imported. * Fixed issue in wx.TreeItemId comparison methods affecting PyCrust and other tools. * Restore the simplified names for the wxGridSelectionModes enum that were present in Classic. * Add accessors for the internal widgets in the wx.EditableListBox. * Fixes in wx.lib.eventwatcher to avoid deprecated methods and other Phoenix related changes. * Correctly transfer ownership of the input stream in wx.FSFile. * Ensure the license files are getting into the source tarball and the binary wheel files. * Add wrappers for the classes derived from wxImageHandler. * Fix wx.lib.plot.polyline to not attempt to draw the spline if there are less than 3 points. * Transfer the ownership of the prop arg in wx.propgrid.PGProperty.AddChild and AddPrivateChild. Various other fixes in wx.propgrid classes for backwards compatibility and to fix problems caused by mismatches between customizations that were done for Classic and how Phoenix does things by default. Also solved some problems in the PropertyGrid sample in the demo. * Add missing HtmlCell.FindCellByPos. * Enhance the DLG_UNIT convenience function such that if something other than a wx.Point or wx.Size was passed in then the return value will be a tuple. This eliminates some surprises that are possible due to auto-conversion of tuples to points or sizes. What is wxPython? ----------------- wxPython is a cross-platform GUI toolkit for the Python programming language. It allows Python programmers to create programs with a robust, highly functional graphical user interface, simply and easily. It is implemented as a set of Python extension modules that wrap the GUI components of the popular wxWidgets cross platform library, which is written in C++. Supported platforms are Microsoft Windows, Mac OS X and macOS, and Linux or other unix-like systems with GTK2 or GTK3 libraries. In most cases the native widgets are used on each platform to provide a 100% native look and feel for the application. What is wxPython Phoenix? ------------------------- wxPython's Project Phoenix is a new from-the-ground-up implementation of wxPython, created with the intent of making wxPython ?better, stronger, faster than he was before.? In other words, this new implementation is focused on improving speed, maintainability and extensibility of wxPython, as well as removing most of the cruft that had accumulated over the long life of Classic wxPython. The project has been in development off and on, mostly behind the scenes, for many years. For the past few years automated snapshot builds have been available for those adventurous enough to try it, and many people eventually started using the snapshots in their projects, even for production releases. While there are still some things on the periphery that need to be completed, the core of the new wxPython extension modules which wrap the wxWidgets code has been stable for a long time now. Due to some things being cleaned up, reorganized, simplified and dehackified wxPython Phoenix is not completely backwards compatible with wxPython Classic. This is intended. In general, however, the API differences tend to be minor and some applications can use Phoenix with slight, or even no modifications. In some other cases the correct way to do things was also available in Classic and it's only the wrong way that has been removed from Phoenix. For more information there is a Migration Guide document available at: https://docs.wxpython.org/MigrationGuide.html The new wxPython API reference documentation, including all Python-specific additions and customizations, and docs for the wx.lib package, is located at: https://docs.wxpython.org/ Happy Hacking! -- Robin Dunn Software Craftsman http://wxPython.org From jendrikseipp at web.de Wed Jul 26 10:14:42 2017 From: jendrikseipp at web.de (Jendrik Seipp) Date: Wed, 26 Jul 2017 16:14:42 +0200 Subject: Vulture 0.21 Message-ID: <25e85ddf-7f75-a7d9-2ae0-ade8c28c9921@web.de> Vulture - Find dead code ======================== Vulture finds unused code in Python programs. This is useful for cleaning up and finding errors in large code bases. If you run Vulture on both your library and test suite you can find untested code. Due to Python's dynamic nature, static code analyzers like Vulture are likely to miss some dead code. Also, code that is only called implicitly may be reported as unused. Nonetheless, Vulture can be a very helpful tool for higher code quality. Download ======== https://github.com/jendrikseipp/vulture http://pypi.python.org/pypi/vulture Features ======== * fast: static code analysis * lightweight: only one module * tested: tests itself and has complete test coverage * complements pyflakes and has the same output syntax * supports Python 2.6, 2.7 and 3.x News ==== 0.21 (2017-07-26) ----------------- * If an unused item is defined multiple times, report it multiple times. * Make size estimates for function calls more accurate. * Create wheel files for Vulture (thanks @RJ722). Cheers, Jendrik From paul.l.kehrer at gmail.com Wed Jul 26 16:35:03 2017 From: paul.l.kehrer at gmail.com (Paul Kehrer) Date: Wed, 26 Jul 2017 13:35:03 -0700 Subject: PyCA cryptography 2.0.1 released Message-ID: PyCA cryptography 2.0.1 has been released to PyPI. cryptography includes both high level recipes and low level interfaces to common cryptographic algorithms such as symmetric ciphers, message digests, and key derivation functions. We support Python 2.6-2.7, Python 3.4+, and PyPy. * Fixed a compilation bug affecting OpenBSD. * Altered the manylinux1 wheels to statically link OpenSSL instead of dynamically linking and bundling the shared object. This should resolve crashes seen when using uwsgi or other binaries that link against OpenSSL independently. * Fixed the stack level for the signer and verifier warnings. -Paul Kehrer (reaperhulk) From thatebart at gmail.com Fri Jul 28 09:40:34 2017 From: thatebart at gmail.com (Bart Thate) Date: Fri, 28 Jul 2017 06:40:34 -0700 (PDT) Subject: BOTLIB #18 Framework to program bots announced Message-ID: <3a4eea35-7248-4afe-a548-92b6c945833c@googlegroups.com> I like to announce the release of BOTLIB version 18 into the Public Domain. BOTLIB #18 - Framework to program bots - http://botlib.readthedocs.io/en/latest/ #ggz #evrm #dooddoorgif README BOTLIB is a python3 framework to use if you want to program IRC or XMPP bots. provides 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. JSON backend - objects are stored as json string in files on the fs. Db - iteration over stored objects. Timestamp - time based filenames gives logging capabilities Future - future sensors should provide entry to the logger. setup 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 source botlib.bot bot base class. botlib.cli command line interfacce bot, gives a shell prompt to issue bot commands. botlib.clock timer, repeater and other clock based classes. botlib.cmnds botlib basic commands. botlib.compose construct a object into it?s type. botlib.engine select.epoll event loop, easily interrup_table esp. versus a blocking event loop. botlib.db JSON file db. botlib.error botlib exceptions. botlib.event event handling classes. botlib.fleet fleet is a list of bots. botlib.handler schedule events. botlib.irc IRC bot class. botlib.kernel program boot and module loading. botlib.launcher a launcher launches threads (or tasks in this case). botlib.log log module to set standard format of logging. botlib.object JSON file backed object with dotted access. botlib.raw raw output using print. botlib.rss rss module. botlib.selector functions used in code to select what objects to use. botlib.task adapted thread to add extra functionality to threads. botlib.trace functions concering stack trace. botlib.users class to access user records. botlib.xmpp XMPP bot class. botlib.register object with list for multiple values. botlib.rest rest interface. botlib.runner threaded loop to run tasks on. botlib.space central module to store objects in. botlib.static static definitions. botlib.template cfg objects containing default values for various services and plugins. botlib.test plugin containing test commands and classes. botlib.udp relay txt through a udp port listener. botlib.utils lib local helper functions. botlib.url functions that fetch data from url. botlib.watcher watch files. contact Bart Thate botfather on #dunkbot irc.freenode.net bthate at dds.nl, thatebart at gmail.com BOTLIB is released in the Public Domain - https://bitbucket.org/bthate/botlib From cedric.krier at b2ck.com Sat Jul 29 13:19:18 2017 From: cedric.krier at b2ck.com (=?UTF-8?Q?C=C3=A9dric_Krier?=) Date: Sat, 29 Jul 2017 10:19:18 -0700 (PDT) Subject: Relatorio 0.7.0 Message-ID: <53f5c853-e534-4e2a-9a81-04d84c5c5f35@googlegroups.com> Hi, I'm glade to announce the availability of the 0.7.0 release of Relatorio. It is a minor release that adds new features: * Add support for Flat OpenDocument * Add more guess types: 'boolean', 'date', 'time' and 'void' * Replace hard-coded extensions by mimetypes guess But also some fixes: * Update example of document for Genshi >= 0.7 * Remove ResourceWarning in tests Relatorio is available on PyPI as source and wheel: https://pypi.python.org/pypi/relatorio/0.7.0/ The documentation is available at https://relatorio.readthedocs.io/en/0.7.0/ From planders at gmail.com Sun Jul 30 11:23:32 2017 From: planders at gmail.com (Preston Landers) Date: Sun, 30 Jul 2017 10:23:32 -0500 Subject: concurrent-log-handler 0.9.6 released Message-ID: concurrent-log-handler ====================== RotatingFileHandler replacement with concurrency, gzip and Windows support -------------------------------------------------------------------------- This package provides an additional log handler for Python's standard logging package (PEP 282). This handler will write log events to a log file which is rotated when the log file reaches a certain size. Multiple processes can safely write to the same log file concurrently. Rotated logs can be gzipped if desired. Windows and POSIX systems are supported. An optional threaded queue logging handler is provided to perform logging in the background. This is a fork of Lowell Alleman's ConcurrentLogHandler 0.9.1 with additional enhancements: * Renamed package to `concurrent_log_handler` * Provide `use_gzip` option to compress rotated logs * Support for Windows * Note: PyWin32 is required on Windows, but can't be installed as an automatic dependency because it's not currently installable through pip. * Fix deadlocking problem with ConcurrentLogHandler under newer Python * More secure generation of random numbers for temporary filenames * Change the name of the lockfile to have .__ in front of it (hide it on Posix) * Provide a QueueListener / QueueHandler implementation for handling log events in a background thread. Optional: requires Python 3. Download ======== `pip install concurrent-log-handler` https://github.com/Preston-Landers/concurrent-log-handler https://pypi.python.org/pypi/concurrent-log-handler News / Changes ============== - 0.9.7/0.9.6: Fix platform specifier for PyPi - 0.9.5: Add `use_gzip` option to compress rotated logs. Add an optional threaded logging queue handler based on the standard library's `logging.QueueHandler`. - 0.9.4: Fix setup.py to not include tests in distribution. - 0.9.3: Refactoring release * For publishing fork on pypi as `concurrent-log-handler` under new package name. * NOTE: PyWin32 is required on Windows but is not an explicit dependency because the PyWin32 package is not currently installable through pip. * Fix lock behavior / race condition - 0.9.2: Initial release of fork by Preston Landers based on a fork of Lowell Alleman's ConcurrentLogHandler 0.9.1 * Fixes deadlocking issue with recent versions of Python * Puts `.__` prefix in front of lock file name * Use `secrets` or `SystemRandom` if available. * Add/fix Windows support thanks, Preston From rjollos at gmail.com Mon Jul 31 14:57:36 2017 From: rjollos at gmail.com (Ryan Ollos) Date: Mon, 31 Jul 2017 11:57:36 -0700 Subject: Trac 1.3.2 Release Message-ID: Trac 1.3.2 Released ==================== Trac 1.3.2, the latest development release leading up to Trac 1.4, is available. You will find this release at the usual places: https://trac.edgewall.org/wiki/TracDownload#LatestDevRelease You can find the detailed release notes for 1.3.2 on the following pages: https://trac.edgewall.org/wiki/1.3/TracChangeLog https://trac.edgewall.org/wiki/TracDev/ReleaseNotes/1.3#MaintenanceReleases Now to the packages themselves: URLs: https://download.edgewall.org/trac/Trac-1.3.2-py2-none-any.whl https://download.edgewall.org/trac/Trac-1.3.2.tar.gz https://download.edgewall.org/trac/Trac-1.3.2.win32.exe https://download.edgewall.org/trac/Trac-1.3.2.win-amd64.exe MD5 sums: b0ab068efc8d401d529519fa3a7c7359 Trac-1.3.2-py2-none-any.whl 27e8f357ea96c0cdd4d66e324729edca Trac-1.3.2.tar.gz afb5f30d360ef29a0a433b88a9658c8b Trac-1.3.2.win32.exe ce3add5b445c413c4ebd5860cde01afc Trac-1.3.2.win-amd64.exe SHA1 sums: 24f1f8ad0ec94280455f687d030f2efd0a3b98d4 Trac-1.3.2-py2-none-any.whl 267b6b8733aaf8899eb0cbb627d8d1926ad166c7 Trac-1.3.2.tar.gz 918b6144cd19ec98a67d299976b71515cbc696f9 Trac-1.3.2.win32.exe 7518302b3ef92897c8ede49cb2915432073c64b9 Trac-1.3.2.win-amd64.exe Acknowledgements ================ Many thanks to the growing number of people who have, and continue to, support the project. Also our thanks to all people providing feedback and bug reports that helps us make Trac better, easier to use and more effective. Without your invaluable help, Trac would not evolve. Thank you all. Finally, we hope that Trac will be useful to like-minded programmers around the world, and that this release will be an improvement over the last version. Please let us know. /The Trac Team http://trac.edgewall.org/