311devs-peewee

Latest version: v2.10.2.1

Safety actively analyzes 630254 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 8

2.8.6

This release was later removed due to containing a bug. See notes on 2.8.7.

2.8.5

This release contains two small bugfixes.

* 1081 - fixed the use of parentheses in compound queries on MySQL.
* Fixed some grossness in a helper function used by `prefetch` that was
clearing out the `GROUP BY` and `HAVING` clauses of sub-queries.

[View commits](https://github.com/coleifer/peewee/compare/2.8.4...2.8.5)

2.8.4

This release contains bugfixes as well as a new playhouse extension module for
working with [SQLite in multi-threaded / concurrent environments](http://docs.peewee-orm.com/en/latest/peewee/playhouse.htmlsqliteq).
The new module is called `playhouse.sqliteq` and it works by serializing
queries using a dedicated worker thread (or greenlet). The performance is quite
good, hopefully this proves useful to someone besides myself! You can learn
more by reading the [sqliteq documentation](http://docs.peewee-orm.com/en/latest/peewee/playhouse.htmlsqliteq).

As a miscellaneous note, I did some major refactoring and cleanup in
`ExtQueryResultsWrapper` and it's corollary in the `speedups` module. The code
is much easier to read than before.

[View commits](https://github.com/coleifer/peewee/compare/2.8.3...2.8.4)

Bugs fixed

* 1061 - akrs patched a bug in `TimestampField` which affected the accuracy
of sub-second timestamps (for resolution > 1).
* 1071, small python 3 fix.
* 1072, allow `DeferredRelation` to be used multiple times if there are
multiple references to a given deferred model.
* 1073, fixed regression in the speedups module that caused SQL functions to
always coerce return values, regardless of the `coerce` flag.
* 1083, another Python 3 issue - this time regarding the use of `exc.message`.

[View commits](https://github.com/coleifer/peewee/compare/2.8.3...2.8.4)

2.8.3

This release contains bugfixes and a small backwards-incompatible change to the
way foreign key `ObjectIdDescriptor` is named (issue 1050).

Bugs fixed and general changes

* 1028 - allow the `ensure_join` method to accept `on` and `join_type`
parameters. Thanks paulbooth.
* 1032 - fix bug related to coercing model instances to database parameters
when the model's primary key is a foreign key.
* 1035 - fix bug introduced in 2.8.2, where I had added some logic to try and
restrict the base `Model` class from being treated as a "real" Model.
* 1039 - update documentation to clarify that lists *or tuples* are acceptable
values when specifying SQLite `PRAGMA` statements.
* 1041 - PyPy user was unable to install Peewee. (Who in their right mind
would *ever* use PyPy?!) Bug was fixed by removing the pre-generated C files
from the distribution.
* 1043 - fix bug where the `speedups` C extension was not calling the correct
model initialization method, resulting in model instances returned as results
of a query having their `dirty` flag incorrectly set.
* 1048 - similar to 1043, add logic to ensure that fields with default values
are considered dirty when instantiating the model.
* 1049 - update URL to [APSW](https://rogerbinns.github.io/apsw).
* Fixed unreported bug regarding `TimestampField` with zero values reporting
the incorrect datetime.

New stuff

* [djpeewee](http://docs.peewee-orm.com/en/latest/peewee/playhouse.htmldjpeewee) extension
module now works with Django 1.9.
* [TimestampField](http://docs.peewee-orm.com/en/latest/peewee/api.htmlTimestampField)
is now an officially documented field.
* 1050 - use the `db_column` of a `ForeignKeyField` for the name of the
`ObjectIdDescriptor`, except when the `db_column` and field `name` are the
same, in which case the ID descriptor will be named `<field_name>_id`.

[View commits](https://github.com/coleifer/peewee/compare/2.8.2...2.8.3)

2.8.2

This release contains mostly bug-fixes, clean-ups, and API enhancements.

Bugs fixed and general cleanups

* 820 - fixed some bugs related to the Cython extension build process.
* 858 - allow blanks and perform type conversion when using the `db_url`
extension
* 922 - ensure that `peewee.OperationalError` is raised consistently when
using the `RetryOperationalError` mixin.
* 929 - ensure that `pwiz` will import the appropriate extensions when
vendor-specific fields are used.
* 930 - ensure that `pwiz`-generated models containing `UnknownField`
placeholders do not blow up when you instantiate them.
* 932 - correctly limit the length of automatically-generated index names.
* 933 - fixed bug where `BlobField` could not be used if it's parent model
pointed to an uninitialized database `Proxy`.
* 935 - greater consistency with the conversion to Python data-types when
performing aggregations, annotations, or calling `scalar()`.
* 939 - ensure the correct data-types are used when initializing a connection
pool.
* 947 - fix bug where `Signal` subclasses were not returning rows affected on
save.
* 951 - better warnings regarding C extension compilation, thanks dhaase-de.
* 968 - fix bug where table names starting with numbers generated invalid
table names when using `pwiz`.
* 971 - fix bug where parameter was not being used. Thanks jberkel.
* 974 - fixed the way `SqliteExtDatabase` handles the automatic `rowid` (and
`docid`) columns. Thanks for alerting me to the issue and providing a
failing test case jberkel.
* 976 - fix obscure bug relating to cloning foreign key fields twice.
* 981 - allow `set` instances to be used on the right-hand side of `IN` exprs.
* 983 - fix behavior where the default `id` primary key was inherited
regardless. When users would inadvertently include it in their queries, it
would use the table alias of it's parent class.
* 992 - add support for `db_column` in `djpeewee`
* 995 - fix the behavior of `truncate_date` with Postgresql. Thanks Zverik.
* 1011 - correctly handle `bytes` wrapper used by `PasswordField` to `bytes`.
* 1012 - when selecting and joining on multiple models, do not create model
instances when the foreign key is NULL.
* 1017 - do not coerce the return value of function calls to `COUNT` or `SUM`,
since the python driver will already give us the right Python value.
* 1018 - use global state to resolve `DeferredRelations`, allowing for a nicer
API. Thanks brenguyen711.
* 1022 - attempt to avoid creating invalid Python when using `pwiz` with MySQL
database columns containing spaces. Yes, fucking spaces.
* 1024 - fix bug in SQLite migrator which had a naive approach to fixing
indexes.
* 1025 - explicitly check for `None` when determining if the database has been
set on `ModelOptions`. Thanks joeyespo.

New stuff

* Added `TimestampField` for storing datetimes using integers. Greater than
second delay is possible through exponentiation.
* Added `Database.drop_index()` method.
* Added a `max_depth` parameter to the `model_to_dict` function in
the `playhouse.shortcuts` extension module.
* `SelectQuery.first()` function accepts a parameter `n` which
applies a limit to the query and returns the first row. Previously the limit
was not applied out of consideration for subsequent iterations, but I believe
usage has shown that a limit is more desirable than reserving the option to
iterate without a second query. The old behavior is preserved in the new
`SelectQuery.peek()` method.
* `group_by()`, `order_by()`, `window()` now accept a keyward argument
`extend`, which, when set to `True`, will append to the existing values
rather than overwriting them.
* Query results support negative indexing.
* C sources are included now as part of the package. I *think* they should be
able to compile for python 2 or 3, on linux or windows...but not positive.
* 895 - added the ability to query using the `<foreign_key>_id` attribute.
* 948 - added documentation about SQLite limits and how they affect
* 1009 - allow `DATABASE_URL` as a recognized parameter to the Flask config.
`insert_many`.

[View commits](https://github.com/coleifer/peewee/compare/2.8.1...2.8.2)

2.8.1

This release is long overdue so apologies if you've been waiting on it and
running off master. There are numerous bugfixes contained in this release, so
I'll list those first this time.

Bugs fixed

* 821 - issue warning if Cython is old
* 822 - better handling of MySQL connections
point for advanced use-cases.
* 313 - support equality/inequality with generic foreign key queries, and
ensure `get_or_create` works with GFKs.
* 834 - fixed Python3 incompatibilities in the `PasswordField`, thanks
mosquito.
* 836 - fix handling of `last_insert_id()` when using `APSWDatabase`.
* 845 - add connection hooks to `APSWDatabase`.
* 852 - check SQLite library version to avoid calls to missing APIs.
* 857 - allow database definition to be deferred when using the connection
pool.
* 878 - formerly `.limit(0)` had no effect. Now adds `LIMIT 0`.
* 879 - implement a `__hash__` method for `Model`
* 886 - fix `count()` for compound select queries.
* 895 - allow writing to the `foreign_key_id` descriptor to set the foreign
key value.
* 893 - fix boolean logic bug in `model_to_dict()`.
* 904 - fix side-effect in `clean_prefetch_query`, thanks to p.kamayev
* 907 - package includes `pskel` now.
* 852 - fix sqlite version check in BerkeleyDB backend.
* 919 - add runtime check for `sqlite3` library to match MySQL and Postgres.
Thanks M157q

New features

* Added a number of [SQLite user-defined functions and
aggregates](http://docs.peewee-orm.com/en/latest/peewee/playhouse.htmlsqlite-udf).
* Use the DB-API2 `Binary` type for `BlobField`.
* Implemented the lucene scoring algorithm in the `sqlite_ext` Cython library.
* 825 - allow a custom base class for `ModelOptions`, providing an extension
* 830 - added `SmallIntegerField` type.
* 838 - allow using a custom descriptor class with `ManyToManyField`.
* 855 - merged change from lez which included docs on using peewee with
Pyramid.
* 858 - allow arguments to be passed on query-string when using the `db_url`
module. Thanks RealSalmon
* 862 - add support for `truncate table`, thanks dev-zero for the sample
code.
* Allow the `related_name` model `Meta` option to be a callable that accepts
the foreign key field instance.


[View commits](https://github.com/coleifer/peewee/compare/2.8.0...2.8.1)

Page 2 of 8

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.