From 162a96b44530b280a474b827b552a5cca1d22dd3 Mon Sep 17 00:00:00 2001 From: Alain IVARS Date: Mon, 17 Jun 2019 13:21:15 +0100 Subject: [PATCH] fix for Single-sourcing the package version. --- conf.py | 25 +------------------------ docs/conf.py | 5 ++++- docs/version.py | 1 + my_api/__init__.py | 1 - my_api/rest/views.py | 2 +- requirements.txt | 2 +- setup.py | 18 ++++++++++++++++-- tox.ini | 2 ++ 8 files changed, 26 insertions(+), 30 deletions(-) create mode 100644 docs/version.py diff --git a/conf.py b/conf.py index 3df3804..72ed7c0 100644 --- a/conf.py +++ b/conf.py @@ -1,24 +1 @@ -# -*- coding: utf-8 -*- - -extensions = ['recommonmark'] -templates_path = [ - '/home/docs/checkouts/readthedocs.org/readthedocs/templates/sphinx', - 'templates', '_templates', '.templates'] -source_suffix = { - '.rst': 'restructuredtext', - '.txt': 'markdown', - '.md': 'markdown', -} -master_doc = 'index' -project = u'drf-microservice' -copyright = u'2017-2019' -version = 'v0.7.1' -release = 'latest' -exclude_patterns = ['_build'] -pygments_style = 'sphinx' -htmlhelp_basename = 'drf-microservice' -file_insertion_enabled = False -latex_documents = [ - ('index', 'drf-microservice.tex', u'drf-microservice Documentation', - u'', 'manual'), -] +# we use the one in docs dir for but sphinx actually want this file!!! diff --git a/docs/conf.py b/docs/conf.py index ba74eb1..c92f798 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -12,6 +12,9 @@ # import os import sys + +from docs import version + sys.path.insert(0, os.path.abspath('.')) @@ -22,7 +25,7 @@ author = 'Alain Ivars' # The full version, including alpha/beta/rc tags -release = 'v0.7.1' +release = version.__version__ # -- General configuration --------------------------------------------------- diff --git a/docs/version.py b/docs/version.py new file mode 100644 index 0000000..f0788a8 --- /dev/null +++ b/docs/version.py @@ -0,0 +1 @@ +__version__ = '0.7.1' diff --git a/my_api/__init__.py b/my_api/__init__.py index f0788a8..e69de29 100644 --- a/my_api/__init__.py +++ b/my_api/__init__.py @@ -1 +0,0 @@ -__version__ = '0.7.1' diff --git a/my_api/rest/views.py b/my_api/rest/views.py index a23ddd3..5b01826 100644 --- a/my_api/rest/views.py +++ b/my_api/rest/views.py @@ -7,7 +7,7 @@ from rest_framework.response import Response from rest_framework import status -from my_api import __version__ +from docs.version import __version__ from my_api.rest.serializers import FileToFilesystemSerializer diff --git a/requirements.txt b/requirements.txt index 2ae0b79..417bd48 100644 --- a/requirements.txt +++ b/requirements.txt @@ -21,7 +21,7 @@ botocore==1.12.169 s3transfer==0.2.1 # Dynamic Documentations -certifi==2019.3.9 # coreapi dependency +certifi==2019.6.16 # coreapi dependency coreschema==0.0.4 # coreapi dependency itypes==1.1.0 # coreapi dependency uritemplate==3.0.0 # coreapi dependency diff --git a/setup.py b/setup.py index acb6a8b..e1c624b 100644 --- a/setup.py +++ b/setup.py @@ -1,9 +1,23 @@ #!/usr/bin/env python import os +import re from setuptools import setup, find_packages -import my_api + +def read(f): # from DRF setup + return open(f, 'r', encoding='utf-8').read() + + +def get_version(package): # from DRF setup + """ + Return package version as listed in `__version__` in `init.py`. + """ + init_py = open(os.path.join(package, 'version.py')).read() + return re.search("__version__ = ['\"]([^'\"]+)['\"]", init_py).group(1) + + +version = get_version('.') here = os.path.dirname(os.path.abspath(__file__)) with open(os.path.join(here, 'README.rst')) as f: @@ -11,7 +25,7 @@ setup( name='drf-microservice', - version=my_api.__version__, + version=version, author='Alain IVARS', author_email='alainivars@gmail.com', url='http://github.com/alainivars/drf-microservice', diff --git a/tox.ini b/tox.ini index f177ff3..b9c177e 100644 --- a/tox.ini +++ b/tox.ini @@ -11,6 +11,7 @@ envlist = docs [testenv] +skip_install = True deps = -r{toxinidir}/requirements.txt -r{toxinidir}/requirements_test.txt @@ -18,6 +19,7 @@ commands = /usr/bin/env SECRET_KEY=test pytest --ds=my_api.config.common -v --cov my_api/rest --cov-report term-missing [testenv:docs] +skip_install = True changedir=docs #basepython=python3.6 deps =