eGenix Team: M.-A. Lemburg | 25 Jun 10:12 2015

ANN: eGenix mxODBC 3.3.3 - Python ODBC Database Interface

________________________________________________________________________

ANNOUNCING

                         eGenix.com mxODBC

                   Python ODBC Database Interface

                           Version 3.3.3

    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.3-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/
(Continue reading)

eGenix Team: M.-A. Lemburg | 19 Jun 10:05 2015

ANN: eGenix Talks & Videos: Python Keynote and Application Design Talk

________________________________________________________________________

ANNOUNCING

                        eGenix Talks & Videos:

              Python Keynote and Application Design Talk

                          PyWaw Summit 2015

This announcement is also available on our web-site for online reading:
http://www.egenix.com/company/news/PyWaw-Summit-2015-Keynote-and-Application-Design.html

________________________________________________________________________

CONFERENCE: PyWaw Summit 2015 in Warsaw, Poland

Marc-André Lemburg, Python Core Developer and Senior Software
Architect, was invited to give a keynote and a technical talk at the
first PyWaw Summit 2015 in Warsaw, Poland.

The event was a big success, thanks to great organization of the PyWaw
team, and we can only recommend anyone looking for two very intense
days of talks to consider attending next year's summit.

We have now turned the talks into a video presentations for easy
viewing and also released the presentation slides.

________________________________________________________________________

(Continue reading)

eGenix Team: M.-A. Lemburg | 12 Jun 10:25 2015

ANN: eGenix pyOpenSSL Distribution 0.13.9

________________________________________________________________________
ANNOUNCING

                   eGenix.com pyOpenSSL Distribution

                            Version 0.13.9

            An easy-to-install and easy-to-use distribution
            of the pyOpenSSL Python interface for OpenSSL -
           available for Windows, Mac OS X and Unix platforms

This announcement is also available on our web-site for online reading:
http://www.egenix.com/company/news/eGenix-pyOpenSSL-Distribution-0.13.9.html

________________________________________________________________________
INTRODUCTION

The eGenix.com pyOpenSSL Distribution includes everything you need to
get started with SSL in Python.

It comes with an easy-to-use installer that includes the most recent
OpenSSL library versions in pre-compiled form, making your application
independent of OS provided OpenSSL libraries:

    http://www.egenix.com/products/python/pyOpenSSL/

pyOpenSSL is an open-source Python add-on that allows writing SSL/TLS-
aware network applications as well as certificate management tools:

    https://launchpad.net/pyopenssl/
(Continue reading)

eGenix Team: M.-A. Lemburg | 10 Jun 10:19 2015

ANN: eGenix mxODBC Plone/Zope Database Adapter 2.2.2

________________________________________________________________________
ANNOUNCING

                  mxODBC Plone/Zope Database Adapter

                            Version 2.2.2

              for the Plone CMS and Zope server platform

              Available for Plone 4.0-4.3 and Plone 5.0,
                        Zope 2.12 and 2.13, on
        Windows, Linux, Mac OS X, FreeBSD and other platforms

This announcement is also available on our web-site for online reading:
http://www.egenix.com/company/news/eGenix-mxODBC-Zope-DA-2.2.2-GA.html

________________________________________________________________________
INTRODUCTION

The eGenix mxODBC Zope DA allows you to easily connect your Zope or
Plone CMS installation to just about any database backend on the
market today, giving you the reliability of the commercially supported
eGenix product mxODBC and the flexibility of the ODBC standard as
middle-tier architecture.

The mxODBC Zope Database Adapter is highly portable, just like Zope
itself and provides a high performance interface to all your ODBC data
sources, using a single well-supported interface on Windows, Linux,
Mac OS X, FreeBSD and other platforms.

(Continue reading)

Jürgen Hermann | 23 May 11:57 2015
Picon

PyRun and PEX

