|
6 | 6 | from re import search, M
|
7 | 7 | from setuptools import setup, find_packages
|
8 | 8 |
|
9 |
| - with open('discopy/__init__.py', 'r') as file: |
10 |
| - MATCH = search(r"^__version__ = ['\"]([^'\"]*)['\"]", file.read(), M) |
11 |
| - if MATCH: |
12 |
| - VERSION = MATCH.group(1) |
13 |
| - else: |
14 |
| - raise RuntimeError("Unable to find version string.") |
| 9 | + def get_version(filename="discopy/__init__.py", |
| 10 | + pattern=r"^__version__ = ['\"]([^'\"]*)['\"]"): |
| 11 | + with open(filename, 'r') as file: |
| 12 | + MATCH = search(pattern, file.read(), M) |
| 13 | + if MATCH: |
| 14 | + return MATCH.group(1) |
| 15 | + else: |
| 16 | + raise RuntimeError("Unable to find version string.") |
15 | 17 |
|
16 |
| - try: |
17 |
| - with open('test/requirements.txt', 'r') as file: |
18 |
| - TEST_REQ = [line.strip() for line in file.readlines()] |
19 |
| - except FileNotFoundError: |
20 |
| - from warnings import warn |
21 |
| - warn("test/requirements.txt not found") |
22 |
| - TEST_REQ = [] |
| 18 | + VERSION = get_version() |
| 19 | + |
| 20 | + def get_reqs(filename): |
| 21 | + try: |
| 22 | + with open(filename, 'r') as file: |
| 23 | + return [line.strip() for line in file.readlines()] |
| 24 | + except FileNotFoundError: |
| 25 | + from warnings import warn |
| 26 | + warn("{} not found".format(filename)) |
| 27 | + return [] |
| 28 | + |
| 29 | + TEST_REQS = get_reqs("test/requirements.txt") |
| 30 | + DOCS_REQS = get_reqs("docs/requirements.txt") |
23 | 31 |
|
24 | 32 | setup(name='discopy',
|
25 | 33 | version=VERSION,
|
|
36 | 44 | '{}.tar.gz'.format(VERSION),
|
37 | 45 | install_requires=[
|
38 | 46 | l.strip() for l in open('requirements.txt').readlines()],
|
39 |
| - tests_require=TEST_REQ, |
40 |
| - extras_require={'test': TEST_REQ}, |
41 |
| - data_file=[('test', ['test/requirements.txt'])], |
| 47 | + tests_require=TEST_REQS, |
| 48 | + extras_require={'test': TEST_REQS, 'docs': DOCS_REQS}, |
| 49 | + data_file=[('test', ['test/requirements.txt']), |
| 50 | + ('docs', ['docs/requirements.txt'])], |
42 | 51 | python_requires='>=3',
|
43 | 52 | )
|
0 commit comments