forked from kornia/kornia
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsetup.py
98 lines (80 loc) · 2.89 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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# Welcome to the Kornia setup.py.
#
from __future__ import print_function
from setuptools import setup, find_packages
import subprocess
import os
# Constant known variables used throughout this file
cwd = os.path.dirname(os.path.abspath(__file__))
################################################################################
# Version, create_version_file, and package_name
#
# Example for release (0.1.2):
# KORNIA_BUILD_VERSION=0.1.2 \
# KORNIA_BUILD_NUMBER=1 python setup.py install
################################################################################
package_name = os.getenv('KORNIA_PACKAGE_NAME', 'kornia')
version = '0.2.0' # NOTE: modify this variable each time we do a release
if os.getenv('KORNIA_BUILD_VERSION'):
assert os.getenv('KORNIA_BUILD_NUMBER') is not None
build_number = int(os.getenv('KORNIA_BUILD_NUMBER'))
version = os.getenv('KORNIA_BUILD_VERSION')
if build_number > 1:
version += '.post' + str(build_number)
else:
try:
sha = subprocess.check_output(['git', 'rev-parse', 'HEAD'], cwd=cwd).decode('ascii').strip()
version += '+' + sha[:7]
except Exception:
pass
print("Building wheel {}-{}".format(package_name, version))
# all the work we need to do _before_ setup runs
def build_deps():
print('-- Building version ' + version)
version_path = os.path.join(cwd, 'kornia', 'version.py')
with open(version_path, 'w') as f:
f.write("__version__ = '{}'\n".format(version))
def read(*names, **kwargs):
with io.open(
os.path.join(os.path.dirname(__file__), *names),
encoding=kwargs.get("encoding", "utf8")
) as fp:
return fp.read()
# open readme file and remove logo
readme = open('README.rst').read()
long_description = '\n'.join(readme.split('\n')[7:])
requirements = [
'torch>=1.0.0',
'pillow>=6.2.0',
]
if __name__ == '__main__':
build_deps()
setup(
# Metadata
name=package_name,
version=version,
author='Edgar Riba',
author_email='contact@kornia.org',
url='https://github.com/arraiyopensource/kornia',
description='Open Source Differentiable Computer Vision Library for PyTorch',
long_description=long_description,
license='Apache License 2.0',
python_requires='>=3.6',
# Test
setup_requires=['pytest-runner'],
tests_require=['pytest'],
# Package info
packages=find_packages(exclude=('docs', 'test', 'examples',)),
zip_safe=True,
install_requires=requirements,
classifiers=[
'Intended Audience :: Developers',
'Intended Audience :: Education',
'Intended Audience :: Science/Research',
'Operating System :: POSIX :: Linux',
'Programming Language :: Python :: 3 :: Only',
'License :: OSI Approved :: Apache Software License',
'Topic :: Scientific/Engineering :: Image Recognition',
'Topic :: Software Development :: Libraries',
],
)