view setup.py @ 580:8526ede09363

Include data via MANIFEST.in
author Stefano Rivera <stefano@rivera.za.net>
date Mon, 09 Sep 2019 19:50:01 -0300
parents 9afaa1969d6f
children b5d0b7a91809
line wrap: on
line source

# setup.py
# -*- coding: utf8 -*-
# vim:fileencoding=utf8 ai ts=4 sts=4 et sw=4

"""Setuptools setup.py file for Mutable Mamba."""

from setuptools import setup, find_packages

try:
    import py2exe  # pyflakes:ignore
except ImportError:
    pass

# This should probably be pulled from constants.py
VERSION_STR = "0.2"

setup(   # Metadata
            name="mutable-mamba",
            version=VERSION_STR,
            description="Mutable Mamba: Snake game for PyWeek 13",

            author=("Adrianna Pinska, Desilu Crossman, Gideon Visser, "
                    "Jeremy Thurgood, Neil Muller, Simon Cross, "
                    "Stefano Rivera"),
            author_email="",

            maintainer="Mamba Team",
            maintainer_email="ctpug@googlegroups.com",

            url="http://ctpug.org.za/",
            download_url="https://ctpug.org.za/hg/mamba/",

            license="MIT",

            classifiers=[
                  'Development Status :: 4 - Beta',
                  'Environment :: MacOS X',
                  'Environment :: Win32 (MS Windows)',
                  'Environment :: X11 Applications',
                  'Intended Audience :: End Users/Desktop',
                  'License :: OSI Approved :: MIT License',
                  'Natural Language :: English',
                  'Operating System :: Microsoft :: Windows',
                  'Operating System :: POSIX',
                  'Operating System :: MacOS :: MacOS X',
                  'Programming Language :: Python :: 2.5',
                  'Programming Language :: Python :: 2.6',
                  'Topic :: Games/Entertainment :: Role-Playing',
                  'Topic :: Games/Entertainment :: Arcade',
             ],

            platforms=[
                  'Linux',
                  'Mac OS X',
                  'Windows',
            ],

            # Dependencies
            install_requires=[],

            # Files
            packages=find_packages(),
            scripts=[
                  'scripts/mamba',
            ],

            # py2exe
            console=['scripts/testconsole.py'],
            windows=[{
                'script': 'scripts/mamba',
                'icon_resources': [(0, "data/icons/program/icon.ico")],
            }],
            app=['scripts/mamba'],
            options={
            'py2exe': {
                'skip_archive': 1,
                'dist_dir': 'dist/mutable-mamba-%s' % VERSION_STR,
                'packages': [
                    'logging', 'encodings', 'mamba',
                ],
                'includes': [
                    # pygame
                    'pygame',
                ],
                'excludes': [
                    'numpy',
                ],
                'ignores': [
                    # all database modules
                    'pgdb', 'Sybase', 'adodbapi',
                    'kinterbasdb', 'psycopg', 'psycopg2', 'pymssql',
                    'sapdb', 'pysqlite2', 'sqlite', 'sqlite3',
                    'MySQLdb', 'MySQLdb.connections',
                    'MySQLdb.constants.CR', 'MySQLdb.constants.ER',
                    # old datetime equivalents
                    'DateTime', 'DateTime.ISO',
                    'mx', 'mx.DateTime', 'mx.DateTime.ISO',
                    # email modules
                    'email.Generator', 'email.Iterators', 'email.Utils',
                ],
            },
            'py2app': {
                'app': ['run_game.py'],
                'argv_emulation': True,
                'iconfile': 'data/icons/program/icon.icns',
                'packages': [
                    'logging', 'encodings', 'pygame', 'mamba', 'data',
                ],
                'excludes': ['numpy'],
            }},
            include_package_data=True,
        )