Completed
Pull Request — master (#7)
by George
02:16
created

VersionCommand   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 12
Duplicated Lines 0 %
Metric Value
dl 0
loc 12
rs 10
wmc 3

3 Methods

Rating   Name   Duplication   Size   Complexity  
A initialize_options() 0 2 1
A finalize_options() 0 2 1
A run() 0 2 1
1
# -*- coding: utf-8 -*-
2
# vi:si:et:sw=4:sts=4:ts=4
3
4
import codecs
5
import os.path
6
from setuptools import setup, find_packages, Command
7
8
9
# metadata
10
11
here = os.path.abspath(os.path.dirname(__file__))
12
13
with codecs.open(os.path.join(here, 'loafer/__init__.py'), encoding='utf-8') as f:
14
    # this adds __version__ to setup.py
15
    exec(f.read())
16
17
18
class VersionCommand(Command):
19
    description = 'Show library version'
20
    user_options = []
21
22
    def initialize_options(self):
23
        pass
24
25
    def finalize_options(self):
26
        pass
27
28
    def run(self):
29
        print(__version__)  # NOQA
30
31
32
with codecs.open(os.path.join(here, 'README.rst'), encoding='utf-8') as f:
33
    long_description = f.read()
34
35
with codecs.open(os.path.join(here, 'CHANGES.rst'), encoding='utf-8') as f:
36
    changes = f.read()
37
    long_description += '\n\nChangelog:\n==========\n\n{}'.format(changes)
38
39
40
# Requirements
41
42
with codecs.open(os.path.join(here, 'requirements/test.txt'), encoding='utf-8') as f:
43
    tests_requirements = [req for req in f.read().split('\n') if req]
44
45
install_requirements = ['boto3==1.3.0',
46
                        'prettyconf==1.2.3',
47
                        'click==6.6',
48
                        'cached-property==1.3.0',
49
                        ]
50
51
52
# setup
53
54
setup(
55
    name='loafer',
56
    version=__version__,  # NOQA
57
    description='Asynchronous message dispatcher for concurrent tasks processing',
58
    long_description=long_description,
59
    url='https://github.com/georgeyk/loafer/',
60
    license='MIT',
61
    author='George Y. Kussumoto',
62
    author_email='contato at georgeyk dot com dot br',
63
    packages=find_packages(exclude=['docs', 'tests', 'tests.*', 'requirements']),
64
    entry_points='''
65
    [console_scripts]
66
    loafer=loafer.cli:cli
67
    ''',
68
    classifiers=[
69
        'Development Status :: 4 - Beta',
70
        'Environment :: Console',
71
        'Intended Audience :: Developers',
72
        'License :: OSI Approved :: MIT License',
73
        'Natural Language :: English',
74
        'Operating System :: OS Independent',
75
        'Programming Language :: Python :: 3 :: Only',
76
        'Programming Language :: Python :: 3.5',
77
        'Topic :: System :: Distributed Computing',
78
        ],
79
    keywords='asynchronous asyncio message dispatcher tasks',
80
    setup_requires=['pytest-runner'],
81
    install_requires=install_requirements,
82
    tests_require=tests_requirements,
83
    cmdclass={'version': VersionCommand},
84
)
85