-
Notifications
You must be signed in to change notification settings - Fork 82
Expand file tree
/
Copy pathsetup.py
More file actions
90 lines (80 loc) · 2.95 KB
/
setup.py
File metadata and controls
90 lines (80 loc) · 2.95 KB
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
"""
Scikit-build requires configuration to be passed to it's setup function.
Support for setup.cfg is forthcoming (as of skbuild v0.12
"""
from pathlib import Path
from setuptools import find_packages
from skbuild import setup
SCRIPT_DIR = Path(__file__).parent
PACKAGE_SRC = "python"
PACKAGE_NAME = "kwiver"
with open(SCRIPT_DIR / "VERSION.txt", "r") as f:
VERSION = f.read().strip()
with open(SCRIPT_DIR / "README.rst", "r") as f:
LONG_DESCRIPTION = f.read()
setup(
# Basic Metadata ###########################################################
name=PACKAGE_NAME,
version=VERSION,
description="Python and C++ toolkit that pulls together computer vision algorithms "
" into highly modular run time configurable systems",
long_description=LONG_DESCRIPTION,
author="Kitware, Inc.",
author_email="kwiver-developers@kitware.com",
url="https://github.com/Kitware/kwiver",
license="BSD 3-Clause",
license_files=["LICENSE"],
classifiers=[
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: BSD License",
"Programming Language :: Python :: 3.8",
"Operating System :: Unix",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
],
platforms=[
"linux",
"Unix",
],
# Options ##################################################################
zip_safe=False,
include_package_data=True,
python_requires=">=3.8",
# Package Specification ####################################################
package_dir={"": PACKAGE_SRC},
packages=find_packages(
where=PACKAGE_SRC,
include=[f"{PACKAGE_NAME}*"],
# xxx(python-arrows) bring back once arrows are adapted to new API
exclude=[
f"{PACKAGE_NAME}.arrows*",
f"{PACKAGE_NAME}.sprokit*",
],
),
# Requirements #############################################################
install_requires=["numpy"],
# extras_require=[],
tests_require=["pytest"],
# Entry-Points #############################################################
entry_points={
"kwiver.python_plugins": [
"say=kwiver.vital.test_interface.python_say",
"they_say=kwiver.vital.test_interface.python_they_say",
],
"console_scripts": [
"dump_klv=kwiver.tools.dump_klv:run",
],
},
# Scikit-Build Stuff #######################################################
cmake_minimum_required_version="3.15", # matches primary CMakeLists.txt req
cmake_source_dir=SCRIPT_DIR.as_posix(),
# Where build libraries and such will be installed into in order to be
# within the package module space.
cmake_install_dir=f"./{PACKAGE_SRC}/{PACKAGE_NAME}",
cmake_args=[
"-DKWIVER_ENABLE_PYTHON=ON",
"-DKWIVER_PYTHON_MAJOR_VERSION=3",
"-DPYBIND11_PYTHON_VERSION=3",
"-DKWIVER_INSTALL_SET_UP_SCRIPT=OFF",
],
)