#!/usr/bin/env python from setuptools import setup, find_packages import devshell.modules as ms from inspect import isclass from functools import partial from devshell.base.module import Module from devshell.base.util import flip d = ms.__dict__ modules = filter(partial(flip(issubclass), Module), filter(isclass, d.values())) applications = list() def entry_point_list(classes): return ['%(point)s = %(module)s:%(name)s' % dict(point=x.__name__.lower(), module=x.__module__, name=x.__name__) for x in classes] setup(name='fedora-devshell', version='0.1.2pre1', description='Fedora Developer\'s Lunchbox', long_description= '''Fedora Devshell is a collection of tools to integrate the various tasks of a Fedora developer and packager.''', author='Yaakov M. Nemoy', author_email='loupgaroublond@gmail.com', url='https://fedoraproject.org/wiki/Devshell', license='GPLv2+', packages=find_packages(), include_package_data=True, install_requires=['ConfigObj>=4.5.3', 'python-dateutil'], entry_points = { 'console_scripts': [ 'ports = devshell.ports:main', ], 'devshell.modules': entry_point_list(modules), 'devshell.applications': entry_point_list(applications) }, classifiers=[ 'Development Status :: 3 - Alpha', 'Environment :: Console', 'Intended Audience :: Developers', 'Intended Audience :: Information Technology', 'Intended Audience :: System Administrators', 'License :: OSI Approved :: GNU General Public License (GPL)', 'Operating System :: POSIX :: Linux', 'Topic :: Software Development :: Build Tools', 'Topic :: System :: Shells'], )