#!/usr/bin/env python3 from setuptools import find_packages, setup import os import re import subprocess """ Use `git tag 1.0.0` to tag a release; `python setup.py --version` to update the _version.py file. """ def get_version(prefix): if os.path.exists('.git'): parts = subprocess.check_output(['git', 'describe', '--tags']).decode().strip().split('-') if len(parts) == 3: version = '{}.{}+{}'.format(*parts) else: version = parts[0] version_py = "__version__ = '{}'".format(version) _version = os.path.join(prefix, '_version.py') if not os.path.exists(_version) or open(_version).read().strip() != version_py: with open(_version, 'w') as fd: fd.write(version_py) return version else: for f in ('_version.py', '__init__.py'): f = os.path.join(prefix, f) if os.path.exists(f): with open(f) as fd: metadata = dict(re.findall("__([a-z]+)__ = '([^']+)'", fd.read())) if 'version' in metadata: break return metadata['version'] setup( name='django-requestuser', version=get_version('requestuser'), description='Make current request.user available to templates', author='j', author_email='j@mailb.org', url='https://r-w-x.org/django-requestuser.git', license='BSD License', platforms=['OS Independent'], packages=find_packages( exclude=['tests', 'testapp'] ), include_package_data=True, install_requires=[ # 'Django>=1.9', commented out to make `pip install -U` easier ], dependency_links=[ ], extras_require={ }, classifiers=[ 'Development Status :: 4 - Beta', 'Environment :: Web Environment', 'Framework :: Django', 'Intended Audience :: Developers', 'License :: OSI Approved :: BSD License', 'Operating System :: OS Independent', 'Programming Language :: Python', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.4', 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', 'Topic :: Software Development', ], zip_safe=False, )