# -*- coding: utf-8 -*- # # Copyright © 2012 Pierre Raybaut # Licensed under the terms of the MIT License # (see winpython/__init__.py for details) """ WinPython ========= The WinPython distribution tools (wppm, ...) """ # for wheels creation import setuptools from distutils.core import setup import os import os.path as osp def get_package_data(name, extlist): """Return data files for package *name* with extensions in *extlist*""" flist = [] # Workaround to replace os.path.relpath (not available until Python 2.6): offset = len(name) + len(os.pathsep) for dirpath, _dirnames, filenames in os.walk(name): for fname in filenames: if ( not fname.startswith('.') and osp.splitext(fname)[1] in extlist ): flist.append( osp.join(dirpath, fname)[offset:] ) return flist def get_subpackages(name): """Return subpackages of package *name*""" splist = [] for dirpath, _dirnames, _filenames in os.walk(name): if osp.isfile(osp.join(dirpath, '__init__.py')): splist.append(".".join(dirpath.split(os.sep))) return splist NAME = LIBNAME = 'winpython' from winpython import __version__, __project_url__ PROJECT_NAME = 'WinPython' setup( name=NAME, version=__version__, description='%s distribution tools, including WPPM' % PROJECT_NAME, long_description="""%s is a portable distribution of the Python programming language for Windows. It is a full-featured Python-based scientific environment, : including a package manager, WPPM.""" % PROJECT_NAME, download_url='%s/files/%s-%s.zip' % (__project_url__, NAME, __version__), author="Pierre Raybaut", author_email='pierre.raybaut@gmail.com', url=__project_url__, license='MIT', keywords='PyQt5 PyQt4 PySide', platforms=['any'], packages=get_subpackages(LIBNAME), package_data={ LIBNAME: get_package_data( LIBNAME, ( '.mo', '.svg', '.png', '.css', '.html', '.js', '.ini', ), ) }, # requires=["PyQt4 (>=4.5)"], scripts=[ osp.join('scripts', fname) for fname in ( 'register_python', 'register_python.bat', ) ], # use setuptools functionalities entry_points={ 'console_scripts': [ 'wpcp = winpython.controlpanel:main', 'wppm = winpython.wppm:main', ] }, classifiers=[ 'License :: OSI Approved :: MIT License', 'Operating System :: MacOS', 'Operating System :: Microsoft :: Windows', 'Operating System :: OS Independent', 'Operating System :: POSIX', 'Operating System :: Unix', 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3', 'Development Status :: 5 - Production/Stable', 'Topic :: Scientific/Engineering', 'Topic :: Software Development :: Widget Sets', ], )