Commit 5056d49e authored by Jason Madden's avatar Jason Madden Committed by GitHub

Merge pull request #169 from zopefoundation/python36

Add support for 3.6, drop 3.3
parents a89485c1 8ecd9634
...@@ -3,26 +3,26 @@ sudo: false ...@@ -3,26 +3,26 @@ sudo: false
matrix: matrix:
include: include:
- os: linux - os: linux
python: pypy-5.4.1 python: pypy-5.6.0
- os: linux - os: linux
python: pypy3 python: pypy3.3-5.5-alpha
env: BUILOUT_OPTIONS=sphinx:eggs= env: BUILOUT_OPTIONS=sphinx:eggs=
- os: linux - os: linux
python: 2.7 python: 2.7
- os: linux
python: 3.3
- os: linux - os: linux
python: 3.4 python: 3.4
- os: linux - os: linux
python: 3.5 python: 3.5
- os: linux
python: 3.6
install: install:
- pip install -U pip - pip install -U pip
- pip install zc.buildout - pip install -U setuptools zc.buildout
- buildout $BUILOUT_OPTIONS versions:sphinx=1.4.9 - buildout $BUILOUT_OPTIONS
script: script:
- if [[ $TRAVIS_PYTHON_VERSION != pypy* ]]; then bin/coverage run bin/coverage-test -v1j99; fi - if [[ $TRAVIS_PYTHON_VERSION != pypy* ]]; then bin/coverage run bin/coverage-test -v1j99; fi
- if [[ $TRAVIS_PYTHON_VERSION == 'pypy' || $TRAVIS_PYTHON_VERSION == 'pypy3' ]]; then bin/test -v1j99; fi - if [[ $TRAVIS_PYTHON_VERSION == pypy* ]]; then bin/test -v1j99; fi
- if [[ $TRAVIS_PYTHON_VERSION != 'pypy3' ]]; then pushd doc; make html; popd; fi - if [[ $TRAVIS_PYTHON_VERSION != pypy3* ]]; then make -C doc html; fi
- if [[ $TRAVIS_PYTHON_VERSION != pypy* ]]; then pip install coveralls; fi # install early enough to get into the cache - if [[ $TRAVIS_PYTHON_VERSION != pypy* ]]; then pip install coveralls; fi # install early enough to get into the cache
after_success: after_success:
- if [[ $TRAVIS_PYTHON_VERSION != pypy* ]]; then bin/coverage combine; fi - if [[ $TRAVIS_PYTHON_VERSION != pypy* ]]; then bin/coverage combine; fi
......
...@@ -2,10 +2,12 @@ ...@@ -2,10 +2,12 @@
Change History Change History
================ ================
5.2.5 (unreleased) 5.3.0 (unreleased)
================== ==================
- Nothing changed yet. - Add support for Python 3.6.
- Drop support for Python 3.3.
5.2.4 (2017-05-17) 5.2.4 (2017-05-17)
......
...@@ -3,7 +3,8 @@ ZODB, a Python object-oriented database ...@@ -3,7 +3,8 @@ ZODB, a Python object-oriented database
======================================= =======================================
ZODB provides an object-oriented database for Python that provides a ZODB provides an object-oriented database for Python that provides a
high-degree of transparency. high-degree of transparency. ZODB runs on Python 2.7 or Python 3.4 and
above. It also runs on PyPy.
- no separate language for database operations - no separate language for database operations
......
...@@ -16,6 +16,8 @@ Because ZODB is an object database: ...@@ -16,6 +16,8 @@ Because ZODB is an object database:
Check out the :doc:`tutorial`! Check out the :doc:`tutorial`!
ZODB runs on Python 2.7 or Python 3.4 and above. It also runs on PyPy.
Transactions Transactions
============ ============
......
[bdist_wheel]
universal = 1
...@@ -11,11 +11,11 @@ ...@@ -11,11 +11,11 @@
# FOR A PARTICULAR PURPOSE. # FOR A PARTICULAR PURPOSE.
# #
############################################################################## ##############################################################################
version = '5.2.5.dev0'
import os import os
from setuptools import setup, find_packages from setuptools import setup, find_packages
version = '5.3.0.dev0'
classifiers = """\ classifiers = """\
Intended Audience :: Developers Intended Audience :: Developers
License :: OSI Approved :: Zope Public License License :: OSI Approved :: Zope Public License
...@@ -23,9 +23,9 @@ Programming Language :: Python ...@@ -23,9 +23,9 @@ Programming Language :: Python
Programming Language :: Python :: 2 Programming Language :: Python :: 2
Programming Language :: Python :: 2.7 Programming Language :: Python :: 2.7
Programming Language :: Python :: 3 Programming Language :: Python :: 3
Programming Language :: Python :: 3.3
Programming Language :: Python :: 3.4 Programming Language :: Python :: 3.4
Programming Language :: Python :: 3.5 Programming Language :: Python :: 3.5
Programming Language :: Python :: 3.6
Programming Language :: Python :: Implementation :: CPython Programming Language :: Python :: Implementation :: CPython
Programming Language :: Python :: Implementation :: PyPy Programming Language :: Python :: Implementation :: PyPy
Topic :: Database Topic :: Database
...@@ -78,7 +78,7 @@ def alltests(): ...@@ -78,7 +78,7 @@ def alltests():
suite = unittest.TestSuite() suite = unittest.TestSuite()
base = pkg_resources.working_set.find( base = pkg_resources.working_set.find(
pkg_resources.Requirement.parse('ZODB')).location pkg_resources.Requirement.parse('ZODB')).location
for dirpath, dirnames, filenames in os.walk(base): for dirpath, _dirnames, filenames in os.walk(base):
if os.path.basename(dirpath) == 'tests': if os.path.basename(dirpath) == 'tests':
for filename in filenames: for filename in filenames:
if filename.endswith('.py') and filename.startswith('test'): if filename.endswith('.py') and filename.startswith('test'):
...@@ -97,29 +97,34 @@ def read(path): ...@@ -97,29 +97,34 @@ def read(path):
long_description = read("README.rst") + "\n\n" + read("CHANGES.rst") long_description = read("README.rst") + "\n\n" + read("CHANGES.rst")
tests_require = ['zope.testing', 'manuel'] tests_require = [
'manuel',
'zope.testing',
'zope.testrunner >= 4.4.6',
]
setup(name="ZODB", setup(
name="ZODB",
version=version, version=version,
author="Jim Fulton", author="Jim Fulton",
author_email="jim@zope.com", author_email="jim@zope.com",
maintainer="Zope Foundation and Contributors", maintainer="Zope Foundation and Contributors",
maintainer_email="zodb-dev@zope.org", maintainer_email="zodb-dev@zope.org",
keywords="database nosql python zope", keywords="database nosql python zope",
packages = find_packages('src'), packages=find_packages('src'),
package_dir = {'': 'src'}, package_dir={'': 'src'},
url = 'http://www.zodb.org/', url='http://www.zodb.org/',
license = "ZPL 2.1", license="ZPL 2.1",
platforms = ["any"], platforms=["any"],
classifiers = list(filter(None, classifiers.split("\n"))), classifiers=list(filter(None, classifiers.split("\n"))),
description = long_description.split('\n', 2)[1], description=long_description.split('\n', 2)[1],
long_description = long_description, long_description=long_description,
test_suite="__main__.alltests", # to support "setup.py test" test_suite="__main__.alltests", # to support "setup.py test"
tests_require = tests_require, tests_require=tests_require,
extras_require = { extras_require={
'test': tests_require, 'test': tests_require,
}, },
install_requires = [ install_requires=[
'persistent >= 4.2.0', 'persistent >= 4.2.0',
'BTrees >= 4.2.0', 'BTrees >= 4.2.0',
'ZConfig', 'ZConfig',
...@@ -129,8 +134,8 @@ setup(name="ZODB", ...@@ -129,8 +134,8 @@ setup(name="ZODB",
'zope.interface', 'zope.interface',
'zodbpickle >= 0.6.0', 'zodbpickle >= 0.6.0',
], ],
zip_safe = False, zip_safe=False,
entry_points = """ entry_points="""
[console_scripts] [console_scripts]
fsdump = ZODB.FileStorage.fsdump:main fsdump = ZODB.FileStorage.fsdump:main
fsoids = ZODB.scripts.fsoids:main fsoids = ZODB.scripts.fsoids:main
...@@ -138,5 +143,8 @@ setup(name="ZODB", ...@@ -138,5 +143,8 @@ setup(name="ZODB",
fstail = ZODB.scripts.fstail:Main fstail = ZODB.scripts.fstail:Main
repozo = ZODB.scripts.repozo:main repozo = ZODB.scripts.repozo:main
""", """,
include_package_data = True, include_package_data=True,
) # The pypy3 we test with on travis CI is still a Python 3.3
# implementation, so we don't explicitly blacklist 3.3 yet.
python_requires='>=2.7,!=3.0.*,!=3.1.*,!=3.2.*',
)
...@@ -33,7 +33,7 @@ def tearDown(test): ...@@ -33,7 +33,7 @@ def tearDown(test):
def test_suite(): def test_suite():
base, src = os.path.split(os.path.dirname(os.path.dirname(ZODB.__file__))) base, src = os.path.split(os.path.dirname(os.path.dirname(ZODB.__file__)))
assert src == 'src' assert src == 'src', src
base = join(base, 'doc') base = join(base, 'doc')
guide = join(base, 'guide') guide = join(base, 'guide')
reference = join(base, 'reference') reference = join(base, 'reference')
...@@ -54,4 +54,3 @@ def test_suite(): ...@@ -54,4 +54,3 @@ def test_suite():
if __name__ == '__main__': if __name__ == '__main__':
unittest.main(defaultTest='test_suite') unittest.main(defaultTest='test_suite')
...@@ -2,19 +2,24 @@ ...@@ -2,19 +2,24 @@
# Jython 2.7rc2 does work, but unfortunately has an issue running # Jython 2.7rc2 does work, but unfortunately has an issue running
# with Tox 1.9.2 (http://bugs.jython.org/issue2325) # with Tox 1.9.2 (http://bugs.jython.org/issue2325)
#envlist = py26,py27,py33,py34,pypy,simple,jython,pypy3 #envlist = py26,py27,py33,py34,pypy,simple,jython,pypy3
envlist = py27,py33,py34,py35,pypy,simple,pypy3 envlist = py27,py34,py35,py36,pypy,simple,pypy3
[testenv] [testenv]
# ZODB.tests.testdocumentation needs to find
# itself in the source tree to locate the doc/
# directory. 'usedevelop' is more like what
# buildout.cfg does, and is simpler than having
# testdocumentation.py also understand how to climb
# out of the tox site-packages.
usedevelop = true
commands = commands =
# Run unit tests first. # Run unit tests first.
zope-testrunner -u --test-path=src --auto-color --auto-progress zope-testrunner -u --test-path=src []
# Only run functional tests if unit tests pass. # Only run functional tests if unit tests pass.
zope-testrunner -f --test-path=src --auto-color --auto-progress zope-testrunner -f --test-path=src []
# without explicit deps, setup.py test will download a bunch of eggs into $PWD
deps = deps =
manuel .[test]
zope.testing
zope.testrunner >= 4.4.6
[testenv:simple] [testenv:simple]
# Test that 'setup.py test' works # Test that 'setup.py test' works
...@@ -26,10 +31,9 @@ deps = {[testenv]deps} ...@@ -26,10 +31,9 @@ deps = {[testenv]deps}
[testenv:coverage] [testenv:coverage]
basepython = python2.7 basepython = python2.7
usedevelop = true
commands = commands =
coverage run --source=ZODB -m zope.testrunner --test-path=src --auto-color --auto-progress coverage run --source=ZODB -m zope.testrunner --test-path=src []
coverage report coverage report
deps = deps =
coverage
{[testenv]deps} {[testenv]deps}
coverage
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment