Commit ddb4b81e authored by Neil Muller's avatar Neil Muller

New upstream version 3.6.0+dfsg

parent 8a9a5b31
......@@ -10,7 +10,7 @@ sudo: required
language: python
python:
- "3.6"
- "2.7"
cache: pip
......@@ -24,51 +24,107 @@ addons:
- firebird2.5-super
postgresql: "9.4"
env:
- TOXENV=py27-mysqldb
- TOXENV=py34-mysqlclient
- TOXENV=py35-mysqlclient
- TOXENV=py36-mysqlclient
- TOXENV=py27-mysql-connector
- TOXENV=py34-mysql-connector
- TOXENV=py35-mysql-connector
- TOXENV=py36-mysql-connector
- TOXENV=py27-mysql-oursql
- TOXENV=py27-pymysql
- TOXENV=py34-pymysql
- TOXENV=py35-pymysql
- TOXENV=py36-pymysql
- TOXENV=py27-postgres-psycopg
- TOXENV=py34-postgres-psycopg
- TOXENV=py35-postgres-psycopg
- TOXENV=py36-postgres-psycopg
- TOXENV=py27-postgres-pygresql
- TOXENV=py34-postgres-pygresql
- TOXENV=py35-postgres-pygresql
- TOXENV=py36-postgres-pygresql
- TOXENV=py34-pypostgresql
- TOXENV=py35-pypostgresql
- TOXENV=py36-pypostgresql
- TOXENV=py27-sqlite
- TOXENV=py34-sqlite
- TOXENV=py35-sqlite
- TOXENV=py36-sqlite
- TOXENV=py27-sqlite-memory
- TOXENV=py34-sqlite-memory
- TOXENV=py35-sqlite-memory
- TOXENV=py36-sqlite-memory
- TOXENV=py27-flake8
- TOXENV=py34-flake8
- TOXENV=py27-firebird-fdb
- TOXENV=py34-firebird-fdb
- TOXENV=py35-firebird-fdb
- TOXENV=py36-firebird-fdb
- TOXENV=py27-firebirdsql
- TOXENV=py34-firebirdsql
- TOXENV=py35-firebirdsql
- TOXENV=py36-firebirdsql
matrix:
include:
- python: "2.7"
env: TOXENV=py27-mysqldb
- python: "3.4"
env: TOXENV=py34-mysqlclient
- python: "3.5"
env: TOXENV=py35-mysqlclient
- python: "3.6"
env: TOXENV=py36-mysqlclient
- python: "2.7"
env: TOXENV=py27-mysql-connector
- python: "3.4"
env: TOXENV=py34-mysql-connector
- python: "3.5"
env: TOXENV=py35-mysql-connector
- python: "3.6"
env: TOXENV=py36-mysql-connector
- python: "2.7"
env: TOXENV=py27-mysql-oursql
- python: "3.4"
env: TOXENV=py34-mysql-oursql3
- python: "3.5"
env: TOXENV=py35-mysql-oursql3
- python: "3.6"
env: TOXENV=py36-mysql-oursql3
- python: "2.7"
env: TOXENV=py27-pymysql
- python: "3.4"
env: TOXENV=py34-pymysql
- python: "3.5"
env: TOXENV=py35-pymysql
- python: "3.6"
env: TOXENV=py36-pymysql
- python: "2.7"
env: TOXENV=py27-postgres-psycopg
- python: "3.4"
env: TOXENV=py34-postgres-psycopg
- python: "3.5"
env: TOXENV=py35-postgres-psycopg
- python: "3.6"
env: TOXENV=py36-postgres-psycopg
- python: "2.7"
env: TOXENV=py27-postgres-pygresql
- python: "3.4"
env: TOXENV=py34-postgres-pygresql
- python: "3.5"
env: TOXENV=py35-postgres-pygresql
- python: "3.6"
env: TOXENV=py36-postgres-pygresql
- python: "3.4"
env: TOXENV=py34-pypostgresql
- python: "3.5"
env: TOXENV=py35-pypostgresql
- python: "3.6"
env: TOXENV=py36-pypostgresql
- python: "2.7"
env: TOXENV=py27-postgres-pg8000
- python: "3.4"
env: TOXENV=py34-postgres-pg8000
- python: "3.5"
env: TOXENV=py35-postgres-pg8000
- python: "3.6"
env: TOXENV=py36-postgres-pg8000
- python: "2.7"
env: TOXENV=py27-sqlite
- python: "3.4"
env: TOXENV=py34-sqlite
- python: "3.5"
env: TOXENV=py35-sqlite
- python: "3.6"
env: TOXENV=py36-sqlite
- python: "2.7"
env: TOXENV=py27-sqlite-memory
- python: "3.4"
env: TOXENV=py34-sqlite-memory
- python: "3.5"
env: TOXENV=py35-sqlite-memory
- python: "3.6"
env: TOXENV=py36-sqlite-memory
- python: "2.7"
env: TOXENV=py27-flake8
- python: "3.4"
env: TOXENV=py34-flake8
- python: "2.7"
env: TOXENV=py27-firebird-fdb
- python: "3.4"
env: TOXENV=py34-firebird-fdb
- python: "3.5"
env: TOXENV=py35-firebird-fdb
- python: "3.6"
env: TOXENV=py36-firebird-fdb
- python: "2.7"
env: TOXENV=py27-firebirdsql
- python: "3.4"
env: TOXENV=py34-firebirdsql
- python: "3.5"
env: TOXENV=py35-firebirdsql
- python: "3.6"
env: TOXENV=py36-firebirdsql
allow_failures:
- env: TOXENV=py27-firebird-fdb
- env: TOXENV=py34-firebird-fdb
......@@ -78,6 +134,7 @@ matrix:
- env: TOXENV=py34-firebirdsql
- env: TOXENV=py35-firebirdsql
- env: TOXENV=py36-firebirdsql
fast_finish: true
before_install:
......@@ -98,9 +155,9 @@ before_install:
sudo chmod 644 /var/lib/firebird/create_test_db;
fi
install: travis_retry pip install tox coveralls codecov ppu
install: travis_retry pip install --upgrade pip setuptools tox coveralls codecov ppu
script: tox -e ${TOXENV}
script: tox
after_success:
- cd sqlobject
......
Hello!
I'm pleased to announce version 3.4.0, the first stable release of branch
3.4 of SQLObject.
I'm pleased to announce version 3.6.0, the first stable release of branch
3.6 of SQLObject.
What's new in SQLObject
=======================
Contributor for this release is Dr. Neil Muller.
Contributor for this release is Michael S. Root.
Features
--------
Minor features
--------------
* Python 2.6 is no longer supported. The minimal supported version is
Python 2.7.
* Close cursors after using to free resources immediately
instead of waiting for gc.
Drivers (work in progress)
--------------------------
Bug fixes
---------
* Encode binary values for py-postgresql driver. This fixes the
last remaining problems with the driver.
* Fix for TypeError using selectBy on a BLOBCol. PR by Michael S. Root.
* Encode binary values for PyGreSQL driver using the same encoding as for
py-postgresql driver. This fixes the last remaining problems with the driver.
Drivers
-------
Our own encoding is needed because unescape_bytea(escape_bytea()) is not
idempotent. See the comment for PQunescapeBytea at
https://www.postgresql.org/docs/9.6/static/libpq-exec.html:
* Extend support for oursql and Python 3 (requires our fork of the driver).
This conversion is not exactly the inverse of PQescapeBytea, because the
string is not expected to be "escaped" when received from PQgetvalue. In
particular this means there is no need for string quoting considerations.
* Fix cursor.arraysize - pymssql doesn't have arraysize.
* List all drivers in extras_require in setup.py.
* Set timeout for ODBC with MSSQL.
Minor features
--------------
* Fix _setAutoCommit for MSSQL.
* Use base64.b64encode/b64decode instead of deprecated
encodestring/decodestring.
Documentation
-------------
Tests
-----
* Document extras that are available for installation.
* Fix a bug with sqlite-memory: rollback transaction and close connection.
The solution was found by Dr. Neil Muller.
Build
-----
* Use remove-old-files.py from ppu to cleanup pip cache
at Travis and AppVeyor.
* Use ``python_version`` environment marker in ``setup.py`` to make
``install_requires`` and ``extras_require`` declarative. This makes
the universal wheel truly universal.
* Add test_csvimport.py more as an example how to use load_csv
from sqlobject.util.csvimport.
* Use ``python_requires`` keyword in ``setup.py``.
For a more complete list, please see the news:
http://sqlobject.org/News.html
......@@ -82,7 +75,7 @@ Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss
Download:
https://pypi.python.org/pypi/SQLObject/3.4.0
https://pypi.python.org/pypi/SQLObject/3.6.0
News and changes:
http://sqlobject.org/News.html
......
global-include *.py *.rst *.txt
recursive-include docs *.css *.html *.js *.gif *.png
include LICENSE MANIFEST.in .travis.yml circle.yml tox.ini
include LICENSE MANIFEST.in .travis.yml tox.ini
include debian/* sqlobject/.coveragerc
include docs/Makefile docs/genapidocs docs/rebuild
recursive-exclude devscripts *
......
Metadata-Version: 1.1
Metadata-Version: 1.2
Name: SQLObject
Version: 3.4.0
Version: 3.6.0
Summary: Object-Relational Manager, aka database wrapper
Home-page: http://sqlobject.org/
Author: Oleg Broytman
Author-email: phd@phdru.name
License: LGPL
Download-URL: https://pypi.python.org/pypi/SQLObject/3.4.0
Download-URL: https://pypi.python.org/pypi/SQLObject/3.6.0
Description-Content-Type: UNKNOWN
Description: SQLObject is a popular *Object Relational Manager* for providing an
object interface to your database, with tables as classes, rows as
instances, and columns as attributes.
......@@ -25,7 +26,8 @@ Description: SQLObject is a popular *Object Relational Manager* for providing an
.. image:: https://travis-ci.org/sqlobject/sqlobject.svg?branch=master
:target: https://travis-ci.org/sqlobject/sqlobject
Platform: UNKNOWN
Keywords: sql,orm,object-relational mapper
Platform: Any
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)
......@@ -41,3 +43,4 @@ Classifier: Topic :: Database :: Front-Ends
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires: FormEncode
Requires: PyDispatcher
Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*
SQLObject 3.4.0
SQLObject 3.6.0
===============
Thanks for looking at SQLObject. SQLObject is an object-relational
......
Metadata-Version: 1.1
Metadata-Version: 1.2
Name: SQLObject
Version: 3.4.0
Version: 3.6.0
Summary: Object-Relational Manager, aka database wrapper
Home-page: http://sqlobject.org/
Author: Oleg Broytman
Author-email: phd@phdru.name
License: LGPL
Download-URL: https://pypi.python.org/pypi/SQLObject/3.4.0
Download-URL: https://pypi.python.org/pypi/SQLObject/3.6.0
Description-Content-Type: UNKNOWN
Description: SQLObject is a popular *Object Relational Manager* for providing an
object interface to your database, with tables as classes, rows as
instances, and columns as attributes.
......@@ -25,7 +26,8 @@ Description: SQLObject is a popular *Object Relational Manager* for providing an
.. image:: https://travis-ci.org/sqlobject/sqlobject.svg?branch=master
:target: https://travis-ci.org/sqlobject/sqlobject
Platform: UNKNOWN
Keywords: sql,orm,object-relational mapper
Platform: Any
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)
......@@ -41,3 +43,4 @@ Classifier: Topic :: Database :: Front-Ends
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires: FormEncode
Requires: PyDispatcher
Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*
This diff is collapsed.
FormEncode!=1.3.0,>=1.1.1
PyDispatcher>=2.0.4
[:python_version == "2.7"]
FormEncode!=1.3.0,>=1.1.1
[:python_version >= "3.4"]
FormEncode>=1.3.1
[adodbapi]
adodbapi
......@@ -13,18 +18,24 @@ firebirdsql
[kinterbasdb]
kinterbasdb
[mysql]
MySQLdb
[mysql-connector]
mysql-connector
[mysql:python_version=="2.7"]
MySQL-python
[mysql:python_version>="3.4"]
mysqlclient
[odbc]
pyodbc
[oursql]
oursql
[pg8000]
pg8000
[postgres]
psycopg2
......
......@@ -34,6 +34,8 @@ Contributions have been made by:
* Gregor Horvath <gh at gregor-horvath.com>
* Nathan Edwards <nje5 at georgetown.edu>
* Lutz Steinborn <l.steinborn at 4c-gmbh.de>
* Shailesh Mungikar <shailesh.mungikar at druva.com>
* Michael S. Root <miker at tippett.com>
* Oleg Broytman <phd@phdru.name>
.. image:: https://sourceforge.net/sflogo.php?group_id=74338&type=10
......
......@@ -5,7 +5,79 @@ News
.. contents:: Contents:
:backlinks: none
.. _start:
SQLObject 3.6.0
===============
Released 24 Feb 2018.
Minor features
--------------
* Close cursors after using to free resources immediately
instead of waiting for gc.
Bug fixes
---------
* Fix for TypeError using selectBy on a BLOBCol. PR by Michael S. Root.
Drivers
-------
* Extend support for oursql and Python 3 (requires our fork of the driver).
* Fix cursor.arraysize - pymssql doesn't have arraysize.
* Set timeout for ODBC with MSSQL.
* Fix _setAutoCommit for MSSQL.
Documentation
-------------
* Document extras that are available for installation.
Build
-----
* Use ``python_version`` environment marker in ``setup.py`` to make
``install_requires`` and ``extras_require`` declarative. This makes
the universal wheel truly universal.
* Use ``python_requires`` keyword in ``setup.py``.
SQLObject 3.5.0
===============
Released 15 Nov 2017.
Minor features
--------------
* Add Python3 special methods for division to SQLExpression.
Pull request by Michael S. Root.
Drivers
-------
* Add support for `pg8000 <https://pypi.python.org/pypi/pg8000>`_
PostgreSQL driver.
* Fix autoreconnect with pymysql driver. Contributed by Shailesh Mungikar.
Documentation
-------------
* Remove generated HTML from eggs/wheels (docs are installed into wrong
place). Generated docs are still included in the source distribution.
Tests
-----
* Add tests for PyGreSQL, py-postgresql and pg8000 at AppVeyor.
* Fixed bugs in py-postgresql at AppVeyor. SQLObject requires
the latest version of the driver from our fork.
SQLObject 3.4.0
===============
......
......@@ -5,8 +5,6 @@ News
.. contents:: Contents:
:backlinks: none
.. _start:
SQLObject 0.6.1
===============
......
......@@ -5,8 +5,6 @@ News
.. contents:: Contents:
:backlinks: none
.. _start:
SQLObject 0.8.7
===============
......
......@@ -5,8 +5,6 @@ News
.. contents:: Contents:
:backlinks: none
.. _start:
SQLObject 0.10.9
================
......
......@@ -5,8 +5,6 @@ News
.. contents:: Contents:
:backlinks: none
.. _start:
SQLObject 0.15.1
================
......
......@@ -5,8 +5,6 @@ News
.. contents:: Contents:
:backlinks: none
.. _start:
SQLObject 2.2.1
===============
......
......@@ -49,12 +49,13 @@ Requirements
Currently SQLObject supports MySQL_ via MySQLdb_ aka MySQL-python (called
mysqlclient_ for Python 3), `MySQL Connector`_, oursql_, PyMySQL_, PyODBC_
and PyPyODBC_. For PostgreSQL_ psycopg2_ or psycopg1 are recommended;
PyGreSQL_, py-postgresql_, PyODBC_ and PyPyODBC_ are supported but have
problems (not all tests passed). SQLite_ has a built-in driver or
PySQLite_. Firebird_ is supported via fdb_ or kinterbasdb_; pyfirebirdsql_
is supported but has problems. `MAX DB`_ (also known as SAP DB) is
supported via sapdb_. Sybase via Sybase_. `MSSQL Server`_ via pymssql_ (+
FreeTDS_) or adodbapi_ (Win32).
PyGreSQL_, py-postgresql_ and pg8000_ are supported; SQLite_ has a
built-in driver or PySQLite_. Firebird_ is supported via fdb_ or
kinterbasdb_; pyfirebirdsql_ is supported but has problems. `MAX DB`_
(also known as SAP DB) is supported via sapdb_. Sybase via Sybase_. `MSSQL
Server`_ via pymssql_ (+ FreeTDS_) or adodbapi_ (Win32). PyODBC_ and
PyPyODBC_ are supported for MySQL, PostgreSQL and MSSQL but have
problems (not all tests passed).
.. _MySQL: https://www.mysql.com/
.. _MySQLdb: https://sourceforge.net/projects/mysql-python/
......@@ -66,8 +67,7 @@ FreeTDS_) or adodbapi_ (Win32).
.. _psycopg2: http://initd.org/psycopg/
.. _PyGreSQL: http://www.pygresql.org/
.. _py-postgresql: https://pypi.python.org/pypi/py-postgresql
.. _PyODBC: https://pypi.python.org/pypi/pyodbc
.. _PyPyODBC: https://pypi.python.org/pypi/pypyodbc
.. _pg8000: https://pypi.python.org/pypi/pg8000
.. _SQLite: https://sqlite.org/
.. _PySQLite: https://github.com/ghaering/pysqlite
.. _Firebird: http://www.firebirdsql.org/en/python-driver/
......@@ -81,6 +81,8 @@ FreeTDS_) or adodbapi_ (Win32).
.. _pymssql: http://www.pymssql.org/en/latest/index.html
.. _FreeTDS: http://www.freetds.org/
.. _adodbapi: http://adodbapi.sourceforge.net/
.. _PyODBC: https://pypi.python.org/pypi/pyodbc
.. _PyPyODBC: https://pypi.python.org/pypi/pypyodbc
Python 2.7 or 3.4+ is required.
......@@ -1832,8 +1834,8 @@ The user can choose a DB API driver for PostgreSQL by using a ``driver``
parameter in DB URI or PostgresConnection that can be a comma-separated
list of driver names. Possible drivers are: ``psycopg2``, psycopg1,
``psycopg`` (tries psycopg2 and psycopg1), ``pygresql``, ``pypostgresql``,
``pyodbc``, ``pypyodbc`` or ``odbc`` (try ``pyodbc`` and ``pypyodbc``).
Default is ``psycopg``.
``pg8000``, ``pyodbc``, ``pypyodbc`` or ``odbc`` (try ``pyodbc`` and
``pypyodbc``). Default is ``psycopg``.
Connection-specific parameters are: ``sslmode``, ``unicodeCols``,
``schema``, ``charset``.
......
TODO
----
* Fix test ordering problem with Postgres.
* Fix unicode problems with pyodbc at AppVeyor.
* Resolve timeout problems with MSSQL.
* https://github.com/d33tah/bpgsql,
https://github.com/olopez32/py-bpgsql,
https://pypi.python.org/pypi/ocpgdb/2.0.2,
https://magicstack.github.io/asyncpg/current/.
* PyPy.
* Use https://pypi.python.org/pypi/psycopg2cffi to run SQLObject
under PyPy.
* https://pypi.python.org/pypi/turbodbc
* PyODBC and PyPyODBC for linux and w32: SQLite (libsqliteodbc).
* https://pypi.python.org/pypi/JayDeBeApi
* Jython.
* Quote table/column names that are reserved keywords (order => "order",
values => `values` for MySQL).
......
sqlobject.boundattributes module
================================
sqlobject\.boundattributes module
=================================
.. automodule:: sqlobject.boundattributes
:members:
......
sqlobject.cache module
======================
sqlobject\.cache module
=======================
.. automodule:: sqlobject.cache
:members:
......
sqlobject.classregistry module
==============================
sqlobject\.classregistry module
===============================
.. automodule:: sqlobject.classregistry
:members:
......
sqlobject.col module
====================
sqlobject\.col module
=====================
.. automodule:: sqlobject.col
:members:
......
sqlobject.compat module
=======================
sqlobject\.compat module
========================
.. automodule:: sqlobject.compat
:members:
......
sqlobject.conftest module
=========================
sqlobject\.conftest module
==========================
.. automodule:: sqlobject.conftest
:members:
......
sqlobject.constraints module
============================
sqlobject\.constraints module
=============================
.. automodule:: sqlobject.constraints
:members:
......
sqlobject.converters module
===========================
sqlobject\.converters module
============================
.. automodule:: sqlobject.converters
:members:
......
sqlobject.dbconnection module
=============================
sqlobject\.dbconnection module
==============================
.. automodule:: sqlobject.dbconnection
:members:
......
sqlobject.dberrors module
=========================
sqlobject\.dberrors module
==========================
.. automodule:: sqlobject.dberrors
:members:
......