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
matrix:
include:
- os: linux
python: pypy-5.4.1
python: pypy-5.6.0
- os: linux
python: pypy3
python: pypy3.3-5.5-alpha
env: BUILOUT_OPTIONS=sphinx:eggs=
- os: linux
python: 2.7
- os: linux
python: 3.3
- os: linux
python: 3.4
- os: linux
python: 3.5
- os: linux
python: 3.6
install:
- pip install -U pip
- pip install zc.buildout
- buildout $BUILOUT_OPTIONS versions:sphinx=1.4.9
- pip install -U setuptools zc.buildout
- buildout $BUILOUT_OPTIONS
script:
- 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 != 'pypy3' ]]; then pushd doc; make html; popd; fi
- if [[ $TRAVIS_PYTHON_VERSION == pypy* ]]; then bin/test -v1j99; 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
after_success:
- if [[ $TRAVIS_PYTHON_VERSION != pypy* ]]; then bin/coverage combine; fi
......
......@@ -2,10 +2,12 @@
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)
......
......@@ -3,7 +3,8 @@ ZODB, a Python object-oriented database
=======================================
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
......
......@@ -16,6 +16,8 @@ Because ZODB is an object database:
Check out the :doc:`tutorial`!
ZODB runs on Python 2.7 or Python 3.4 and above. It also runs on PyPy.
Transactions
============
......@@ -201,7 +203,7 @@ Learning more
reference/index
articles/index
* `The ZODB Book (in progress) <http://zodb.readthedocs.org/en/latest/>`_
* `The ZODB Book (in progress) <http://zodb.readthedocs.org/en/latest/>`_
Downloads
=========
......
[bdist_wheel]
universal = 1
......@@ -11,11 +11,11 @@
# FOR A PARTICULAR PURPOSE.
#
##############################################################################
version = '5.2.5.dev0'
import os
from setuptools import setup, find_packages
version = '5.3.0.dev0'
classifiers = """\
Intended Audience :: Developers
License :: OSI Approved :: Zope Public License
......@@ -23,9 +23,9 @@ Programming Language :: Python
Programming Language :: Python :: 2
Programming Language :: Python :: 2.7
Programming Language :: Python :: 3
Programming Language :: Python :: 3.3
Programming Language :: Python :: 3.4
Programming Language :: Python :: 3.5
Programming Language :: Python :: 3.6
Programming Language :: Python :: Implementation :: CPython
Programming Language :: Python :: Implementation :: PyPy
Topic :: Database
......@@ -78,7 +78,7 @@ def alltests():
suite = unittest.TestSuite()
base = pkg_resources.working_set.find(
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':
for filename in filenames:
if filename.endswith('.py') and filename.startswith('test'):
......@@ -95,31 +95,36 @@ def read(path):
with open(path) as f:
return f.read()
long_description = read("README.rst") + "\n\n" + read("CHANGES.rst")
tests_require = ['zope.testing', 'manuel']
setup(name="ZODB",
version=version,
author="Jim Fulton",
author_email="jim@zope.com",
maintainer="Zope Foundation and Contributors",
maintainer_email="zodb-dev@zope.org",
keywords="database nosql python zope",
packages = find_packages('src'),
package_dir = {'': 'src'},
url = 'http://www.zodb.org/',
license = "ZPL 2.1",
platforms = ["any"],
classifiers = list(filter(None, classifiers.split("\n"))),
description = long_description.split('\n', 2)[1],
long_description = long_description,
test_suite="__main__.alltests", # to support "setup.py test"
tests_require = tests_require,
extras_require = {
long_description = read("README.rst") + "\n\n" + read("CHANGES.rst")
tests_require = [
'manuel',
'zope.testing',
'zope.testrunner >= 4.4.6',
]
setup(
name="ZODB",
version=version,
author="Jim Fulton",
author_email="jim@zope.com",
maintainer="Zope Foundation and Contributors",
maintainer_email="zodb-dev@zope.org",
keywords="database nosql python zope",
packages=find_packages('src'),
package_dir={'': 'src'},
url='http://www.zodb.org/',
license="ZPL 2.1",
platforms=["any"],
classifiers=list(filter(None, classifiers.split("\n"))),
description=long_description.split('\n', 2)[1],
long_description=long_description,
test_suite="__main__.alltests", # to support "setup.py test"
tests_require=tests_require,
extras_require={
'test': tests_require,
},
install_requires = [
},
install_requires=[
'persistent >= 4.2.0',
'BTrees >= 4.2.0',
'ZConfig',
......@@ -128,15 +133,18 @@ setup(name="ZODB",
'zc.lockfile',
'zope.interface',
'zodbpickle >= 0.6.0',
],
zip_safe = False,
entry_points = """
],
zip_safe=False,
entry_points="""
[console_scripts]
fsdump = ZODB.FileStorage.fsdump:main
fsoids = ZODB.scripts.fsoids:main
fsrefs = ZODB.scripts.fsrefs:main
fstail = ZODB.scripts.fstail: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):
def test_suite():
base, src = os.path.split(os.path.dirname(os.path.dirname(ZODB.__file__)))
assert src == 'src'
assert src == 'src', src
base = join(base, 'doc')
guide = join(base, 'guide')
reference = join(base, 'reference')
......@@ -54,4 +54,3 @@ def test_suite():
if __name__ == '__main__':
unittest.main(defaultTest='test_suite')
......@@ -2,19 +2,24 @@
# Jython 2.7rc2 does work, but unfortunately has an issue running
# with Tox 1.9.2 (http://bugs.jython.org/issue2325)
#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]
# 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 =
# 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.
zope-testrunner -f --test-path=src --auto-color --auto-progress
# without explicit deps, setup.py test will download a bunch of eggs into $PWD
zope-testrunner -f --test-path=src []
deps =
manuel
zope.testing
zope.testrunner >= 4.4.6
.[test]
[testenv:simple]
# Test that 'setup.py test' works
......@@ -26,10 +31,9 @@ deps = {[testenv]deps}
[testenv:coverage]
basepython = python2.7
usedevelop = true
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
deps =
coverage
{[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