./databases/py-peewee, Small, expressive ORM for PostgreSQL, MySQL and SQLite

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 3.9.4, Package name: py27-peewee-3.9.4, Maintainer: fhajny

Peewee is a simple and small ORM. It has few (but expressive)
concepts, making it easy to learn and intuitive to use.
Supports SQLite, MySQL and PostgreSQL.


Required to run:
[devel/py-setuptools] [databases/py-sqlite3] [devel/py-cython] [lang/python27]

Required to build:
[textproc/py-sphinx] [pkgtools/cwrappers]

Master sites:

SHA1: ef1bedddd4085e21995a76bb5505fbaf376f88e5
RMD160: 390029d234961aa8a1705d51fc667ea251f2508d
Filesize: 2221.357 KB

Version history: (Expand)


CVS history: (Expand)


   2019-04-15 09:03:50 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-peewee: updated to 3.9.4

3.9.4:

* Add Model.bulk_update() method for bulk-updating fields across multiple
  model instances.
* Add lazy_load parameter to ForeignKeyField. When initialized with
  lazy_load=False, the foreign-key will not use an additional query to
  resolve the related model instance. Instead, if the related model instance is
  not available, the underlying FK column value is returned (behaving like the
  "_id" descriptor).
* Added Model.truncate_table() method.
* The reflection and pwiz extensions now attempt to be smarter about
  converting database table and column names into snake-case. To disable this,
  you can set snake_case=False when calling the Introspector.introspect()
  method or use the -L (legacy naming) option with the pwiz script.
* Bulk insert via insert_many() no longer require specification of the
  fields argument when the inserted rows are lists/tuples. In that case, the
  fields will be inferred to be all model fields except any auto-increment id.
* Add DatabaseProxy, which implements several of the Database class context
  managers. This allows you to reference some of the special features of the
  database object without directly needing to initialize the proxy first.
* Add support for window function frame exclusion and added built-in support
  for the GROUPS frame type.
* Add support for chaining window functions by extending a previously-declared
  window function.
* Playhouse Postgresql extension TSVectorField.match() method supports an
  additional argument plain, which can be used to control the parsing of the
  TS query.
* Added very minimal JSONField to the playhouse MySQL extension.
   2019-04-03 02:33:20 by Ryo ONODERA | Files touched by this commit (748)
Log message:
Recursive revbump from textproc/icu
   2019-03-24 11:39:48 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-peewee: updated to 3.9.3

3.9.3
* Added cross-database support for NULLS FIRST/LAST when specifying the
  ordering for a query. Previously this was only supported for Postgres. Peewee
  will now generate an equivalent CASE statement for Sqlite and MySQL.
