camelot-py/setup.py

92 lines
2.2 KiB
Python

# -*- coding: utf-8 -*-
import os
from setuptools import find_packages
here = os.path.abspath(os.path.dirname(__file__))
about = {}
with open(os.path.join(here, "camelot", "__version__.py"), "r") as f:
exec(f.read(), about)
with open("README.md", "r") as f:
readme = f.read()
requires = [
"chardet>=3.0.4",
"click>=6.7",
"numpy>=1.13.3",
"openpyxl>=2.5.8",
"pandas>=0.23.4",
"pdfminer.six>=20200726",
"PyPDF2>=1.26.0",
"tabulate>=0.8.9",
]
cv_requires = ["opencv-python>=3.4.2.17"]
plot_requires = [
"matplotlib>=2.2.3",
]
dev_requires = [
"codecov>=2.0.15",
"pytest>=5.4.3",
"pytest-cov>=2.10.0",
"pytest-mpl>=0.11",
"pytest-runner>=5.2",
"Sphinx>=3.1.2",
"sphinx-autobuild>=2021.3.14",
]
all_requires = cv_requires + plot_requires
dev_requires = dev_requires + all_requires
def setup_package():
metadata = dict(
name=about["__title__"],
version=about["__version__"],
description=about["__description__"],
long_description=readme,
long_description_content_type="text/markdown",
url=about["__url__"],
author=about["__author__"],
author_email=about["__author_email__"],
license=about["__license__"],
packages=find_packages(exclude=("tests",)),
install_requires=requires,
extras_require={
"all": all_requires,
"cv": cv_requires,
"dev": dev_requires,
"plot": plot_requires,
},
entry_points={
"console_scripts": [
"camelot = camelot.cli:cli",
],
},
classifiers=[
# Trove classifiers
# Full list: https://pypi.python.org/pypi?%3Aaction=list_classifiers
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
],
)
try:
from setuptools import setup
except ImportError:
from distutils.core import setup
setup(**metadata)
if __name__ == "__main__":
setup_package()