setup.py 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. import re
  4. from setuptools import setup, find_packages
  5. version = None
  6. with open('jaeger_client/__init__.py', 'r') as f:
  7. for line in f:
  8. m = re.match(r'^__version__\s*=\s*(["\'])([^"\']+)\1', line)
  9. if m:
  10. version = m.group(2)
  11. break
  12. assert version is not None, \
  13. 'Could not determine version number from jaeger_client/__init__.py'
  14. setup(
  15. name='jaeger-client',
  16. version=version,
  17. url='https://github.com/jaegertracing/jaeger-client-python',
  18. description='Jaeger Python OpenTracing Tracer implementation',
  19. author='Yuri Shkuro',
  20. author_email='ys@uber.com',
  21. packages=find_packages(exclude=['crossdock', 'tests', 'example', 'tests.*']),
  22. include_package_data=True,
  23. license='Apache License 2.0',
  24. zip_safe=False,
  25. keywords='jaeger, tracing, opentracing',
  26. classifiers=[
  27. 'Development Status :: 5 - Production/Stable',
  28. 'Intended Audience :: Developers',
  29. 'License :: OSI Approved :: Apache Software License',
  30. 'Natural Language :: English',
  31. 'Programming Language :: Python :: 2.7',
  32. 'Programming Language :: Python :: 3.5',
  33. 'Programming Language :: Python :: 3.6',
  34. ],
  35. install_requires=[
  36. 'threadloop>=1,<2',
  37. 'thrift',
  38. 'tornado>=4.3,<5',
  39. 'opentracing>=2.1,<3.0',
  40. ],
  41. # Uncomment below if need to test with unreleased version of opentracing
  42. # dependency_links=[
  43. # 'git+ssh://git@github.com/opentracing/opentracing-python.git@BRANCHNAME#egg=opentracing',
  44. # ],
  45. test_suite='tests',
  46. extras_require={
  47. ':python_version<"3"': [
  48. 'futures',
  49. ],
  50. 'tests': [
  51. 'mock==1.0.1',
  52. 'pycurl>=7.43,<8',
  53. # pinned to avoid RemovedInPytest4Warning
  54. 'pytest>=3.7.0,<3.8.0',
  55. 'pytest-cov==2.5.1',
  56. 'coverage<4.4', # can remove after https://bitbucket.org/ned/coveragepy/issues/581/44b1-44-breaking-in-ci
  57. 'pytest-timeout==1.3.1',
  58. 'pytest-tornado',
  59. # pin <3.2 as otherwise it requires pytest>=3.8
  60. 'pytest-benchmark[histogram]>=3.0.0rc1,<3.2',
  61. 'pytest-localserver',
  62. 'flake8',
  63. 'flake8-quotes',
  64. 'codecov',
  65. 'tchannel>=0.27', # This is only used in python 2
  66. 'opentracing_instrumentation>=2,<3',
  67. 'prometheus_client==0.3.1',
  68. ]
  69. },
  70. )