Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 22 additions & 5 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,27 @@
sudo: required
dist: xenial
language: python

matrix:
include:
- python: "3.4"
os: linux
dist: trusty
- python: "3.5"
os: linux
dist: xenial
- python: "3.6"
os: linux
dist: bionic
- python: "3.7"
os: linux
dist: bionic
- python: "3.8"
os: linux
dist: focal
- python: "3.9-dev"
os: linux
dist: focal

language:
- python
python:
- "3.6"
addons:
apt:
packages:
Expand Down
2 changes: 1 addition & 1 deletion Changes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ module instead.
Release 1.3.7 (2020-10-04)
==========================

* Rebuild with Cython 0.29.21 for Python 3.8 compatibility.
* Rebuild with Cython 0.29.21 for Python 3.9 compatibility.

Release 1.3.6 (2019-02-14)
==========================
Expand Down
2 changes: 1 addition & 1 deletion rst/install.rst
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ Development Version

If you have checked out the unstable development version from the
repository, a bit more effort is required. You need to also have
Cython_ (0.24 or newer) and Sphinx_ (1.1 or newer) installed, and the
Cython_ (0.29.21 or newer) and Sphinx_ (1.1 or newer) installed, and the
necessary commands are::

python setup.py build_cython
Expand Down
4 changes: 0 additions & 4 deletions setup.cfg
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
[sdist]
formats=bztar

[build_sphinx]
source-dir = rst
build-dir = doc

21 changes: 17 additions & 4 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,13 @@
basedir = os.path.abspath(os.path.dirname(sys.argv[0]))
sys.path.insert(0, os.path.join(basedir, 'util'))

# When running from HG repo, enable all warnings
DEVELOPER_MODE = os.path.exists(os.path.join(basedir, 'MANIFEST.in'))
ON_TRAVIS = os.environ.get('TRAVIS_OS_NAME') is not None

# when running on developer machine / from a repo checkout:
# enable all warnings, abort on some warnings.
# when running on travis-ci, do not use developer mode, so it
# can compile and test even if there are e.g. deprecation warnings.
DEVELOPER_MODE = os.path.exists(os.path.join(basedir, 'MANIFEST.in')) and not ON_TRAVIS
if DEVELOPER_MODE:
print('found MANIFEST.in, running in developer mode')
warnings.resetwarnings()
Expand Down Expand Up @@ -140,6 +145,13 @@ def main():
classifiers=['Development Status :: 4 - Beta',
'Intended Audience :: Developers',
'Programming Language :: Python',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
'Topic :: Software Development :: Libraries :: Python Modules',
'Topic :: System :: Filesystems',
'License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)',
Expand Down Expand Up @@ -231,8 +243,9 @@ def run(self):
raise SystemExit('Cython needs to be installed for this command')

hit = re.match('^Cython version (.+)$', version)
if not hit or LooseVersion(hit.group(1)) < "0.24":
raise SystemExit('Need Cython 0.24 or newer, found ' + version)
if not hit or LooseVersion(hit.group(1)) < "0.29":
# in fact, we need a very recent Cython version (like 0.29.21) to support py39
raise SystemExit('Need Cython 0.29 or newer, found ' + version)

cmd = ['cython', '-Wextra', '--force', '-3', '--fast-fail',
'--directive', 'embedsignature=True', '--include-dir',
Expand Down
3 changes: 2 additions & 1 deletion test/travis-install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,6 @@

set -e

pip install pytest cython sphinx
# as long as we test on python 3.4, we need pytest < 5.0
pip install 'pytest<5.0' pytest-catchlog cython sphinx
cython --version