/setup.py

https://github.com/MolSSI/QCFractal · Python · 79 lines · 69 code · 4 blank · 6 comment · 4 complexity · aaf438a880a060a6ff583995f0d51119 MD5 · raw file

  1. import setuptools
  2. import versioneer
  3. short_description = "A distributed compute and database platform for quantum chemistry."
  4. try:
  5. with open("README.md", "r") as handle:
  6. long_description = handle.read()
  7. except FileNotFoundError:
  8. long_description = short_description
  9. if __name__ == "__main__":
  10. setuptools.setup(
  11. name="qcfractal",
  12. description=short_description,
  13. author="The QCArchive Development Team",
  14. author_email="qcarchive@molssi.org",
  15. url="https://github.com/molssi/qcfractal",
  16. license="BSD-3C",
  17. include_package_data=True,
  18. version=versioneer.get_version(),
  19. cmdclass=versioneer.get_cmdclass(),
  20. packages=setuptools.find_packages(),
  21. python_requires=">=3.7",
  22. install_requires=[
  23. # Core dependencies
  24. "numpy >=1.17",
  25. "msgpack >=0.6.1",
  26. "tornado",
  27. "requests",
  28. "pyyaml >=5.1",
  29. "pydantic >=1.4.0",
  30. # Security dependencies
  31. "bcrypt",
  32. "cryptography",
  33. # Storage dependencies
  34. "sqlalchemy >=1.3,<1.4",
  35. "alembic",
  36. "psycopg2 >=2.7",
  37. # QCPortal dependencies
  38. "tqdm",
  39. "plotly >=4.0.0",
  40. "pandas",
  41. "h5py",
  42. "pyarrow >=0.15.0",
  43. # 'double-conversion >=3.0.0',
  44. # QCArchive depends
  45. "qcengine>=0.20",
  46. "qcelemental>=0.23",
  47. ],
  48. entry_points={
  49. "console_scripts": [
  50. "qcfractal-server=qcfractal.cli.qcfractal_server:main",
  51. "qcfractal-manager=qcfractal.cli.qcfractal_manager:main",
  52. ],
  53. "pytest11": ["qcfractal_testing=qcfractal.testing"],
  54. },
  55. extras_require={
  56. "api_logging": ["geoip2"],
  57. "docs": [
  58. "sphinx==1.2.3", # autodoc was broken in 1.3.1
  59. "sphinxcontrib-napoleon",
  60. "sphinx_rtd_theme",
  61. "numpydoc",
  62. ],
  63. "lint": ["black", "isort"],
  64. "tests": ["pytest", "pytest-cov", "requests-mock"],
  65. },
  66. tests_require=["pytest", "pytest-cov"],
  67. classifiers=[
  68. "Development Status :: 4 - Beta",
  69. "Intended Audience :: Science/Research",
  70. "Programming Language :: Python :: 3",
  71. ],
  72. zip_safe=True,
  73. long_description=long_description,
  74. long_description_content_type="text/markdown",
  75. )