From phd at phdru.name Sat Aug 5 13:11:25 2017 From: phd at phdru.name (Oleg Broytman) Date: Sat, 5 Aug 2017 19:11:25 +0200 Subject: [DB-SIG] SQLObject 3.4.0 Message-ID: <20170805171125.GA15830@phdru.name> Hello! I'm pleased to announce version 3.4.0, the first stable release of branch 3.4 of SQLObject. What's new in SQLObject ======================= Contributor for this release is Dr. Neil Muller. Features -------- * Python 2.6 is no longer supported. The minimal supported version is Python 2.7. Drivers (work in progress) -------------------------- * Encode binary values for py-postgresql driver. This fixes the last remaining problems with the driver. * Encode binary values for PyGreSQL driver using the same encoding as for py-postgresql driver. This fixes the last remaining problems with the driver. 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: 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. * List all drivers in extras_require in setup.py. Minor features -------------- * Use base64.b64encode/b64decode instead of deprecated encodestring/decodestring. Tests ----- * Fix a bug with sqlite-memory: rollback transaction and close connection. The solution was found by Dr. Neil Muller. * Use remove-old-files.py from ppu to cleanup pip cache at Travis and AppVeyor. * Add test_csvimport.py more as an example how to use load_csv from sqlobject.util.csvimport. For a more complete list, please see the news: http://sqlobject.org/News.html What is SQLObject ================= SQLObject is an object-relational mapper. Your database tables are described as classes, and rows are instances of those classes. SQLObject is meant to be easy to use and quick to get started with. SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite, Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB). Python 2.7 or 3.4+ is required. Where is SQLObject ================== Site: http://sqlobject.org Development: http://sqlobject.org/devel/ Mailing list: https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss Download: https://pypi.python.org/pypi/SQLObject/3.4.0 News and changes: http://sqlobject.org/News.html StackOverflow: https://stackoverflow.com/questions/tagged/sqlobject Example ======= Create a simple class that wraps a table:: >>> from sqlobject import * >>> >>> sqlhub.processConnection = connectionForURI('sqlite:/:memory:') >>> >>> class Person(SQLObject): ... fname = StringCol() ... mi = StringCol(length=1, default=None) ... lname = StringCol() ... >>> Person.createTable() Use the object:: >>> p = Person(fname="John", lname="Doe") >>> p >>> p.fname 'John' >>> p.mi = 'Q' >>> p2 = Person.get(1) >>> p2 >>> p is p2 True Queries:: >>> p3 = Person.selectBy(lname="Doe")[0] >>> p3 >>> pc = Person.select(Person.q.lname=="Doe").count() >>> pc 1 Oleg. -- Oleg Broytman http://phdru.name/ phd at phdru.name Programmers don't die, they just GOSUB without RETURN. From anthony.tuininga at gmail.com Mon Aug 14 18:33:03 2017 From: anthony.tuininga at gmail.com (Anthony Tuininga) Date: Mon, 14 Aug 2017 16:33:03 -0600 Subject: [DB-SIG] cx_Oracle 6.0 Message-ID: What is cx_Oracle? cx_Oracle is a Python extension module that enables access to Oracle Database for Python 3.x and 2.x and conforms to the Python database API 2.0 specifications with a number of enhancements. Where do I get it? https://oracle.github.io/python-cx_Oracle The easiest method to install cx_Oracle 6.0 is via pip as in python -m pip install cx_Oracle --upgrade What's new since 5.3? This is the first production release of version 6.0. The complete release notes can be found here: http://cx-oracle.readthe docs.io/en/latest/releasenotes.html#version-6-0-august-2017. A summary of the changes compared to version 5.3 is found below: *Highlighted Enhancements* - Has been re-implemented to use the new ODPI-C ( https://oracle.github.io/odpi) abstraction layer for Oracle Database. The cx_Oracle API is unchanged. The cx_Oracle design, build and linking process has improved because of ODPI-C. - Now has Python Wheels available for install. This is made possible by the ODPI-C architecture. Windows installers and Linux RPMs are no longer produced since PyPI no longer supports them. - Has less code in Python's Global Interpreter Lock, giving better scalability. - Added support for universal rowids. - Added support for DML returning of multiple rows. - Now associates LOB locators to LOB objects so they are not overwritten on database round trips. *Installation Changes* - On Linux, cx_Oracle 6 no longer uses instant client RPMs automatically. You must set LD_LIBRARY_PATH or use ldconfig to locate the Oracle Client library. - On platforms other than Windows, if ORACLE_HOME is set (in a database or full client installation), remove requirement to set LD_LIBRARY_PATH in order to locate the Oracle Client library (https://github.com/oracle/odp i/issues/20). *Connection Management Enhancements* - Prevent closing the connection when there are any open statements or LOBs and add new error "DPI-1054: connection cannot be closed when open statements or LOBs exist" when this situation is detected; this is needed to prevent crashes under certain conditions when statements or LOBs are being acted upon while at the same time (in another thread) a connection is being closed; it also prevents leaks of statements and LOBs when a connection is returned to a session pool. - Added attribute SessionPool.stmtcachesize to support getting and setting the default statement cache size for connections in the pool. - Added attribute Connection.dbop to support setting the database operation that is to be monitored. - Added attribute Connection.handle to facilitate testing the creation of a connection using a OCI service context handle. - Added parameters tag and matchanytag to the cx_Oracle.connect and SessionPool.acquire methods and added parameters tag and retag to the SessionPool.release method in order to support session tagging. - Added parameter edition to the cx_Oracle.SessionPool method. - Added parameters region, sharding_key and super_sharding_key to the cx_Oracle.makedsn() method to support connecting to a sharded database (new in Oracle Database 12.2). - Removed requirement that encoding and nencoding both be specified when creating a connection or session pool. The missing value is set to its default value if one of the values is set and the other is not ( https://github.com/oracle/python-cx_Oracle/issues/36). - Permit use of both string and unicode for Python 2.7 for creating session pools and for changing passwords (https://github.com/oracle/pyt hon-cx_Oracle/issues/23). *Data Type and Data Handling Enhancements* - Added attributes Variable.actualElements and Variable.values to variables. - Added support for smallint and float data types in Oracle objects, as requested (https://github.com/oracle/python-cx_Oracle/issues/4). - Added support for getting/setting attributes of objects or element values in collections that contain LOBs, BINARY_FLOAT values, BINARY_DOUBLE values and NCHAR and NVARCHAR2 values. The error message for any types that are not supported has been improved as well. - An exception is no longer raised when a collection is empty for methods Object.first() and Object.last(). Instead, the value None is returned to be consistent with the methods Object.next() and Object.prev(). - Removed requirement for specifying a maximum size when fetching LONG or LONG raw columns. This also allows CLOB, NCLOB, BLOB and BFILE columns to be fetched as strings or bytes without needing to specify a maximum size. The method Cursor.setoutputsize no longer does anything, since ODPI-C automatically manages buffer sizes of LONG and LONG RAW columns. - Enable temporary LOB caching in order to avoid disk I/O as suggested ( https://github.com/oracle/odpi/issues/10). *Error Handling Enhancements* - Provide improved error message when OCI environment cannot be created, such as when the oraaccess.xml file cannot be processed properly. - Define exception classes on the connection object in addition to at module scope in order to simplify error handling in multi-connection environments, as specified in the Python DB API. *Test Enhancements* - Reworked test suite and samples so that they are independent of each other and so that the SQL scripts used to create/drop schemas are easily adjusted to use different schema names, if desired. - Updated DB API test suite stub to support Python 3. *Removals* - Dropped deprecated parameter twophase from the cx_Oracle.connect method. Applications should set the Connection.internal_name and Connection.external_name attributes instead to a value appropriate to the application. - Dropped deprecated parameters action, module and clientinfo from the cx_Oracle.connect method. The appcontext parameter should be used instead. - Dropped deprecated attribute numbersAsString from cursor objects. Use an output type handler instead. - Dropped deprecated attributes cqqos and rowids from subscription objects. Use the qos attribute instead. - Dropped deprecated parameters cqqos and rowids from the Connection.subscribe() method. Use the qos parameter instead. -------------- next part -------------- An HTML attachment was scrubbed... URL: From anthony.tuininga at gmail.com Fri Aug 18 13:28:26 2017 From: anthony.tuininga at gmail.com (Anthony Tuininga) Date: Fri, 18 Aug 2017 11:28:26 -0600 Subject: [DB-SIG] cx_Oracle 6.0.1 Message-ID: What is cx_Oracle? cx_Oracle is a Python extension module that enables access to Oracle Database for Python 3.x and 2.x and conforms to the Python database API 2.0 specifications with a number of enhancements. Where do I get it? https://oracle.github.io/python-cx_Oracle The easiest method to install cx_Oracle is via pip as in python -m pip install cx_Oracle --upgrade What's new? This release addresses issues found since the production release was made. The full release notes can be read here: http://cx-oracle.readthedocs.io/en/latest/releasenotes.html#version-6-0-1-august-2017 Please provide any feedback via GitHub issues (https://github.com/oracle/pyt hon-cx_Oracle/issues). -------------- next part -------------- An HTML attachment was scrubbed... URL: From nguerin at g.harvard.edu Sun Aug 20 16:16:52 2017 From: nguerin at g.harvard.edu (Nathan Guerin) Date: Sun, 20 Aug 2017 16:16:52 -0400 Subject: [DB-SIG] PEP 249 Created Date? Message-ID: <20170820201652.GA433@gmail.com> I'm working on a research paper and would like to cite PEP249 and include its created date. The created date is not included in this PEP. See: https://github.com/python/peps/blob/master/pep-0249.txt Does anyone by chance know when this PEP was published? Thank you, Nate Guerin From mal at egenix.com Mon Aug 21 10:03:25 2017 From: mal at egenix.com (M.-A. Lemburg) Date: Mon, 21 Aug 2017 16:03:25 +0200 Subject: [DB-SIG] PEP 249 Created Date? In-Reply-To: <20170820201652.GA433@gmail.com> References: <20170820201652.GA433@gmail.com> Message-ID: <4d858016-f09d-b0a5-d788-3d446b3c183f@egenix.com> The DB-API 2.0 was released on 1999-04-12. However, the creation process took a few weeks and the much of the DB-API 2.0 is based on the DB-API 1.0 (PEP 248, which was developed in 1996): https://mail.python.org/pipermail/db-sig/1999-March/000762.html On 20.08.2017 22:16, Nathan Guerin wrote: > I'm working on a research paper and would like to cite PEP249 and > include its created date. The created date is not included in this PEP. > See: > > https://github.com/python/peps/blob/master/pep-0249.txt > > Does anyone by chance know when this PEP was published? > > Thank you, > Nate Guerin > _______________________________________________ > DB-SIG maillist - DB-SIG at python.org > https://mail.python.org/mailman/listinfo/db-sig > -- Marc-Andre Lemburg eGenix.com Professional Python Services directly from the Experts >>> Python Projects, Coaching and Consulting ... http://www.egenix.com/ >>> Python Database Interfaces ... http://products.egenix.com/ >>> Plone/Zope Database Interfaces ... http://zope.egenix.com/ ________________________________________________________________________ ::::: Try our mxODBC.Connect Python Database Interface for free ! :::::: eGenix.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/ -------------- next part -------------- An embedded message was scrubbed... From: "M.-A. Lemburg" Subject: About to release DB API 2.0... Date: Mon, 12 Apr 1999 11:47:17 +0200 Size: 1803 URL: From python at aryehleib.com Tue Aug 22 08:41:36 2017 From: python at aryehleib.com (Aryeh Leib Taurog) Date: Tue, 22 Aug 2017 15:41:36 +0300 Subject: [DB-SIG] pgcopy 1.3.0 Message-ID: <20170822124136.GD2343@deb76.aryehleib.com> pgcopy 1.3.0 is now available! pgcopy is a small utility for fast inserts to postgresql using binary copy. Features: * Support for many datatypes * Tested with python 2.7 and 3.3 - 3.6 * Works with postgresql versions 8.4 - 9.6 * Cache data on disk or in memory * Supports explicit db schema Release Notes: This release adds support for postgresql's unlimited varchar type and includes fixes for handling of varchar and numeric datatypes. From anthony.tuininga at gmail.com Wed Aug 30 15:36:25 2017 From: anthony.tuininga at gmail.com (Anthony Tuininga) Date: Wed, 30 Aug 2017 13:36:25 -0600 Subject: [DB-SIG] cx_Oracle 6.0.2 Message-ID: What is cx_Oracle? cx_Oracle is a Python extension module that enables access to Oracle Database for Python 3.x and 2.x and conforms to the Python database API 2.0 specifications with a number of enhancements. Where do I get it? https://oracle.github.io/python-cx_Oracle The easiest method to install cx_Oracle is via pip as in python -m pip install cx_Oracle --upgrade What's new? This release addresses issues found since the previous release. The full release notes can be read here: http://cx-oracle.readthedocs.io/en/latest/releasenotes. html#version-6-0-2-august-2017 Please provide any feedback via GitHub issues (https://github.com/oracle/pyt hon-cx_Oracle/issues). -------------- next part -------------- An HTML attachment was scrubbed... URL: