Download project files

How do I verify a download?


110 of 12 releases

0.20 release from the trunk series released 2013-06-28

Release information
Release notes:

0.20 (2013-06-28)
=================

Improvements
------------

- A new CaptureTracer has been added to storm.testing, for capturing all SQL
  statements executed by Storm. It can be used like this:

    with CaptureTracer() as tracer:
      # Run queries
      pass
    print tracer.queries # Print all queries run in the context manager block

  You will need the python-fixtures package in order to use this feature.

- Setuptools <http://pypi.python.org/pypi/setuptools> is now required
  to run setup.py. This makes it much easier to install the majority
  of the dependencies required to run the test suite in its entirety.

- Disconnection errors arising from PostgreSQL are now more reliably
  detected, especially with regard to recent libpq updates in Ubuntu.
  There are also disconnec...

File Description Downloads
download icon storm-0.20.tar.bz2 (md5, sig) 0.20 424
last downloaded 2 days ago
download icon storm-0.20.tar.gz (md5, sig) 0.20 1,189
last downloaded 2 days ago
Total downloads: 1,613

0.19 release from the trunk series released 2011-10-05

Release information
Release notes:

0.19 (2011-10-03)
=================

Improvements
------------
 - A new Cast expressions compiles an input and the type to cast it to
   into a call the CAST function (bug #681121).
 - The storm.zope.testing.ZStormResourceManager now supports applying database
   schemas using a custom URI, typically for connecting to the database using a
   different user with greater privileges than the user running the tests. Note
   that the format of the 'databases' parameter passed to the constructor of
   the ZStormResourceManager class has changed. So now you have to create your
   resource manager roughly like this::

    databases = [{"name": "test",
                  "uri": "postgres://user@host/db",
                  "schema": Schema(...),
                  "schema-uri: "postgres://schema_us...

File Description Downloads
download icon storm-0.19.tar.bz2 (md5, sig) 0.19 2,494
last downloaded 24 hours ago
download icon storm-0.19.tar.gz (md5, sig) 0.19 8,103
last downloaded 3 weeks ago
Total downloads: 10,597

0.18 release from the trunk series released 2010-10-25

Release information
Release notes:

The Storm team is proud to announce Storm 0.18!

The new release includes a number of new features:

 * Storm includes (optional) code to manage and migrate database schemas
 * storm.zope.testing added testresources
   (https://edge.launchpad.net/testresources) support
 * TimeoutErrors include messages to describe why the Timeout was raised

This release includes official packages for all supported releases
of Ubuntu except 10.10. 10.10 packages will be added after problems with
Storm's release machinery are sorted out. The packages are available in the
Storm team's PPA:

 https://edge.launchpad.net/~storm/+archive/ppa

You can find the release files at:

 https://launchpad.net/storm/+download

You can always get the latest source code from Launchpad:

 bzr branch lp:storm

Finally, y...

Changelog:

Improvements
------------
 - Include code to manage and migrate database schemas. See the
   storm.schema sub-package (bug #250412).
 - Added a storm.zope.testing.ZStormResourceManager class to manage a
   set of stores registered with ZStorm (bug #618704).
 - When a TimeoutError is raised it includes a description about why
   the exception was raised, to help make it easier to reason about
   timeout-related issues (bug #617973).
 - Improved the IResultSet interface to document the rationale of why some
   attributes are not included (bug #659883).

Bug fixes
---------
 - Make storm compatible with psycopg2 2.2 (bug #585704).
 - Fix bug #620615, which caused lazy expressions to cause subsequent
   loading of objects to explode if unflushed.
 - Fix bug #620508, which caused slicing a ResultSet to break subsequent
   count() calls.
 - Fix bug #659708, correcting the behavior of the sqlobject is_empty
   and __nonzero__ methods.
 - Fix bug #619017, which caused __storm_loaded__ to be called without
   its object's variables defined if the object were in the alive cache but
   disappeared.

File Description Downloads
download icon storm-0.18.tar.bz2 (md5, sig) Storm 0.18 bz2 7,890
last downloaded 2 days ago
Total downloads: 7,890

0.17 release from the trunk series released 2010-08-05

Release information
Release notes:

The Storm team is proud to announce Storm 0.17!

The new release includes a number of new features:

 * Optimized any and is_empty ResultSet methods
 * String-based order by on ReferenceSet
 * Improved safety checks to help prevent bugs and aid debugging
 * Get a Select expression for a ResultSet
 * SQLite reserved words are correctly handled

This release includes official packages for all supported releases
of Ubuntu. They are available in the Storm team's PPA:

 https://edge.launchpad.net/~storm/+archive/ppa

You can find the release files at:

 https://launchpad.net/storm/+download

You can always get the latest source code from Launchpad:

 bzr branch lp:storm

Finally, you can join us in the #storm channel on irc.freenode.net
and on the Storm mailing list:

 https://lists.canonic...

Changelog:

Improvements:

 - The order_by parameter defined on ReferenceSet can now be
   specified as a string, to workaround circular dependency issues.
   The order by property column will be resolved after import time
   (bug #580037).
 - The Store and Connection classes have block_access() and
   unblock_access() methods that can be used to block access to the
   database connection. This can be used to ensure that an
   application doesn't access the database at unexpected times.
 - When using stores managed by ZStorm, a ZStormError will be raised
   on attempts to use a per-thread store from the wrong thread (bug
   #348815).
 - ResultSet.is_empty strips the ORDER BY clause, when present, to
   provide a performance boost for queries that would match a large
   number of rows (bug #246200).
 - A new ResultSet.get_select_expr method returns a Select
   expression built for a specified set of columns, based on the
   settings of the result set (bug #337494).
 - ResultSet.any and ReferenceSet.any strips the ORDER BY clause,
   when present, to provide a performance boost for queries that
   would match a large number of rows (bug #608825).
 - SQLObjectResultSet has a new is_empty method which should be used
   in preference to __nonzero__, because it is compatible with
   ResultSet.

Bug fixes:

 - SQLite reserved words are handled properly (bug #593633).
 - A bug in change checkpointing logic has been fixed to detect
   changes in mutable objects correctly and to prevent useless (or
   potentially harmful!) columns to be specified in updates (bug
   #553334).

File Description Downloads
download icon storm-0.17.tar.bz2 (md5, sig) Storm 0.17 4,660
last downloaded 2 days ago
Total downloads: 4,660

0.16 release from the trunk series released 2009-11-29

Release information
Release notes:

The Storm team is proud to announce Storm 0.16!

The new release includes a number of new features:

 * Storm's C extensions are enabled by default
 * Comparable expressions have new string comparison methods
 * The default object cache size has been changed
 * Set expressions use fewer stack frames during compilation
 * MySQL reserved words are correctly handled

This release includes official packages for all supported releases
of Ubuntu. They are available in the Storm team's PPA:

  https://edge.launchpad.net/~storm/+archive/ppa

You can find the release files at:

  https://launchpad.net/storm/+download

You can always get the latest source code from Launchpad:

  bzr branch lp:storm

Finally, you can join us in the #storm channel on irc.freenode.net
and on the Storm mailing list:...

Changelog:

Improvements
------------
 - The set expression constructor will now flatten its first argument
   if it is of the same type. The resulting expression tree uses less
   stack when compiling so reduces the chance of hitting Python's
   recursion limit (bug #242813).
 - Add startswith(), endswith() and contains_string() methods to
   Comparable. These methods perform prefix, suffix and substring
   checks respectively using the LIKE operator, taking care of escaping
   for you (bug #387840).
 - C extensions are enabled by default. Define the
   STORM_CEXTENSIONS=0 environment variable to disable them (bug #410592).
 - The README file contains information about Storm's license and
   detailed instructions on setting up a development environment
   suitable for running the entire test suite.
 - 'make doc' uses Pydoctor to generate API documentation.
 - Integration tests for Django now work with Django 1.1.

Bug fixes
---------
 - Remove a leak when mutable variables (ListVariable or PickleVariable
   instances) are collected before store.flush, leaving hooks behind them.
 - The ResultSet min, max and sum methods now work correctly when the
   result set is empty and the column has allow_none=False set.
   Previously this resulted in a NoneError (bug #457801).
 - MySQL reserved words are handled properly (bug #433833).
 - Test loading code has been simplified. Support for py.test has
   been removed in this process, as it was not functioning correctly
   and didn't fit into the PyUnit framework (bug #331905).
 - Remote diverged and remote deleted references now use a weak
   (Python) reference to the local object. This prevents a leak
   when the remote object stays in memory (bug #475148).
 - Check for invalidated state when returning the remote object of a
   relation: it fixes a bug if the local key of the Reference is the
   primary key (bug #435962).
 - The default Cache instance created for a Store honours Cache's
   default size. Store's docstring has been updated to reflect
   this (bug #374180).

File Description Downloads
download icon storm-0.16.0.tar.bz2 (md5, sig) Storm 0.16 6,192
last downloaded 10 weeks ago
Total downloads: 6,192

0.15 release from the trunk series released 2009-08-08

Release information
Release notes:

The Storm team is proud to announce Storm 0.15!

The new release includes a number of new features:

 * New GenerationalCache object cache
 * New ResultSet.find method and other improvements
 * New Neg and Coalesce expressions
 * Python 2.6 is supported
 * New Ubuntu packages

Read on for more...

New GenerationalCache object cache
----------------------------------

A new GenerationalCache is available. It can be used in place of
the default Cache and will likely become the default in the future.
You can use it by passing it as a parameter to Store:

  from storm.locals import Store, create_database
  from storm.cache import GenerationalCache

  uri = "<uri>"
  store = Store(create_database(uri), GenerationalCache())

Also note that the default cache size has been increased from 100
...

Changelog:

Improvements
------------
 - Add support for latest version on Django by not checking arguments
   passed to _cursor.
 - Added support for using Expressions with ResultSet.set().
 - The default cache size was changed from 100 to 1000 objects.
 - Added the new GenerationalCache with a faster implementation of
   the caching API (by Jeroen Vermeulen). This will likely become
   the default implementation in the future, so please test it if
   possible.
 - A new UUID property type has been added. It depends on the uuid
   module introduced in Python 2.5 to represent values.
 - The StoreDataManager now gets passed a transaction manager from the
   ZStorm utility. This will make it easier to support non-default
   transaction managers in the future.
 - An adapter is now available for converting ISQLObjectResultSet
   objects to IResultSet. This is intended to help in gradual porting
   SQLObject applications to Storm's native API (bug #338184, by Gavin
   Panella).
 - If a disconnection occurs outside of Storm's control, a
   DisconnectionError will still be raised next time the connection is
   used through Storm. This is useful if the connection is being
   shared with another framework like Django (bug #374909).
 - The PostgreSQL backend now requires psycopg2 >= 2.0.7. The work
   around for broken quoting behaviour in older psycopg2 versions has
   been removed. (bug #322206).
 - A new Neg expression is available. It provides unary minus by
   prepending a minus sign to whatever expression is passed to it
   (bug #397654 by Michael Hudson).
 - A new Coalese expressions is available.
 - ResultSets now have a find(). It acts similar to Store.find(), but
   without the first argument (it uses the same classes as the original
   result), and only returns results found in the original result set.
   (bug #338255).
 - Result.rowcount exposes the number of rows affected by the
   query, when known.
 - ResultSet.remove returns the number of rows deleted from the database.
   (bug #180122).

Bug fixes
---------
 - The fix for ResultSet.count() on distinct results from last release
   has been improved, and the fix has been extended to the other
   aggregates. This may change the result of some count(), min(),
   max(), sum() and avg() calls for results using distinct, limit or
   offset.
 - The test suite now passes when run with Python 2.6.
 - ListVariable now converts its elements to database representation
   correctly (bug #136806 reported by Marc Tardif).
 - compile_python now works for values that don't produce valid Python
   expressions with repr().
 - The C extension should now build under Windows.

File Description Downloads
download icon storm-0.15.tar.bz2 (md5, sig) Storm 0.15 2,942
last downloaded 2 weeks ago
Total downloads: 2,942

0.14 release from the trunk series released 2009-01-09

Release information
Release notes:

Improvements
------------
 - A new doctest describing the 'Infoheritance' pattern is integrated into
   the test suite.
 - A new storm.django package has been added to allow use of Storm
   within Django applications.
 - The way Storm interacts with the Zope transaction manager has
   changed. Rather than using a synchronizer to join each new
   transaction, it now delays joining the transaction until the store
   is actually used.
 - The Store constructor takes an optional cache keyword argument.
 - ResultSets now offer an is_empty() method.

Bug fixes
---------
 - Manage better row full of NULL in case of LEFT JOIN, without validating
   against object constraints.
 - The Reference class now has an __ne__() method, so inequality
   checks against a reference now work in find expressi...

Changelog:

Improvements
------------
 - A new doctest describing the 'Infoheritance' pattern is integrated into
   the test suite.
 - A new storm.django package has been added to allow use of Storm
   within Django applications.
 - The way Storm interacts with the Zope transaction manager has
   changed. Rather than using a synchronizer to join each new
   transaction, it now delays joining the transaction until the store
   is actually used.
 - The Store constructor takes an optional cache keyword argument.
 - ResultSets now offer an is_empty() method.

Bug fixes
---------
 - Manage better row full of NULL in case of LEFT JOIN, without validating
   against object constraints.
 - The Reference class now has an __ne__() method, so inequality
   checks against a reference now work in find expressions (bug
   #244768 reported by Stuart Bishop).
 - Make ResultSet.count() handles the distinct, limit and offset flags, to
   really reflect the length of the current ResultSet.
 - The store doesn't iterate on all the alive objects anymore, using instead
   events that objects can subscribe to. This improves performance drastically
   when lots of objects are in the cache.

File Description Downloads
download icon storm-0.14.tar.bz2 (md5, sig) Tarball 3,375
last downloaded 2 weeks ago
Total downloads: 3,375

0.13 release from the trunk series released 2008-08-28

Release information
Release notes:

Improvements
------------
 - Add group_by/having methods on ResultSet objects, to allow access to
   the "GROUP BY" and "HAVING" statements.
 - Change tests/store to keep the connection during the tests to make it
   faster.
 - Implemented support for plugging generic "tracers". Statement
   debugging is now implemented using a tracer, and easily enabled
   with storm.tracer.debug(True) (storm.database.DEBUG = True is gone).
 - All properties now accept a "validator" parameter. When used, a
   function like validate(object, attribute_name, value) should be
   given, and it may validate or modify the value before it's set in
   the property. The value assigned to the property is the result
   of the validator, so the original value should be returned if
   changing it isn't intended.
...

Changelog:

Improvements
------------
 - Add group_by/having methods on ResultSet objects, to allow access to
   the "GROUP BY" and "HAVING" statements.
 - Change tests/store to keep the connection during the tests to make it
   faster.
 - Implemented support for plugging generic "tracers". Statement
   debugging is now implemented using a tracer, and easily enabled
   with storm.tracer.debug(True) (storm.database.DEBUG = True is gone).
 - All properties now accept a "validator" parameter. When used, a
   function like validate(object, attribute_name, value) should be
   given, and it may validate or modify the value before it's set in
   the property. The value assigned to the property is the result
   of the validator, so the original value should be returned if
   changing it isn't intended.
 - Expressions can be passed to Store.find() as well as classes. This
   makes it possible to request individual columns from a table,
   computed expressions or aggregates.
 - Objects will be flushed in the order they become dirty by default.
   This means that generally the order in which Python operations are
   performed will be used to define the order in which flushes are done,
   which is generally the most expected.
 - The cextensions module was fixed, optimized, and improved. It's now
   built by default, but to actually enable it the environment variable
   STORM_CEXTENSIONS=1 must be defined at runtime. The module will
   likely be enabled by default on a future release.
 - ClassAlias will now cache all explicitly named aliases, to prevent
   the cost of rebuilding it.
 - Result sets and reference sets now have a __contains__() method.
   While code like "item in set" was previously possible, it involved
   iterating over the result set, which is expensive for large
   databases.
 - The storm.zope.zstorm code can now be used with only the
   zope.interface and transaction packages installed. This makes it
   easier to reuse the per-thread store management and global
   transaction handling from other web frameworks.

Bug fixes
---------
 - Make is_in returns False instead of NULL on an empty result set.
 - ZStorm now keeps strong references to named stores. Previously it only kept
   weak ones, so stores were recreated more often than necessary.
 - References now won't flush the store or query the database when
   the foreign key is None.
 - When a reference is set to an object that wasn't yet inserted in
   the database, the foreign key is immediately unset instead of
   keeping the old value up to the flushing.
 - Setting a reference to None works even if the previously referenced
   object isn't in memory.
 - When setting a reference, flush ordering is only enforced if the
   key is dirty. This allows a number of changes that would
   previously raise OrderLoopError.
 - If the remote object in a back reference is removed, the reference
   will now be broken.
 - Fixed a race condition when two threads try to initialize the
   ClassInfo for a given class at the same time.
 - Improve handling of AUTO INCREMENT columns in the MySQL backend to
   remove an unnecessary query when adding objects to a store.

File Description Downloads
download icon storm-0.13.tar.bz2 (md5, sig) Tarball 1,162
last downloaded 2 weeks ago
Total downloads: 1,162

0.12 release from the trunk series released 2008-01-28

Release information
Release notes:

Improvements
------------
 - The Connection will reconnect automatically when connection
   drops are detected and a rollback is performed. As a result,
   the Store should handle reconnections in a seamless way in
   most circumstances (#94986, by James Henstridge). This is
   supported in the MySQL and PostgreSQL backends.
 - Store.flush() will not load values inserted in the database.
   Instead, undefined variables are set to AutoReload, and resolved
   once first accessed. This won't be noticeable in normal usage,
   but will boost the performance of inserts.
 - Support in the postgres backend to use the RETURNING extension of
   the INSERT statement to retrieve the primary key on inserts for
   object identity mapping (PostgreSQL >= 8.2 only)
 - Introduced a cache mechanism tha...

Changelog:

Improvements
------------
 - The Connection will reconnect automatically when connection
   drops are detected and a rollback is performed. As a result,
   the Store should handle reconnections in a seamless way in
   most circumstances (#94986, by James Henstridge). This is
   supported in the MySQL and PostgreSQL backends.
 - Store.flush() will not load values inserted in the database.
   Instead, undefined variables are set to AutoReload, and resolved
   once first accessed. This won't be noticeable in normal usage,
   but will boost the performance of inserts.
 - Support in the postgres backend to use the RETURNING extension of
   the INSERT statement to retrieve the primary key on inserts for
   object identity mapping (PostgreSQL >= 8.2 only)
 - Introduced a cache mechanism that keeps the N last retrieved objects
   in memory to optimize cases where the same object is retrieved
   often while no strong references are kept elsewhere. Implemented by
   Bernd Dorn, from Lovely Systems.
 - Improved support for TimeDelta properties on all backends. Many
   more formats are accepted now, and some issues were fixed.

Bug fixes
---------
 - TimeDelta was added to storm.locals.
 - Fixed TimeDelta support in SQLite, MySQL, and PostgreSQL,
   and enabled base test for all backends to ensure that it
   continues to work.
 - Schema names are accepted in __storm_table__ when using
   PostgreSQL as the database (e.g. "schema.table"). (#146580,
   reported by James Mayfield)
 - Test runner handles path correctly on Windows, and SQLite
   tests won't break (patch by Ali Afshar).
 - In the SQLite backend, ensure that we're able to recommit a
   transaction after "database is locked" errors. Also make sure
   that when this happens the timeout is actually the expected
   one (patch by Richard Boulton)
 - TransactionFailedError is now imported from the public
   place: ZODB.POSException (#129715, by James Henstridge).
 - TimeDelta was added to storm.locals.
 - Tables named with reserved keywords are properly escaped.
 - Reserved keywords on column names are properly escaped when
   part of an insert or update statement (#184849, by Thomas Herve).
 - Prevent cached objects from issuing selects to retrieve their
   data when find()s were previously made and already brough
   their data (#174388, reported and fixed by Bernd Dorn).
 - Fixed bug which caused an object to be readded to the store
   when a reference of an object that had already been removed
   was looked up.
 - Prevent pathological case which happens when a statement like
   "SELECT ... WHERE table.id = currval(...)" is executed in
   PostgreSQL. The change is only meaningful on PostgreSQL < 8.2,
   as newer versions will use the RETURNING extension instead.
 - Specify both of the joining tables explicitly when compiling Proxy,
   so that it doesn't break due to incorrect references in the ON clause
   when multiple tables are used (reported in #162528 by S3ym0ur and
   Hamilton Tran)
 - MySQL client charset now defaults to UTF-8 (reported
   by Brad Crittenden).

File Description Downloads
download icon storm-0.12-py2.5.egg (md5) Egg for Python 2.5 1,037
last downloaded 3 weeks ago
download icon storm-0.12-py2.4.egg (md5) Egg for Python 2.4 884
last downloaded 3 weeks ago
download icon storm-0.12.tar.bz2 (md5) Tarball 1,200
last downloaded 2 weeks ago
Total downloads: 3,121

0.11 release from the trunk series released 2007-10-08

File Description Downloads
download icon storm-0.11-py2.4.egg (md5) Egg for Python 2.4 862
last downloaded 3 weeks ago
download icon storm-0.11-py2.5.egg (md5) Egg for Python 2.5 855
last downloaded 3 weeks ago
download icon storm-0.11.tar.bz2 (md5) Tarball 1,030
last downloaded 2 weeks ago
Total downloads: 2,747

110 of 12 releases