Hello! Plyplus is finally stable enough to announce.
Plyplus is a general-purpose parser built on top of PLY, written in python, with a slightly different approach to parsing.
Most parsers work by calling a function for each rule they identify, which processes the data and returns to the parser. Plyplus parses the entire file into a parse-tree, letting you search and process it using visitors and pattern-matching.
Plyplus makes two uncommon separations: of code from grammar, and of processing from parsing. The result of this approach is (hopefully) a cleaner design, more powerful grammar processing, and a parser which is easier to write and to understand.
Plyplus also provides advanced analysis tools for querying and transforming the AST.
---------------------------------
Project page is: https://github.com/erezsh/plyplus
In PyPI: http://pypi.python.org/pypi/PlyPlus
Or you can simply:
pip install plyplus
On behalf of the Python development team, I'm delighted to announce the
Python 3.3.0 final release.
Python 3.3 includes a range of improvements of the 3.x series, as well
as easier porting between 2.x and 3.x. Major new features and changes
in the 3.3 release series are:
* PEP 380, syntax for delegating to a subgenerator ("yield from")
* PEP 393, flexible string representation (doing away with the
distinction between "wide" and "narrow" Unicode builds)
* A C implementation of the "decimal" module, with up to 120x speedup
for decimal-heavy applications
* The import system (__import__) now based on importlib by default
* The new "lzma" module with LZMA/XZ support
* PEP 397, a Python launcher for Windows
* PEP 405, virtual environment support in core
* PEP 420, namespace package support
* PEP 3151, reworking the OS and IO exception hierarchy
* PEP 3155, qualified name for classes and functions
* PEP 409, suppressing exception context
* PEP 414, explicit Unicode literals to help with porting
* PEP 418, extended platform-independent clocks in the "time" module
* PEP 412, a new key-sharing dictionary implementation that
significantly saves memory for object-oriented code
* PEP 362, the function-signature object
* The new "faulthandler" module that helps diagnosing crashes
* The new "unittest.mock" module
* The new "ipaddress" module
* The "sys.implementation" attribute
* A policy framework for the email package, with a provisional (see
PEP 411) policy that adds much improved unicode support for email
header parsing
* A "collections.ChainMap" class for linking mappings to a single unit
* Wrappers for many more POSIX functions in the "os" and "signal"
modules, as well as other useful functions such as "sendfile()"
* Hash randomization, introduced in earlier bugfix releases, is now
switched on by default
In total, almost 500 API items are new or improved in Python 3.3.
For a more extensive list of changes in 3.3.0, see
http://docs.python.org/3.3/whatsnew/3.3.html
To download Python 3.3.0 visit:
http://www.python.org/download/releases/3.3.0/
This is a production release, please report any bugs to
http://bugs.python.org/
Enjoy!
--
Georg Brandl, Release Manager
georg at python.org
(on behalf of the entire python-dev team and 3.3's contributors)
The PyData NYC team and Continuum Analytics are proud to announce the full lineup of talks and speakers for the PyData NYC 2012 event! We're thrilled with the exciting lineup of workshops, hands-on tutorials, and talks about real-world uses of Python for data analysis.
http://nyc2012.pydata.org/schedule
The list of presenters and talk abstracts are also available, and are linked from the schedule page.
For those who will be in town on Thursday evening of October 25th, there will be a special PyData edition of Drinks & Data at Dewey's Flatiron. It'll be a great chance to socialize and meet with PyData presenters and other attendees. Register here: http://drinks-and-data-pydata-conf-ny.eventbrite.com/
We're also proud to be part of the NYC DataWeek: http://oreilly.com/dataweek/?cmp=tw-strata-ev-dr. The week of October 22nd is going to be a great time to be in New York!
Lastly, we are still looking for sponsors! If you want to get your company recognition in front of a few hundred Python data hackers and hardcore developers, PyData will be a premier venue to showcase your products or recruit exceptional talent. Please visit http://nyc2012.pydata.org/sponsors/becoming/ to inquire about sponsorship. In addition to the conference sponsorship, charter sponsorships for dinner Friday night, as well as the Sunday Hack-a-thon event are all open.
Please help us promote the conference! Tell your friends, email your meetup groups, and follow @PyDataConf on Twitter. Early registration ends in just a few weeks, so register today!
http://pydata.eventbrite.com/
See you there!
-Peter Wang
Organizer, PyData NYC 2012
I've released v0.2 of PipeController, my experimental tool to simulate pipes in Python.
It can be downloaded here:
http://dancingbison.com/pipe_controller-v0.2.zip
Changes in v0.2:
- module name changed to avoid clashes with pipes module in the standard Python library; the module is now called pipe_controller.py instead of pipes.py;
- you can now pass input and output filename arguments on the command in your program that calls PipeController, instead of having to use I/O redirection;
- you can now import class PipeController from the module, with:
from pipe_controller import PipeController
- you can now run a PipeController pipe incrementally, i.e., run the pipe in a loop, adding a pipe component (a Python function) in each iteration, and it can save the intermediate outputs resulting from each iteration, to separate output files; the program test_pipe_controller_03.py in the download package shows how to do this. This feature can be useful to debug your pipe's logic, and also to save the intermediate computation results in case they are of use in their own right.
Blog post about using PipeController v0.2 to run a pipe incrementally:
http://jugad2.blogspot.in/2012/09/using-pipecontroller-to-run-pipe.html
- Vasudev Ram
www.dancingbison.comjugad2.blogspot.comtwitter.com/vasudevram
________________________________________________________________________
ANNOUNCING
eGenix PyRun - One file Python Runtime
Version 1.1.0
An easy-to-use single file relocatable Python run-time -
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-PyRun-1.1.0.html
________________________________________________________________________
INTRODUCTION
Our new eGenix PyRun combines a Python interpreter with an almost
complete Python standard library into a single easy-to-use executable,
that does not require a system wide installation and is fully
relocatable.
eGenix PyRun's executable only needs 11MB, but still supports most
Python application and scripts - and it can be further compressed to
3-4MB using gzexe or upx.
Compared to a regular Python installation of typically 100MB on disk,
this makes eGenix PyRun ideal for applications and scripts that need
to be distributed to many target machines, client installations or
customers.
It makes "installing" Python on a Unix based system as simple as
copying a single file.
We have been using the product internally in our mxODBC Connect Server
since 2008 with great success and have now extracted it into 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.
Please see the product page for more details:
http://www.egenix.com/products/python/PyRun/
________________________________________________________________________
NEWS
This is a new minor release of eGenix PyRun, which contains a few
important fixes and enhancement based on the user feedback we
received.
Simplified Installation
-----------------------
The new release includes a new script called install-pyrun, which
greatly simplifies installation of eGenix PyRun, which works much like
the virtualenv shell script used for creating new virtual environments
(except that there's nothing virtual about PyRun environments :-)).
Using the script, the eGenix PyRun installation is as simple as
running:
install-pyrun targetdir
New Features
------------
* Added new simple end-to-end test for the PyRun build process: make
test-distribution.
* Added support to import top-level frozen modules via -m. For
packages this still fails due to bugs in Python itself.
* Added a new easy to use pyrun installation shell script:
install-pyrun.
* install-pyrun will now default to eGenix PyRun 1.1.0.
* install-pyrun now has a new --pyrun-distribution option to manually
direct the script to a distribution file. This comes in handy when
testing your own eGenix PyRun distributions.
Enhanced Integration
--------------------
* Optional readline module included in our binary builds now links
against readline version 6 instead of 5. This should resolve
readline issues on modern Linux installations.
* Resolved an issue related to sys.argv[0] that prevented
installation of e.g. numpy and lxml with pyrun. We've tested PyRun
installation with numpy, lxml, Cython, Django, Trac and several
other popular packages. They should all install fine now.
* PyRun now reads scripts from stdin when used as filter or when
providing '-' as script name.
Other Changes
-------------
* Documented that setuptools/distribute and pip are not designed to
be relocatable - unlike PyRun itself.
* Most references to the pyrun build directory are now replaced with
"<pyrun>". This reduces the pyrun binary size and also avoids
confusion when looking at tracebacks.
* Backported a patch to have Python 2.5 compile on systems that have
a more recent version of svnversion installed.
* Overall, we've managed to push the size down from 12MB in 1.0.0 to
11MB in this new release.
Thanks go to Pavlos Christoforou for providing lots of good feedback,
which triggered many of the above enhancements.
Presentation at PyCon UK 2012
-----------------------------
Marc-André, CEO of eGenix, will be giving a presentation about eGenix
PyRun at PyCon UK 2012 in Coventry, UK on Saturday, Sept 29th in the
Room Python/CC1.8.
He will also be available during the conference to answer questions.
________________________________________________________________________
DOWNLOADS
The download archives and instructions for installing the product can
be found at:
http://www.egenix.com/products/python/PyRun/
_______________________________________________________________________
SUPPORT
Commercial support for these packages 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 or write to
sales(a)egenix.com.
Enjoy,
--
Marc-Andre Lemburg
eGenix.com
Professional Python Services directly from the Source (#1, Sep 27 2012)
>>> Python/Zope Consulting and Support ... http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ... http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/
________________________________________________________________________
2012-10-29: PyCon DE 2012, Leipzig, Germany ... 32 days to go
2012-10-23: Python Meeting Duesseldorf ... 26 days to go
2012-09-26: Released mxODBC.Connect 2.0.1 ... http://egenix.com/go34
2012-09-25: Released mxODBC 3.2.1 ... http://egenix.com/go33eGenix.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/
Hi,
I am pleased to announce the availability of SciPy 0.11.0. For this release
many new features have been added, and over 120 tickets and pull requests
have been closed. Also noteworthy is that the number of contributors for
this release has risen to over 50. We hope to see this number continuing to
increase! The highlights of this release are:
- A new module, sparse.csgraph, has been added which provides a number of
common sparse graph algorithms.
- New unified interfaces to the existing optimization and root finding
functions have been added.
Sources and binaries can be found at
http://sourceforge.net/projects/scipy/files/scipy/0.11.0/, release notes
are copied below.
Thanks to everyone who contributed to this release,
Ralf
==========================
SciPy 0.11.0 Release Notes
==========================
.. contents::
SciPy 0.11.0 is the culmination of 8 months of hard work. It contains
many new features, numerous bug-fixes, improved test coverage and
better documentation. Highlights of this release are:
- A new module has been added which provides a number of common sparse
graph
algorithms.
- New unified interfaces to the existing optimization and root finding
functions have been added.
All users are encouraged to upgrade to this release, as there are a large
number of bug-fixes and optimizations. Our development attention will now
shift to bug-fix releases on the 0.11.x branch, and on adding new features
on
the master branch.
This release requires Python 2.4-2.7 or 3.1-3.2 and NumPy 1.5.1 or greater.
New features
============
Sparse Graph Submodule
----------------------
The new submodule :mod:`scipy.sparse.csgraph` implements a number of
efficient
graph algorithms for graphs stored as sparse adjacency matrices. Available
routines are:
- :func:`connected_components` - determine connected components of a
graph
- :func:`laplacian` - compute the laplacian of a graph
- :func:`shortest_path` - compute the shortest path between points on a
positive graph
- :func:`dijkstra` - use Dijkstra's algorithm for shortest path
- :func:`floyd_warshall` - use the Floyd-Warshall algorithm for
shortest path
- :func:`breadth_first_order` - compute a breadth-first order of nodes
- :func:`depth_first_order` - compute a depth-first order of nodes
- :func:`breadth_first_tree` - construct the breadth-first tree from
a given node
- :func:`depth_first_tree` - construct a depth-first tree from a given
node
- :func:`minimum_spanning_tree` - construct the minimum spanning
tree of a graph
``scipy.optimize`` improvements
-------------------------------
The optimize module has received a lot of attention this release. In
addition
to added tests, documentation improvements, bug fixes and code clean-up, the
following improvements were made:
- A unified interface to minimizers of univariate and multivariate
functions has been added.
- A unified interface to root finding algorithms for multivariate functions
has been added.
- The L-BFGS-B algorithm has been updated to version 3.0.
Unified interfaces to minimizers
````````````````````````````````
Two new functions ``scipy.optimize.minimize`` and
``scipy.optimize.minimize_scalar`` were added to provide a common interface
to minimizers of multivariate and univariate functions respectively.
For multivariate functions, ``scipy.optimize.minimize`` provides an
interface to methods for unconstrained optimization (`fmin`, `fmin_powell`,
`fmin_cg`, `fmin_ncg`, `fmin_bfgs` and `anneal`) or constrained
optimization (`fmin_l_bfgs_b`, `fmin_tnc`, `fmin_cobyla` and `fmin_slsqp`).
For univariate functions, ``scipy.optimize.minimize_scalar`` provides an
interface to methods for unconstrained and bounded optimization (`brent`,
`golden`, `fminbound`).
This allows for easier comparing and switching between solvers.
Unified interface to root finding algorithms
````````````````````````````````````````````
The new function ``scipy.optimize.root`` provides a common interface to
root finding algorithms for multivariate functions, embeding `fsolve`,
`leastsq` and `nonlin` solvers.
``scipy.linalg`` improvements
-----------------------------
New matrix equation solvers
```````````````````````````
Solvers for the Sylvester equation (``scipy.linalg.solve_sylvester``,
discrete
and continuous Lyapunov equations (``scipy.linalg.solve_lyapunov``,
``scipy.linalg.solve_discrete_lyapunov``) and discrete and continuous
algebraic
Riccati equations (``scipy.linalg.solve_continuous_are``,
``scipy.linalg.solve_discrete_are``) have been added to ``scipy.linalg``.
These solvers are often used in the field of linear control theory.
QZ and QR Decomposition
````````````````````````
It is now possible to calculate the QZ, or Generalized Schur, decomposition
using ``scipy.linalg.qz``. This function wraps the LAPACK routines sgges,
dgges, cgges, and zgges.
The function ``scipy.linalg.qr_multiply``, which allows efficient
computation
of the matrix product of Q (from a QR decompostion) and a vector, has been
added.
Pascal matrices
```````````````
A function for creating Pascal matrices, ``scipy.linalg.pascal``, was added.
Sparse matrix construction and operations
-----------------------------------------
Two new functions, ``scipy.sparse.diags`` and ``scipy.sparse.block_diag``,
were
added to easily construct diagonal and block-diagonal sparse matrices
respectively.
``scipy.sparse.csc_matrix`` and ``csr_matrix`` now support the operations
``sin``, ``tan``, ``arcsin``, ``arctan``, ``sinh``, ``tanh``, ``arcsinh``,
``arctanh``, ``rint``, ``sign``, ``expm1``, ``log1p``, ``deg2rad``,
``rad2deg``,
``floor``, ``ceil`` and ``trunc``. Previously, these operations had to be
performed by operating on the matrices' ``data`` attribute.
LSMR iterative solver
---------------------
LSMR, an iterative method for solving (sparse) linear and linear
least-squares systems, was added as ``scipy.sparse.linalg.lsmr``.
Discrete Sine Transform
-----------------------
Bindings for the discrete sine transform functions have been added to
``scipy.fftpack``.
``scipy.interpolate`` improvements
----------------------------------
For interpolation in spherical coordinates, the three classes
``scipy.interpolate.SmoothSphereBivariateSpline``,
``scipy.interpolate.LSQSphereBivariateSpline``, and
``scipy.interpolate.RectSphereBivariateSpline`` have been added.
Binned statistics (``scipy.stats``)
-----------------------------------
The stats module has gained functions to do binned statistics, which are a
generalization of histograms, in 1-D, 2-D and multiple dimensions:
``scipy.stats.binned_statistic``, ``scipy.stats.binned_statistic_2d`` and
``scipy.stats.binned_statistic_dd``.
Deprecated features
===================
``scipy.sparse.cs_graph_components`` has been made a part of the sparse
graph
submodule, and renamed to ``scipy.sparse.csgraph.connected_components``.
Calling the former routine will result in a deprecation warning.
``scipy.misc.radon`` has been deprecated. A more full-featured radon
transform
can be found in scikits-image.
``scipy.io.save_as_module`` has been deprecated. A better way to save
multiple
Numpy arrays is the ``numpy.savez`` function.
The `xa` and `xb` parameters for all distributions in
``scipy.stats.distributions`` already weren't used; they have now been
deprecated.
Backwards incompatible changes
==============================
Removal of ``scipy.maxentropy``
-------------------------------
The ``scipy.maxentropy`` module, which was deprecated in the 0.10.0 release,
has been removed. Logistic regression in scikits.learn is a good and modern
alternative for this functionality.
Minor change in behavior of ``splev``
-------------------------------------
The spline evaluation function now behaves similarly to ``interp1d``
for size-1 arrays. Previous behavior::
>>> from scipy.interpolate import splev, splrep, interp1d
>>> x = [1,2,3,4,5]
>>> y = [4,5,6,7,8]
>>> tck = splrep(x, y)
>>> splev([1], tck)
4.
>>> splev(1, tck)
4.
Corrected behavior::
>>> splev([1], tck)
array([ 4.])
>>> splev(1, tck)
array(4.)
This affects also the ``UnivariateSpline`` classes.
Behavior of ``scipy.integrate.complex_ode``
-------------------------------------------
The behavior of the ``y`` attribute of ``complex_ode`` is changed.
Previously, it expressed the complex-valued solution in the form::
z = ode.y[::2] + 1j * ode.y[1::2]
Now, it is directly the complex-valued solution::
z = ode.y
Minor change in behavior of T-tests
-----------------------------------
The T-tests ``scipy.stats.ttest_ind``, ``scipy.stats.ttest_rel`` and
``scipy.stats.ttest_1samp`` have been changed so that 0 / 0 now returns NaN
instead of 1.
Other changes
=============
The SuperLU sources in ``scipy.sparse.linalg`` have been updated to version
4.3
from upstream.
The function ``scipy.signal.bode``, which calculates magnitude and phase
data
for a continuous-time system, has been added.
The two-sample T-test ``scipy.stats.ttest_ind`` gained an option to compare
samples with unequal variances, i.e. Welch's T-test.
``scipy.misc.logsumexp`` now takes an optional ``axis`` keyword argument.
Authors
=======
This release contains work by the following people (contributed at least
one patch to this release, names in alphabetical order):
* Jeff Armstrong
* Chad Baker
* Brandon Beacher +
* behrisch +
* borishim +
* Matthew Brett
* Lars Buitinck
* Luis Pedro Coelho +
* Johann Cohen-Tanugi
* David Cournapeau
* dougal +
* Ali Ebrahim +
* endolith +
* Bjørn Forsman +
* Robert Gantner +
* Sebastian Gassner +
* Christoph Gohlke
* Ralf Gommers
* Yaroslav Halchenko
* Charles Harris
* Jonathan Helmus +
* Andreas Hilboll +
* Marc Honnorat +
* Jonathan Hunt +
* Maxim Ivanov +
* Thouis (Ray) Jones
* Christopher Kuster +
* Josh Lawrence +
* Denis Laxalde +
* Travis Oliphant
* Joonas Paalasmaa +
* Fabian Pedregosa
* Josef Perktold
* Gavin Price +
* Jim Radford +
* Andrew Schein +
* Skipper Seabold
* Jacob Silterra +
* Scott Sinclair
* Alexis Tabary +
* Martin Teichmann
* Matt Terry +
* Nicky van Foreest +
* Jacob Vanderplas
* Patrick Varilly +
* Pauli Virtanen
* Nils Wagner +
* Darryl Wally +
* Stefan van der Walt
* Liming Wang +
* David Warde-Farley +
* Warren Weckesser
* Sebastian Werk +
* Mike Wimmer +
* Tony S Yu +
A total of 55 people contributed to this release.
People with a "+" by their names contributed a patch for the first time.
________________________________________________________________________
ANNOUNCING
eGenix.com mxODBC Connect
Python Database Interface
Version 2.0.1
mxODBC Connect is our commercially supported client-server product for
connecting Python applications to relational databases
in a truly cross-platform way.
This announcement is also available on our web-site for online reading:
http://www.egenix.com/company/news/eGenix-mxODBC-Connect-2.0.1-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 ODBC drivers for all the platforms you target with your Python
application.
Instead you use an easy to install 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
The 2.0.1 release of mxODBC Connect includes the following
enhancements and fixes:
API Enhancements
----------------
* Added support for returning SQL Server TIME columns as time value
instead of as string.
* Added a work-around to prevent truncation warnings with the SQL
Server ODBC driver when using .executemany(..., direct=1). Thanks
for Michael Bayer.
Server Enhancements
-------------------
* Upgraded the mxODBC used in the server to version mxODBC 3.2.1.
Client Enhancements
-------------------
* Added egenix-mx-base dependency to mxODBC Connect egg files.
Misc
----
* Added hint on how to work with REF CURSORS in Oracle stored
procedures. Thanks to Etienne Desgagné.
mxODBC Connect 2.0.0 was released on 2012-08-20. These are the
highlights of the new release:
mxODBC Connect 2.0 Enhanced API
-------------------------------
* mxODBC Connect Server now uses mxODBC 3.2 internally and makes its
API available in the mxODBC Connect Client. This is a major step
forward from the mxODBC 3.0 version used in mxODBC Connect Server
1.0.
* mxODBC Connect Client comes with all the mxODBC enhancements,
including:
- connection and cursor objects can be used as context managers
- adjustable parameter styles (qmark or named)
- connection .autocommit attribute to easily switch on autocommit
- adjustable timestamp resolution
- new possibilities to set connection and cursor options to adjust
the ODBC objects to your application needs, e.g. set a connection
read-only or set a query timeout
- adjustable decimal, datetime and string formats
- adjustable warning format to be able to handle server warnings
without client interaction
- greatly improved result set scrolling support
- Unicode support for all catalog methods
- Access to additional result set meta data via
cursor.getcolattribute()
Updated Compatibility
---------------------
* The server now features all the ODBC driver compatibility
enhancements provided by mxODBC 3.2, including improved and updated
support for MS SQL Server Native Client, Oracle Instant Client,
Sybase ASE, IBM DB2, Teradata and Netezza.
* Native Windows x64 builds with signed executables and a tray app
rewritten in C are available for Windows 2008R2, Vista and 7 x64,
so you can benefit from better performance, fewer UAC dialogs and
smaller memory footprint.
Asynchronous Execution
----------------------
* mxODBC Connect Client now integrates directly with gevent, allowing
client applications to run asynchronous tasks while performing
remote database queries.
Better Integration
------------------
* mxODBC Connect now uses the official IANA registered port 6632 for
both plain text and SSL-encrypted communication.
* mxODBC Connect Client now allows selecting the used SSL module from
two available options: Python standard lib ssl module and
pyOpenSSL.
For the full set of changes, 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.
Customers who have purchased mxODBC Connect 2.0 licenses can continue
to use their licenses with this patch level release.
Customers who have purchased mxODBC Connect 1.x licenses can request
20% discount coupons for upgrade purchases. Please contact the
eGenix.com Sales Team (sales(a)egenix.com) 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 30-day evaluation licenses by visiting our web-site
or writing to sales(a)egenix.com, 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
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 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, Sep 26 2012)
>>> Python/Zope Consulting and Support ... http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ... http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/
________________________________________________________________________
2012-10-29: PyCon DE 2012, Leipzig, Germany ... 33 days to go
2012-10-23: Python Meeting Duesseldorf ... 27 days to go
2012-09-26: Released mxODBC.Connect 2.0.1 ... http://egenix.com/go34
2012-09-25: Released mxODBC 3.2.1 ... http://egenix.com/go33eGenix.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/
________________________________________________________________________
ANNOUNCING
eGenix.com mxODBC
Python ODBC Database Interface
Version 3.2.1
mxODBC is our commercially supported Python extension providing
ODBC database connectivity to Python applications
on Windows, Mac OS X, Unix and BSD platforms
This announcement is also available on our web-site for online reading:
http://www.egenix.com/company/news/eGenix-mxODBC-3.2.1-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,
MS Access, Oracle Database, IBM DB2 and Informix , Sybase ASE and
Sybase Anywhere, MySQL, 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.2.1 release of our mxODBC is the latest patch level release of
our popular Python ODBC Interface. In this release, we've included the
following the following enhancements and fixes:
Feature Enhancements
--------------------
* The next SQLAlchemy release will be fully compatible with mxODBC
3.2.1. Many thanks go to Michael Bayer for working with us to make
this happen.
Driver Compatibility Enhancements
---------------------------------
* Added support for returning SQL Server TIME columns as time value
instead of as string.
* Added a work-around to prevent truncation warnings with the SQL
Server ODBC driver when using .executemany(..., direct=1).
mxODBC 3.2 was released on 2012-08-28. These are the highlights of the
new release:
mxODBC 3.2 Feature Highlights
-----------------------------
* Switched to unixODBC 2.3.1+ API: mxODBC is now compiled against
unixODBC 2.3.1, which finally removes the problems with the ABI
change between 2.2 and 2.3 by switching to a new library version
(libodbc.so.2).
* mxODBC connection objects can now be used as context managers to
implicitly commit/rollback transactions.
* mxODBC cursor objects can now be used as context managers to
implicitly close the cursor when leaving the block (regardless of
whether an exception was raised or not)
* mxODBC added support for adjustable .paramstyles. Both 'qmark'
(default) and 'named' styles are supported and can be set on
connections and cursors. The 'named' style allows easier porting of
e.g. Oracle native interface code to mxODBC.
* mxODBC now supports a writable connection.autocommit attribute to
easily turn on/off the connection's auto commit mode.
* mxODBC added support for adjustable TIMESTAMP precision via the new
connection/cursor.timestampresolution attribute.
* mxODBC will round to nearest nanosecond fraction instead of
truncating the value. This will result in fewer conversion errors
due to floating point second values.
* mxODBC's connect APIs Connect() and DriverConnect() support setting
connection options prior to connecting to the database via a new
connection_options parameter. This allows enabling e.g. the MARS
feature in SQL Server Native Client.
* The connection.cursor() constructor now has a new cursor_options
parameters which allows configuring the cursor with a set of cursor
options.
* The .scroll() method supports far more ODBC drivers than before.
* Updated the SQL lookup object to include more ODBC SQL parameter
codes, including special ones for SQL Server and IBM DB2.
* mx.ODBC.Manager will now prefer unixODBC over iODBC. Previous
mxODBC releases used the order iODBC, unixODBC, DataDirect when
looking for a suitable ODBC manager on Unix platforms. unixODBC is
more widely supported nowadays and provides better Unicode support
than iODBC.
For the full set of features mxODBC has to offer, please see:
http://www.egenix.com/products/python/mxODBC/#Features
mxODBC 3.2 Driver Compatibility Enhancements
--------------------------------------------
* Added work-around for Oracle Instance Client to prevent use of
direct execution. cursor.executedirect() will still work, but won't
actually use direct execution with the Oracle driver.
* Added work-around for Oracle Instant Client to prevent segfaults in
the driver when querying the cursor.rowcount or cursor.rownumber.
* Added check to make sure that Python type binding mode is not used
with Oracle Instance Client as this can cause segfaults with the
driver and generally doesn't work.
* Added a work-around to have the IBM DB2 driver return correct
.rowcount values.
* Improved Sybase ASE driver compatibility: this only supports Python
type binding, which is now enabled per default.
* Added work-around for PostgreSQL driver, which doesn't support
scrollable cursors.
* Add support for MS SQL Server ODBC Driver 1.0 for Linux to mxODBC
* Improved compatibility of the mxODBC native Unicode string format
handling with Unix ODBC drivers when running UCS4 builds of Python.
* mxODBC 3.2 now always uses direct execution with the FreeTDS ODBC
driver. This results in better compatibility with SQL Server and
faster execution across the board.
* Add work-around to have FreeTDS work with 64-bit integers outside
the 32-bit signed integer range.
* FreeTDS' .rowcount attribute gave misleading values for
SELECTs. This now always returns -1 (until they hopefully fix the
driver to return usable data).
For the full set of changes please check the mxODBC change log:
http://www.egenix.com/products/python/mxODBC/changelog.html
mxODBC Editions
---------------
mxODBC is available in these three editions:
* The low-cost Standard Edition which provides data connectivity to a
single database type, e.g. just MS SQL Server.
* The Professional Edition, which gives full access to all mxODBC
features.
* The Product Development Edition, which allows including mxODBC in
applications you develop.
Compared to mxODBC 3.0, we have simplified our license terms to
clarify the situation on multi-core and virtual machines. In most
cases, you no longer need to purchase more than one license per
processor or virtual machine, scaling down the overall license costs
significantly compared to earlier mxODBC releases.
For a complete overview of the new 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/
________________________________________________________________________
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.2 license can continue to use
their licenses with this patch level release.
Customers who have purchased mxODBC 2.x, 3.0 or 3.1 licenses, can
benefit from upgrade discounts. We will give out 20% discount coupons
going from mxODBC 2.x to 3.2 and 50% coupons for upgrades from mxODBC
3.x to 3.2. After upgrade, use of the original license from which you
upgraded is no longer permitted.
Please contact the eGenix.com Sales Team at sales(a)egenix.com with your
existing license serials for details for an upgrade discount coupon.
If you want to try the new release before purchace, you can request
30-day evaluation licenses by visiting our web-site
http://www.egenix.com/products/python/mxODBC/#Evaluation
or by writing to sales(a)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 software project, consulting and product company
focusing on 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, Sep 25 2012)
>>> Python/Zope Consulting and Support ... http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ... http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/
________________________________________________________________________
2012-10-29: PyCon DE 2012, Leipzig, Germany ... 34 days to go
2012-10-23: Python Meeting Duesseldorf ... 28 days to go
2012-09-18: Released mxODBC Zope DA 2.1.0 ... http://egenix.com/go32
2012-08-28: Released mxODBC 3.2.0 ... http://egenix.com/go31eGenix.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/
This release ist mostly about security and bug fixes and a few minor
changes (We removed 4suite dependency for docbook formatter, using now
minidom which is included in python).
For details see:
http://hg.moinmo.in/moin/1.9/raw-file/1.9.5/docs/CHANGES
See http://moinmo.in/MoinMoinDownload for the release archive.
BTW, for future moin 1.9 releases, we still need many more people
helping with maintaining and updating translations on
http://master19.moinmo.in/ .
So, especially if you speak some non-english language, you can help!
See http://moinmo.in/MoinDev/Translation for details.
We spent most of our time on developing moin2, see
http://moinmo.in/MoinMoin2.0 for details. One of the recent commits
there was to make moin2 work on GAE based on work done by Guido van Rossum.
If you like to hack / test new stuff, have a look! Also feel invited to
help with it, so it gets ready for production sooner.
If you are interested in helping, feel free to contact us on IRC chat,
see: http://moinmo.in/MoinMoinChat
Hi all,
I'm pleased to introduce my new contribution to the Python community: WinPython.
WinPython v2.7.3.0 has been released and is available for 32-bit and
64-bit Windows platforms:
http://code.google.com/p/winpython/
WinPython is a free open-source portable distribution of Python for
Windows, designed for scientists.
It is a full-featured (see
http://code.google.com/p/winpython/wiki/PackageIndex) Python-based
scientific environment:
* Designed for scientists (thanks to the integrated libraries NumPy,
SciPy, Matplotlib, guiqwt, etc.:
* Regular *scientific users*: interactive data processing and
visualization using Python with Spyder
* *Advanced scientific users and software developers*: Python
applications development with Spyder, version control with Mercurial
and other development tools (like gettext)
* *Portable*: preconfigured, it should run out of the box on any
machine under Windows (without any installation requirements) and the
folder containing WinPython can be moved to any location (local,
network or removable drive)
* *Flexible*: one can install (or should I write "use" as it's
portable) as many WinPython versions as necessary (like isolated and
self-consistent environments), even if those versions are running
different versions of Python (2.7, 3.x in the near future) or
different architectures (32bit or 64bit) on the same machine
* *Customizable*: using the integrated package manager (wppm, as
WinPython Package Manager), it's possible to install, uninstall or
upgrade Python packages (see
http://code.google.com/p/winpython/wiki/WPPM for more details on
supported package formats).
*WinPython is not an attempt to replace Python(x,y)*, this is just
something different (see
http://code.google.com/p/winpython/wiki/Roadmap): more flexible,
easier to maintain, movable and less invasive for the OS, but
certainly less user-friendly, with less packages/contents and without
any integration to Windows explorer [*].
[*] Actually there is an optional integration into Windows explorer,
providing the same features as the official Python installer regarding
file associations and context menu entry (this option may be activated
through the WinPython Control Panel).
Enjoy!
-Pierre