|
|
|
#!/usr/bin/env python3
|
|
|
|
|
|
|
|
from os.path import abspath, dirname, join
|
|
|
|
from setuptools import setup, find_packages
|
|
|
|
|
|
|
|
|
|
|
|
# Stolen from: https://github.com/pypa/pip/blob/master/setup.py
|
|
|
|
def read(rel_path):
|
|
|
|
here = abspath(dirname(__file__))
|
|
|
|
with open(join(here, rel_path)) as file_pointer:
|
|
|
|
return file_pointer.read()
|
|
|
|
|
|
|
|
|
|
|
|
def get_metadata(rel_path, mdata):
|
|
|
|
for line in read(rel_path).splitlines():
|
|
|
|
if line.startswith(mdata):
|
|
|
|
delim = '"' if '"' in line else "'"
|
|
|
|
return line.split(delim)[1]
|
|
|
|
raise RuntimeError("Unable to find metadata string.")
|
|
|
|
|
|
|
|
|
|
|
|
def get_requirements(requirements):
|
|
|
|
return [line.rstrip('\n') for line in open(requirements)]
|
|
|
|
|
|
|
|
|
|
|
|
INSTALL_REQUIRE = get_requirements('setup-requirements.txt')
|
|
|
|
LINT_REQUIRE = get_requirements('lint-requirements.txt')
|
|
|
|
TESTS_REQUIRE = get_requirements('test-requirements.txt')
|
|
|
|
DEV_REQUIRE = LINT_REQUIRE.extend(TESTS_REQUIRE)
|
|
|
|
|
|
|
|
|
|
|
|
setup(
|
|
|
|
name='PyCTBN',
|
|
|
|
version=get_metadata("src/pyctbn/__init__.py", "__version__"),
|
|
|
|
description='A Continuous Time Bayesian Networks Library',
|
|
|
|
long_description='A Continuous Time Bayesian Networks Library',
|
|
|
|
author=get_metadata("src/pyctbn/__init__.py", "__author__"),
|
|
|
|
author_email=get_metadata("src/pyctbn/__init__.py", "__email__"),
|
|
|
|
url='https://git.domain.tld/meliurwen/pyctbn',
|
|
|
|
license=get_metadata("src/pyctbn/__init__.py", "__license__"),
|
|
|
|
packages=find_packages('src'),
|
|
|
|
package_dir={'': 'src'},
|
|
|
|
classifiers=[
|
|
|
|
"Environment :: Console",
|
|
|
|
"Natural Language :: English",
|
|
|
|
"Operating System :: OS Independent",
|
|
|
|
'Programming Language :: Python',
|
|
|
|
'Programming Language :: Python :: 3',
|
|
|
|
'Programming Language :: Python :: 3.6',
|
|
|
|
'Programming Language :: Python :: 3.7',
|
|
|
|
'Programming Language :: Python :: 3.8',
|
|
|
|
'Programming Language :: Python :: 3.9',
|
|
|
|
"Topic :: Utilities",
|
|
|
|
],
|
|
|
|
install_requires=INSTALL_REQUIRE,
|
|
|
|
tests_require=DEV_REQUIRE,
|
|
|
|
test_suite="pytest",
|
|
|
|
include_package_data=True,
|
|
|
|
keywords=['pyctbn', 'ctbn', 'bayes', 'bayesian networks'],
|
|
|
|
entry_points={
|
|
|
|
'console_scripts': ['pyctbn = pyctbn.__main__:main']
|
|
|
|
},
|
|
|
|
python_requires='>=3.6'
|
|
|
|
)
|