-
Notifications
You must be signed in to change notification settings - Fork 5
/
setup.py
75 lines (62 loc) · 2.21 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
"""Setup for the cache_decorator package."""
import os
import re
# To use a consistent encoding
from codecs import open as copen
from setuptools import find_packages, setup
here = os.path.abspath(os.path.dirname(__file__))
# Get the long description from the relevant file
with copen(os.path.join(here, "README.md"), encoding="utf-8") as f:
long_description = f.read()
def read(*parts):
with copen(os.path.join(here, *parts), "r") as fp:
return fp.read()
def find_version(*file_paths):
version_file = read(*file_paths)
version_match = re.search(r"^__version__ = ['\"]([^'\"]*)['\"]", version_file, re.M)
if version_match:
return version_match.group(1)
raise RuntimeError("Unable to find version string.")
__version__ = find_version("cache_decorator", "__version__.py")
test_deps = [
"pytest",
"pytest-cov",
"coveralls",
"numpy",
"pandas",
"tensorflow",
"lxml",
"validate_version_code",
"codacy-coverage",
"pytest_readme",
]
setup(
name="cache_decorator",
version=__version__,
description="a simple decorator to cache the results of computationally heavy functions",
long_description=long_description,
long_description_content_type="text/markdown",
url="https://github.com/zommiommy/cache_decorator",
author="Tommaso Fontana",
author_email="[email protected]",
# Choose your license
license="MIT",
include_package_data=True,
classifiers=[
"Development Status :: 3 - Alpha",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
],
packages=find_packages(exclude=["contrib", "docs", "tests*"]),
tests_require=test_deps,
extras_require={"test": test_deps},
# Add here the package dependencies
install_requires=[
"dict_hash >= 1.3.2", # This is used to get a consistent hash of the arguments
"humanize >= 3.4.1", # This is used for the metadata to be readable
# The following packages have no dependancies so it should be safe to add
"compress_pickle >= 2.0.1", # For compressed pickles
"compress_json>=1.1.0", # For compressed json
"deflate_dict", # To save arguments to the json
],
)