* Added [EXCLUDED](http://docs.peewee-orm.com/en/latest/pe … l#EXCLUDED)
  helper for referring to the EXCLUDED namespace used with INSERT...ON CONFLICT
  queries, when referencing values in the conflicting row data.
* Added helper method to the model Metadata class for setting the table name
  at run-time. Setting the Model._meta.table_name directly may have appeared
  to work in some situations, but could lead to subtle bugs. The new API is
  Model._meta.set_table_name().
* Enhanced helpers for working with Peewee interactively, [see \ 
doc](http://docs.peewee-orm.com/en/latest/pe … ctive.html).
* Fix cache invalidation bug in DataSet that was originally reported on the
  sqlite-web project.
* New example script implementing a [hexastore]
   2019-03-06 19:36:13 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-peewee: updated to 3.9.2

3.9.2:
This release contains a fix for a test that was failing when 3.9.1 was tagged \ 
and released.

3.9.1:
Includes a bugfix for an AttributeError that occurs when using MySQL with the \ 
MySQLdb client.
   2019-03-06 09:37:57 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-peewee: updated to 3.9.0

3.9.0:
New and improved stuff
Added new document describing how to use peewee interactively.
Added convenience functions for generating model classes from a pre-existing \ 
database, printing model definitions and printing CREATE TABLE sql for a model. \ 
See the "use peewee interactively" section for details.
Added a __str__ implementation to all Query subclasses which converts the query \ 
to a string and interpolates the parameters.
Improvements to sqlite_ext.JSONField regarding the serialization of data, as \ 
well as the addition of options to override the JSON serialization and \ 
de-serialization functions.
Added index_type parameter to Field
Added DatabaseProxy, which allows one to use database-specific decorators with \ 
an uninitialized Proxy object.
Added support for INSERT ... ON CONFLICT when the conflict target is a partial \ 
index (e.g., contains a WHERE clause). The OnConflict and on_conflict() APIs now \ 
take an additional conflict_where parameter to represent the WHERE clause of the \ 
partial index in question.
Enhanced the playhouse.kv extension to use efficient upsert for all database \ 
engines. Previously upsert was only supported for sqlite and mysql.
Re-added the orwhere() query filtering method, which will append the given \ 
expressions using OR instead of AND.
Added some new examples to the examples/ directory
Added select_from() API for wrapping a query and selecting one or more columns \ 
from the wrapped subquery. Docs.
Added documentation on using row values.
Removed the (defunct) "speedups" C extension, which as of 3.8.2 only \ 
contained a barely-faster function for quoting entities.

Bugfixes
Fix bug in SQL generation when there was a subquery that used a common table \ 
expressions.
Enhanced prefetch() and fixed bug that could occur when mixing self-referential \ 
foreign-keys and model aliases.
MariaDB 10.3.3 introduces backwards-incompatible changes to the SQL used for \ 
upsert. Peewee now introspects the MySQL server version at connection time to \ 
ensure proper handling of version-specific features.
Fixed bug where TimestampField would treat zero values as None when reading from \ 
the database.
   2019-01-18 09:04:45 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-peewee: updated to 3.8.2

3.8.2

Backwards-incompatible changes
The default row-type for INSERT queries executed with a non-default RETURNING \ 
clause has changed from tuple to Model instances. This makes INSERT behavior \ 
consistent with UPDATE and DELETE queries that specify a RETURNING clause. To \ 
revert back to the old behavior, just append a call to .tuples() to your INSERT \ 
... RETURNING query.
Removing support for the table_alias model Meta option. Previously, this \ 
attribute could be used to specify a "vanity" alias for a model class \ 
in the generated SQL. As a result of some changes to support more robust UPDATE \ 
and DELETE queries, supporting this feature will require some re-working. As of \ 
the 3.8.0 release, it was broken and resulted in incorrect SQL for UPDATE \ 
queries, so now it is removed.

New features
Added playhouse.shortcuts.ReconnectMixin, which can be used to implement \ 
automatic reconnect under certain error conditions (notably the MySQL error 2006 \ 
- server has gone away).

Bugfixes
Fix SQL generation bug when using an inline window function in the ORDER BY \ 
clause of a query.
Fix possible zero-division in user-defined implementation of BM25 ranking \ 
algorithm for SQLite full-text search.
   2019-01-08 09:37:59 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-peewee: updated to 3.8.1

3.8.1

New features
Sqlite SearchField now supports the match() operator, allowing full-text search \ 
to be performed on a single column (as opposed to the whole table).

Changes
Remove minimum passphrase restrictions in SQLCipher integration.

Bugfixes
Support inheritance of ManyToManyField instances.
Ensure operator overloads are invoked when generating filter expressions.
Fix incorrect scoring in Sqlite BM25, BM25f and Lucene ranking algorithms.
Support string field-names in data dictionary when performing an ON CONFLICT ... \ 
UPDATE query, which allows field-specific conversions to be applied.
   2018-12-18 12:48:33 by Adam Ciarcinski | Files touched by this commit (4) | Package updated
Log message:
py-peewee: updated to 3.8.0

3.8.0

**New features**

* Postgres BinaryJSONField now supports has_key(), concat() and
  remove() methods (though remove may require pg10+).
* Add python_value() method to the SQL-function helper fn, to allow
  specifying a custom function for mapping database values to Python values.

**Changes**

* Better support for UPDATE ... FROM queries, and more generally, more robust
  support for UPDATE and RETURNING clauses. This means that the
  QualifiedNames helper is no longer needed for certain types of queries.
* The SqlCipherDatabase no longer accepts a kdf_iter parameter. To
  configure the various SQLCipher encryption settings, specify the setting
  values as pragmas when initializing the database.
* Introspection will now, by default, only strip "_id" from \ 
introspected column
  names if those columns are foreign-keys.
* Allow UUIDField and BinaryUUIDField to accept hexadecimal UUID strings as
  well as raw binary UUID bytestrings (in addition to UUID instances, which
  are already supported).
* Allow ForeignKeyField to be created without an index.
* Allow multiple calls to cast() to be chained.
* Add logic to ensure foreign-key constraint names that exceed 64 characters
  are truncated using the same logic as is currently in place for long indexes.
* ManyToManyField supports foreign-keys to fields other than primary-keys.
* When linked against SQLite 3.26 or newer, support SQLITE_CONSTRAINT to
  designate invalid queries against virtual tables.
* SQL-generation changes to aid in supporting using queries within expressions
  following the SELECT statement.

**Bugfixes**

* Fixed bug in order_by_extend(), thanks @nhatHero.
* Fixed bug where the DataSet CSV import/export did not support non-ASCII
  characters in Python 3.x.
* Fixed bug where model_to_dict would attempt to traverse explicitly disabled
  foreign-key backrefs.
* Fixed bug when attempting to migrate SQLite tables that have a field whose
  column-name begins with "primary_".
* Fixed bug with inheriting deferred foreign-keys.