forked from cgohlke/tifffile
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsetup.py
91 lines (73 loc) · 2.58 KB
/
setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# tifffile/setup.py
"""Tifffile package setuptools script."""
import sys
import re
from setuptools import setup
buildnumber = ''
with open('tifffile/tifffile.py') as fh:
code = fh.read()
version = re.search(r"__version__ = '(.*?)'", code).groups()[0]
version += ('.' + buildnumber) if buildnumber else ''
description = re.search(r'"""(.*)\.(?:\r\n|\r|\n)', code).groups()[0]
readme = re.search(r'(?:\r\n|\r|\n){2}"""(.*)"""(?:\r\n|\r|\n){2}__version__',
code, re.MULTILINE | re.DOTALL).groups()[0]
readme = '\n'.join([description, '=' * len(description)] +
readme.splitlines()[1:])
if 'sdist' in sys.argv:
# update README, LICENSE, and CHANGES files
with open('README.rst', 'w') as fh:
fh.write(readme)
license = re.search(r'(# Copyright.*?(?:\r\n|\r|\n))(?:\r\n|\r|\n)+""',
code, re.MULTILINE | re.DOTALL).groups()[0]
license = license.replace('# ', '').replace('#', '')
with open('LICENSE', 'w') as fh:
fh.write('BSD 3-Clause License\n\n')
fh.write(license)
revisions = re.search(r'(?:\r\n|\r|\n){2}(Revisions.*) \.\.\.', readme,
re.MULTILINE | re.DOTALL).groups()[0].strip()
with open('CHANGES.rst', 'r') as fh:
old = fh.read()
d = revisions.splitlines()[-1]
old = old.split(d)[-1]
with open('CHANGES.rst', 'w') as fh:
fh.write(revisions.strip())
fh.write(old)
setup(
name='tifffile',
version=version,
description=description,
long_description=readme,
author='Christoph Gohlke',
author_email='[email protected]',
url='https://www.lfd.uci.edu/~gohlke/',
license='BSD',
packages=['tifffile'],
python_requires='>=3.6',
install_requires=[
'numpy>=1.15.1',
'imagecodecs>=2020.1.31',
],
extras_require={
'all': ['matplotlib>=3.1'],
},
tests_require=[
'pytest', 'czifile', 'cmapfile', 'oiffile', 'lfdfiles', 'roifile'
],
entry_points={
'console_scripts': [
'tifffile = tifffile:main',
'lsm2bin = tifffile.lsm2bin:main',
]},
platforms=['any'],
classifiers=[
'Development Status :: 4 - Beta',
'License :: OSI Approved :: BSD License',
'Intended Audience :: Science/Research',
'Intended Audience :: Developers',
'Operating System :: OS Independent',
'Programming Language :: Python :: 3 :: Only',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
],
)