#!/usr/bin/env python # -*- coding: utf-8 -*- # Copyright (c) The python-semanticversion project import codecs import os import re from setuptools import setup root_dir = os.path.abspath(os.path.dirname(__file__)) def get_version(package_name): version_re = re.compile(r"^__version__ = [\"']([\w_.-]+)[\"']$") package_components = package_name.split('.') init_path = os.path.join(root_dir, *(package_components + ['__init__.py'])) with codecs.open(init_path, 'r', 'utf-8') as f: for line in f: match = version_re.match(line[:-1]) if match: return match.groups()[0] return '0.1.0' def clean_readme(fname): """Cleanup README.rst for proper PyPI formatting.""" with codecs.open(fname, 'r', 'utf-8') as f: return ''.join( re.sub(r':\w+:`([^`]+?)( <[^<>]+>)?`', r'``\1``', line) for line in f if not (line.startswith('.. currentmodule') or line.startswith('.. toctree')) ) PACKAGE = 'semantic_version' setup( name=PACKAGE, version=get_version(PACKAGE), author="Raphaƫl Barrois", author_email="raphael.barrois+semver@polytechnique.org", description="A library implementing the 'SemVer' scheme.", long_description=clean_readme('README.rst'), license='BSD', keywords=['semantic version', 'versioning', 'version'], url='https://github.com/rbarrois/python-semanticversion', download_url='http://pypi.python.org/pypi/semantic_version/', packages=['semantic_version'], setup_requires=[ 'setuptools>=0.8', ], classifiers=[ 'Development Status :: 5 - Production/Stable', 'Intended Audience :: Developers', 'License :: OSI Approved :: BSD License', 'Topic :: Software Development :: Libraries :: Python Modules', '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', 'Programming Language :: Python :: 3.7', 'Topic :: Software Development :: Libraries :: Python Modules' ], test_suite='tests', )