From 6edb59ac7e876f1e0e0050f581ddbf86f350fe2d Mon Sep 17 00:00:00 2001 From: John Evans Date: Thu, 3 Oct 2013 10:10:36 -0400 Subject: [PATCH 1/3] Very stupid, cannot import glymur in setup.py! #127 The install requirements have not yet necessarily been taken care of yet, so pip installs will break on 2.6 and 2.7, probably due to contextlib2. --- setup.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/setup.py b/setup.py index 8d62705..b5b62aa 100644 --- a/setup.py +++ b/setup.py @@ -12,7 +12,8 @@ kwargs = {'name': 'Glymur', 'package_data': {'glymur': ['data/*.jp2', 'data/*.j2k']}, 'scripts': ['bin/jp2dump'], 'license': 'MIT', - 'test_suite': 'glymur.test'} + 'test_suite': 'glymur.test', + 'version': '0.5.4'} instllrqrs = ['numpy>=1.4.1'] if sys.hexversion < 0x03030000: @@ -38,7 +39,4 @@ clssfrs = ["Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules"] kwargs['classifiers'] = clssfrs -import glymur -kwargs['version'] = glymur.version.version - setup(**kwargs) From fe3964c212bbc08aff42d42cc08c8b2a7a72262e Mon Sep 17 00:00:00 2001 From: John Evans Date: Thu, 3 Oct 2013 10:41:12 -0400 Subject: [PATCH 2/3] Add some information about how many tests should be expected to skip. --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index beff6ab..cd80fa2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,6 +14,8 @@ before_install: install: "pip install -r travis-requirements.txt --use-mirrors" # command to run tests +# 2.7 should skip no more than 342 tests +# 3.3 should skip no more than 339 tests script: "python -m unittest discover" notifications: From 244fb26d9643144e772f950dd9d6e0373fa64d6e Mon Sep 17 00:00:00 2001 From: John Evans Date: Thu, 3 Oct 2013 10:41:41 -0400 Subject: [PATCH 3/3] Change the way versioning is included in setup.py #127 Using regular expressions should work so long as the pattern in glymur/version.py does not change. --- glymur/version.py | 2 ++ setup.py | 12 ++++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/glymur/version.py b/glymur/version.py index 5e4122b..04004fd 100644 --- a/glymur/version.py +++ b/glymur/version.py @@ -13,6 +13,8 @@ from distutils.version import LooseVersion from .lib import openjpeg as opj from .lib import openjp2 as opj2 +# Do not change the format of this next line! Doing so risks breaking +# setup.py version = "0.5.4" _sv = LooseVersion(version) version_tuple = _sv.version diff --git a/setup.py b/setup.py index b5b62aa..89e69f7 100644 --- a/setup.py +++ b/setup.py @@ -1,4 +1,6 @@ from setuptools import setup, find_packages +import os +import re import sys kwargs = {'name': 'Glymur', @@ -12,8 +14,7 @@ kwargs = {'name': 'Glymur', 'package_data': {'glymur': ['data/*.jp2', 'data/*.j2k']}, 'scripts': ['bin/jp2dump'], 'license': 'MIT', - 'test_suite': 'glymur.test', - 'version': '0.5.4'} + 'test_suite': 'glymur.test'} instllrqrs = ['numpy>=1.4.1'] if sys.hexversion < 0x03030000: @@ -39,4 +40,11 @@ clssfrs = ["Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules"] kwargs['classifiers'] = clssfrs +# Get the version string. Cannot do this by importing glymur! +version_file = os.path.join('glymur', 'version.py') +with open('glymur/version.py', 'rt') as fptr: + contents = fptr.read() + match = re.search('version\s*=\s*"(?P\d*.\d*.\d*.*)"\n', contents) + kwargs['version'] = match.group('version') + setup(**kwargs)