Hello community,

here is the log from the commit of package python-sqlalchemy-migrate for 
openSUSE:Leap:15.2 checked in at 2020-03-02 13:23:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:15.2/python-sqlalchemy-migrate (Old)
 and      /work/SRC/openSUSE:Leap:15.2/.python-sqlalchemy-migrate.new.26092 
(New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-sqlalchemy-migrate"

Mon Mar  2 13:23:27 2020 rev:15 rq:777180 version:0.13.0

Changes:
--------
--- 
/work/SRC/openSUSE:Leap:15.2/python-sqlalchemy-migrate/python-sqlalchemy-migrate.changes
    2020-01-15 15:53:31.467600693 +0100
+++ 
/work/SRC/openSUSE:Leap:15.2/.python-sqlalchemy-migrate.new.26092/python-sqlalchemy-migrate.changes
 2020-03-02 13:23:27.190409792 +0100
@@ -1,0 +2,28 @@
+Fri Dec 20 18:38:29 UTC 2019 - Dirk Mueller <[email protected]>
+
+- update to 0.13.0:
+  * remove inspect.getargspec deprecation warning
+  * Use engine.connect(); don't use private \_run\_visitor method
+  * Claim support for python 3.6
+  * Claim support for python 3.5
+
+-------------------------------------------------------------------
+Tue Apr 23 12:20:58 UTC 2019 - Thomas Bechtold <[email protected]>
+
+- update to 0.12.0:
+  * Change title in README.rst
+  * Don't use deprecated / non-functional "force" parameter
+  * Use legacy\_alter\_table ON in sqlite recreate\_table
+  * Remove py26 support
+  * Add .eggs in .gitignore
+  * Import MutableMapping from the correct Python module
+  * Update mailinglist from dev to discuss
+  * Get rid of psycopg2 warnings by disabling wheels
+  * Enforce that pbr used is >= 1.8
+
+-------------------------------------------------------------------
+Tue Dec  4 12:54:52 UTC 2018 - Matej Cepl <[email protected]>
+
+- Remove superfluous devel dependency for noarch package
+
+-------------------------------------------------------------------

Old:
----
  sqlalchemy-migrate-0.11.0.tar.gz

New:
----
  sqlalchemy-migrate-0.13.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-sqlalchemy-migrate.spec ++++++
--- /var/tmp/diff_new_pack.gsLWg7/_old  2020-03-02 13:23:27.514410436 +0100
+++ /var/tmp/diff_new_pack.gsLWg7/_new  2020-03-02 13:23:27.518410444 +0100
@@ -1,8 +1,7 @@
 #
 # spec file for package python-sqlalchemy-migrate
 #
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
-# Copyright 2011 LISA GmbH, Bingen, Germany.
+# Copyright (c) 2019 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -13,31 +12,30 @@
 # license that conforms to the Open Source Definition (Version 1.9)
 # published by the Open Source Initiative.
 
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
 #
 
 
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-sqlalchemy-migrate
-Version:        0.11.0
+Version:        0.13.0
 Release:        0
 Summary:        Database schema migration for SQLAlchemy
 License:        MIT
 Group:          Development/Libraries/Python
-Url:            http://pypi.python.org/pypi/sqlalchemy-migrate
-Source:         
https://pypi.io/packages/source/s/sqlalchemy-migrate/sqlalchemy-migrate-%{version}.tar.gz
-BuildRequires:  %{python_module devel}
+URL:            http://pypi.python.org/pypi/sqlalchemy-migrate
+Source:         
https://files.pythonhosted.org/packages/source/s/sqlalchemy-migrate/sqlalchemy-migrate-%{version}.tar.gz
+# Test requirements:
+#BuildRequires:  python-ScriptTest >= 1.0
+BuildRequires:  %{python_module Tempita >= 0.4}
+BuildRequires:  %{python_module decorator}
 BuildRequires:  %{python_module pbr}
 BuildRequires:  %{python_module setuptools}
 BuildRequires:  fdupes
 BuildRequires:  python-rpm-macros
 # Documentation requirements:
-BuildRequires:  python3-SQLAlchemy >= 0.7.8
+BuildRequires:  python3-SQLAlchemy >= 0.9.6
 BuildRequires:  python3-Sphinx >= 1.1.2
-# Test requirements:
-#BuildRequires:  python-ScriptTest >= 1.0
-BuildRequires:  %{python_module Tempita >= 0.4}
-BuildRequires:  %{python_module decorator}
 Requires:       python-SQLAlchemy >= 0.7.8
 Requires:       python-Tempita >= 0.4
 Requires:       python-decorator
@@ -46,7 +44,6 @@
 Requires(post): update-alternatives
 Requires(preun): update-alternatives
 BuildArch:      noarch
-
 %python_subpackages
 
 %description
@@ -79,7 +76,7 @@
 
 %build
 %python_build
-%__python3 setup.py build_sphinx && rm doc/build/html/.buildinfo # Build HTML 
documentation
+python3 setup.py build_sphinx && rm doc/build/html/.buildinfo # Build HTML 
documentation
 
 %install
 %python_install
@@ -100,14 +97,15 @@
 %python_uninstall_alternative migrate-repository
 
 %files %{python_files}
-%defattr(-,root,root)
-%doc COPYING README.rst
+%license COPYING
+%doc README.rst
 %python_alternative %{_bindir}/migrate
 %python_alternative %{_bindir}/migrate-repository
 %{python_sitelib}/migrate
 %{python_sitelib}/sqlalchemy_migrate-*
 
 %files -n python-sqlalchemy-migrate-doc
-%doc COPYING doc/build/html
+%license COPYING
+%doc doc/build/html
 
 %changelog

++++++ sqlalchemy-migrate-0.11.0.tar.gz -> sqlalchemy-migrate-0.13.0.tar.gz 
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sqlalchemy-migrate-0.11.0/.zuul.yaml 
new/sqlalchemy-migrate-0.13.0/.zuul.yaml
--- old/sqlalchemy-migrate-0.11.0/.zuul.yaml    1970-01-01 01:00:00.000000000 
+0100
+++ new/sqlalchemy-migrate-0.13.0/.zuul.yaml    2019-10-22 23:14:37.000000000 
+0200
@@ -0,0 +1,37 @@
+- project:
+    templates:
+      - docs-on-readthedocs
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - openstack-python36-jobs
+    vars:
+      rtd_webhook_id: '61274'
+    check:
+      jobs:
+        - sqlalchemy-migrate-tox-py27sa07
+        - sqlalchemy-migrate-devstack:
+            voting: false
+    gate:
+      jobs:
+        - sqlalchemy-migrate-tox-py27sa07
+
+- job:
+    name: sqlalchemy-migrate-tox-py27sa07
+    parent: tox
+    description: |
+      Run tests for sqlalchemy-migrate project.
+
+      Uses tox with the ``py27sa07`` environment.
+    vars:
+      tox_envlist: py27sa07
+
+- job:
+    name: sqlalchemy-migrate-devstack
+    parent: legacy-dsvm-base
+    run: playbooks/sqlalchemy-migrate-devstack-dsvm/run.yaml
+    post-run: playbooks/sqlalchemy-migrate-devstack-dsvm/post.yaml
+    timeout: 10800
+    required-projects:
+      - openstack/devstack
+      - openstack/devstack-gate
+      - x/sqlalchemy-migrate
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sqlalchemy-migrate-0.11.0/AUTHORS 
new/sqlalchemy-migrate-0.13.0/AUTHORS
--- old/sqlalchemy-migrate-0.11.0/AUTHORS       2017-03-01 15:02:52.000000000 
+0100
+++ new/sqlalchemy-migrate-0.13.0/AUTHORS       2019-10-22 23:15:46.000000000 
+0200
@@ -1,8 +1,11 @@
 Alex Favaro <[email protected]>
 Andreas Jaeger <[email protected]>
+Anusree <[email protected]>
 Bob Farrell <[email protected]>
 Brant Knudson <[email protected]>
+Chih-Hsuan Yen <[email protected]>
 Chris Withers <[email protected]>
+Corey Bryant <[email protected]>
 Cyril Roelandt <[email protected]>
 Dan Prince <[email protected]>
 David Ripton <[email protected]>
@@ -10,17 +13,21 @@
 Dustin J. Mitchell <[email protected]>
 Eric Harney <[email protected]>
 Gabriel <[email protected]>
+Haikel Guemar <[email protected]>
 Ihar Hrachyshka <[email protected]>
 Jan Dittberner <[email protected]>
 Jan Dittberner <[email protected]>
 Jan Dittberner <[email protected]>
 Jason Michalski <[email protected]>
 Jeremy Stanley <[email protected]>
+Jonathan Herlin <[email protected]>
 Josip Delic <[email protected]>
 Longgeek <[email protected]>
+Matt Riedemann <[email protected]>
 Matt Riedemann <[email protected]>
 Mike Bayer <[email protected]>
 Monty Taylor <[email protected]>
+Nicola Soranzo <[email protected]>
 Pete Keen <[email protected]>
 Peter Conerly <[email protected]>
 Pádraig Brady <[email protected]>
@@ -34,6 +41,7 @@
 Sascha Peilicke <[email protected]>
 Sean Dague <[email protected]>
 Sean Dague <[email protected]>
+Sean Mooney <[email protected]>
 Sheng Bo Hou <[email protected]>
 Thomas Goirand <[email protected]>
 Thomas Goirand <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sqlalchemy-migrate-0.11.0/ChangeLog 
new/sqlalchemy-migrate-0.13.0/ChangeLog
--- old/sqlalchemy-migrate-0.11.0/ChangeLog     2017-03-01 15:02:52.000000000 
+0100
+++ new/sqlalchemy-migrate-0.13.0/ChangeLog     2019-10-22 23:15:46.000000000 
+0200
@@ -1,11 +1,40 @@
 CHANGES
 =======
 
+0.13.0
+------
+
+* remove inspect.getargspec deprecation warning
+* Use engine.connect(); don't use private \_run\_visitor method
+* Claim support for python 3.6
+* Claim support for python 3.5
+* Remove test-requirements-py\*.txt files
+* Add bindep support
+* Remove py26 tox targets
+* Import zuul jobs
+* Fix docs build
+* OpenDev Migration Patch
+
+0.12.0
+------
+
+* Change title in README.rst
+* Don't use deprecated / non-functional "force" parameter
+* Use mysqlclient
+* Use legacy\_alter\_table ON in sqlite recreate\_table
+* Remove py26 support
+* Add .eggs in .gitignore
+* Import MutableMapping from the correct Python module
+* Update mailinglist from dev to discuss
+* Get rid of psycopg2 warnings by disabling wheels
+* Enforce that pbr used is >= 1.8
+
 0.11.0
 ------
 
 * Use a modern PBR package
 * Prepare for using standard python tests
+* Fix spelling mistake
 * Set autoincrement to False when modifying to non-Integer datatype
 * Raise VersionNotFoundError instead of KeyError
 * Fix DeprecationWarning on setuptools >= 11.3
@@ -15,9 +44,9 @@
 ------
 
 * Update URLs in documentation
-* Add VerNum.__index__() for Python 3 support
+* Add VerNum.\_\_index\_\_() for Python 3 support
 * Fixes usage function for Py3
-* Unblock migrate (py26 and py3* testing issues)
+* Unblock migrate (py26 and py3\* testing issues)
 
 0.9.7
 -----
@@ -38,11 +67,11 @@
 0.9.5
 -----
 
-* Don't run the test if _setup() fails
+* Don't run the test if \_setup() fails
 * Correcting minor typo
 * Fix .gitignore for .tox and .testrepository
 * allow dropping fkeys with sqlite
-* Add pretty_tox setup
+* Add pretty\_tox setup
 * script: strip comments in SQL statements
 
 0.9.4
@@ -75,7 +104,7 @@
 
 * Move patch from oslo to drop unique constraints with sqlite
 * Port to Python3
-* tests: Replace "self.assert_" by "self.assertTrue"
+* tests: Replace "self.assert\_" by "self.assertTrue"
 
 0.9
 ---
@@ -85,7 +114,7 @@
 * fix scripttest compat
 * Use native quote attribute introduced in sqla 0.9
 * Fix genmodel for SQLA 0.9
-* Conditionally import ibmdb2/ibm_db_sa
+* Conditionally import ibmdb2/ibm\_db\_sa
 * migrate needs subunit >= 0.0.18
 * UniqueConstraint named and escaped twice
 * Fix 3 files with Windows line endings to Unix line endings
@@ -107,14 +136,14 @@
 0.8.2
 -----
 
-* Un-break the version in migrate/__init__.py
+* Un-break the version in migrate/\_\_init\_\_.py
 * Fix the version number to match the last release
 
 0.8.1
 -----
 
-* Remove the tag_build line from setup.cfg
-* Drop setuptools_git test requirement
+* Remove the tag\_build line from setup.cfg
+* Drop setuptools\_git test requirement
 
 0.8
 ---
@@ -158,15 +187,15 @@
 * rewrap README
 * update sqlalchemy documentation links use explicit code-block markup
 * update intersphinx configuration, add sphinxcontrib.issuetracker 
configuration
-* ignore vim swap files and docs/_static
+* ignore vim swap files and docs/\_static
 * document adding/droping columns (fixes issue 104)
 * PEP-8 compliant script templates
 * add regression test (fixes issue 105)
 * fix issues with ConfigParser and existing repositories (fixes issue 115)
 * give credits to Benoît Allard
-* remove obsolete manage.py_tmpl (related to issue 121)
+* remove obsolete manage.py\_tmpl (related to issue 121)
 * update changelog (add issue 121 bugfix)
-* generate if __name__ == "__main__" in manage.py (fixes issue 121)
+* generate if \_\_name\_\_ == "\_\_main\_\_" in manage.py (fixes issue 121)
 * update changelog (include #125 fix)
 * merge e5bd2821eea8 from https://code.google.com/r/alyazdi-patches/ (fixes 
issue 125)
 * update changelog
@@ -181,12 +210,12 @@
 * fixed issue 129
 * fixed issue 83
 * remove unused import
-* Fix issue 124: ignore sqlite_sequence in comparing db to model
+* Fix issue 124: ignore sqlite\_sequence in comparing db to model
 * Use two models in generated migrations. Test column addition and removal
 * Put constraints (positional) before args (keywords)
 * Output has changed even without the SQLa patch, update #122 tests
 * Fix and test issue 118. Clarify genmodel transformations
-* Fix column creation in make_update_script_for_model
+* Fix column creation in make\_update\_script\_for\_model
 * More concise declarative output
 * More pep8 compliant declarative output
 * Fix some tests that broke when adding descriptions for sql scripts
@@ -200,7 +229,7 @@
 -----
 
 * Added signature for changeset 35038c66152b
-* set migrate.__version__ to 0.7.1
+* set migrate.\_\_version\_\_ to 0.7.1
 * finalize changelog for 0.7.1
 * fix issue tracking and source code URLs
 * fix column.create() properly
@@ -211,7 +240,7 @@
 ---
 
 * update version number in docs/conf.py
-* add migrate.__version__ (Fixes issue 111)
+* add migrate.\_\_version\_\_ (Fixes issue 111)
 * update changelog and version information
 * bump version number to 0.7 to indicate SQLA 0.7 compatibility
 * no special treatment for SQLA 0.7 required in migrate.changeset.ansisql
@@ -219,10 +248,10 @@
 * fix unit test for adding new columns with foreign keys
 * use DatabaseError instead of ProgrammingError because behaviour seems to be 
database dependent (addresses issue 122)
 * table.drop() raises ProgrammingError in SQLAlchemy 0.7 instead of SQLError 
(addresses #112)
-* SQLAlchemy 0.7's column.foreign_keys is a set and has no _list (addresses 
#112)
+* SQLAlchemy 0.7's column.foreign\_keys is a set and has no \_list (addresses 
#112)
 * use proper encoding instead of True (addresses #112)
 * fix one more test (addresses #112)
-* use Table._columns to remove columns (addresses #112)
+* use Table.\_columns to remove columns (addresses #112)
 * psycopg2 downloads from initrd.org work without workaround
 * add Developing with migrations tutorial link
 * merge
@@ -235,9 +264,9 @@
 -----
 
 * finalize changelog for 0.6.1
-* Bring back alter_metadata on ColumnDelta: it seems intertwined with a lot of 
the tests. So, it's a private API now..
+* Bring back alter\_metadata on ColumnDelta: it seems intertwined with a lot 
of the tests. So, it's a private API now..
 * try to get firebird stuff working with 0.6.6
-* remove the alter_metadata feature
+* remove the alter\_metadata feature
 * work around firebird's insistence that indexes and constraints are dropped 
before columns that are references by them
 * fix sqlite column dropper now that the table is only modified after the 
visitor is run
 * firebird can only drop named foreign keys
@@ -252,7 +281,7 @@
 * merge
 * adding faq section to docs
 * make migrate.changeset.constraint.ForeignKeyConstraint.autoname work with 
SQLAlchemy 0.5 and 0.6
-* use _index_identifier instead of _validate_identifier if 
_validate_identifier does not exist in migrate/changeset/ansisql.py
+* use \_index\_identifier instead of \_validate\_identifier if 
\_validate\_identifier does not exist in migrate/changeset/ansisql.py
 * use absolute imports of exception classes (fixes tests)
 * fix generation of foreign key constraint name in 
migrate.changeset.constraint.ForeignKeyConstraint.autoname
 * merge
@@ -268,14 +297,14 @@
 * clear out the test db for each test, making tests more isolated
 * for when logging is just annoying ;-)
 * silence logger that SA adds
-* give better feedback when errors occur in _setup or _teardown
+* give better feedback when errors occur in \_setup or \_teardown
 * quit screwing with the testing frameworks..
 * update feature matrix
 * correct change log structure
 * Fix issue 94 - it was impossible to add a column with a non-unique index
 * implement column adding with foreign keys on sqlite
-* Fix bug with column dropping involving foreign keys. Bonus: 
remove_from_table now understands foreign keys
-* fix for issue 96: deleting a column in sqlite shouldn't delete all indexes 
bonus: remove_from_table now removes indexes
+* Fix bug with column dropping involving foreign keys. Bonus: 
remove\_from\_table now understands foreign keys
+* fix for issue 96: deleting a column in sqlite shouldn't delete all indexes 
bonus: remove\_from\_table now removes indexes
 * another py2.4 fixture
 * dammit!
 * attempt at improving the api docs a little
@@ -288,7 +317,7 @@
 * disable psycopg install while initd.org is offline
 * silence console output
 * hopefully make py2.4 compatible
-* - capture deprecation warnings and assert they re as they should be - 
re-word alter_column deprecation warning to make more sense
+* - capture deprecation warnings and assert they re as they should be - 
re-word alter\_column deprecation warning to make more sense
 * remove default of dropping on pdb on test error or failure
 * fix last exception import
 * move all exception classes to migrate.exceptions
@@ -316,7 +345,7 @@
 * merge
 * better document summary of changeset actions
 * adding connection keyword to ORM methods
-* use migrate.tests.* instead of tests.* in find_packages argument
+* use migrate.tests.\* instead of tests.\* in find\_packages argument
 * use stdout for logging.INFO and lower; for the rest use stderr
 * fix deprecation warning when using old script synta
 * update README and fix last bugs
@@ -340,7 +369,7 @@
 * make tests use a virtualenv for 'migrate' shell command
 * change print statements to log.info
 * add more recent version of kinterbadb due to soureforge not being maintained 
anymore. Thanks btami\!
-* add firebird to test_db.cfg.tmpl; fix bug when dropping a column in 
firebird: also drop related constraint or index
+* add firebird to test\_db.cfg.tmpl; fix bug when dropping a column in 
firebird: also drop related constraint or index
 * revert 2688cdb980
 * update setup.py
 * run shell diff tests with correct environment
@@ -362,11 +391,11 @@
 * removing mx.DateTime from test deps because pip crashes
 * add mx.DateTime to test dep
 * add mysql driver test deps
-* change test_db database name to more verbose name
+* change test\_db database name to more verbose name
 * partly fix SA0.6 tests on postgres
 * fix docs
 * fix documentation meta.bind(engine) -> meta.bind = engine; thanks mvt
-* add .coverage and test_db.cfg to .hgignore
+* add .coverage and test\_db.cfg to .hgignore
 * more import fixes
 * fixing models import
 * rename test package to tests (problems with pytest dist)
@@ -378,10 +407,10 @@
 * updating MANIFEST.in, fixing virtualenv tests usage, 2 failed tests
 * apply Emil Kroymann's patch for Issue 75
 * apply patch by Jason Newton
-* remove bad reference to migrate_engine
+* remove bad reference to migrate\_engine
 * Add table declarations for tables with diff
-* Add support for ALTER TABLE add/drop columns in make_update_script_for_model
-* adding sql_script template customizations, removing unneeded imports, 
updating docs
+* Add support for ALTER TABLE add/drop columns in 
make\_update\_script\_for\_model
+* adding sql\_script template customizations, removing unneeded imports, 
updating docs
 * merge
 * remove versioning.base in favor of versioning.config
 * removing deprecated logger module
@@ -389,11 +418,11 @@
 * we are using Tempita for templates; adding most basic pylons template
 * add option to customize templates and use multiple themes
 * applying patch for issue #61 by Michael Bayer
-* add disable_logging option
+* add disable\_logging option
 * use logging module for output, fixes #26
 * add tests for plain API, fixed some small bugs
-* separating test_shell and test_api, replacing shell hacks with ScriptTest
-* add populate_default kwarg to column.create, fixes issue #50
+* separating test\_shell and test\_api, replacing shell hacks with ScriptTest
+* add populate\_default kwarg to column.create, fixes issue #50
 * adding .hgignore
 * convert svn to hg
 * applying patch for issue #60 from entequak
@@ -401,10 +430,10 @@
 * removing old changelog
 * change dev location
 * update changelog internal links
-* updated changeset documentation, added alter_metadata to all schema classes
+* updated changeset documentation, added alter\_metadata to all schema classes
 * add not supported exceptions for sqlite constraints
 * always return delta when using alter constructs
-* - completely refactored ColumnDelta to extract differences between 
columns/parameters (also fixes issue #23) - fixed some bugs (passing 
server_default) on column.alter - updated tests, specially ColumnDelta and 
column.alter - introduced alter_metadata which can preserve altering existing 
objects if False (defaults to True) - updated documentation
+* - completely refactored ColumnDelta to extract differences between 
columns/parameters (also fixes issue #23) - fixed some bugs (passing 
server\_default) on column.alter - updated tests, specially ColumnDelta and 
column.alter - introduced alter\_metadata which can preserve altering existing 
objects if False (defaults to True) - updated documentation
 * adding basic support for firebird, fixes #55
 * finally, tests pass for all supported dialects
 * add ability to download development version from pypi
@@ -412,17 +441,17 @@
 * some more PEP8 love
 * fix bug when initializing CheckConstraint
 * updated changeset tests. whole package is finally PEP8. fixed mysql 
tests&bugs. updated docs where apropriate. changeset test coverage almost at 
100%
-* - refactor migrate.changeset; - visitors are refactored to be more unified - 
constraint module is refactored, CheckConstraint is added - documentation is 
partialy updated, dialect support table is added (unfinished) - test_constraint 
was updated NOTE: oracle and mysql were not tested, *may be broken*
+* - refactor migrate.changeset; - visitors are refactored to be more unified - 
constraint module is refactored, CheckConstraint is added - documentation is 
partialy updated, dialect support table is added (unfinished) - 
test\_constraint was updated NOTE: oracle and mysql were not tested, \*may be 
broken\*
 * update docs, delete obsolete code in constraints
 * update documentation
-* removed magical behavior with importing migrate_engine, now engine is passed 
to upgrade/downgrade functions
+* removed magical behavior with importing migrate\_engine, now engine is 
passed to upgrade/downgrade functions
 * use sqlalchemy preparer to do SQL quote formatting. this is a raw change, 
tests are yet to be written
 * lipstick changes
 * update tests for schema, refactor a bit
 * update README, add docs to repository.py and schema.py
 * fix setup.py
 * updated migrate.versioning.repository tests and docs, update README
-* update tests and docs for migrate.versioning.script.*
+* update tests and docs for migrate.versioning.script.\*
 * change isinstance(obj, (str, unicode)) to isinstance(obj, basestring) as 
suggested by Piotr Ożarowski
 * start work on 0.5.5
 * add changelog, update util.py docs
@@ -431,26 +460,26 @@
 * added tests for versioning.version.py, refactored the module
 * add tests for low level util.py
 * make @usedb work correctly
-* Issue 34; preview_sql now correctly displays SQL on python and SQL scripts. 
(tests added, docs still missing)
+* Issue 34; preview\_sql now correctly displays SQL on python and SQL scripts. 
(tests added, docs still missing)
 * use unittest.TestCase for tests
 * use entrypoints terminology to parse dotted model class names
 * remove the duplicate
-* extras_require is a bit tricky, use tests_require instead
+* extras\_require is a bit tricky, use tests\_require instead
 * fix typechecking
 * update CHANGELOG
-* Issue 38; add ability to pass arguments/dict for create_engine func
+* Issue 38; add ability to pass arguments/dict for create\_engine func
 * refactor api.py a bit, lots of PEP8 love
 * add asbool function to make api parsing easier
 * some more PEP8 love all over the files
 * apply some PEP8 love to template.py
-* apply PEP8 to version.py, fixed notification of missing test_db.cfg
+* apply PEP8 to version.py, fixed notification of missing test\_db.cfg
 * apply option parsing patch for Issue 54 by iElectric
 * start work on 0.5.4
-* fix Issue 52 by removing unneeded parameters from object.__new__ calls
+* fix Issue 52 by removing unneeded parameters from object.\_\_new\_\_ calls
 * update CHANGELOG, set version to 0.5.3
 * apply patch for Issue 29 by Jonathan Ellis
 * add support for ondelete and oncascade to ANSI-SQL foreign key creation
-* unignore _build, recreate _build and ignore everything below it (fixes Issue 
49)
+* unignore \_build, recreate \_build and ignore everything below it (fixes 
Issue 49)
 * update CHANGELOG, set version to 0.5.2
 * mark ALTER TABLE ADD FOREIGN KEY as unsupported by SQLite update 
corresponding test case
 * integrate unit test fix by Adam Lowry
@@ -458,7 +487,7 @@
 * whoops, needed to update setup.cfg too for Sphinx build location
 * add Sphinx Makefile, and use underscore prefixes for some Sphinx stuff to be 
more Windows-friendly
 * integrate patch for Issue 36, update CHANGELOG
-* fix Issue 47 by moving sphinx and nose dependencies to extras_require
+* fix Issue 47 by moving sphinx and nose dependencies to extras\_require
 * fix upload
 * prepare release 0.5.1.1
 * removed misleading docs/Makefile
@@ -512,43 +541,43 @@
 * missed a postgres identifier quoting on renaming
 * added hook functions which allow the dialects to specify how to indicate 
identifiers, as this is different in postgres
 * integrate patch for Issue 33
-* add --declarative option to create_model to generate new declarative style
-* get test_changeset working in oracle - just more server_default issues
+* add --declarative option to create\_model to generate new declarative style
+* get test\_changeset working in oracle - just more server\_default issues
 * add support for SA 0.5
-* - integrate patch by Toshio Kuratomi sent to migrate-users 2008/07/30   
06:08 (GMT+01:00) - pylint clean migrate/versioning/migrate_repository.py
-* * create bugfix branch for 0.4.4 * prepare trunk for new development
-* * add 0.4.5 changes to CHANGELOG
+* - integrate patch by Toshio Kuratomi sent to migrate-users 2008/07/30   
06:08 (GMT+01:00) - pylint clean migrate/versioning/migrate\_repository.py
+* \* create bugfix branch for 0.4.4 \* prepare trunk for new development
+* \* add 0.4.5 changes to CHANGELOG
 * applied patch for shell test by Toshio Kuramoti
 * support default for sql scripts
 * add unit test to make sure we can handle more than 999 revisions
 * finish implementing repository migration script
 * make repository format flatter and get rid of commit command
-* * applied a slightly modified version of the patch for issue #20 by   
Christophe de Vienne which uses a logger for 'migrate.versioning'   instead of 
the root logger
+* \* applied a slightly modified version of the patch for issue #20 by   
Christophe de Vienne which uses a logger for 'migrate.versioning'   instead of 
the root logger
 * almost done issue 12:  generate downgrade method for schema migration
 * fix issue 18 by applying given patch
-* enhance command update_db_from_model to bump db_version to latest in 
repository
+* enhance command update\_db\_from\_model to bump db\_version to latest in 
repository
 * improve diff unit tests to make sure they don't drop data when column type 
changes; make the code pass the tests
 * make diff unit tests more robust
-* Change make_update_script_for_model shell command to compare two versions of 
Python model (issue #12); add shell test for new diff'ing apis
+* Change make\_update\_script\_for\_model shell command to compare two 
versions of Python model (issue #12); add shell test for new diff'ing apis
 * - merged CHANGELOG from bugfix branch
 * - release 0.4.4
 *  r1081@denkpolster:  jan | 2008-04-04 18:48:20 +0200  - fix for SQLAlchemy 
deprecation warning when creating version table
 *  r1035@denkpolster:  jan | 2008-04-02 14:39:05 +0200  - fix unit tests with 
py-0.9.1, fixes #17
 * code reorg: create new utility method loadModel for db diffing
 * - patch by pwannygoodness for Issue #15 integrated
-* - merge CHANGELOG from branch bugfix-0_4_2 to trunk - increase trunk and 
branch bugfix-0_4_2 version numbers - rename branch bugfix-0_4_2 to bugfix-0_4_3
+* - merge CHANGELOG from branch bugfix-0\_4\_2 to trunk - increase trunk and 
branch bugfix-0\_4\_2 version numbers - rename branch bugfix-0\_4\_2 to 
bugfix-0\_4\_3
 * Execute sqlite-specific code to alter a table inside one transaction so that 
we can't leave the database in a nasty state
-* When running schemadiff tests exclude table migrate_version because it's 
left around after a previous round of tests
-* rename model/db sync commands and add new command update_db_from_model
+* When running schemadiff tests exclude table migrate\_version because it's 
left around after a previous round of tests
+* rename model/db sync commands and add new command update\_db\_from\_model
 * add experimental support for comparing metadata against database (issue #12)
-* - make test_shell not assume Python code is compiled - update results in 
test_shell so that it works in Postgresql - make Oracle changesets generate 
valid sql syntax when a modified column's default value changes to NULL
-* * integrate patch for Issue #14 by Kevin Dangoor * merge CHANGELOG from 
bugfix_0_4_2 branch
-* * fixed package name
-* * prepare work on 0.4.3
+* - make test\_shell not assume Python code is compiled - update results in 
test\_shell so that it works in Postgresql - make Oracle changesets generate 
valid sql syntax when a modified column's default value changes to NULL
+* \* integrate patch for Issue #14 by Kevin Dangoor \* merge CHANGELOG from 
bugfix\_0\_4\_2 branch
+* \* fixed package name
+* \* prepare work on 0.4.3
 * make import of sqlalchemy's SchemaGenerator work regardless of previous 
imports
 * - 0.4.1 changes added to CHANGELOG
-* - integrate setuptools patch by Kevin Dangoor - bump version to 0.4.2dev 
(0.4.1 will be released from branch bugfix-0_4_0)
+* - integrate setuptools patch by Kevin Dangoor - bump version to 0.4.2dev 
(0.4.1 will be released from branch bugfix-0\_4\_0)
 * - prepare for new development
 * - prepare for release 0.4.0
-* integrated patch by Christian Simms posted at 
http://groups.google.com/group/migrate-users/browse_thread/thread/952a2185baf70c4d
 fix all test cases for sqlalchemy>=0.4 and still works with sqlalchemy>=0.3.10 
fixes #9
+* integrated patch by Christian Simms posted at 
http://groups.google.com/group/migrate-users/browse\_thread/thread/952a2185baf70c4d
 fix all test cases for sqlalchemy>=0.4 and still works with sqlalchemy>=0.3.10 
fixes #9
 * moved trunk, branches and tags to project root fixes Issue #5
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sqlalchemy-migrate-0.11.0/PKG-INFO 
new/sqlalchemy-migrate-0.13.0/PKG-INFO
--- old/sqlalchemy-migrate-0.11.0/PKG-INFO      2017-03-01 15:02:53.000000000 
+0100
+++ new/sqlalchemy-migrate-0.13.0/PKG-INFO      2019-10-22 23:15:46.000000000 
+0200
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: sqlalchemy-migrate
-Version: 0.11.0
+Version: 0.13.0
 Summary: Database schema migration for SQLAlchemy
 Home-page: http://www.openstack.org/
 Author: OpenStack
-Author-email: [email protected]
+Author-email: [email protected]
 License: UNKNOWN
-Description: sqlalchemy-migrate
+Description: SQLAlchemy Migrate
         ==================
         
         Fork from http://code.google.com/p/sqlalchemy-migrate/ to get it 
working with
@@ -64,7 +64,8 @@
 Classifier: Programming Language :: Python
 Classifier: Programming Language :: Python :: 2
 Classifier: Programming Language :: Python :: 2.7
-Classifier: Programming Language :: Python :: 2.6
 Classifier: Programming Language :: Python :: 3
 Classifier: Programming Language :: Python :: 3.3
 Classifier: Programming Language :: Python :: 3.4
+Classifier: Programming Language :: Python :: 3.5
+Classifier: Programming Language :: Python :: 3.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sqlalchemy-migrate-0.11.0/README.rst 
new/sqlalchemy-migrate-0.13.0/README.rst
--- old/sqlalchemy-migrate-0.11.0/README.rst    2017-03-01 15:01:25.000000000 
+0100
+++ new/sqlalchemy-migrate-0.13.0/README.rst    2019-10-22 23:14:37.000000000 
+0200
@@ -1,4 +1,4 @@
-sqlalchemy-migrate
+SQLAlchemy Migrate
 ==================
 
 Fork from http://code.google.com/p/sqlalchemy-migrate/ to get it working with
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sqlalchemy-migrate-0.11.0/bindep.txt 
new/sqlalchemy-migrate-0.13.0/bindep.txt
--- old/sqlalchemy-migrate-0.11.0/bindep.txt    1970-01-01 01:00:00.000000000 
+0100
+++ new/sqlalchemy-migrate-0.13.0/bindep.txt    2019-10-22 23:14:37.000000000 
+0200
@@ -0,0 +1,16 @@
+# This is a cross-platform list tracking distribution packages needed for 
install and tests;
+# see https://docs.openstack.org/infra/bindep/ for additional information.
+
+# NOTE(mriedem): This list is woefully incomplete but is just listing mysql
+# and postgresql binary dependencies to make tools/test-setup.sh work.
+
+libmysqlclient-dev [platform:dpkg]
+libpq-dev [platform:dpkg test]
+mysql [platform:rpm]
+mysql-client [platform:dpkg]
+mysql-devel [platform:rpm test]
+mysql-server
+postgresql
+postgresql-client [platform:dpkg]
+postgresql-devel [platform:rpm test]
+postgresql-server [platform:rpm]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sqlalchemy-migrate-0.11.0/doc/requirements.txt 
new/sqlalchemy-migrate-0.13.0/doc/requirements.txt
--- old/sqlalchemy-migrate-0.11.0/doc/requirements.txt  1970-01-01 
01:00:00.000000000 +0100
+++ new/sqlalchemy-migrate-0.13.0/doc/requirements.txt  2019-10-22 
23:14:37.000000000 +0200
@@ -0,0 +1 @@
+sphinx>=1.6.2,!=1.6.6  # BSD
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sqlalchemy-migrate-0.11.0/doc/source/conf.py 
new/sqlalchemy-migrate-0.13.0/doc/source/conf.py
--- old/sqlalchemy-migrate-0.11.0/doc/source/conf.py    2017-03-01 
15:01:25.000000000 +0100
+++ new/sqlalchemy-migrate-0.13.0/doc/source/conf.py    2019-10-22 
23:14:37.000000000 +0200
@@ -28,7 +28,8 @@
 
 # Add any Sphinx extension module names here, as strings. They can be 
extensions
 # coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
-extensions = ['sphinx.ext.autodoc', 'sphinx.ext.intersphinx', 
'sphinxcontrib.issuetracker']
+extensions = ['sphinx.ext.autodoc',
+              'sphinx.ext.intersphinx']
 
 # link to sqlalchemy docs
 intersphinx_mapping = {
@@ -128,7 +129,7 @@
 # Add any paths that contain custom static files (such as style sheets) here,
 # relative to this directory. They are copied after the builtin static files,
 # so a file named "default.css" will overwrite the builtin "default.css".
-html_static_path = ['_static']
+# html_static_path = ['_static']
 
 # If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
 # using the given strftime format.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sqlalchemy-migrate-0.11.0/doc/source/download.rst 
new/sqlalchemy-migrate-0.13.0/doc/source/download.rst
--- old/sqlalchemy-migrate-0.11.0/doc/source/download.rst       2017-03-01 
15:01:25.000000000 +0100
+++ new/sqlalchemy-migrate-0.13.0/doc/source/download.rst       2019-10-22 
23:14:37.000000000 +0200
@@ -2,7 +2,7 @@
 --------
 
 You can get the latest version of SQLAlchemy Migrate from the
-`project's download page`_, the `cheese shop`_, pip_ or via easy_install_::
+the `cheese shop`_, pip_ or via easy_install_::
 
  $ easy_install sqlalchemy-migrate
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sqlalchemy-migrate-0.11.0/doc/source/index.rst 
new/sqlalchemy-migrate-0.13.0/doc/source/index.rst
--- old/sqlalchemy-migrate-0.11.0/doc/source/index.rst  2017-03-01 
15:01:25.000000000 +0100
+++ new/sqlalchemy-migrate-0.13.0/doc/source/index.rst  2019-10-22 
23:14:37.000000000 +0200
@@ -55,7 +55,7 @@
 
 .. list-table::
     :header-rows: 1
-    :widths: 25 10 10 10 10 10 11
+    :widths: 25 10 10 10 10 10 11 10
 
     * - Operation / Dialect
       - :ref:`sqlite <sqlite-d>`
@@ -72,6 +72,7 @@
       - yes
       - no
       - not supported
+      - unknown
     * - :ref:`ALTER TABLE RENAME COLUMN <column-alter>`
       - yes (workaround) [#1]_
       - yes
@@ -79,6 +80,7 @@
       - yes
       - yes
       - not supported
+      - unknown
     * - :ref:`ALTER TABLE ADD COLUMN <column-create>`
       - yes (workaround) [#2]_
       - yes
@@ -86,6 +88,7 @@
       - yes
       - yes
       - not supported
+      - unknown
     * - :ref:`ALTER TABLE DROP COLUMN <column-drop>`
       - yes (workaround) [#1]_
       - yes
@@ -93,6 +96,7 @@
       - yes
       - yes
       - not supported
+      - unknown
     * - :ref:`ALTER TABLE ALTER COLUMN <column-alter>`
       - yes (workaround) [#1]_
       - yes
@@ -100,6 +104,7 @@
       - yes (with limitations) [#3]_
       - yes [#4]_
       - not supported
+      - unknown
     * - :ref:`ALTER TABLE ADD CONSTRAINT <constraint-tutorial>`
       - partial (workaround) [#1]_
       - yes
@@ -107,6 +112,7 @@
       - yes
       - yes
       - not supported
+      - unknown
     * - :ref:`ALTER TABLE DROP CONSTRAINT <constraint-tutorial>`
       - partial (workaround) [#1]_
       - yes
@@ -114,6 +120,7 @@
       - yes
       - yes
       - not supported
+      - unknown
     * - :ref:`RENAME INDEX <index-rename>`
       - no
       - yes
@@ -121,6 +128,7 @@
       - yes
       - yes
       - not supported
+      - unknown
 
 
 .. [#1] Table is renamed to temporary table, new table is created followed by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sqlalchemy-migrate-0.11.0/migrate/changeset/ansisql.py 
new/sqlalchemy-migrate-0.13.0/migrate/changeset/ansisql.py
--- old/sqlalchemy-migrate-0.11.0/migrate/changeset/ansisql.py  2017-03-01 
15:01:25.000000000 +0100
+++ new/sqlalchemy-migrate-0.13.0/migrate/changeset/ansisql.py  2019-10-22 
23:14:37.000000000 +0200
@@ -159,8 +159,7 @@
     def visit_table(self, table):
         """Rename a table. Other ops aren't supported."""
         self.start_alter_table(table)
-        q = util.safe_quote(table)
-        self.append("RENAME TO %s" % self.preparer.quote(table.new_name, q))
+        self.append("RENAME TO %s" % self.preparer.quote(table.new_name))
         self.execute()
 
     def visit_index(self, index):
@@ -170,19 +169,19 @@
             self.append("ALTER INDEX %s RENAME TO %s" % (
                     self.preparer.quote(
                         self._validate_identifier(
-                            index.name, True), index.quote),
+                            index.name, True)),
                     self.preparer.quote(
                         self._validate_identifier(
-                            index.new_name, True), index.quote)))
+                            index.new_name, True))))
         elif hasattr(self, '_index_identifier'):
             # SA >= 0.6.5, < 0.8
             self.append("ALTER INDEX %s RENAME TO %s" % (
                     self.preparer.quote(
                         self._index_identifier(
-                            index.name), index.quote),
+                            index.name)),
                     self.preparer.quote(
                         self._index_identifier(
-                            index.new_name), index.quote)))
+                            index.new_name))))
         else:
             # SA >= 0.8
             class NewName(object):
@@ -229,8 +228,7 @@
     def start_alter_column(self, table, col_name):
         """Starts ALTER COLUMN"""
         self.start_alter_table(table)
-        q = util.safe_quote(table)
-        self.append("ALTER COLUMN %s " % self.preparer.quote(col_name, q))
+        self.append("ALTER COLUMN %s " % self.preparer.quote(col_name))
 
     def _visit_column_nullable(self, table, column, delta):
         nullable = delta['nullable']
@@ -253,8 +251,7 @@
 
     def _visit_column_name(self, table, column, delta):
         self.start_alter_table(table)
-        q = util.safe_quote(table)
-        col_name = self.preparer.quote(delta.current_name, q)
+        col_name = self.preparer.quote(delta.current_name)
         new_name = self.preparer.format_column(delta.result_column)
         self.append('RENAME COLUMN %s TO %s' % (col_name, new_name))
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sqlalchemy-migrate-0.11.0/migrate/changeset/databases/firebird.py 
new/sqlalchemy-migrate-0.13.0/migrate/changeset/databases/firebird.py
--- old/sqlalchemy-migrate-0.11.0/migrate/changeset/databases/firebird.py       
2017-03-01 15:01:25.000000000 +0100
+++ new/sqlalchemy-migrate-0.13.0/migrate/changeset/databases/firebird.py       
2019-10-22 23:14:37.000000000 +0200
@@ -61,7 +61,7 @@
 
     def _visit_column_name(self, table, column, delta):
         self.start_alter_table(table)
-        col_name = self.preparer.quote(delta.current_name, table.quote)
+        col_name = self.preparer.quote(delta.current_name)
         new_name = self.preparer.format_column(delta.result_column)
         self.append('ALTER COLUMN %s TO %s' % (col_name, new_name))
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sqlalchemy-migrate-0.11.0/migrate/changeset/databases/ibmdb2.py 
new/sqlalchemy-migrate-0.13.0/migrate/changeset/databases/ibmdb2.py
--- old/sqlalchemy-migrate-0.11.0/migrate/changeset/databases/ibmdb2.py 
2017-03-01 15:01:25.000000000 +0100
+++ new/sqlalchemy-migrate-0.13.0/migrate/changeset/databases/ibmdb2.py 
2019-10-22 23:14:37.000000000 +0200
@@ -108,8 +108,7 @@
         """Rename a table; #38. Other ops aren't supported."""
 
         self._rename_table(table)
-        q = util.safe_quote(table)
-        self.append("TO %s" % self.preparer.quote(table.new_name, q))
+        self.append("TO %s" % self.preparer.quote(table.new_name))
         self.execute()
         self.append("COMMIT")
         self.execute()
@@ -121,9 +120,9 @@
         if hasattr(self, '_index_identifier'):
             # SA >= 0.6.5, < 0.8
             old_name = self.preparer.quote(
-                self._index_identifier(index.name), index.quote)
+                self._index_identifier(index.name))
             new_name = self.preparer.quote(
-                self._index_identifier(index.new_name), index.quote)
+                self._index_identifier(index.new_name))
         else:
             # SA >= 0.8
             class NewName(object):
@@ -148,11 +147,10 @@
     def _run_subvisit(self, delta, func, start_alter=True):
         """Runs visit method based on what needs to be changed on column"""
         table = delta.table
-        q = util.safe_quote(table)
         if start_alter:
             self.start_alter_table(table)
         ret = func(table,
-                   self.preparer.quote(delta.current_name, q),
+                   self.preparer.quote(delta.current_name),
                    delta)
         self.execute()
         self._reorg_table(self.preparer.format_table(delta.table))
@@ -314,8 +312,7 @@
             if hasattr(self, '_index_identifier'):
                 # SA >= 0.6.5, < 0.8
                 index_name = self.preparer.quote(
-                    self._index_identifier(constraint.name),
-                    constraint.quote)
+                    self._index_identifier(constraint.name))
             else:
                 # SA >= 0.8
                 index_name = self._prepared_index_name(constraint)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sqlalchemy-migrate-0.11.0/migrate/changeset/databases/mysql.py 
new/sqlalchemy-migrate-0.13.0/migrate/changeset/databases/mysql.py
--- old/sqlalchemy-migrate-0.11.0/migrate/changeset/databases/mysql.py  
2017-03-01 15:01:25.000000000 +0100
+++ new/sqlalchemy-migrate-0.13.0/migrate/changeset/databases/mysql.py  
2019-10-22 23:14:37.000000000 +0200
@@ -37,8 +37,7 @@
                 first = primary_keys.pop(0)
                 if first.name == delta.current_name:
                     colspec += " AUTO_INCREMENT"
-        q = util.safe_quote(table)
-        old_col_name = self.preparer.quote(delta.current_name, q)
+        old_col_name = self.preparer.quote(delta.current_name)
 
         self.start_alter_table(table)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sqlalchemy-migrate-0.11.0/migrate/changeset/databases/sqlite.py 
new/sqlalchemy-migrate-0.13.0/migrate/changeset/databases/sqlite.py
--- old/sqlalchemy-migrate-0.11.0/migrate/changeset/databases/sqlite.py 
2017-03-01 15:01:25.000000000 +0100
+++ new/sqlalchemy-migrate-0.13.0/migrate/changeset/databases/sqlite.py 
2019-10-22 23:14:37.000000000 +0200
@@ -4,7 +4,7 @@
    .. _`SQLite`: http://www.sqlite.org/
 """
 try:  # Python 3
-    from collections import MutableMapping as DictMixin
+    from collections.abc import MutableMapping as DictMixin
 except ImportError:  # Python 2
     from UserDict import DictMixin
 from copy import copy
@@ -96,8 +96,17 @@
             if omit_constraints is None or cons.name not in omit_constraints
         ])
 
+        # Use "PRAGMA legacy_alter_table = ON" with sqlite >= 3.26 when
+        # using "ALTER TABLE RENAME TO migration_tmp" to maintain legacy
+        # behavior. See: https://www.sqlite.org/src/info/ae9638e9c0ad0c36
+        if self.connection.engine.dialect.server_version_info >= (3, 26):
+            self.append('PRAGMA legacy_alter_table = ON')
+            self.execute()
         self.append('ALTER TABLE %s RENAME TO migration_tmp' % table_name)
         self.execute()
+        if self.connection.engine.dialect.server_version_info >= (3, 26):
+            self.append('PRAGMA legacy_alter_table = OFF')
+            self.execute()
 
         insertion_string = self._modify_table(table, column, delta)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sqlalchemy-migrate-0.11.0/migrate/changeset/databases/visitor.py 
new/sqlalchemy-migrate-0.13.0/migrate/changeset/databases/visitor.py
--- old/sqlalchemy-migrate-0.11.0/migrate/changeset/databases/visitor.py        
2017-03-01 15:01:25.000000000 +0100
+++ new/sqlalchemy-migrate-0.13.0/migrate/changeset/databases/visitor.py        
2019-10-22 23:14:37.000000000 +0200
@@ -73,7 +73,7 @@
     with support for migrate visitors.
     """
     if connection is None:
-        conn = engine.contextual_connect(close_with_result=False)
+        conn = engine.connect()
     else:
         conn = connection
     visitor = visitorcallable(engine.dialect, conn)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sqlalchemy-migrate-0.11.0/migrate/changeset/schema.py 
new/sqlalchemy-migrate-0.13.0/migrate/changeset/schema.py
--- old/sqlalchemy-migrate-0.11.0/migrate/changeset/schema.py   2017-03-01 
15:01:25.000000000 +0100
+++ new/sqlalchemy-migrate-0.13.0/migrate/changeset/schema.py   2019-10-22 
23:14:37.000000000 +0200
@@ -3,7 +3,7 @@
 """
 import abc
 try:  # Python 3
-    from collections import MutableMapping as DictMixin
+    from collections.abc import MutableMapping as DictMixin
 except ImportError:  # Python 2
     from UserDict import DictMixin
 import warnings
@@ -138,7 +138,7 @@
     delta = ColumnDelta(*p, **k)
 
     visitorcallable = get_engine_visitor(engine, 'schemachanger')
-    engine._run_visitor(visitorcallable, delta)
+    _run_visitor(engine, visitorcallable, delta)
 
     return delta
 
@@ -167,6 +167,20 @@
     return ret
 
 
+def _run_visitor(
+    connectable, visitorcallable, element, connection=None, **kwargs
+):
+    if connection is not None:
+        visitorcallable(
+            connection.dialect, connection, **kwargs).traverse_single(element)
+    else:
+        conn = connectable.connect()
+        try:
+            visitorcallable(
+                conn.dialect, conn, **kwargs).traverse_single(element)
+        finally:
+            conn.close()
+
 
 # Python3: if we just use:
 #
@@ -574,7 +588,7 @@
         self.add_to_table(table)
         engine = self.table.bind
         visitorcallable = get_engine_visitor(engine, 'columngenerator')
-        engine._run_visitor(visitorcallable, self, connection, **kwargs)
+        _run_visitor(engine, visitorcallable, self, connection, **kwargs)
 
         # TODO: reuse existing connection
         if self.populate_default and self.default is not None:
@@ -595,7 +609,7 @@
             self.table = table
         engine = self.table.bind
         visitorcallable = get_engine_visitor(engine, 'columndropper')
-        engine._run_visitor(visitorcallable, self, connection, **kwargs)
+        _run_visitor(engine, visitorcallable, self, connection, **kwargs)
         self.remove_from_table(self.table, unset_table=False)
         self.table = None
         return self
@@ -650,12 +664,10 @@
     # TODO: this is fixed in 0.6
     def copy_fixed(self, **kw):
         """Create a copy of this ``Column``, with all attributes."""
-        q = util.safe_quote(self)
         return sqlalchemy.Column(self.name, self.type, self.default,
             key=self.key,
             primary_key=self.primary_key,
             nullable=self.nullable,
-            quote=q,
             index=self.index,
             unique=self.unique,
             onupdate=self.onupdate,
@@ -691,7 +703,7 @@
         engine = self.table.bind
         self.new_name = name
         visitorcallable = get_engine_visitor(engine, 'schemachanger')
-        engine._run_visitor(visitorcallable, self, connection, **kwargs)
+        _run_visitor(engine, visitorcallable, self, connection, **kwargs)
         self.name = name
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sqlalchemy-migrate-0.11.0/migrate/changeset/util.py 
new/sqlalchemy-migrate-0.13.0/migrate/changeset/util.py
--- old/sqlalchemy-migrate-0.11.0/migrate/changeset/util.py     2017-03-01 
15:01:25.000000000 +0100
+++ new/sqlalchemy-migrate-0.13.0/migrate/changeset/util.py     2019-10-22 
23:14:37.000000000 +0200
@@ -1,16 +1,5 @@
 from migrate.changeset import SQLA_10
 
-"""
-Safe quoting method
-"""
-
-def safe_quote(obj):
-    # this is the SQLA 0.9 approach
-    if hasattr(obj, 'name') and hasattr(obj.name, 'quote'):
-        return obj.name.quote
-    else:
-        return obj.quote
-
 
 def fk_column_names(constraint):
     if SQLA_10:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sqlalchemy-migrate-0.11.0/migrate/tests/changeset/test_changeset.py 
new/sqlalchemy-migrate-0.13.0/migrate/tests/changeset/test_changeset.py
--- old/sqlalchemy-migrate-0.11.0/migrate/tests/changeset/test_changeset.py     
2017-03-01 15:01:25.000000000 +0100
+++ new/sqlalchemy-migrate-0.13.0/migrate/tests/changeset/test_changeset.py     
2019-10-22 23:14:37.000000000 +0200
@@ -761,7 +761,7 @@
     @fixture.usedb()
     def test_alter_deprecated(self):
         try:
-            # py 2.4 compatability :-/
+            # py 2.4 compatibility :-/
             cw = catch_warnings(record=True)
             w = cw.__enter__()
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sqlalchemy-migrate-0.11.0/migrate/tests/versioning/test_util.py 
new/sqlalchemy-migrate-0.13.0/migrate/tests/versioning/test_util.py
--- old/sqlalchemy-migrate-0.11.0/migrate/tests/versioning/test_util.py 
2017-03-01 15:01:25.000000000 +0100
+++ new/sqlalchemy-migrate-0.13.0/migrate/tests/versioning/test_util.py 
2019-10-22 23:14:37.000000000 +0200
@@ -42,7 +42,7 @@
 
         # deprecated echo=True parameter
         try:
-            # py 2.4 compatability :-/
+            # py 2.4 compatibility :-/
             cw = catch_warnings(record=True)
             w = cw.__enter__()
 
@@ -100,7 +100,7 @@
         f.close()
 
         try:
-            # py 2.4 compatability :-/
+            # py 2.4 compatibility :-/
             cw = catch_warnings(record=True)
             w = cw.__enter__()
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sqlalchemy-migrate-0.11.0/migrate/versioning/script/py.py 
new/sqlalchemy-migrate-0.13.0/migrate/versioning/script/py.py
--- old/sqlalchemy-migrate-0.11.0/migrate/versioning/script/py.py       
2017-03-01 15:01:25.000000000 +0100
+++ new/sqlalchemy-migrate-0.13.0/migrate/versioning/script/py.py       
2019-10-22 23:14:37.000000000 +0200
@@ -141,8 +141,14 @@
         script_func = self._func(funcname)
 
         # check for old way of using engine
-        if not inspect.getargspec(script_func)[0]:
-            raise TypeError("upgrade/downgrade functions must accept engine"
+        arg_spec = None
+        if six.PY2:
+            arg_spec = inspect.getargspec(script_func)
+        else:
+            arg_spec = inspect.getfullargspec(script_func)
+        if not arg_spec[0]:
+            raise TypeError(
+                "upgrade/downgrade functions must accept engine"
                 " parameter (since version 0.5.4)")
 
         script_func(engine)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sqlalchemy-migrate-0.11.0/playbooks/sqlalchemy-migrate-devstack-dsvm/post.yaml
 
new/sqlalchemy-migrate-0.13.0/playbooks/sqlalchemy-migrate-devstack-dsvm/post.yaml
--- 
old/sqlalchemy-migrate-0.11.0/playbooks/sqlalchemy-migrate-devstack-dsvm/post.yaml
  1970-01-01 01:00:00.000000000 +0100
+++ 
new/sqlalchemy-migrate-0.13.0/playbooks/sqlalchemy-migrate-devstack-dsvm/post.yaml
  2019-10-22 23:14:37.000000000 +0200
@@ -0,0 +1,15 @@
+- hosts: primary
+  tasks:
+
+    - name: Copy files from {{ ansible_user_dir }}/workspace/ on node
+      synchronize:
+        src: '{{ ansible_user_dir }}/workspace/'
+        dest: '{{ zuul.executor.log_root }}'
+        mode: pull
+        copy_links: true
+        verify_host: true
+        rsync_opts:
+          - --include=/logs/**
+          - --include=*/
+          - --exclude=*
+          - --prune-empty-dirs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sqlalchemy-migrate-0.11.0/playbooks/sqlalchemy-migrate-devstack-dsvm/run.yaml
 
new/sqlalchemy-migrate-0.13.0/playbooks/sqlalchemy-migrate-devstack-dsvm/run.yaml
--- 
old/sqlalchemy-migrate-0.11.0/playbooks/sqlalchemy-migrate-devstack-dsvm/run.yaml
   1970-01-01 01:00:00.000000000 +0100
+++ 
new/sqlalchemy-migrate-0.13.0/playbooks/sqlalchemy-migrate-devstack-dsvm/run.yaml
   2019-10-22 23:14:37.000000000 +0200
@@ -0,0 +1,49 @@
+- hosts: all
+  name: Autoconverted job legacy-sqlalchemy-migrate-devstack-dsvm from old job 
gate-sqlalchemy-migrate-devstack-dsvm-nv
+  tasks:
+
+    - name: Ensure legacy workspace directory
+      file:
+        path: '{{ ansible_user_dir }}/workspace'
+        state: directory
+
+    - shell:
+        cmd: |
+          set -e
+          set -x
+          cat > clonemap.yaml << EOF
+          clonemap:
+            - name: openstack/devstack-gate
+              dest: devstack-gate
+          EOF
+          /usr/zuul-env/bin/zuul-cloner -m clonemap.yaml --cache-dir /opt/git \
+              https://opendev.org \
+              openstack/devstack-gate
+        executable: /bin/bash
+        chdir: '{{ ansible_user_dir }}/workspace'
+      environment: '{{ zuul | zuul_legacy_vars }}'
+
+    - shell:
+        cmd: |
+          set -e
+          set -x
+          export PYTHONUNBUFFERED=true
+          export PROJECTS="x/sqlalchemy-migrate $PROJECTS"
+          export DEVSTACK_GATE_TEMPEST=1
+          export DEVSTACK_GATE_TEMPEST_FULL=1
+          export BRANCH_OVERRIDE=default
+          if [ "$BRANCH_OVERRIDE" != "default" ] ; then
+              export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
+          fi
+
+          function pre_test_hook {
+              cd /opt/stack/new/sqlalchemy-migrate
+              sudo -H pip install .
+          }
+          export -f pre_test_hook
+
+          cp devstack-gate/devstack-vm-gate-wrap.sh 
./safe-devstack-vm-gate-wrap.sh
+          ./safe-devstack-vm-gate-wrap.sh
+        executable: /bin/bash
+        chdir: '{{ ansible_user_dir }}/workspace'
+      environment: '{{ zuul | zuul_legacy_vars }}'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sqlalchemy-migrate-0.11.0/requirements.txt 
new/sqlalchemy-migrate-0.13.0/requirements.txt
--- old/sqlalchemy-migrate-0.11.0/requirements.txt      2017-03-01 
15:01:25.000000000 +0100
+++ new/sqlalchemy-migrate-0.13.0/requirements.txt      2019-10-22 
23:14:37.000000000 +0200
@@ -6,7 +6,7 @@
 # never put a cap on this, *ever*, sqla versions are handled via
 # tox, and if SQLA is capped it will only make it so we aren't testing
 # against all the versions we are compatible with.
-SQLAlchemy>=0.7.8,!=0.9.5
+SQLAlchemy>=0.9.6
 decorator
 six>=1.7.0
 sqlparse
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sqlalchemy-migrate-0.11.0/setup.cfg 
new/sqlalchemy-migrate-0.13.0/setup.cfg
--- old/sqlalchemy-migrate-0.11.0/setup.cfg     2017-03-01 15:02:53.000000000 
+0100
+++ new/sqlalchemy-migrate-0.13.0/setup.cfg     2019-10-22 23:15:46.000000000 
+0200
@@ -4,7 +4,7 @@
 description-file = 
        README.rst
 author = OpenStack
-author-email = [email protected]
+author-email = [email protected]
 home-page = http://www.openstack.org/
 classifier = 
        Environment :: OpenStack
@@ -15,10 +15,11 @@
        Programming Language :: Python
        Programming Language :: Python :: 2
        Programming Language :: Python :: 2.7
-       Programming Language :: Python :: 2.6
        Programming Language :: Python :: 3
        Programming Language :: Python :: 3.3
        Programming Language :: Python :: 3.4
+       Programming Language :: Python :: 3.5
+       Programming Language :: Python :: 3.6
 
 [files]
 packages = 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sqlalchemy-migrate-0.11.0/setup.py 
new/sqlalchemy-migrate-0.13.0/setup.py
--- old/sqlalchemy-migrate-0.11.0/setup.py      2017-03-01 15:01:25.000000000 
+0100
+++ new/sqlalchemy-migrate-0.13.0/setup.py      2019-10-22 23:14:37.000000000 
+0200
@@ -25,5 +25,5 @@
     pass
 
 setuptools.setup(
-    setup_requires=['pbr>=1.3'],
+    setup_requires=['pbr>=1.8'],
     pbr=True)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sqlalchemy-migrate-0.11.0/sqlalchemy_migrate.egg-info/PKG-INFO 
new/sqlalchemy-migrate-0.13.0/sqlalchemy_migrate.egg-info/PKG-INFO
--- old/sqlalchemy-migrate-0.11.0/sqlalchemy_migrate.egg-info/PKG-INFO  
2017-03-01 15:02:52.000000000 +0100
+++ new/sqlalchemy-migrate-0.13.0/sqlalchemy_migrate.egg-info/PKG-INFO  
2019-10-22 23:15:46.000000000 +0200
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: sqlalchemy-migrate
-Version: 0.11.0
+Version: 0.13.0
 Summary: Database schema migration for SQLAlchemy
 Home-page: http://www.openstack.org/
 Author: OpenStack
-Author-email: [email protected]
+Author-email: [email protected]
 License: UNKNOWN
-Description: sqlalchemy-migrate
+Description: SQLAlchemy Migrate
         ==================
         
         Fork from http://code.google.com/p/sqlalchemy-migrate/ to get it 
working with
@@ -64,7 +64,8 @@
 Classifier: Programming Language :: Python
 Classifier: Programming Language :: Python :: 2
 Classifier: Programming Language :: Python :: 2.7
-Classifier: Programming Language :: Python :: 2.6
 Classifier: Programming Language :: Python :: 3
 Classifier: Programming Language :: Python :: 3.3
 Classifier: Programming Language :: Python :: 3.4
+Classifier: Programming Language :: Python :: 3.5
+Classifier: Programming Language :: Python :: 3.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sqlalchemy-migrate-0.11.0/sqlalchemy_migrate.egg-info/SOURCES.txt 
new/sqlalchemy-migrate-0.13.0/sqlalchemy_migrate.egg-info/SOURCES.txt
--- old/sqlalchemy-migrate-0.11.0/sqlalchemy_migrate.egg-info/SOURCES.txt       
2017-03-01 15:02:53.000000000 +0100
+++ new/sqlalchemy-migrate-0.13.0/sqlalchemy_migrate.egg-info/SOURCES.txt       
2019-10-22 23:15:46.000000000 +0200
@@ -1,20 +1,21 @@
 .testr.conf
+.zuul.yaml
 AUTHORS
 COPYING
 ChangeLog
 MANIFEST.in
 README.rst
 TODO
+bindep.txt
 doc-requirements.txt
 requirements.txt
 setup.cfg
 setup.py
-test-requirements-py2.txt
-test-requirements-py3.txt
 test-requirements.txt
 test_db.cfg
 test_db_py3.cfg
 tox.ini
+doc/requirements.txt
 doc/source/Makefile
 doc/source/api.rst
 doc/source/changelog.rst
@@ -121,6 +122,8 @@
 migrate/versioning/util/__init__.py
 migrate/versioning/util/importpath.py
 migrate/versioning/util/keyedinstance.py
+playbooks/sqlalchemy-migrate-devstack-dsvm/post.yaml
+playbooks/sqlalchemy-migrate-devstack-dsvm/run.yaml
 sqlalchemy_migrate.egg-info/PKG-INFO
 sqlalchemy_migrate.egg-info/SOURCES.txt
 sqlalchemy_migrate.egg-info/dependency_links.txt
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sqlalchemy-migrate-0.11.0/sqlalchemy_migrate.egg-info/pbr.json 
new/sqlalchemy-migrate-0.13.0/sqlalchemy_migrate.egg-info/pbr.json
--- old/sqlalchemy-migrate-0.11.0/sqlalchemy_migrate.egg-info/pbr.json  
2017-03-01 15:02:52.000000000 +0100
+++ new/sqlalchemy-migrate-0.13.0/sqlalchemy_migrate.egg-info/pbr.json  
2019-10-22 23:15:46.000000000 +0200
@@ -1 +1 @@
-{"git_version": "ca6f3a9", "is_release": true}
\ No newline at end of file
+{"git_version": "5d1f322", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sqlalchemy-migrate-0.11.0/sqlalchemy_migrate.egg-info/requires.txt 
new/sqlalchemy-migrate-0.13.0/sqlalchemy_migrate.egg-info/requires.txt
--- old/sqlalchemy-migrate-0.11.0/sqlalchemy_migrate.egg-info/requires.txt      
2017-03-01 15:02:52.000000000 +0100
+++ new/sqlalchemy-migrate-0.13.0/sqlalchemy_migrate.egg-info/requires.txt      
2019-10-22 23:15:46.000000000 +0200
@@ -1,5 +1,5 @@
 pbr>=1.8
-SQLAlchemy>=0.7.8,!=0.9.5
+SQLAlchemy>=0.9.6
 decorator
 six>=1.7.0
 sqlparse
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sqlalchemy-migrate-0.11.0/test-requirements-py2.txt 
new/sqlalchemy-migrate-0.13.0/test-requirements-py2.txt
--- old/sqlalchemy-migrate-0.11.0/test-requirements-py2.txt     2017-03-01 
15:01:25.000000000 +0100
+++ new/sqlalchemy-migrate-0.13.0/test-requirements-py2.txt     1970-01-01 
01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-ibm_db_sa>=0.3.0
-MySQL-python
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sqlalchemy-migrate-0.11.0/test-requirements-py3.txt 
new/sqlalchemy-migrate-0.13.0/test-requirements-py3.txt
--- old/sqlalchemy-migrate-0.11.0/test-requirements-py3.txt     2017-03-01 
15:01:25.000000000 +0100
+++ new/sqlalchemy-migrate-0.13.0/test-requirements-py3.txt     1970-01-01 
01:00:00.000000000 +0100
@@ -1 +0,0 @@
-ibm-db-sa-py3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sqlalchemy-migrate-0.11.0/test-requirements.txt 
new/sqlalchemy-migrate-0.13.0/test-requirements.txt
--- old/sqlalchemy-migrate-0.11.0/test-requirements.txt 2017-03-01 
15:01:25.000000000 +0100
+++ new/sqlalchemy-migrate-0.13.0/test-requirements.txt 2019-10-22 
23:14:37.000000000 +0200
@@ -10,6 +10,7 @@
 fixtures>=0.3.14
 mock>=1.2
 mox>=0.5.3
+mysqlclient
 psycopg2
 python-subunit>=0.0.18
 sphinx>=1.1.2,<1.2
@@ -18,6 +19,10 @@
 testtools>=0.9.34,<0.9.36
 tempest-lib>=0.1.0
 
+# db2 support
+ibm_db_sa>=0.3.0;python_version<'3.0'
+ibm-db-sa-py3;python_version>='3.0'
+
 scripttest
 # NOTE(rpodolyaka): This version identifier is currently necessary as
 #                   pytz otherwise does not install on pip 1.4 or higher
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sqlalchemy-migrate-0.11.0/tox.ini 
new/sqlalchemy-migrate-0.13.0/tox.ini
--- old/sqlalchemy-migrate-0.11.0/tox.ini       2017-03-01 15:01:25.000000000 
+0100
+++ new/sqlalchemy-migrate-0.13.0/tox.ini       2019-10-22 23:14:37.000000000 
+0200
@@ -1,76 +1,61 @@
 [tox]
 minversion = 1.6
 skipsdist = True
-envlist = 
py26,py27,py26sa07,py27sa07,py26sa08,py27sa08,py26sa09,py27sa09,py33,py34,pep8
+envlist = py27,py27sa07,py27sa08,py27sa09,py33,py34,py35,py36,pep8
 
 [testenv]
 usedevelop = True
 whitelist_externals = bash
-install_command = pip install {opts} {packages}
+# Avoid psycopg2 wheel package rename warnings by not using the binary.
+install_command = pip install --no-binary psycopg2 {opts} {packages}
 setenv = VIRTUAL_ENV={envdir}
 deps = -r{toxinidir}/requirements.txt
        -r{toxinidir}/test-requirements.txt
 commands = bash tools/pretty_tox.sh '{posargs}'
 
-[testenv:py26]
-deps = sqlalchemy>=0.9
-       -r{toxinidir}/test-requirements.txt
-       -r{toxinidir}/test-requirements-py2.txt
-
 [testenv:py27]
 deps = sqlalchemy>=0.9
        -r{toxinidir}/test-requirements.txt
-       -r{toxinidir}/test-requirements-py2.txt
-
-[testenv:py26sa07]
-basepython = python2.6
-deps = sqlalchemy>=0.7,<=0.7.99
-       -r{toxinidir}/test-requirements.txt
-       -r{toxinidir}/test-requirements-py2.txt
-
-[testenv:py26sa08]
-basepython = python2.6
-deps = sqlalchemy>=0.8,<=0.8.99
-       -r{toxinidir}/test-requirements.txt
-       -r{toxinidir}/test-requirements-py2.txt
-
-[testenv:py26sa09]
-basepython = python2.6
-deps = sqlalchemy>=0.9,<=0.9.99
-       -r{toxinidir}/test-requirements.txt
-       -r{toxinidir}/test-requirements-py2.txt
 
 [testenv:py27sa07]
 basepython = python2.7
 deps = sqlalchemy>=0.7,<=0.7.99
        -r{toxinidir}/test-requirements.txt
-       -r{toxinidir}/test-requirements-py2.txt
 
 [testenv:py27sa08]
 basepython = python2.7
 deps = sqlalchemy>=0.8,<=0.8.99
        -r{toxinidir}/test-requirements.txt
-       -r{toxinidir}/test-requirements-py2.txt
 
 [testenv:py27sa09]
 basepython = python2.7
 deps = sqlalchemy>=0.9,<=0.9.99
        -r{toxinidir}/test-requirements.txt
-       -r{toxinidir}/test-requirements-py2.txt
 
 [testenv:py33]
 deps = sqlalchemy>=0.9
        -r{toxinidir}/test-requirements.txt
-       -r{toxinidir}/test-requirements-py3.txt
 
 [testenv:py34]
 deps = sqlalchemy>=0.9
        -r{toxinidir}/test-requirements.txt
-       -r{toxinidir}/test-requirements-py3.txt
+
+[testenv:py35]
+deps = sqlalchemy>=0.9
+       -r{toxinidir}/test-requirements.txt
+
+[testenv:py36]
+deps = sqlalchemy>=0.9
+       -r{toxinidir}/test-requirements.txt
 
 [testenv:pep8]
 commands = flake8
 
+[testenv:docs]
+basepython = python3
+deps = -r{toxinidir}/doc/requirements.txt
+commands = sphinx-build doc/source doc/build/html
+
 [testenv:venv]
 commands = {posargs}
 
@@ -134,3 +119,15 @@
 show-source = true
 builtins = _
 
exclude=.venv,.git,.tox,dist,doc,*openstack/common*,*lib/python*,*egg,tools,build
+
+[testenv:bindep]
+# Do not install any requirements. We want this to be fast and work even if
+# system dependencies are missing, since it's used to tell you what system
+# dependencies are missing! This also means that bindep must be installed
+# separately, outside of the requirements files, and develop mode disabled
+# explicitly to avoid unnecessarily installing the checked-out repo too (this
+# further relies on "tox.skipsdist = True" above).
+usedevelop = False
+deps = bindep
+commands =
+  bindep test


Reply via email to