summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2020-04-17 16:50:49 +0100
committerMichael Williamson <mike@zwobble.org>2020-04-17 17:01:22 +0100
commit2c7bb99ee25ada4e7e583bf02191d900f0bf9fa2 (patch)
tree0c88a20e8314bc8233517e7b440961b1502b0be0
parent81c7eda0b1b243489cd11c1b89b142be02c6e5f2 (diff)
Update supported Python versions to Python 2.7, 3.4-3.8
-rw-r--r--.travis.yml14
-rw-r--r--makefile10
-rw-r--r--setup.py21
-rw-r--r--tox.ini2
4 files changed, 25 insertions, 22 deletions
diff --git a/.travis.yml b/.travis.yml
index a6fa7c7..1ccff0c 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,8 +1,14 @@
-sudo: false
language: python
python:
+ - "2.7"
+ - "3.4"
- "3.5"
+ - "3.6"
+ - "3.7"
+ - "3.8"
+ - "pypy"
+ - "pypy3"
install:
- - "make bootstrap"
- - "pip install 'virtualenv<14.0.0' tox"
-script: tox
+ - "make jq.c"
+ - "pip install tox"
+script: tox -e py
diff --git a/makefile b/makefile
index 2219cc1..4084f7e 100644
--- a/makefile
+++ b/makefile
@@ -6,26 +6,26 @@ test: bootstrap
upload: jq.c
python setup.py sdist upload
make clean
-
+
register:
python setup.py register
clean:
rm -f MANIFEST
rm -rf dist
-
+
bootstrap: _virtualenv jq.c
_virtualenv/bin/pip install -e .
-ifneq ($(wildcard test-requirements.txt),)
+ifneq ($(wildcard test-requirements.txt),)
_virtualenv/bin/pip install -r test-requirements.txt
endif
make clean
-_virtualenv:
+_virtualenv:
virtualenv _virtualenv
_virtualenv/bin/pip install --upgrade pip
_virtualenv/bin/pip install --upgrade setuptools
jq.c: _virtualenv jq.pyx
- _virtualenv/bin/pip install cython==0.19.2
+ _virtualenv/bin/pip install cython==0.29.16
_virtualenv/bin/cython jq.pyx
diff --git a/setup.py b/setup.py
index 77933f2..23a74bf 100644
--- a/setup.py
+++ b/setup.py
@@ -6,11 +6,7 @@ import subprocess
import tarfile
import shutil
-try:
- import sysconfig
-except ImportError:
- # Python 2.6
- from distutils import sysconfig
+import sysconfig
from setuptools import setup
from distutils.extension import Extension
@@ -40,7 +36,7 @@ class jq_build_ext(build_ext):
self._build_oniguruma()
self._build_libjq()
build_ext.run(self)
-
+
def _build_oniguruma(self):
self._build_lib(
source_url="https://github.com/kkos/oniguruma/releases/download/v5.9.6/onig-5.9.6.tar.gz",
@@ -51,8 +47,8 @@ class jq_build_ext(build_ext):
["make"],
["make", "install"],
])
-
-
+
+
def _build_libjq(self):
self._build_lib(
source_url="https://github.com/stedolan/jq/archive/jq-1.5.tar.gz",
@@ -63,7 +59,7 @@ class jq_build_ext(build_ext):
["./configure", "CFLAGS=-fPIC", "--disable-maintainer-mode", "--with-oniguruma=" + oniguruma_lib_install_dir],
["make"],
])
-
+
def _build_lib(self, source_url, tarball_path, lib_dir, commands):
self._download_tarball(source_url, tarball_path)
@@ -74,15 +70,15 @@ class jq_build_ext(build_ext):
def run_command(args):
print("Executing: %s" % ' '.join(args))
subprocess.check_call(args, cwd=lib_dir)
-
+
for command in commands:
run_command(command)
-
+
def _download_tarball(self, source_url, tarball_path):
if os.path.exists(tarball_path):
os.unlink(tarball_path)
urlretrieve(source_url, tarball_path)
-
+
if os.path.exists(jq_lib_dir):
shutil.rmtree(jq_lib_dir)
tarfile.open(tarball_path, "r:gz").extractall(path_in_dir("."))
@@ -105,6 +101,7 @@ setup(
long_description=read("README.rst"),
author='Michael Williamson',
url='http://github.com/mwilliamson/jq.py',
+ python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*',
license='BSD 2-Clause',
ext_modules = [jq_extension],
cmdclass={"build_ext": jq_build_ext},
diff --git a/tox.ini b/tox.ini
index 9e1a725..50a436e 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,5 +1,5 @@
[tox]
-envlist = py26,py27,py32,py33,py34,py35,pypy
+envlist = py27,py34,py35,py36,py37,py38,pypy,pypy3
[testenv]
changedir = {envtmpdir}
deps=-r{toxinidir}/test-requirements.txt