forked from abr/abr_control
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
57 lines (49 loc) · 1.72 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
import io
import runpy
import os
from setuptools import Extension, find_packages, setup
from setuptools.command.build_ext import build_ext as _build_ext
class build_ext(_build_ext):
def finalize_options(self):
_build_ext.finalize_options(self)
# Prevent numpy from thinking it is still in its setup process:
__builtins__.__NUMPY_SETUP__ = False
import numpy
self.include_dirs.append(numpy.get_include())
def read(*filenames, **kwargs):
encoding = kwargs.get('encoding', 'utf-8')
sep = kwargs.get('sep', '\n')
buf = []
for filename in filenames:
with io.open(filename, encoding=encoding) as f:
buf.append(f.read())
return sep.join(buf)
root = os.path.dirname(os.path.realpath(__file__))
version = runpy.run_path(
os.path.join(root, 'abr_control', 'version.py'))['version']
setup_requires = ["setuptools>=18.0", "cython", "numpy"]
setup(
name="abr_control",
version=version,
author="Applied Brain Research",
author_email="travis.dewolf@appliedbrainresearch.com",
packages=find_packages(),
include_package_data=True,
scripts=[],
url="https://github.com/abr/abr_control",
license="Free for non-commercial use",
description="A library for controlling and interfacing with robots.",
long_description=read('README.rst'),
install_requires=setup_requires + [
"cloudpickle", "sympy", "nengo", "matplotlib", "scipy",
],
setup_requires=setup_requires,
cmdclass={'build_ext': build_ext},
ext_modules=[
Extension(
"abr_control.arms.threejoint.arm_files.py3LinkArm",
sources=["abr_control/arms/threejoint/arm_files/py3LinkArm.pyx"],
language="c++",
)
],
)