setup.py 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. """
  2. LAKEsuperior setup script.
  3. Proudly ripped from https://github.com/pypa/sampleproject/blob/master/setup.py
  4. """
  5. import sys
  6. # Always prefer setuptools over distutils
  7. from setuptools import setup, find_packages
  8. # To use a consistent encoding
  9. from codecs import open
  10. from glob import glob
  11. from os import path
  12. here = path.abspath(path.dirname(__file__))
  13. # ``pytest_runner`` is referenced in ``setup_requires``.
  14. # See https://github.com/pytest-dev/pytest-runner#conditional-requirement
  15. needs_pytest = {'pytest', 'test', 'ptr'}.intersection(sys.argv)
  16. pytest_runner = ['pytest-runner'] if needs_pytest else []
  17. # Get the long description from the README file
  18. with open(path.join(here, 'README.rst'), encoding='utf-8') as f:
  19. long_description = f.read()
  20. # Read release number.
  21. with open(path.realpath(path.join(here, 'VERSION'))) as fh:
  22. version = fh.readlines()[0]
  23. setup(
  24. name='lakesuperior',
  25. version=version,
  26. description='A Linked Data Platform repository sever.',
  27. long_description=long_description,
  28. long_description_content_type='text/x-rst; charset=UTF-8',
  29. url='https://lakesuperior.readthedocs.io',
  30. author='Stefano Cossu <@scossu>',
  31. #author_email='', # Optional
  32. license='Apache License Version 2.0',
  33. # https://pypi.python.org/pypi?%3Aaction=list_classifiers
  34. classifiers=[
  35. 'Development Status :: 3 - Alpha',
  36. 'Environment :: Console',
  37. 'Environment :: Web Environment',
  38. 'Framework :: Flask',
  39. 'Intended Audience :: Developers',
  40. 'Intended Audience :: Information Technology',
  41. 'Intended Audience :: Science/Research',
  42. 'License :: OSI Approved :: Apache Software License',
  43. 'Natural Language :: English',
  44. 'Operating System :: MacOS',
  45. 'Operating System :: Microsoft :: Windows',
  46. 'Operating System :: POSIX :: Linux',
  47. 'Programming Language :: Python :: 3',
  48. 'Programming Language :: Python :: 3.5',
  49. 'Programming Language :: Python :: 3.6',
  50. 'Topic :: Database :: Database Engines/Servers',
  51. ],
  52. keywords='repository linked-data',
  53. python_requires='~=3.5',
  54. packages=find_packages(exclude=['contrib', 'docs', 'tests']),
  55. # Great reference read about dependency management:
  56. # https://caremad.io/posts/2013/07/setup-vs-requirement/
  57. install_requires=[
  58. 'CoilMQ',
  59. 'Flask',
  60. 'HiYaPyCo',
  61. 'PyYAML',
  62. 'arrow',
  63. 'cchardet',
  64. 'click',
  65. 'click-log',
  66. 'gevent',
  67. 'gunicorn',
  68. 'lmdb',
  69. 'rdflib',
  70. 'requests',
  71. 'requests-toolbelt',
  72. 'sphinx-rtd-theme',
  73. 'stomp.py',
  74. ],
  75. setup_requires=[] + pytest_runner,
  76. tests_require=[
  77. 'Pillow',
  78. 'numpy',
  79. 'pytest',
  80. 'pytest-flask',
  81. ],
  82. include_package_data=True,
  83. #extras_require={},
  84. #package_data={
  85. #},
  86. #data_files=[],
  87. entry_points={
  88. 'console_scripts': [
  89. 'fcrepo=lakesuperior.wsgi:run',
  90. 'lsup-admin=lakesuperior.lsup_admin:admin',
  91. 'lsup-benchmark=lakesuperior.util.benchmark:run',
  92. 'profiler=lakesuperior.profiler:run',
  93. ],
  94. },
  95. # List additional URLs that are relevant to your project as a dict.
  96. #
  97. # This field corresponds to the "Project-URL" metadata fields:
  98. # https://packaging.python.org/specifications/core-metadata/#project-url-multiple-use
  99. #
  100. # Examples listed include a pattern for specifying where the package tracks
  101. # issues, where the source is hosted, where to say thanks to the package
  102. # maintainers, and where to support the project financially. The key is
  103. # what's used to render the link text on PyPI.
  104. project_urls={ # Optional
  105. 'Source Code': 'https://github.com/scossu/lakesuperior/',
  106. 'Documentation': 'https://lakesuperior.readthedocs.io',
  107. 'Discussion': 'https://groups.google.com/forum/#!forum/lakesuperior',
  108. 'Bug Reports': 'https://github.com/scossu/lakesuperior/issues',
  109. }
  110. )