Hi, I tried (with success) to concatenate PyRun and a PEX to get a single distribution artifact for one-command projects (i.e. tools and services). The only wart is that one still needs to pass the "script name" to PyRun, else it starts the REPL.

What do you think about a startup check to see if the PyRun executable is also a ZIP file, and then behave as-if sys.argv[0] was also passed as the first parameter?

[PEX = https://github.com/pantsbuild/pex]


_______________________________________________________________________
eGenix.com User Mailing List                     http://www.egenix.com/
https://www.egenix.com/mailman/listinfo/egenix-users
eGenix Team: M.-A. Lemburg | 13 May 10:58 2015

ANN: eGenix mxODBC Connect 2.1.3 - Remote Python Database Interface

________________________________________________________________________

ANNOUNCING
                      eGenix.com mxODBC Connect

                  Remote Python Database Interface

                            Version 2.1.3

 mxODBC Connect is our commercially supported client-server product for
       connecting Python applications to relational databases
                 in a truly platform independent way.

This announcement is also available on our web-site for online reading:
http://www.egenix.com/company/news/eGenix-mxODBC-Connect-2.1.3-GA.html

________________________________________________________________________

INTRODUCTION

The mxODBC Connect Database Interface for Python allows users to
easily connect Python applications to all major databases on the
market today in a highly portable, convenient and secure way.

Python Database Connectivity the Easy Way
-----------------------------------------

Unlike our mxODBC Python extension, mxODBC Connect is designed as
client-server application, so you no longer need to find production
quality database drivers for all the platforms you target with your
Python application.

Instead, you use an easy to install royalty-free Python client library
which connects directly to the mxODBC Connect database server over the
network.

This makes mxODBC Connect a great basis for writing cross-platform
multi-tier database applications and utilities in Python, especially
if you run applications that need to communicate with databases such
as MS SQL Server and MS Access, Oracle Database, IBM DB2 and Informix,
Sybase ASE and Sybase Anywhere, MySQL, PostgreSQL, SAP MaxDB and many
more, that run on Windows or Linux machines.

Ideal for Database Driven Client Applications
---------------------------------------------

By removing the need to install and configure ODBC drivers on the
client side and dealing with complicated network setups for each set
of drivers, mxODBC Connect greatly simplifies deployment of database
driven client applications, while at the same time making the network
communication between client and database server more efficient and
more secure.

For more information, please have a look at the mxODBC Connect product
page, in particular, the full list of available features.

For more information, please see the product page:

    http://www.egenix.com/products/python/mxODBCConnect/

________________________________________________________________________

NEWS

mxODBC Connect 2.1.3 is a patch level release of our successful mxODBC
Connect database product. It includes these enhancements and fixes:

Security Enhancements
---------------------

 * Updated included OpenSSL libraries to 1.0.1m. See
   https://www.openssl.org/news/secadv_20150319.txt for a complete
   list of changes. Among other security fixes, this addresses the
   FREAK Attack (CVE-2015-0204).

 * Upgraded default RSA key length for demo certificates to 2048 bits.

mxODBC Connect Enhancements
---------------------------

 * Upgraded eGenix PyRun used for mxODBC Connect Server on Linux to
   2.1.0.

 * Upgraded the Python version used for mxODBC Connect Server to
   2.7.9.

 * Fixed a bug causing pip uninstall not to remove .pyc/.pyo files

 * 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.

mxODBC API Enhancements
-----------------------

 * Upgraded the mxODBC Connect Server to mxODBC 3.3.2:

   https://cms.egenix.com/company/news/eGenix-mxODBC-3.3.2-GA.html

MS SQL Server
-------------

 * Fixed an "ODBC driver sent negative string size" error when using
   empty strings or None with output parameters for SQL Server ODBC
   drivers.

 * Clarified that due to the way the SQL Server ODBC driver sends
   data, mixing output parameters and output result sets is not
   possible. A work-around for this is to send back output parameters
   as additional result set.

SAP Sybase ASE
--------------

 * Added a work-around for the Sybase ASE ODBC driver which has
   problems with BIGINT columns. These are now supported.

 * Fixed a possible "ODBC driver sent negative string size" error when
   using empty strings or None with output parameters for Sybase ASE
   ODBC drivers.

Fixes
-----

 * Fixed the handling of None as default value for output parameters
   in e.g. stored procedures to use VARCHAR binding rather than CHAR
   binding. The latter caused padding with some database backends.

 * Changed cursor.colcount to be determined on-demand rather than
   right after the prepare step of statement execution.

For the full set of changes, including those of the 2.1 series of
mxODBC Connect, please check the mxODBC Connect change log:

    http://www.egenix.com/products/python/mxODBCConnect/changelog.html

________________________________________________________________________

UPGRADING

You are encouraged to upgrade to this latest mxODBC Connect release.
When upgrading, please always upgrade both the server and the client
installations to the same version - even for patch level releases.

We will give out 20% discount coupons for upgrade purchases going from
mxODBC Connect Server 1.x to 2.1 and 50% coupons for upgrades from
mxODBC Connect Server 2.x to 2.1. Please contact the eGenix.com Sales
Team (sales@...) with your existing license serials for
details.

Users of our stand-alone mxODBC product will have to purchase new
licenses from our online shop in order to use mxODBC Connect.

You can request free 30-day evaluation licenses by visiting our
web-site or writing to sales@..., stating your name (or the
name of the company) and the number of eval licenses that you need.

    http://www.egenix.com/products/python/mxODBCConnect/#Evaluation

________________________________________________________________________

DOWNLOADS

The download archives as well as instructions for installation and
configuration of the product can be found on the product page:

    http://www.egenix.com/products/python/mxODBCConnect/

If you want to try the package, jump straight to the download
instructions:

    https://cms.egenix.com/products/python/mxODBCConnect/#Download

Fully functional evaluation licenses for the mxODBC Connect Server are
available free of charge:

    http://www.egenix.com/products/python/mxODBCConnect/#Evaluation

The mxODBC Connect Client is always free of charge.

_______________________________________________________________________

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 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, May 13 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/

_______________________________________________________________________
eGenix.com User Mailing List                     http://www.egenix.com/
https://www.egenix.com/mailman/listinfo/egenix-users

eGenix Team: M.-A. Lemburg | 11 May 13:59 2015

ANN: eGenix PyRun - One file Python Runtime 2.1.0

________________________________________________________________________

ANNOUNCING

                 eGenix PyRun - One file Python Runtime

                            Version 2.1.0

         An easy-to-use single file relocatable Python run-time -
           available for Linux, Mac OS X and Unix platforms,
                 with support for Python 2.6, 2.7 and
                       **also for Python 3.4**.

This announcement is also available on our web-site for online reading:
http://www.egenix.com/company/news/eGenix-PyRun-2.1.0-GA.html

________________________________________________________________________

INTRODUCTION

eGenix PyRun is our open source, one file, no installation version of
Python, making the distribution of a Python interpreter to run based
scripts and applications to Unix based systems as simple as copying a
single file.

eGenix PyRun's executable only needs 11MB for Python 2 and 13MB for
Python 3, but still supports most Python application and scripts - and
it can be compressed to just 3-4MB using upx, if needed.

Compared to a regular Python installation of typically 100MB on disk,
eGenix PyRun is ideal for applications and scripts that need to be
distributed to several target machines, client installations or
customers.

It makes "installing" Python on a Unix based system as simple as
copying a single file.

eGenix has been using eGenix PyRun internally in the mxODBC Connect
Server product since 2008 with great success and decided to make it
available as a stand-alone open-source product.

We provide both the source archive to build your own eGenix PyRun, as
well as pre-compiled binaries for Linux, FreeBSD and Mac OS X, as 32-
and 64-bit versions. The binaries can be downloaded manually, or you
can let our automatic install script install-pyrun take care of the
installation: ./install-pyrun dir and you're done.

Please see the product page for more details:

    http://www.egenix.com/products/python/PyRun/

________________________________________________________________________

NEWS

This major new release of eGenix PyRun 2.1 comes with the following new features and changes:

New Features
------------

 * Upgraded eGenix PyRun to work with and use Python 2.7.9 per
   default.

 * Upgraded eGenix PyRun to work with and use Python 3.4.3 for Python
   3 support.

 * Added support for setting rpath on the PyRun binary to make it easy
   to ship external libraries together with PyRun, without having to
   set the LD_LIBRARY_PATH variable.

 * Added special support for egenix-pyopenssl to load its OpenSSL libs
   during startup.

 * PyRun allows to disable the new default HTTPS certificate
   verification (PEP 476) by setting the env var PYRUN_HTTPSVERIFY to
   0. Default is to apply certificate verification.

 * Add support for more Python command line options: -s and -3 are
   ignored, -R raises an error explaining to use the PYTHONHASHSEED
   env var instead, -B prevents writing of byte code files.This should
   increase compatibility of PyRun with the standard Python command
   line interface.

Enhancements / Changes
----------------------

 * Added patch for Python 2.7.9 and 3.4.3 to make ctypes work again
   after changes to those versions of Python. See
   https://bugs.python.org/issue23042 for details.

 * The PyRun -v command line switch will now be passed to Python and
   supports setting the level using e.g. -vv for a verbose 2 level.

 * Disabled user site configurations in PyRun, since these are not
   needed or wanted for typical PyRun uses and cost startup time.

 * Optimized sys.path setup a bit. PyRun won't check for a Python
   build run and will not check lib/site-python on startup anymore.

 * PyRun for Python 3.4 is no longer compiled to always run in
   optimized mode. This allows using asserts in tests again.

Fixes
-----

 * Entering "license" in the interactive shell now returns the correct
   URL for all supported Python versions.

 * Tilde expansion now works for most arguments of install-pyrun. This
   wasn't working before due to a bug.

install-pyrun Quick Install Enhancements
---------------------------------------------

eGenix PyRun includes a shell script called install-pyrun, which
greatly simplifies installation of PyRun. It works much like the
virtualenv shell script used for creating new virtual environments
(except that there's nothing virtual about PyRun environments).

    https://downloads.egenix.com/python/install-pyrun

With the script, an eGenix PyRun installation is as simple as running:

    ./install-pyrun targetdir

This will automatically detect the platform, download and install the
right pyrun version into targetdir.

We have updated this script since the last release:

 * Updated install-pyrun to default to eGenix PyRun 2.1.0 and its
   feature set.

 * Added -r/--requirements option which allows automatically
   installing a set of required packages using a requirements file, so
   you can easily set up a complete Python environment using a single

   ./install-pyrun -r requirements.txt targetdir

 * Updated install-pyrun to install pyrun 2.1.0, setuptools 15.2 and
   pip 1.5.6 per default.

For a complete list of changes, please see the eGenix PyRun Changelog:

    http://www.egenix.com/products/python/PyRun/changelog.html

________________________________________________________________________

LICENSE

eGenix PyRun 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 eGenix PyRun in both commercial and non-commercial settings
without fee or charge.

Please see our license page for more details:

    http://www.egenix.com/products/python/PyRun/license.html

The package comes with full source code.

________________________________________________________________________

DOWNLOADS

The download archives and instructions for installing eGenix PyRun can
be found at:

    http://www.egenix.com/products/python/PyRun/

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
other platforms, such as Solaris, AIX, HP-UX, etc.

_______________________________________________________________________

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.

________________________________________________________________________

MORE INFORMATION

For more information about eGenix PyRun, licensing and download
instructions, please visit our web-site:

    http://www.egenix.com/products/python/PyRun/

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
    specializing in 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, May 11 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/

_______________________________________________________________________
eGenix.com User Mailing List                     http://www.egenix.com/
https://www.egenix.com/mailman/listinfo/egenix-users

M.-A. Lemburg | 28 Apr 15:52 2015

Installation of egenix-mx-base sometimes failing with tox

Some time ago we had a report by Albert-Jan Roskam about tox
sometimes failing to run tests which included egenix-mx-base
as dependency.

Here's an example test run output:

restoring build data from a previous build run
running build
skipping the build process and reusing existing build files
running install_lib
running build_py
error: package directory 'mx' does not exist

Now this only happened sometimes, not always, and for quite a while
we were not able to reproduce this problem on our systems.

After several weeks of trying to debug the problem, we finally found
that it seemed to have to do with the new hash randomization available
in Python 2.7.3 and later which tox uses to run tests.

With certain hash seeds we were able to reproduce the problem
consistently (but not with the default hash seed of 0).

Technical Explanation
---------------------

After another long hunt through the code, we then found the
cause which is rather technical:

The hash randomization was causing the prebuilt build pickle
restoration to partially overwrite the distribution.have_run
dictionary in distutils with some hash seeds.

As a result, distutils was trying to rebuild the already
built package from source, but this could not succeed, since
the prebuilt archives don't come with source files (only with
the already built files).

The cause for all this was the order of dictionary keys
implied by the string hash function in Python. With some
seeds the state of e.g. the build_py command in distutils
was restored after the distribution object, resetting the
have_run state as a result.

Here's one hash seed which causes the problem consistently
on a 64-bit Linux on our systems:

export PYTHONHASHSEED=1054368386

Work-Arounds
------------

If you don't want to wait for the new releases, you can
work around the problem by following the instructions here:

https://testrun.org/tox/latest/example/basic.html#special-handling-of-pythonhashseed

If you get similar problems in other setting, you can set
the hash seed to 0 like this:

export PYTHONHASHSEED=0

before running pip.

The egenix-mx-base package itself (apart from the included
mxSetup.py) is not affected.

Anyway, long story short: we'll fix this in our next eGenix package
releases.

Thanks,
-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Services directly from the Source  (#1, Apr 28 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/

_______________________________________________________________________
eGenix.com User Mailing List                     http://www.egenix.com/
https://www.egenix.com/mailman/listinfo/egenix-users

eGenix Team: M.-A. Lemburg | 20 Apr 11:30 2015

ANN: eGenix mxODBC Plone/Zope Database Adapter 2.2.1

________________________________________________________________________
ANNOUNCING

                  mxODBC Plone/Zope Database Adapter

                            Version 2.2.1

              for the Plone CMS and Zope server platform

              Available for Plone 4.0-4.3 and Plone 5.0,
                        Zope 2.12 and 2.13, on
        Windows, Linux, Mac OS X, FreeBSD and other platforms

This announcement is also available on our web-site for online reading:
http://www.egenix.com/company/news/eGenix-mxODBC-Zope-DA-2.2.1-GA.html

________________________________________________________________________
INTRODUCTION

The eGenix mxODBC Zope DA allows you to easily connect your Zope or
Plone CMS installation to just about any database backend on the
market today, giving you the reliability of the commercially supported
eGenix product mxODBC and the flexibility of the ODBC standard as
middle-tier architecture.

The mxODBC Zope Database Adapter is highly portable, just like Zope
itself and provides a high performance interface to all your ODBC data
sources, using a single well-supported interface on Windows, Linux,
Mac OS X, FreeBSD and other platforms.

This makes it ideal for deployment in ZEO Clusters and Zope hosting
environments where stability and high performance are a top priority,
establishing an excellent basis and scalable solution for your Plone
CMS.

Product page:

    http://www.egenix.com/products/zope/mxODBCZopeDA/

________________________________________________________________________
NEWS

The 2.2.1 release of our mxODBC Zope/Plone Database Adapter product is
a patch level release of the popular ODBC database interface for Plone
and Zope. It includes these enhancements and fixes:

Feature Updates
---------------

 * Fully compatible with *Zope External Methods* and Zope's built-in
   transaction mechanism: use Connection Objects in Python modules set
   up as Zope External Methods to all the features of the mxODBC Zope
   DA from Python and even tap into the low-level features of mxODBC
   within Zope's transaction mechanism.

 * Full support of *Stored Procedures*: when using Zope External
   Methods, you have full access to SQL stored procedures, which
   allows direct integration with external database APIs.

Driver Compatibility Enhancements
---------------------------------

 * ODBC driver compatibility updated. Upgraded to the latest mxODBC
   3.3.2 release, adding compatibility enhancements for MS SQL Server,
   SAP Sybase ASE and stored procedure output parameters. See the
   mxODBC 3.3.0 and 3.3.2 release announcements for full details.

   http://www.egenix.com/company/news/eGenix-mxODBC-3.3.2-GA.html

Fixes
-----

 * Documented use of allow_hosts in buildout.cfg

The complete list of changes is available on the mxODBC Zope DA
changelog page.

    http://www.egenix.com/products/zope/mxODBCZopeDA/changelog.html

mxODBC Zope DA 2.2.0 was released on 2014-12-11. Please see the mxODBC
Zope DA 2.2.0 release announcement for all the new features we have
added.

http://www.egenix.com/company/news/eGenix-mxODBC-Zope-DA-2.2.0-GA.html

For the full list of features, please see the mxODBC Zope DA feature
list:

    http://www.egenix.com/products/zope/mxODBCZopeDA/#Features

The complete list of changes is available on the mxODBC Zope DA
changelog page.

________________________________________________________________________
UPGRADING

Users are encouraged to upgrade to this latest mxODBC Plone/Zope
Database Adapter 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.

For major and minor upgrade purchases, we will give out 20% discount
coupons going from mxODBC Zope DA 1.x to 2.2 and 50% coupons for
upgrades from mxODBC 2.x to 2.2. After upgrade, use of the original
license from which you upgraded is no longer permitted. Patch level
upgrades (e.g. 2.2.0 to 2.2.1) are always free of charge.

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 or writing to
sales@..., stating your name (or the name of the company) and
the number of eval licenses that you need.

    http://www.egenix.com/products/python/mxODBCZopeDA/#Evaluation

________________________________________________________________________
DOWNLOADS

Please visit the eGenix mxODBC Zope DA product page for downloads,
instructions on installation and documentation of the packages:

    http://www.egenix.com/company/products/zope/mxODBCZopeDA/

If you want to try the package, please jump straight to the download
instructions:

    http://www.egenix.com/products/zope/mxODBCZopeDA/#Download

Fully functional evaluation licenses for the mxODBC Zope DA are
available free of charge:

    http://www.egenix.com/products/zope/mxODBCZopeDA/#Evaluation

________________________________________________________________________
SUPPORT

Commercial support for this product is available directly from
eGenix.com.

Please see the support section of our website for details:

    http://www.egenix.com/services/support/

________________________________________________________________________
MORE INFORMATION

For more information on eGenix mxODBC Zope DA, licensing and download
instructions, please write to sales@...

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, Apr 20 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/

_______________________________________________________________________
eGenix.com User Mailing List                     http://www.egenix.com/
https://www.egenix.com/mailman/listinfo/egenix-users

eGenix Team: M.-A. Lemburg | 17 Apr 12:42 2015

ANN: Python Meeting Düsseldorf - 29.04.2015

[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.

                  Dienstag, 29.04.2015, 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:
http://www.egenix.com/company/news/Python-Meeting-Duesseldorf-2015-04-29

________________________________________________________________________
NEUIGKEITEN

 * Bereits angemeldete Vorträge:

   Johannes Spielmann
       "Nachrichtenprotokolle in Python"

   Matthias Endler
       "The State of PyPy"

   Charlie Clark
       "Die Kunst des Nichtstun: Eine Einführung in Profiling"
       "et_xmlfile: Valides XML schreiben mit niedrigem Speicherbedarf"

   Marc-Andre Lemburg
       "SSL in Python 2.7.9"
       "YouTube Feed mit feedparser auswerten"

   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 Open Space
und Lightning Talks, wobei die Gewitter bei uns auch schon mal
20 Minuten dauern können ;-).

Lightning Talks können vorher angemeldet werden, oder auch
spontan während des Treffens eingebracht werden. Ein Beamer mit
XGA Auflösung steht zur Verfügung. Folien bitte als PDF auf USB
Stick mitbringen.

Lightning Talk Anmeldung bitte formlos per EMail an info@...

________________________________________________________________________
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@...

________________________________________________________________________
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 Source  (#1, Apr 17 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/

_______________________________________________________________________
eGenix.com User Mailing List                     http://www.egenix.com/
https://www.egenix.com/mailman/listinfo/egenix-users

Raghavan, Vinay | 15 Apr 17:38 2015
Picon

egenix mxodbc 3.3.1 and SQLAlchemy

Has anyone got egenix 3.3.X to work with recent versions of SQLAlchemy (0.8.X / 0.9.X) ? 

With egenix mxodbc 3.3.1 (mx base 3.2.8) we are facing troubles when working with 

SQLAlchemy 0.7.6, as the ORM
unixODBC 2.3.0, as the driver manager 
FreeTDS 0.82 or Microsoft ODBC Driver 11 for SQL Server on Linux (https://msdn.microsoft.com/en-us/library/hh568451%28v=sql.110%29.aspx) as the db drivers

Update statements end up throwing StaleDataError. Has anyone encountered StaleDataError with latest egenix mxodbc and resolved it; and with which version of SQLAlchemy?

When digging further, with respect to the StaleDataError, a snippet seems to have this condition (https://github.com/zzzeek/sqlalchemy/blob/rel_0_7_6/lib/sqlalchemy/orm/persistence.py#L478 onwards)

   394        if value_params:
   395            c = connection.execute(
   396                                statement.values(value_params),
   397                                params)
   398        else:
   399            c = cached_connections[connection].\
   400                                execute(statement, params)
       
   401        _postfetch(
   402                mapper,
   403                uowtransaction, 
   404                table, 
   405                state, 
   406                state_dict, 
   407                c.context.prefetch_cols, 
   408                c.context.postfetch_cols,
   409                c.context.compiled_parameters[0], 
   410                value_params)
   411        rows += c.rowcount
       
   412    if connection.dialect.supports_sane_rowcount:
   413        if rows != len(update):
   414            raise orm_exc.StaleDataError(
   415                    "UPDATE statement on table '%s' expected to "
   416                    "update %d row(s); %d were matched." %
   417                    (table.description, len(update), rows))
       
pdb shows that connection.dialect.supports_sane_rowcount is set to True since it is not overridden otherwise for mxodbc dialect. Is this proper? I got this doubt since it is explicitly set otherwise in dialect for pymssql (https://github.com/zzzeek/sqlalchemy/blob/rel_0_7_6/lib/sqlalchemy/dialects/mssql/pymssql.py#L53)


Right now, few of our team members are using FreeTDS and few others using MS ODBC driver. The mentioned error is seen with either of these drivers. Upgrading to a newer version of SQLAlchemy 0.9.X causes even selects to fail, which seems to be a bigger concern. 

Please share any inputs which you may have about the combination of unixODBC, FreeTDS, SQLAlchemy and egenix mxodbc.

-- 
Regards,

raghava

_______________________________________________________________________
eGenix.com User Mailing List                     http://www.egenix.com/
https://www.egenix.com/mailman/listinfo/egenix-users

Gmane