forked from python-cachier/cachier
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
79 lines (70 loc) · 2.47 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
"""Setup file for the Cachier package."""
# This file is part of Cachier.
# https://github.com/shaypal5/cachier
# Licensed under the MIT license:
# http://www.opensource.org/licenses/MIT-license
# Copyright (c) 2016, Shay Palachy <[email protected]>
try:
from setuptools import setup
except ImportError:
from distutils.core import setup
import versioneer
TEST_REQUIRES = [
# tests and coverages
'pytest', 'coverage', 'pytest-cov',
# linting and code quality
'bandit', 'flake8', 'pylint', 'safety',
# to connect to the test mongodb server
'pymongo', 'dnspython', 'pymongo-inmemory',
# to test pandas dataframe as-param hashing with mongodb core
'pandas',
# to be able to run `python setup.py checkdocs`
'collective.checkdocs', 'pygments',
]
README_RST = ''
with open('README.rst') as f:
README_RST = f.read()
setup(
name='cachier',
version=versioneer.get_version(),
cmdclass=versioneer.get_cmdclass(),
description=('Persistent, stale-free, local and cross-machine caching for'
' Python functions.'),
long_description=README_RST,
license='MIT',
author='Shay Palachy',
author_email='[email protected]',
url='https://github.com/python-cachier/cachier',
packages=['cachier', 'cachier.scripts'],
entry_points='''
[console_scripts]
cachier=cachier.scripts.cli:cli
''',
install_requires=[
'watchdog', 'portalocker',
'pathtools', # for watchdog, who has dependency spec problem
'setuptools>=67.6.0', # to avoid vulnerability in 56.0.0
],
extras_require={
'test': TEST_REQUIRES,
},
platforms=['linux', 'osx', 'windows'],
keywords=['cache', 'persistence', 'mongo', 'memoization', 'decorator'],
classifiers=[
# Trove classifiers
# (https://pypi.python.org/pypi?%3Aaction=list_classifiers)
'Development Status :: 4 - Beta',
'License :: OSI Approved :: MIT License',
'Programming Language :: Python',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3.10',
'Topic :: Software Development :: Libraries',
'Topic :: Software Development :: Libraries :: Python Modules',
'Topic :: Utilities',
'Topic :: Other/Nonlisted Topic',
'Intended Audience :: Developers',
],
)