setup.py (40 lines of code) (raw):
#!/usr/bin/env python3
import os
from os.path import join, dirname, realpath
from setuptools import find_packages, setup
from distutils.command.build import build as DistutilsBuild
with open(join("mujoco_py", "version.py")) as version_file:
exec(version_file.read())
def read_requirements_file(filename):
req_file_path = '%s/%s' % (dirname(realpath(__file__)), filename)
with open(req_file_path) as f:
return [line.strip() for line in f]
packages = find_packages()
# Ensure that we don't pollute the global namespace.
for p in packages:
assert p == 'mujoco_py' or p.startswith('mujoco_py.')
class Build(DistutilsBuild):
def run(self):
os.environ['MUJOCO_PY_FORCE_REBUILD'] = 'True'
os.environ['MUJOCO_PY_SKIP_ACTIVATE'] = 'True'
import mujoco_py # noqa: force build
DistutilsBuild.run(self)
setup(
name='mujoco-py',
version=__version__, # noqa
author='OpenAI Robotics Team',
author_email='robotics@openai.com',
url='https://github.com/openai/mujoco-py',
packages=packages,
include_package_data=True,
cmdclass={'build': Build},
package_dir={'mujoco_py': 'mujoco_py'},
package_data={'mujoco_py': ['generated/*.so']},
install_requires=read_requirements_file('requirements.txt'),
tests_require=read_requirements_file('requirements.dev.txt'),
python_requires='>=3.6',
classifiers=[
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3 :: Only',
],
)