From c30b2366cfb2218c1312b54cdb17ea75f31b65f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aleksi=20Ha=CC=88kli?= Date: Wed, 28 Aug 2019 13:28:57 +0300 Subject: [PATCH] Migrate to setuptools_scm --- axes/__init__.py | 6 ++---- axes/apps.py | 4 ++-- docs/conf.py | 15 +++++++-------- pyproject.toml | 2 ++ setup.py | 5 ++--- 5 files changed, 15 insertions(+), 17 deletions(-) create mode 100644 pyproject.toml diff --git a/axes/__init__.py b/axes/__init__.py index fccad89..2d46b79 100644 --- a/axes/__init__.py +++ b/axes/__init__.py @@ -1,7 +1,5 @@ -__version__ = '5.0.12' +from pkg_resources import get_distribution default_app_config = 'axes.apps.AppConfig' - -def get_version(): - return __version__ +__version__ = get_distribution('django-axes').version diff --git a/axes/apps.py b/axes/apps.py index 4ae35df..413fca5 100644 --- a/axes/apps.py +++ b/axes/apps.py @@ -1,8 +1,8 @@ from logging import getLogger +from pkg_resources import get_distribution from django import apps -from axes import get_version from axes.conf import settings log = getLogger(settings.AXES_LOGGER) @@ -32,7 +32,7 @@ class AppConfig(apps.AppConfig): cls.logging_initialized = True log.info('AXES: BEGIN LOG') - log.info('AXES: Using django-axes %s', get_version()) + log.info('AXES: Using django-axes version %s', get_distribution('django-axes').version) if settings.AXES_ONLY_USER_FAILURES: log.info('AXES: blocking by username only.') diff --git a/docs/conf.py b/docs/conf.py index b2799b3..33e6592 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -6,16 +6,15 @@ More information on the configuration options is available at: http://www.sphinx-doc.org/en/master/usage/configuration.html """ -import os +from os import environ +from pkg_resources import get_distribution -import axes import django import sphinx_rtd_theme -os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'axes.tests.settings') +environ.setdefault('DJANGO_SETTINGS_MODULE', 'axes.tests.settings') django.setup() - # -- Extra custom configuration ------------------------------------------ title = 'Django Axes Documentation' @@ -44,11 +43,11 @@ project = 'Django Axes' copyright = '2016, Jazzband' author = 'Jazzband' -# The short X.Y version. -version = axes.get_version() - # The full version, including alpha/beta/rc tags. -release = axes.get_version() +release = get_distribution('django-axes').version + +# The short X.Y version. +version = '.'.join(release.split('.')[:2]) # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..508294e --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,2 @@ +[build-system] +requires = ["setuptools>=30.3.0", "wheel", "setuptools_scm"] diff --git a/setup.py b/setup.py index 6cd9f68..c31e094 100644 --- a/setup.py +++ b/setup.py @@ -2,11 +2,8 @@ from setuptools import setup, find_packages -from axes import get_version - setup( name='django-axes', - version=get_version(), description='Keep track of failed login attempts in Django-powered sites.', long_description='\n'.join([ open('README.rst', encoding='utf-8').read(), @@ -32,6 +29,8 @@ setup( }, license='MIT', package_dir={'axes': 'axes'}, + use_scm_version=True, + setup_requires=['setuptools_scm'], python_requires='~=3.6', install_requires=[ 'django>=1.11',