From rt.van.der.ham at gmail.com Wed Jan 2 08:47:16 2019 From: rt.van.der.ham at gmail.com (Ruud van der Ham) Date: Wed, 2 Jan 2019 14:47:16 +0100 Subject: Salabim 19.0.0 released. Message-ID: I have just released salabim 19.0.0, which is a package for discrete event simulation and animation. See www.salabim.org for details. Release notes ============= New functionality ----------------- Queues now register the arrival rate and the departure rate, defined as number of arrivals since last reset / duration since last reset number of departures since last reset / duration since last reset The following methods are available: Queue.arrival_rate() Queue.departure_rate() The registration can be reset with Queue.arrival_rate(reset=True) Queue.departure_rate(reset=True) Note that this functionality is completely independent of the monitoring. Added functionality ------------------- Video production now supports also the creation of a series of individual frames, in .jpg, .png, .tiff or .bmp format. By specifying video with one of these extensions, the filename will be padded with 6 increasing digits, e.g. env.video('test.jpg') will write individual autonumbered frames named test000000.jpg test000001.jpg test000002.jpg ... Prior to creating the frames, all files matching the specification will be removed, in order to get only the required frames, most likely for post-processing with ffmpeg or similar. Note that individual frame video production is available on all platforms, including Pythonista. The method Environment.delete_video() can be used to delete all autonumbered files, like env.delete_video('test.jpg') will delete test000000.jpg test000001.jpg test000002.jpg ... If this method is used with any other file type, like .mp4, the file does not need to exist (i.e. no action is taken then). Announcements ------------- >From this version, salabim uses the CalVer (see www.calver.org) standard for the version number. This means that versions are numbered YY.major.minor, where YY is the year of the release minus 2000 major is the major version number (0 based) minor is the minor version number (0 based) >From this version, legacy Python (<= 2.7) is no longer officially supported. From charlesr.harris at gmail.com Fri Jan 4 21:35:55 2019 From: charlesr.harris at gmail.com (Charles R Harris) Date: Fri, 4 Jan 2019 19:35:55 -0700 Subject: NumPy 1.16.0rc2 released Message-ID: Hi All, On behalf of the NumPy team I'm pleased to announce the release of NumPy 1.16.0rc2. This is the last NumPy release to support Python 2.7 and will be maintained as a long term release with bug fixes until 2020. This release has seen a lot of refactoring and features many bug fixes, improved code organization, and better cross platform compatibility. Not all of these improvements will be visible to users, but they should help make maintenance easier going forward. Highlights are - Experimental support for overriding numpy functions in downstream projects. - The matmul function is now a ufunc and can be overridden using __array_ufunc__. - Improved support for the ARM and POWER architectures. - Improved support for AIX and PyPy. - Improved interoperation with ctypes. - Improved support for PEP 3118. The supported Python versions are 2.7 and 3.5-3.7, support for 3.4 has been dropped. The wheels on PyPI are linked with OpenBLAS v0.3.4+, which should fix the known threading issues found in previous OpenBLAS versions. Downstream developers building this release should use Cython >= 0.29.2 and, if linking OpenBLAS, OpenBLAS > v0.3.4. Wheels for this release can be downloaded from PyPI , source archives are available from Github . *Contributors* A total of 112 people contributed to this release. People with a "+" by their names contributed a patch for the first time. * Alan Fontenot + * Allan Haldane * Alon Hershenhorn + * Alyssa Quek + * Andreas Nussbaumer + * Anner + * Anthony Sottile + * Antony Lee * Ayappan P + * Bas van Schaik + * C.A.M. Gerlach + * Charles Harris * Chris Billington * Christian Clauss * Christoph Gohlke * Christopher Pezley + * Daniel B Allan + * Daniel Smith * Dawid Zych + * Derek Kim + * Dima Pasechnik + * Edgar Giovanni Lepe + * Elena Mokeeva + * Elliott Sales de Andrade + * Emil Hessman + * Eric Schles + * Eric Wieser * Giulio Benetti + * Guillaume Gautier + * Guo Ci * Heath Henley + * Isuru Fernando + * J. Lewis Muir + * Jack Vreeken + * Jaime Fernandez * James Bourbeau * Jeff VanOss * Jeffrey Yancey + * Jeremy Chen + * Jeremy Manning + * Jeroen Demeyer * John Darbyshire + * John Kirkham * John Zwinck * Jonas Jensen + * Joscha Reimer + * Juan Azcarreta + * Julian Taylor * Kevin Sheppard * Krzysztof Chomski + * Kyle Sunden * Lars Gr?ter * Lilian Besson + * MSeifert04 * Mark Harfouche * Marten van Kerkwijk * Martin Thoma * Matt Harrigan + * Matthew Bowden + * Matthew Brett * Matthias Bussonnier * Matti Picus * Max Aifer + * Michael Hirsch, Ph.D + * Michael James Jamie Schnaitter + * MichaelSaah + * Mike Toews * Minkyu Lee + * Mircea Akos Bruma + * Mircea-Akos Brum? + * Moshe Looks + * Muhammad Kasim + * Nathaniel J. Smith * Nikita Titov + * Paul M?ller + * Paul van Mulbregt * Pauli Virtanen * Pierre Glaser + * Pim de Haan * Ralf Gommers * Robert Kern * Robin Aggleton + * Rohit Pandey + * Roman Yurchak + * Ryan Soklaski * Sebastian Berg * Sho Nakamura + * Simon Gibbons * Stan Seibert + * Stefan Otte * Stefan van der Walt * Stephan Hoyer * Stuart Archibald * Taylor Smith + * Tim Felgentreff + * Tim Swast + * Tim Teichmann + * Toshiki Kataoka * Travis Oliphant * Tyler Reddy * Uddeshya Singh + * Warren Weckesser * Weitang Li + * Wenjamin Petrenko + * William D. Irons * Yannick Jadoul + * Yaroslav Halchenko * Yug Khanna + * Yuji Kanagawa + * Yukun Guo + * ankokumoyashi + * lerbuke + Cheers, Charles Harris From nicoddemus at gmail.com Sun Jan 6 10:13:28 2019 From: nicoddemus at gmail.com (Bruno Oliveira) Date: Sun, 6 Jan 2019 13:13:28 -0200 Subject: pytest 4.1.0 Message-ID: The pytest team is proud to announce the 4.1.0 release! In this release, a number of features have been removed (which were previously warnings turned into errors), so users are strongly encouraged to take a look at the CHANGELOG before updating: https://docs.pytest.org/en/latest/changelog.html For complete documentation, please visit: https://docs.pytest.org/en/latest/ As usual, you can upgrade from pypi via: pip install -U pytest Thanks to all who contributed to this release, among them: * Adam Johnson * Aly Sivji * Andrey Paramonov * Anthony Sottile * Bruno Oliveira * Daniel Hahler * David Vo * Hyunchel Kim * Jeffrey Rackauckas * Kanguros * Nicholas Devenish * Pedro Algarvio * Randy Barlow * Ronny Pfannschmidt * Tomer Keren * feuillemorte * wim glenn Happy testing, The Pytest Development Team From robin at alldunn.com Sun Jan 6 17:40:48 2019 From: robin at alldunn.com (Robin Dunn) Date: Sun, 6 Jan 2019 14:40:48 -0800 Subject: wxPython 4.0.4 Message-ID: Announcing wxPython 4.0.4 ========================= PyPI: https://pypi.org/project/wxPython/4.0.4 Extras: https://extras.wxPython.org/wxPython4/extras/ Pip: ``pip install wxPython==4.0.4`` Changes in this release include the following: * Fixed an issue where wx.lib.intctrl would erroneously attempt to use long on Python3. (#898) * Include the MSVC runtime DLLs for Python 3.7 builds too. * Clear LIBPATH_PYEXT and LIB_PYEXT for linux builds too. (#904) * Added a dependency on the Pillow package since it's used in some wx.lib.agw modules. (PR #908) * Add flag to hide page in wx.lib.agw.aui.notebook. (#895) * Switch wx.lib.plot to issue deprecation warnings with PlotPendingDeprecation so it doesn't have to enable all warnings to get them to be shown by default. (#902) * Added a Python 3.7 builder on Fedora 28. (#925) * Fix the object ownership transfer for wx.Menu.Insert() (#931) * Added wx.Treebook.GetTreeCtrl, wx.Listbook.GetListView and wx.Choicebook.GetChoiceCtrl. (#918) * Removed the wx.BookCtrlBase.RemovePage workaround as it was causing problems and doesn't seem to be necessary any more. The existing wxWidgets assertions are catching the out of range error just fine, however if wxWidgets was built without the debug helpers turned on then it could still cause a crash. (#888) * Reverted the changes which removed the content of the wx.lib.pubsub package and encouraged users to switch to the real PyPubSub package instead. Removing it caused more issues than were expected so it has been restored and the code updated to PyPubSub v3.3.0. Version 4.0.0 is available upstream, but it is not compatible with Python 2.7. Now, wx.lib.pubsub is actually deprecated instead of just trying to pass control over to the upstream PyPubSub library. (#932) * Improve calltip stability in pyshell. (#941) * Fix TypeError in wx.lib.throbber. (#924) * Fix missing parameter tool_id in wx.lib.agw.ribbon.toolbar.RibbonToolBar.AddToggleTool. (#947) * Add a step to wx.Config.ReadInt to attempt converting from long to int under python2. (#384) * Add virtual behavior for wx.RichTextCtrl and wx.TextCtrl's Copy/Cut/Paste methods and their Can* counterparts. (#954) * Fix IO type in wx.lib.agw.thumbnailctrl (#959) * Fix type error that would occur using pycolourchooser. (#957) * Optimize line drawing in HyperTreeList. (#973) * Add wrapper for wx.StaticBox.GetBordersForSizer and use it in the demo to do platform-specific layout of the items in the StaticBox. (#974) * Update wx.Point, wx.RealPoint, and wx.Size to use floating point arithmetic when conducting scalar multiplication (#971) * Fix load/save bugs in PySlices (PR#978) * Replace deprecated PIL.Image.tostring (PR#1005) * Fix rendering and mouse sensitivity in UltimateListCtrl when adding HyperText items. (#1010) * Added a parameter to lib.agw.CustomTreeCtrl.SetItemWindow(), to allow positioning the Window (a small image) on the left of text in a CustomTreeItem. (#PR886). * Declared DeleteAllPages in the notebook subclasses, so the proper C++ implementation will be called. (#972) * Removed wx.lib.floatbar, which has been deprecated forever and probably hasn't been working in nearly as long. (#976) * Updated SIP to version 4.19.13. * Fix an issue in wx.lib.agw.aui.AuiManager where the orientation of an AuiToolBar would not be updated when calling LoadPerspective. (#917) * Fixed a bug in wx.FileSystemHandler.OpenFile where the object ownership was not being transferred correctly, causing a crash after a premature object deletion. (#926) * Fixed wx.ListCtrl.Append when wx.LC_SORT style is used, so appending items out of order does not lose the data for the remaining columns. (#906) * Add wx.Accessible, it's Windows-only, will raise a NotImplementedError exception on the other platforms. (#958) * Added the ability to generate stub classes for use when optional wxWidgets features are not part of the build. So far, stubs are available for wx.Accessible, wx.FileSystemWatcher, wx.glcanvas, wx.media and wx.html2. * Moved the wxpy_api.h file into the wx package at wx/include/wxPython so it will be included in the wheel file. (#961) * Fixed how string data is added to a virtual file-like object in wx.MemoryFSHandler. All strings are now added to the file as utf-8 encoded data, in both Python2 and Python3, and will be read from the virtual file the same way. If you need to use some other encoding for some reason you can first convert the text to a bytesarray or other buffer protocol compatible object and then create the virtual file from that data. (#969) * Performance update for wx.lib.agw.customtreectrl (#1049) * Ensure that colours set in wx.lib.agw.customtreectrl.TreeItemAttr are instances of wx.Colour. (#1032) * Fix drawing of ticks in wx.lib.agw.speedmeter when there are negative bounds values. (#1013) * wxWidgets for Mac includes the wxJoystick class now, also update the demo. (#997) * Fix wx.html.HtmlPrintout to not be seen as an abstract class, so it can be instantiated. (#1060) * Fix wx.aui.AuiNotbook.SetArtProvider to properly transfer ownership of the art object from Python to C++. This possible double-deletion and related crashing problems. (#1061) * Fixed the wrappers for wx.html.HtmlWindow.OnOpeningURL to properly handle the redirect output parameter. (#1068) This is a backwards-incompatible change, please see the Migration Guide for details. * TabNavigatorWindow works similarly to other programs now. It's resizable and draggable so if user has tons of files with long names, it isn't an irritation anymore plastered right in the middle of the screen and can't be worked with easily and ESC now cancels the popup with a proper returnId. (#1096) * Added missing methods in wx.ListBox, SetItemForegroundColour, SetItemBackgroundColour and SetItemFont. (#1095) * Backported a fix in wxWidgets that avoids crashing in hhctrl.ocx when using context sensitive help in 64-bit builds on Windows. (#1104) 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 with 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/ -- Robin Dunn Software Craftsman http://wxPython.org From info at egenix.com Mon Jan 7 08:16:40 2019 From: info at egenix.com (eGenix Team: M.-A. Lemburg) Date: Mon, 7 Jan 2019 14:16:40 +0100 Subject: =?UTF-8?Q?ANN:_Python_Meeting_D=c3=bcsseldorf_-_09.01.2019?= Message-ID: <35338746-aa95-c41c-0807-53123da13d0a@egenix.com> [This announcement is in German since it targets a local user group meeting in D?sseldorf, Germany] ________________________________________________________________________ ANK?NDIGUNG Python Meeting D?sseldorf http://pyddf.de/ Ein Treffen von Python Enthusiasten und Interessierten in ungezwungener Atmosph?re. Mittwoch, 09.01.2019, 18:00 Uhr Raum 1, 2.OG im B?rgerhaus Stadtteilzentrum Bilk D?sseldorfer Arcaden, Bachstr. 145, 40217 D?sseldorf Diese Nachricht ist auch online verf?gbar: https://www.egenix.com/company/news/Python-Meeting-Duesseldorf-2019-01-09 ________________________________________________________________________ NEUIGKEITEN * Bereits angemeldete Vortr?ge: Ulf Morys "Stack und Unstack mit Pandas Dataframes" Detlef Lannert "Data classes in Python 3.7" Charlie Clark "Using Bitbucket Pipelines for your projects" Charlie Clark "Performance: Doing even more nothing & Cythonize" Dominic Geldmacher "Buchrezension: Data Science Handbook" Weitere Vortr?ge k?nnen gerne noch angemeldet werden: info at pyddf.de * Startzeit und Ort: Wir treffen uns um 18:00 Uhr im B?rgerhaus in den D?sseldorfer Arcaden. Das B?rgerhaus teilt sich den Eingang mit dem Schwimmbad und befindet sich an der Seite der Tiefgarageneinfahrt der D?sseldorfer Arcaden. ?ber dem Eingang steht ein gro?es "Schwimm' in Bilk" Logo. Hinter der T?r direkt links zu den zwei Aufz?gen, dann in den 2. Stock hochfahren. Der Eingang zum Raum 1 liegt direkt links, wenn man aus dem Aufzug kommt. Google Street View: http://bit.ly/11sCfiw ________________________________________________________________________ EINLEITUNG Das Python Meeting D?sseldorf ist eine regelm??ige Veranstaltung in D?sseldorf, die sich an Python Begeisterte aus der Region wendet: * http://pyddf.de/ Einen guten ?berblick ?ber die Vortr?ge bietet unser YouTube-Kanal, auf dem wir die Vortr?ge nach den Meetings ver?ffentlichen: * http://www.youtube.com/pyddf/ Veranstaltet wird das Meeting von der eGenix.com GmbH, Langenfeld, in Zusammenarbeit mit Clark Consulting & Research, D?sseldorf: * http://www.egenix.com/ * http://www.clark-consulting.eu/ ________________________________________________________________________ PROGRAMM Das Python Meeting D?sseldorf nutzt eine Mischung aus (Lightning) Talks und offener Diskussion. Vortr?ge k?nnen vorher angemeldet werden, oder auch spontan w?hrend des Treffens eingebracht werden. Ein Beamer mit XGA Aufl?sung steht zur Verf?gung. (Lightning) Talk Anmeldung bitte formlos per EMail an info at pyddf.de ________________________________________________________________________ KOSTENBETEILIGUNG Das Python Meeting D?sseldorf wird von Python Nutzern f?r Python Nutzer veranstaltet. Um die Kosten zumindest teilweise zu refinanzieren, bitten wir die Teilnehmer um einen Beitrag in H?he von EUR 10,00 inkl. 19% Mwst, Sch?ler und Studenten zahlen EUR 5,00 inkl. 19% Mwst. Wir m?chten alle Teilnehmer bitten, den Betrag in bar mitzubringen. ________________________________________________________________________ ANMELDUNG Da wir nur f?r ca. 20 Personen Sitzpl?tze haben, m?chten wir bitten, sich per EMail anzumelden. Damit wird keine Verpflichtung eingegangen. Es erleichtert uns allerdings die Planung. Meeting Anmeldung bitte formlos per EMail an info at pyddf.de ________________________________________________________________________ WEITERE INFORMATIONEN Weitere Informationen finden Sie auf der Webseite des Meetings: http://pyddf.de/ Mit freundlichen Gr??en, -- Marc-Andre Lemburg eGenix.com Professional Python Services directly from the Experts (#1, Jan 07 2019) >>> Python Projects, Coaching and Consulting ... http://www.egenix.com/ >>> Python Database Interfaces ... http://products.egenix.com/ >>> Plone/Zope Database Interfaces ... http://zope.egenix.com/ ________________________________________________________________________ ::: We implement business ideas - efficiently in both time and costs ::: eGenix.com Software, Skills and Services GmbH Pastor-Loeh-Str.48 D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg Registered at Amtsgericht Duesseldorf: HRB 46611 http://www.egenix.com/company/contact/ http://www.malemburg.com/ From mal at europython.eu Tue Jan 8 04:19:44 2019 From: mal at europython.eu (M.-A. Lemburg) Date: Tue, 8 Jan 2019 10:19:44 +0100 Subject: EuroPython 2019: Kicking off the organization Message-ID: Today, we?re happy to announce our pre-launch website under the official EuroPython 2019 URL: * https://ep2019.europython.eu/ * Dates and Venues ---------------- EuroPython will be held from July 8-14 2019 in Basel, Switzerland, at the Congress Center Basel (BCC) for the main conference days (Wed-Fri) and the FHNW Muttenz for the workshops/trainings/sprints days (Mon-Tue, Sat-Sun): https://www.congress.ch/en-US.aspx https://www.fhnw.ch/de/die-fhnw/standorte/muttenz We will continue to list information on the FAQ & Info page as it becomes available: https://ep2019.europython.eu/faq Help spread the word -------------------- Please help us spread this message by sharing it on your social networks as widely as possible. Thank you ! Link to the blog post: https://www.europython-society.org/post/181832657135/europython-2019-kicking-off-the-organization Tweet: https://twitter.com/europythons/status/1082564855188602880 Thank you, -- EuroPython Society https://www.europython-society.org/ From pyscripter at gmail.com Fri Jan 11 22:19:11 2019 From: pyscripter at gmail.com (pyscripter at gmail.com) Date: Fri, 11 Jan 2019 19:19:11 -0800 (PST) Subject: ANN: PyScripter 3.6 released Message-ID: PyScripter is a free and open-source Python Integrated Development Environment (IDE) created with the ambition to become competitive in functionality with commercial Windows-based IDEs available for other languages. It is feature-rich, but also light-weight. This release contains important new features including: - Much faster Remote Engine using asynchronous Windows named pipes if pywin32 is available. - Enhancements to the SSH Engine - now compatible with PuTTY. - Execute system commands in the interpreter with !. Supports parameter substitution. See: Announcement: https://pyscripter.blogspot.com/ Project home: https://github.com/pyscripter/pyscripter/ Features: https://github.com/pyscripter/pyscripter/wiki/Features Downloads: https://sourceforge.net/projects/pyscripter/files From nicoddemus at gmail.com Sat Jan 12 09:53:17 2019 From: nicoddemus at gmail.com (Bruno Oliveira) Date: Sat, 12 Jan 2019 12:53:17 -0200 Subject: pytest 4.1.1 Message-ID: pytest 4.1.1 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 https://docs.pytest.org/en/latest/changelog.html. Thanks to all who contributed to this release, among them: * Anthony Sottile * Anton Lodder * Bruno Oliveira * Daniel Hahler * David Vo * Oscar Benjamin * Ronny Pfannschmidt * Victor Maryama * Yoav Caspi * dmitry.dygalo Happy testing, The pytest Development Team From charlesr.harris at gmail.com Sun Jan 13 22:29:54 2019 From: charlesr.harris at gmail.com (Charles R Harris) Date: Sun, 13 Jan 2019 20:29:54 -0700 Subject: NumPy 1.16.0 released. Message-ID: Hi All, On behalf of the NumPy team I'm pleased to announce the release of NumPy 1.16.0. This is the last NumPy release to support Python 2.7 and will be maintained as a long term release with bug fixes until 2020. This release has seen a lot of refactoring and features many bug fixes, improved code organization, and better cross platform compatibility. Not all of these improvements will be visible to users, but they should help make maintenance easier going forward. Highlights are Experimental support for overriding numpy functions in downstream projects. - The matmul function is now a ufunc and can be overridden using __array_ufunc__. - Improved support for the ARM, POWER, and SPARC architectures. - Improved support for AIX and PyPy. - Improved interoperation with ctypes. - Improved support for PEP 3118. The supported Python versions are 2.7 and 3.5-3.7, support for 3.4 has been dropped. The wheels on PyPI are linked with OpenBLAS v0.3.4+, which should fix the known threading issues found in previous OpenBLAS versions. Downstream developers building this release should use Cython >= 0.29.2 and, if linking OpenBLAS, OpenBLAS > v0.3.4. Wheels for this release can be downloaded from PyPI , source archives are available from Github . *Contributors* A total of 113 people contributed to this release. People with a "+" by their names contributed a patch for the first time. * Alan Fontenot + * Allan Haldane * Alon Hershenhorn + * Alyssa Quek + * Andreas Nussbaumer + * Anner + * Anthony Sottile + * Antony Lee * Ayappan P + * Bas van Schaik + * C.A.M. Gerlach + * Charles Harris * Chris Billington * Christian Clauss * Christoph Gohlke * Christopher Pezley + * Daniel B Allan + * Daniel Smith * Dawid Zych + * Derek Kim + * Dima Pasechnik + * Edgar Giovanni Lepe + * Elena Mokeeva + * Elliott Sales de Andrade + * Emil Hessman + * Eric Larson * Eric Schles + * Eric Wieser * Giulio Benetti + * Guillaume Gautier + * Guo Ci * Heath Henley + * Isuru Fernando + * J. Lewis Muir + * Jack Vreeken + * Jaime Fernandez * James Bourbeau * Jeff VanOss * Jeffrey Yancey + * Jeremy Chen + * Jeremy Manning + * Jeroen Demeyer * John Darbyshire + * John Kirkham * John Zwinck * Jonas Jensen + * Joscha Reimer + * Juan Azcarreta + * Julian Taylor * Kevin Sheppard * Krzysztof Chomski + * Kyle Sunden * Lars Gr?ter * Lilian Besson + * MSeifert04 * Mark Harfouche * Marten van Kerkwijk * Martin Thoma * Matt Harrigan + * Matthew Bowden + * Matthew Brett * Matthias Bussonnier * Matti Picus * Max Aifer + * Michael Hirsch, Ph.D + * Michael James Jamie Schnaitter + * MichaelSaah + * Mike Toews * Minkyu Lee + * Mircea Akos Bruma + * Mircea-Akos Brum? + * Moshe Looks + * Muhammad Kasim + * Nathaniel J. Smith * Nikita Titov + * Paul M?ller + * Paul van Mulbregt * Pauli Virtanen * Pierre Glaser + * Pim de Haan * Ralf Gommers * Robert Kern * Robin Aggleton + * Rohit Pandey + * Roman Yurchak + * Ryan Soklaski * Sebastian Berg * Sho Nakamura + * Simon Gibbons * Stan Seibert + * Stefan Otte * Stefan van der Walt * Stephan Hoyer * Stuart Archibald * Taylor Smith + * Tim Felgentreff + * Tim Swast + * Tim Teichmann + * Toshiki Kataoka * Travis Oliphant * Tyler Reddy * Uddeshya Singh + * Warren Weckesser * Weitang Li + * Wenjamin Petrenko + * William D. Irons * Yannick Jadoul + * Yaroslav Halchenko * Yug Khanna + * Yuji Kanagawa + * Yukun Guo + * @ankokumoyashi + * @lerbuke + Cheers, Charles Harris From info at wingware.com Mon Jan 14 10:48:15 2019 From: info at wingware.com (Wingware) Date: Mon, 14 Jan 2019 10:48:15 -0500 Subject: Wing Python IDE 6.1.3 released Message-ID: <5C3CAF3F.8090003@wingware.com> Hi, We've just released Wing 6.1.3 , which improves management of the Python Shell when the project environment changes, adds 2FA card selector capability in remote host configuration , improves support for virtualenv and PEP 8 reformatting , updates the How-To for Autodesk Maya , improves auto-completion in regex.py and some other third party modules, streamlines remote agent installation, and makes about 30 other improvements. See the change log for detailsFor details, see https://wingware.com/pub/wingide/6.1.3/CHANGELOG.txt Download Now About Wing Wingware's family of cross-platform Python IDEs make Python development easier, with powerful integrated editing, debugging, unit testing, and project management features. Wing runs on Windows, Linux, and OS X, and can be used to develop any kind of Python code for web, desktop, scientific, data analysis, embedded scripting, and other applications. Version 6 introduces many new features, including improved multi-selection , much easier remote development , debugging from the Python Shell , recursive debugging , PEP 484 and 526 type hinting , PEP 8 reformatting , support for Python 3.6 and 3.7, ability to create a new virtualenv from the New Project dialog, improved VI mode, support for Vagrant , Jupyter , Django 1.10+ and 2.0, and Windows Subsystem for Linux , improved support for matplotlib , easier Raspberry Pi development, optimized debugger, OS X full screen mode, One Dark color palette, Russian localization (thanks to Alexandr Dragukin), expanded free product line, and much more. For details, see What's New in Wing Version 6 . Wing 6 works with Python versions 2.5 through 2.7 and 3.2 through 3.7, including also Anaconda, ActivePython, EPD, Stackless, and others derived from the CPython implementation. Wing Pro requires purchasing or upgrading a license, or obtaining a 30-day trial at startup. Wing 101 and Wing Personal are free versions that omit some features . For more product information, please visit wingware.com Upgrading You can try Wing 6 without removing older versions. Wing 6 will read and convert your old preferences, settings, and projects. Projects should be saved to a new name since previous versions of Wing cannot read Wing 6 projects. See also Migrating from Older Versions and Upgrading . Links Release notice: https://wingware.com/news/2019-01-11 Downloads and Free Trial: https://wingware.com/downloads Buy: https://wingware.com/store/purchase Upgrade: https://wingware.com/store/upgrade Questions? Don't hesitate to email us at support at wingware.com. Thanks, -- Stephan Deibel Wingware | Python IDE The Intelligent Development Environment for Python Programmers wingware.com From thomas.calmant at gmail.com Tue Jan 15 17:21:26 2019 From: thomas.calmant at gmail.com (Thomas Calmant) Date: Tue, 15 Jan 2019 14:21:26 -0800 (PST) Subject: [ANN] jsonrpclib-pelix 0.4.0 Message-ID: jsonrpclib-pelix 0.4.0 ====================== jsonrpclib-pelix 0.4.0 has just released! What is it? ----------- This library is an implementation of the JSON-RPC specification, for Python 2.7 and 3.4+. It supports both the original 1.0 specification, as well as the 2.0 specification, which includes batch submission, keyword arguments, etc. It is licensed under the Apache Software License 2.0 (http://www.apache.org/licenses/LICENSE-2.0.html). The documentation is hosted by ReadTheDocs: https://jsonrpclib-pelix.readthedocs.io/ The source code is available on Github: https://github.com/tcalmant/jsonrpclib This library can be installed using pip or easy_install: pip install --upgrade jsonrpclib-pelix What's new in 0.4.0? -------------------- This version: * Adds back support for Unix socket on both client & server side (but without HTTPS support) * Fixes some issues on the CGI request handler * Fixes the ignored SSLContext on client side Enjoy! From pythoniks at gmail.com Sun Jan 20 05:29:32 2019 From: pythoniks at gmail.com (Pascal Chambon) Date: Sun, 20 Jan 2019 11:29:32 +0100 Subject: ANN: RsFile 2.2 released Message-ID: <29925b6d-febd-38a6-63e4-6936c2a15da3@gmail.com> Dear pythoneers, I'm pleased to announce version 2.2 of RSFile I/O Library, which adds support for python3.6 and python3.7, and fixes some corner cases when using PIPEs. RSFile provides pure-python drop-in replacements for the classes of the io module, and for the open() builtin. Its goal is to provide a cross-platform, reliable, and comprehensive synchronous file I/O API, with advanced features like fine-grained opening modes, shared/exclusive file record locking, thread-safety, cache synchronization, file descriptor inheritability, and handy stat getters (size, inode, times?). Locking is performed using actual file record locking capabilities of the OS, not by using separate files/directories as locking markers, or other fragile gimmicks. Unix users might particularly be interested by the workaround that this library provides, concerning the weird semantic of fcntl() locks (when any descriptor to a disk file is closed, the process loses ALL locks acquired on this file through any descriptor). Possible use cases for this library: concurrently writing to logs without ending up with garbled data, manipulating sensitive data like disk-based databases, synchronizing heterogeneous producer/consumer processes when multiprocessing semaphores aren?t an option? Tested on python2.7 and python3.5+, on windows and unix-like systems. Should work with IronPython/Jython/PyPy too, since it uses stdlib utilities and ctypes bridges. regards, Pascal Chambon From pythoniks at gmail.com Sun Jan 20 06:08:25 2019 From: pythoniks at gmail.com (Pascal Chambon) Date: Sun, 20 Jan 2019 12:08:25 +0100 Subject: ANN: Django-Compat-Patcher0.4 Message-ID: <3f6b4739-5103-bf92-a3a0-bce1b353d08e@gmail.com> Dear pythoneers, I'm pleased to announce version 0.4 Django-Compat-Patcher, which adds forwards/backwards compatibility shims for Django1.10 and Django 1.11: https://pypi.org/manage/project/django-compat-patcher/release/0.4/ The goal of this project is to vastly improve the compatibility of different Django versions, so that different applications and plugins of its ecosystem can be used together without creating dependency hells. Django-Compat-Patcher also showcases a shim management system which could be ported to other frameworks, to separate compatibility shims from (clean) codebase, and apply them automatically only when needed. It has been used successfully on the Pychronia roleplay portal (https://github.com/ChrysalisTeam/pychronia). Homepage of the DCP project : https://github.com/pakal/django-compat-patcher regards, Pascal Chambon From paul.l.kehrer at gmail.com Tue Jan 22 11:51:28 2019 From: paul.l.kehrer at gmail.com (Paul Kehrer) Date: Tue, 22 Jan 2019 11:51:28 -0500 Subject: PyCA cryptography 2.5 released Message-ID: PyCA cryptography 2.5 has been released to PyPI. cryptography includes both high level recipes and low level interfaces to common cryptographic algorithms such as symmetric ciphers, asymmetric algorithms, message digests, X509, key derivation functions, and much more. We support Python 2.7, Python 3.4+, and PyPy. Changelog (https://cryptography.io/en/latest/changelog/#v2-5): * BACKWARDS INCOMPATIBLE: U-label strings were deprecated in version 2.1, but this version removes the default idna dependency as well. If you still need this deprecated path please install cryptography with the idna extra: pip install cryptography[idna]. * BACKWARDS INCOMPATIBLE: The minimum supported PyPy version is now 5.4. * Numerous classes and functions have been updated to allow bytes-like types for keying material and passwords, including symmetric algorithms, AEAD ciphers, KDFs, loading asymmetric keys, and one time password classes. * Updated Windows, macOS, and manylinux1 wheels to be compiled with OpenSSL 1.1.1a. * Added support for SHA512_224 and SHA512_256 when using OpenSSL 1.1.1. * Added support for SHA3_224, SHA3_256, SHA3_384, and SHA3_512 when using OpenSSL 1.1.1. * Added support for X448 key exchange when using OpenSSL 1.1.1. * Added support for SHAKE128 and SHAKE256 when using OpenSSL 1.1.1. * Added initial support for parsing PKCS12 files with load_key_and_certificates(). * Added support for IssuingDistributionPoint. * Added rfc4514_string() method to x509.Name, x509.RelativeDistinguishedName, and x509.NameAttribute to format the name or component an RFC 4514 Distinguished Name string. * Added from_encoded_point(), which immediately checks if the point is on the curve and supports compressed points. Deprecated the previous method from_encoded_point(). * Added signature_hash_algorithm to OCSPResponse. * Updated X25519 key exchange support to allow additional serialization methods. Calling public_bytes() with no arguments has been deprecated. * Added support for encoding compressed and uncompressed points via public_bytes(). Deprecated the previous method encode_point(). -Paul Kehrer (reaperhulk) From g.rodola at gmail.com Wed Jan 23 14:08:01 2019 From: g.rodola at gmail.com (Giampaolo Rodola') Date: Wed, 23 Jan 2019 20:08:01 +0100 Subject: ANN: psutil 5.5.0 released Message-ID: Hello all, I'm glad to announce the release of psutil 5.5.0: https://github.com/giampaolo/psutil About ===== psutil (process and system utilities) is a cross-platform library for retrieving information on running processes and system utilization (CPU, memory, disks, network) in Python. It is useful mainly for system monitoring, profiling and limiting process resources and management of running processes. It implements many functionalities offered by command line tools such as: ps, top, lsof, netstat, ifconfig, who, df, kill, free, nice, ionice, iostat, iotop, uptime, pidof, tty, taskset, pmap. It currently supports Linux, Windows, macOS, Sun Solaris, FreeBSD, OpenBSD, NetBSD and AIX, both 32-bit and 64-bit architectures, with Python versions from 2.6 to 3.6. PyPy is also known to work. What's new ========== 2019-0-23 **Enhancements** - #1350: [FreeBSD] added support for sensors_temperatures(). (patch by Alex Manuskin) - #1352: [FreeBSD] added support for CPU frequency. (patch by Alex Manuskin) **Bug fixes** - #1111: Process.oneshot() is now thread safe. - #1354: [Linux] disk_io_counters() fails on Linux kernel 4.18+. - #1357: [Linux] Process' memory_maps() and io_counters() method are no longer exposed if not supported by the kernel. - #1368: [Windows] fix psutil.Process().ionice(...) mismatch. (patch by EccoTheFlintstone) - #1370: [Windows] improper usage of CloseHandle() may lead to override the original error code when raising an exception. - #1373: incorrect handling of cache in Process.oneshot() context causes Process instances to return incorrect results. - #1376: [Windows] OpenProcess() now uses PROCESS_QUERY_LIMITED_INFORMATION access rights wherever possible, resulting in less AccessDenied exceptions being thrown for system processes. - #1376: [Windows] check if variable is NULL before free()ing it. (patch by EccoTheFlintstone) Links ===== - Home page: https://github.com/giampaolo/psutil - Download: https://pypi.org/project/psutil/#files - Documentation: http://psutil.readthedocs.io - What's new: https://github.com/giampaolo/psutil/blob/master/HISTORY.rst -- Giampaolo - http://grodola.blogspot.com From dmalcolm at redhat.com Wed Jan 23 16:04:25 2019 From: dmalcolm at redhat.com (David Malcolm) Date: Wed, 23 Jan 2019 16:04:25 -0500 Subject: ANN: gcc-python-plugin 0.17 Message-ID: <1548277465.7788.193.camel@redhat.com> gcc-python-plugin is a plugin for GCC 4.6 onwards which embeds the CPython interpreter within GCC, allowing you to write new compiler warnings in Python, generate code visualizations, etc. This release adds support for gcc 9 (along with continued support for gcc 4.6, 4.7, 4.8, 4.9, 5, 6, 7, and 8). Unfortunately, the reference-count checker no longer works for gcc 7 onwards, so it is disabled when embedded in those builds of gcc. Additionally, this release contains the following improvements: * the plugin can now be built in a separate build directory from the source directory (thanks to Tom de Vries) * gcc-with-cpychecker gained a --cpychecker-verbose option Tarball releases are available at: https://github.com/davidmalcolm/gcc-python-plugin/releases Prebuilt-documentation can be seen at: http://gcc-python-plugin.readthedocs.org/en/latest/index.html The plugin is Free Software, licensed under the GPLv3 or later. Enjoy! Dave Malcolm From vinay_sajip at yahoo.co.uk Thu Jan 24 04:35:19 2019 From: vinay_sajip at yahoo.co.uk (Vinay Sajip) Date: Thu, 24 Jan 2019 09:35:19 +0000 (UTC) Subject: ANN: A new version (0.4.4) of python-gnupg has been released. It contains a security-related change - please update to this version References: <486227803.367000.1548322519153.ref@mail.yahoo.com> Message-ID: <486227803.367000.1548322519153@mail.yahoo.com> A new version of the Python module which wraps GnuPG has been released. What Changed?=============This is an enhancement and security-fix release, and all users are stronglyencouraged to upgrade. Brief summary: * Fixed #108: Changed how any return value from the on_data callable is? processed. In earlier versions, the return value was ignored. In this version,? if the return value is False, the data received from gpg is not? buffered. Otherwise (if the value is None or True, for example), the? data is buffered as normal. This functionality can be used to do your own? buffering, or to prevent buffering altogether. ? The on_data callable is also called once with an empty byte-string to? signal the end of data from gpg. * Fixed #97: Added an additional attribute check_fingerprint_collisions to? GPG instances, which defaults to False. It seems that gpg is happy? to have duplicate keys and fingerprints in a keyring, so we can't be too? strict. A user can set this attribute of an instance to True to trigger a? check for collisions. * Fixed #111: With GnuPG 2.2.7 or later, provide the fingerprint of a signing? key for a failed signature verification, if available. * Fixed #21: For verification where multiple signatures are involved, a? mapping of signature_ids to fingerprint, keyid, username, creation date,? creation timestamp and expiry timestamp is provided. * Added a check to disallow certain control characters ('\r', '\n', NUL) in? passphrases. This fix mitigates against CVE-2019-6690. 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 Recent changes to PyPI don't show the GPG signature with the download links.An alternative download source where the signatures are available is the project'sown downloads page [5]. What Does It Do?================The gnupg module allows Python programs to make use of thefunctionality provided by the Gnu Privacy Guard (abbreviated GPG orGnuPG). Using this module, Python programs can encrypt and decryptdata, digitally sign documents and verify digital signatures, manage(generate, list and delete) encryption keys, using proven Public KeyInfrastructure (PKI) encryption technology based on OpenPGP. This module is expected to be used with Python versions >= 2.4, as itmakes use of the subprocess module which appeared in that version ofPython. This module is a newer version derived from earlier work byAndrew 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 themailing list/discussion group [4]). Enjoy! Cheers Vinay SajipRed Dove Consultants Ltd. [1] https://bitbucket.org/vinay.sajip/python-gnupg[2] https://pypi.python.org/pypi/python-gnupg/0.4.4[3] https://bitbucket.org/vinay.sajip/python-gnupg/issues[4] https://groups.google.com/forum/#!forum/python-gnupg[5] https://bitbucket.org/vinay.sajip/python-gnupg/downloads/ From jose-marcio.martins at mines-paristech.fr Fri Jan 25 04:47:28 2019 From: jose-marcio.martins at mines-paristech.fr (Jose-Marcio Martins da Cruz) Date: Fri, 25 Jan 2019 10:47:28 +0100 Subject: ANN: SMIL - Small Morphological Image Library Message-ID: <0eeab8c4-7cd2-af67-28be-ab968efc0795@mines-paristech.fr> Announcement: SMIL 0.9.1 ======================== Hi all, I'm pleased to announce SMIL - Simple Morphological Image Library - v. 0.9.1 SMIL is a library with all basic and some advanced mathematical morphology features which can be extended with plugins and user modules. Among its features it can handle 2D and 3D images and can handle data from/to NumPy data. It's been developed in C++ and has a Python interface thanks to Swig. SMIL is a product of CMM, the research Center of Mathematical Morphology of Mines-Paristech, where the discipline of Mathematical Morphology was created in the 60's by Jean Serra and Georges Matheron. SMIL is distributed with GPL license. We use SMIL in our research and teaching activities in the field and may, eventually, be used besides scikit-image. You can find SMIL - binaries and documentation - at our web site : http://smil.cmm.mines-paristech.fr or the source code at : https://github.com/ensmp-cmm/smil Thanks Jose-Marcio -- --------------------------------------------------------------- Jose Marcio MARTINS DA CRUZ, Ph.D. Ecole des Mines de Paris CMM - Centre de Morphologie Math?matique --------------------------------------------------------------- Spam : http://amzn.to/LEscRu ou http://bit.ly/SpamJM --------------------------------------------------------------- From nicoddemus at gmail.com Wed Jan 30 16:39:00 2019 From: nicoddemus at gmail.com (Bruno Oliveira) Date: Wed, 30 Jan 2019 19:39:00 -0200 Subject: pytest 4.2.0 released Message-ID: The pytest team is proud to announce the 4.2.0 release! pytest is a mature Python testing tool with more than a 2000 tests against itself, passing on many different interpreters and platforms. This release contains a number of bugs fixes and improvements, so users are encouraged to take a look at the CHANGELOG: https://docs.pytest.org/en/latest/changelog.html For complete documentation, please visit: https://docs.pytest.org/en/latest/ As usual, you can upgrade from pypi via: pip install -U pytest Thanks to all who contributed to this release, among them: * Adam Uhlir * Anthony Sottile * Bruno Oliveira * Christopher Dignam * Daniel Hahler * Joseph Hunkeler * Kristoffer Nordstroem * Ronny Pfannschmidt * Thomas Hisch * wim glenn Happy testing, The Pytest Development Team From mal at europython.eu Thu Jan 31 04:25:52 2019 From: mal at europython.eu (M.-A. Lemburg) Date: Thu, 31 Jan 2019 10:25:52 +0100 Subject: EPS: Announcing the Guido van Rossum Core Developer Grant Message-ID: At the last General Assembly of the EuroPython Society (EPS) at EuroPython 2018 in Edinburgh, we voted on a new grant program we want to put in place for future EuroPython conferences. We all love Python and this is one of the main reasons we are putting on EuroPython year after year, serving the "cast of thousands" which support Python. But we also believe it is important to give something back to the main team of developers who have contributed lots of their time and energy to make Python happen: the Python Core Developers. This group is small, works countless hours, often in their free time and often close to burnout due to not enough new core developers joining the team. Free Tickets for Python Core Developers --------------------------------------- To help with growing the team, putting it more into the spotlight and give them a place to meet, demonstrate their work and a stage to invite new developers, we decided to give Python Core Developers free entry to future EuroPython conferences, starting with EuroPython 2019 in Basel, Switzerland In recognition of Guido?s almost 20 years of leading this team, and with his permission, we have named the grant ?Guido van Rossum Core Developer Grant?. Details of the grant program are available on our core grant page: https://www.europython-society.org/core-grant PS: If you are a core developer and want to organize a workshop, language summit or similar event at EuroPython 2019, please get in touch with our program workgroup (program at europython.eu) soon, so that we can arrange rooms, slots, etc. PPS: If you want to become a core developer, please have a look at the Python Dev Guide: https://devguide.python.org/coredev/ Help spread the word -------------------- Please help us spread this message by sharing it on your social networks as widely as possible. Thank you ! Link to the blog post: https://www.europython-society.org/post/182445627020/announcing-the-guido-van-rossum-core-developer Tweet: https://twitter.com/europythons/status/1090901995635073024 Enjoy, -- EuroPython Society https://ep2019.europython.eu/ https://www.europython-society.org/ From mikofski at berkeley.edu Thu Jan 31 13:27:54 2019 From: mikofski at berkeley.edu (Mark Alexander Mikofski) Date: Thu, 31 Jan 2019 10:27:54 -0800 Subject: [ANN] pvlib-python v0.6.1: predicting power from PV (renweable solar energy) Message-ID: pvlib-0.6.1 is now available PyPI: https://pypi.org/project/pvlib/ Read the Docs: https://pvlib-python.readthedocs.io/en/latest/ GitHub: https://github.com/pvlib/pvlib-python -- Mark Mikofski, PhD (2005) *Fiat Lux* From charlesr.harris at gmail.com Thu Jan 31 19:07:21 2019 From: charlesr.harris at gmail.com (Charles R Harris) Date: Thu, 31 Jan 2019 17:07:21 -0700 Subject: NumPy 1.16.1 release Message-ID: Hi All, On behalf of the NumPy team I'm pleased to announce the release of NumPy 1.16.1. This release fixes bugs reported against the 1.16.0 release, and also backports several enhancements from master that seem appropriate for a release series that is the last to support Python 2.7. The supported Python versions are 2.7 and 3.5-3.7. The wheels on PyPI are linked with OpenBLAS v0.3.4+, which should fix the known threading issues found in previous OpenBLAS versions. Downstream developers building this release should use Cython >= 0.29.2 and, if using OpenBLAS, OpenBLAS > v0.3.4. If you are installing using pip, you may encounter a problem with older installed versions of NumPy that pip did not delete becoming mixed with the current version, resulting in an *ImportError*. That problem is particularly common on Debian derived distributions due to a modified pip. The fix is to make sure all previous NumPy versions installed by pip have been removed. See #12736 for discussion of the issue. Note that previously this problem resulted in an *AttributeError*. Wheels for this release can be downloaded from PyPI , source archives and release notes are available from Github . *Enhancements* * #12767: ENH: add mm->q floordiv * #12768: ENH: port np.core.overrides to C for speed * #12769: ENH: Add np.ctypeslib.as_ctypes_type(dtype), improve `np.ctypeslib.as_ctypes` * #12773: ENH: add "max difference" messages to np.testing.assert_array_equal... * #12820: ENH: Add mm->qm divmod * #12890: ENH: add _dtype_ctype to namespace for freeze analysis *Contributors* A total of 16 people contributed to this release. People with a "+" by their names contributed a patch for the first time. * Antoine Pitrou * Arcesio Castaneda Medina + * Charles Harris * Chris Markiewicz + * Christoph Gohlke * Christopher J. Markiewicz + * Daniel Hrisca + * EelcoPeacs + * Eric Wieser * Kevin Sheppard * Matti Picus * OBATA Akio + * Ralf Gommers * Sebastian Berg * Stephan Hoyer * Tyler Reddy Cheers, Charles Harris