From egenix-announcements at egenix.com Tue Aug 4 11:42:57 2015 From: egenix-announcements at egenix.com (egenix-announcements@egenix.com) Date: Tue Aug 4 10:43:05 2015 Subject: [eGenix.com] ANN: eGenix Talks & Videos: Python Idioms Talk Message-ID: <55C07B11.3080303@egenix.com> ________________________________________________________________________ ANNOUNCING eGenix Talks & Videos: Python Idioms Talk EuroPython 2015 This announcement is also available on our web-site for online reading: http://www.egenix.com/company/news/EuroPython-2015-Python-Idioms.html ________________________________________________________________________ EuroPython 2015 in Bilbao, Basque Country, Spain Marc-Andr? Lemburg, Python Core Developer, one of the EuroPython 2015 organizers and Senior Software Architect, held a talk at EuroPython focusing on programmers just starting with Python. We have now turned the talk into a video presentations for easy viewing and also released the presentation slides. ________________________________________________________________________ Python Idioms to help you write good code Talk given at the EuroPython 2015 conference in Bilbao, Basque Country, Spain, presenting Python idioms which are especially useful for programmers new to Python. Talk video and slides: http://www.egenix.com/library/presentations/EuroPython-2015-Python-Idioms/ Python focuses a lot on writing readable code and also tries to make solutions obvious, but this doesn?t necessarily mean that you cannot write unreadable code or design your code in ways which makes it hard to extend or maintain. The talk shows some useful idioms to apply when writing Python code, how to structure your modules and also goes into details on which techniques to use and which to think about twice, based on 20 years of experience writing Python. -- Marc-Andr? Lemburg More interesting eGenix presentations are available in the presentations and talks community section of our website. http://www.egenix.com/library/presentations/ ________________________________________________________________________ PYTHON COACHING AND CONSULTING If you are interested in learning more about these advanced techniques, eGenix now offers Python project coaching and consulting services to give your project teams advice on how to design Python applications, successfully run projects, or find excellent Python programmers. Please contact our eGenix Sales Team for information. http://www.egenix.com/services/ ________________________________________________________________________ INFORMATION About Python (http://www.python.org/): Python is an object-oriented Open Source programming language which runs on all modern platforms. By integrating ease-of-use, clarity in coding, enterprise application connectivity and rapid application design, Python establishes an ideal programming platform for today's IT challenges. About eGenix (http://www.egenix.com/): eGenix is a software project, consulting and product company focusing on expert project services and professional quality products for companies, Python users and developers. Enjoy, -- Marc-Andre Lemburg eGenix.com Professional Python Services directly from the Source (#1, Aug 04 2015) >>> Python Projects, Coaching and Consulting ... http://www.egenix.com/ >>> mxODBC Plone/Zope Database Adapter ... http://zope.egenix.com/ >>> mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/ ________________________________________________________________________ ::::: Try our mxODBC.Connect Python Database Interface for free ! :::::: 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/ From egenix-announcements at egenix.com Wed Aug 12 13:03:30 2015 From: egenix-announcements at egenix.com (egenix-announcements@egenix.com) Date: Wed Aug 12 12:04:08 2015 Subject: [eGenix.com] ANN: eGenix mxODBC 3.3.4 - Python ODBC Database Interface Message-ID: <55CB19F2.2000900@egenix.com> ________________________________________________________________________ ANNOUNCING eGenix.com mxODBC Python ODBC Database Interface Version 3.3.4 mxODBC is our commercially supported Python extension providing ODBC database connectivity to Python applications on Windows, Mac OS X, Unix and BSD platforms with many advanced Python DB-API extensions and full support of stored procedures This announcement is also available on our web-site for online reading: http://www.egenix.com/company/news/eGenix-mxODBC-3.3.4-GA.html ________________________________________________________________________ INTRODUCTION mxODBC provides an easy-to-use, high-performance, reliable and robust Python interface to ODBC compatible databases such as MS SQL Server, Oracle Database, IBM DB2, Informix and Netezza, SAP Sybase ASE and Sybase Anywhere, Teradata, MySQL, MariaDB, PostgreSQL, SAP MaxDB and many more: http://www.egenix.com/products/python/mxODBC/ The "eGenix mxODBC - Python ODBC Database Interface" product is a commercial extension to our open-source eGenix mx Base Distribution: http://www.egenix.com/products/python/mxBase/ ________________________________________________________________________ NEWS The 3.3.4 release of our mxODBC is a patch level release of our popular Python ODBC Interface for Windows, Linux, Mac OS X and FreeBSD. It includes these enhancements and fixes: Driver Compatibility -------------------- MS SQL Server * Added a work-around for MS SQL Server Native Client to be able to support VARCHAR/VARBINARY(MAX) columns when using the Native Client with direct execution mode or Python type binding mode. Thanks to ZeOmega for reporting this. * Added new helper singleton BinaryNull to allow binding a NULL to a VARBINARY column with SQL Server in direct execution mode or Python type binding mode (as used for FreeTDS). Using the usual None doesn't work in those cases, since SQL Server does not accept a VARCHAR data type as input for VARBINARY, except by using an explicit "CAST(? AS VARBINARY)". mxODBC binds None as VARCHAR for best compatibility, when not getting any type hints from the ODBC driver. Misc: * The various __version__ attributes in mxODBC are now automatically updated during release. In the past, we sometimes missed updating a few places when cutting releases. For the full set of changes please check the mxODBC change log: http://www.egenix.com/products/python/mxODBC/changelog.html ________________________________________________________________________ FEATURES mxODBC 3.3 was released on 2014-04-08. Please see the full announcement for highlights of the 3.3 release: http://www.egenix.com/company/news/eGenix-mxODBC-3.3.0-GA.html For the full set of features mxODBC has to offer, please see: http://www.egenix.com/products/python/mxODBC/#Features ________________________________________________________________________ EDITIONS mxODBC is available in these two editions: * The Professional Edition, which gives full access to all mxODBC features. * The Product Development Edition, which allows including mxODBC in applications you develop. For a complete overview of the available editions, please see the product page: http://www.egenix.com/products/python/mxODBC/#mxODBCEditions ________________________________________________________________________ DOWNLOADS The download archives and instructions for installing the package can be found at: http://www.egenix.com/products/python/mxODBC/ In order to use the eGenix mxODBC package you will first need to install the eGenix mx Base package: http://www.egenix.com/products/python/mxBase/ You can also simply use: pip install egenix-mxodbc and then get evaluation licenses from our website to try mxODBC: http://www.egenix.com/products/python/mxODBC/#Evaluation ________________________________________________________________________ UPGRADING Users are encouraged to upgrade to this latest mxODBC release to benefit from the new features and updated ODBC driver support. We have taken special care not to introduce backwards incompatible changes, making the upgrade experience as smooth as possible. Customers who have purchased mxODBC 3.3 licenses can continue to use their licenses with this patch level release. For upgrade purchases, we will give out 20% discount coupons going from mxODBC 2.x to 3.3 and 50% coupons for upgrades from mxODBC 3.x to 3.3. Please contact the eGenix.com Sales Team with your existing license serials for details for an upgrade discount coupon. If you want to try the new release before purchase, you can request 30-day evaluation licenses by visiting our web-site http://www.egenix.com/products/python/mxODBC/#Evaluation or writing to sales@egenix.com, stating your name (or the name of the company) and the number of eval licenses that you need. _______________________________________________________________________ SUPPORT Commercial support for this product is available from eGenix.com. Please see http://www.egenix.com/services/support/ for details about our support offerings. _______________________________________________________________________ INFORMATION About Python (http://www.python.org/): Python is an object-oriented Open Source programming language which runs on all modern platforms. By integrating ease-of-use, clarity in coding, enterprise application connectivity and rapid application design, Python establishes an ideal programming platform for today's IT challenges. About eGenix (http://www.egenix.com/): eGenix is a database focused software project, consulting and product company delivering expert services and professional quality products for companies, Python users and developers. Enjoy, -- Marc-Andre Lemburg eGenix.com Professional Python Services directly from the Source (#1, Aug 12 2015) >>> Python Projects, Coaching and Consulting ... http://www.egenix.com/ >>> mxODBC Plone/Zope Database Adapter ... http://zope.egenix.com/ >>> mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/ ________________________________________________________________________ ::::: Try our mxODBC.Connect Python Database Interface for free ! :::::: 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/ From egenix-announcements at egenix.com Wed Aug 19 13:06:25 2015 From: egenix-announcements at egenix.com (egenix-announcements@egenix.com) Date: Wed Aug 19 12:06:56 2015 Subject: [eGenix.com] ANN: eGenix mxODBC 3.3.5 - Python ODBC Database Interface Message-ID: <55D45521.9070206@egenix.com> ________________________________________________________________________ ANNOUNCING eGenix.com mxODBC Python ODBC Database Interface Version 3.3.5 mxODBC is our commercially supported Python extension providing ODBC database connectivity to Python applications on Windows, Mac OS X, Unix and BSD platforms with many advanced Python DB-API extensions and full support of stored procedures This announcement is also available on our web-site for online reading: http://www.egenix.com/company/news/eGenix-mxODBC-3.3.5-GA.html ________________________________________________________________________ INTRODUCTION mxODBC provides an easy-to-use, high-performance, reliable and robust Python interface to ODBC compatible databases such as MS SQL Server, Oracle Database, IBM DB2, Informix and Netezza, SAP Sybase ASE and Sybase Anywhere, Teradata, MySQL, MariaDB, PostgreSQL, SAP MaxDB and many more: http://www.egenix.com/products/python/mxODBC/ The "eGenix mxODBC - Python ODBC Database Interface" product is a commercial extension to our open-source eGenix mx Base Distribution: http://www.egenix.com/products/python/mxBase/ ________________________________________________________________________ NEWS The 3.3.5 release of our mxODBC is a patch level release of our popular Python ODBC Interface for Windows, Linux, Mac OS X and FreeBSD. It includes these enhancements and fixes: Features -------- * Documented the use of transaction isolation levels with mxODBC in a new section of the mxODBC manual. This features has been part of mxODBC for long time, but was never documented as such. Driver Compatibility -------------------- MS SQL Server * Fixed the definition of the BinaryNull singleton added in mxODBC 3.3.4 to make it pickleable and protect it against recreation. * Documented and recommended use of SET NOCOUNT ON for running multiple statements or stored procedures. This can not only resolve issues with error reporting, it also results in better performance. Bug Fixes --------- * Fixed a potential segfault during interpreter shutdown introduced in mxODBC 3.3.4. Found by ZeOmega while testing mxODBC with SQLAlchemy (SA) using the "mssql+mxodbc" SA engine Installation Enhancements ------------------------- * Added support for bdist_wheels to mxSetup, which is used for creating distribution packages of mxODBC, to allow building wheels from the prebuilt packages, e.g. during installation via pip. For the full set of changes please check the mxODBC change log: http://www.egenix.com/products/python/mxODBC/changelog.html ________________________________________________________________________ FEATURES mxODBC 3.3 was released on 2014-04-08. Please see the full announcement for highlights of the 3.3 release: http://www.egenix.com/company/news/eGenix-mxODBC-3.3.0-GA.html For the full set of features mxODBC has to offer, please see: http://www.egenix.com/products/python/mxODBC/#Features ________________________________________________________________________ EDITIONS mxODBC is available in these two editions: * The Professional Edition, which gives full access to all mxODBC features. * The Product Development Edition, which allows including mxODBC in applications you develop. For a complete overview of the available editions, please see the product page: http://www.egenix.com/products/python/mxODBC/#mxODBCEditions ________________________________________________________________________ DOWNLOADS The download archives and instructions for installing the package can be found at: http://www.egenix.com/products/python/mxODBC/ In order to use the eGenix mxODBC package you will first need to install the eGenix mx Base package: http://www.egenix.com/products/python/mxBase/ You can also simply use: pip install egenix-mxodbc and then get evaluation licenses from our website to try mxODBC: http://www.egenix.com/products/python/mxODBC/#Evaluation ________________________________________________________________________ UPGRADING Users are encouraged to upgrade to this latest mxODBC release to benefit from the new features and updated ODBC driver support. We have taken special care not to introduce backwards incompatible changes, making the upgrade experience as smooth as possible. Customers who have purchased mxODBC 3.3 licenses can continue to use their licenses with this patch level release. For upgrade purchases, we will give out 20% discount coupons going from mxODBC 2.x to 3.3 and 50% coupons for upgrades from mxODBC 3.x to 3.3. Please contact the eGenix.com Sales Team with your existing license serials for details for an upgrade discount coupon. If you want to try the new release before purchase, you can request 30-day evaluation licenses by visiting our web-site http://www.egenix.com/products/python/mxODBC/#Evaluation or writing to sales@egenix.com, stating your name (or the name of the company) and the number of eval licenses that you need. _______________________________________________________________________ SUPPORT Commercial support for this product is available from eGenix.com. Please see http://www.egenix.com/services/support/ for details about our support offerings. _______________________________________________________________________ INFORMATION About eGenix (http://www.egenix.com/): eGenix is a database focused software project, consulting and product company delivering expert services and professional quality products for companies, Python users and developers. About Python (http://www.python.org/): Python is an object-oriented Open Source programming language which runs on all modern platforms. By integrating ease-of-use, clarity in coding, enterprise application connectivity and rapid application design, Python establishes an ideal programming platform for today's IT challenges. Enjoy, -- Marc-Andre Lemburg eGenix.com Professional Python Services directly from the Source (#1, Aug 19 2015) >>> Python Projects, Coaching and Consulting ... http://www.egenix.com/ >>> mxODBC Plone/Zope Database Adapter ... http://zope.egenix.com/ >>> mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/ ________________________________________________________________________ ::::: Try our mxODBC.Connect Python Database Interface for free ! :::::: 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/ From egenix-announcements at egenix.com Thu Aug 27 15:44:48 2015 From: egenix-announcements at egenix.com (egenix-announcements@egenix.com) Date: Thu Aug 27 14:44:59 2015 Subject: [eGenix.com] ANN: eGenix mx Base Distribution 3.2.9 (mxDateTime, mxTextTools, etc.) Message-ID: <55DF0640.2020703@egenix.com> ________________________________________________________________________ ANNOUNCING eGenix.com mx Base Distribution mxDateTime, mxTextTools, mxProxy, mxURL, mxUID, mxBeeBase, mxStack, mxQueue, mxTools Version 3.2.9 Open Source Python extensions providing important and useful services for Python programmers. This announcement is also available on our web-site for online reading: http://www.egenix.com/company/news/eGenix-mx-Base-Distribution-3.2.9-GA.html ________________________________________________________________________ ABOUT The eGenix.com mx Base Distribution for Python is a collection of professional quality software tools which enhance Python's usability in many important areas such as fast text searching, date/time processing and high speed data types. The tools have a proven track record of being portable across many Unix and Windows platforms. You can write applications which use the tools on Windows and then run them on Unix platforms without change due to the consistent platform independent interfaces. Contents of the distribution: * mxDateTime - Easy to use Date/Time Library for Python * mxTextTools - Fast Text Parsing and Processing Tools for Python * mxProxy - Object Access Control for Python * mxBeeBase - On-disk B+Tree Based Database Kit for Python * mxURL - Flexible URL Data-Type for Python * mxUID - Fast Universal Identifiers for Python * mxStack - Fast and Memory-Efficient Stack Type for Python * mxQueue - Fast and Memory-Efficient Queue Type for Python * mxTools - Fast Everyday Helpers for Python The package also includes the mxSetup module, which implements our distutils based package tool chain (including the tooling for our Python web installer technology), as well as a number of helpful smaller modules in the mx.Misc subpackage, such as mx.Misc.ConfigFile for config file parsing or mx.Misc.CommandLine to quickly write command line applications in Python. All available packages have proven their stability and usefulness in many mission critical applications and various commercial settings all around the world. For more information, please see the distribution page: http://www.egenix.com/products/python/mxBase/ ________________________________________________________________________ NEWS The 3.2.9 release of the eGenix mx Base Distribution is the latest release of our open-source Python extensions. It includes these fixes and enhancements: Fixes for all Python Builds --------------------------- * Fixed the DateTime value range to only cover dates which can be represented as broken down values. On 32-bit systems, the valid range now is from -5879608-01-01 to 5879609-12-31, on 64-bit systems from -25252734927766552-01-01 to 25252734927766553-12-31.Should be enough for most needs :-) * Fixed the DateTimeDelta value range to only cover deltas which can be represented as broken down values. On 32-bit systems, the valid range now is from -2147483647:00:00:00.00 to 2147483647:00:00:00.00, on 64-bit systems from -104249991374:07:36:32.00 to 104249991374:07:36:32.00. * Fixed a segfault on Windows when using .strftime() on a DateTime object with leap seconds. mxDateTime will now raise a ValueError instead, since the Windows C runtime strftime() doesn't handle leap seconds and segfaults. * Fixed a segfault on Windows when using .strftime() with an unsupported formatting code (e.g. %f). mxDateTime will now raise a ValueError instead, since the Windows C runtime strftime() doesn't like unsupported formatting codes or lone % at the end of the format string and causes a segfault. Thanks to Barry B for reporting this. Fixes for Python Debug Builds ----------------------------- * In this patch level release, we have significantly improved the compatibility of eGenix mx Base with Python debug builds, which we previously did not support. Regular Python builds are usually not affected. * Fixed crashes of several mx Base packages when using Python debug builds, which were due to the use of free lists. Free lists are disabled for Python debug builds now. * Several mx Base packages crashed during interpreter shutdown when using Python debug builds. * mxBeeBase: Fixed a memory allocation error when using Python debug builds. * mxDateTime crashed when using Python debug builds due to the use of free lists and a non-standard way of dealing with errors inside object constructors, bypassing the logic used by debug builds to trace object allocation. Thanks to Edson Tadeu M. Manoel for bringing this to our attention. * mxTools: Fix a segfault in napply() when using Python debug builds. Installation Enhancements and Fixes (via included mxSetup) ---------------------------------------------------------- Most of these enhancements and fixes are part of the Python web installer support we added to mxSetup a while ago. If you want to learn more about this web installer technology, please see this talk on the topic: http://www.egenix.com/library/presentations/PyCon-UK-2014-Python-Web-Installer/ * Fixed traceback when building pure Python packages with mxSetup's bdist_prebuilt. * mxSetup's web installer now searches for "purepython" and "anyos" tags as fallback when looking for OS dependent packages. It also adds the "anyos" tag to all pure Python packages. * Refactored the web installer in mxSetup into a class for easier customization. * Added --unicode-aware parameter support to bdist_egg when used with setuptools. * mxSetup now always produces PEP 440 compatible version numbers (using mx_version()). * Prebuilt archives created on Linux2 will now load fine on Linux3 machines. Same for FreeBSD and other systems which retain backwards compatibility. * Prebuilt archives will now also be usable on compatible platforms, e.g. ones compiled on linux2 with linux3 systems and ones for freebsd8 with freebsd9 or freebsd10. * Fixed a bug in mxSetup which caused .pyc/.pyo not to get removed when using 'pip uninstall'. * Resolved an intermittent error related to hash seeds which sometimes caused prebuilt archives to not install correctly. Thanks to Albert-Jan Roskam for reporting this. * Added Raspberry Pi Ver. 2 support to mxSetup. * Added support for bdist_wheels to allow building wheels from source or from prebuilt packages using mxSetup. * Removed a spurious AttributeError warning showing up when installing egenix-mx-base prebuilt packages on Windows systems without C compiler. eGenix mx Base Distribution 3.2.0 was release on 2012-08-28. Please see the announcement for new features in the 3.2 major release compared to earlier releases: http://www.egenix.com/company/news/eGenix-mx-Base-Distribution-3.2.0-GA.html For a full list of changes, please refer to the eGenix mx Base Distribution change log and the change logs of the various included Python packages. http://www.egenix.com/products/python/mxBase/changelog.html ________________________________________________________________________ UPGRADING We encourage all users to upgrade to this latest eGenix mx Base Distribution release. If you are upgrading from eGenix mx Base 3.1.x, please see the eGenix mx Base Distribution 3.2.0 release notes for details on what has changed since the 3.1 major release. http://www.egenix.com/company/news/eGenix-mx-Base-Distribution-3.2.0-GA.html ________________________________________________________________________ LICENSE The eGenix mx Base package is distributed under the eGenix.com Public License 1.1.0 which is an Open Source license similar to the Python license. You can use the packages in both commercial and non-commercial settings without fee or charge. This open source distribution package comes with full source code. ________________________________________________________________________ DOWNLOADS The download archives and instructions for installing the packages can be found on the eGenix mx Base Distribution page: http://www.egenix.com/products/python/mxBase/ If you want to try the package, please jump straight to the download instructions or simply run "pip install egenix-mx-base". As always, we are providing pre-built binaries for all common platforms: Windows 32/64-bit, Linux 32/64-bit, FreeBSD 32/64-bit, Mac OS X 32/64-bit. Source code archives are available for installation on all other Python platforms, such as Solaris, AIX, HP-UX, etc. To simplify installation in Zope/Plone and other egg-based systems, we have also precompiled egg distributions for all platforms. These are available on our own PyPI-style index server for easy and automatic download. Please see the download instructions for details: http://www.egenix.com/products/python/mxBase/#Download Whether you are using a prebuilt package or the source distribution, installation is a simple "python setup.py install" command in all cases. The only difference is that the prebuilt packages do not require a compiler or the Python development packages to be installed. ________________________________________________________________________ SUPPORT Commercial support contracts for this product are available from eGenix.com. Please see http://www.egenix.com/services/support/ for details about our support offerings. ________________________________________________________________________ MORE INFORMATION For more information on the eGenix mx Base Distribution, documentation and installation notes, please visit our web-site: http://www.egenix.com/products/python/mxBase/ About eGenix (http://www.egenix.com/): eGenix is a database focused software project, consulting and product company delivering expert services and professional quality products for companies, Python users and developers. About Python (http://www.python.org/): Python is an object-oriented Open Source programming language which runs on all modern platforms. By integrating ease-of-use, clarity in coding, enterprise application connectivity and rapid application design, Python establishes an ideal programming platform for today's IT challenges. Enjoy, -- Marc-Andre Lemburg eGenix.com Professional Python Services directly from the Source (#1, Aug 27 2015) >>> Python Projects, Coaching and Consulting ... http://www.egenix.com/ >>> mxODBC Plone/Zope Database Adapter ... http://zope.egenix.com/ >>> mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/ ________________________________________________________________________ 2015-08-19: Released mxODBC 3.3.5 ... http://egenix.com/go82 ::::: Try our mxODBC.Connect Python Database Interface for free ! :::::: 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/