Skip to content

Commit f0ff238

Browse files
committed
setup.py: Use MANIFEST.in for resource filtering + find_namespace packages
1 parent 15de3d6 commit f0ff238

File tree

2 files changed

+48
-70
lines changed

2 files changed

+48
-70
lines changed

MANIFEST.in

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# https://packaging.python.org/guides/using-manifest-in/
2+
# one-liner to get extensions in package: set([l.split(",")[0].split('.')[-1] for l in open('files.txt').readlines()])
3+
4+
recursive-exclude arcade *.pyc
5+
recursive-include arcade/resources *.txt *.md *.url
6+
recursive-include arcade/resources *.mp3 *.wav *.ogg
7+
recursive-include arcade/resources *.png *.jpg *.gif
8+
recursive-include arcade/resources *.tmx *.tsx
9+
recursive-include arcade/resources *.glsl
10+
recursive-include arcade/soloud *.dll *.dylib *.so

setup.py

Lines changed: 38 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
from os import path
44
import sys
5-
from setuptools import setup
5+
from setuptools import setup, find_namespace_packages
66

77
VERSION = 'default'
88
def execfile(filepath, globals=None, locals=None):
@@ -43,72 +43,40 @@ def execfile(filepath, globals=None, locals=None):
4343
long_desc = f.read()
4444

4545
setup(
46-
name="arcade",
47-
version=RELEASE,
48-
description="Arcade Game Development Library",
49-
long_description=long_desc,
50-
author="Paul Vincent Craven",
51-
author_email="paul.craven@simpson.edu",
52-
license="MIT",
53-
url="http://arcade.academy",
54-
download_url="http://arcade.academy",
55-
install_requires=install_requires,
56-
packages=["arcade",
57-
"arcade.key",
58-
"arcade.color",
59-
"arcade.csscolor",
60-
"arcade.examples",
61-
"arcade.resources",
62-
"arcade.soloud"
63-
],
64-
python_requires='>=3.6',
65-
classifiers=[
66-
"Development Status :: 5 - Production/Stable",
67-
"Intended Audience :: Developers",
68-
"License :: OSI Approved :: MIT License",
69-
"Operating System :: OS Independent",
70-
"Programming Language :: Python",
71-
"Programming Language :: Python :: 3.6",
72-
"Programming Language :: Python :: 3.7",
73-
"Programming Language :: Python :: Implementation :: CPython",
74-
"Topic :: Software Development :: Libraries :: Python Modules",
75-
],
76-
package_data={'arcade': ['resources/gui_themes/Fantasy/Buttons/*',
77-
'resources/gui_themes/Fantasy/DialogueBox/*',
78-
'resources/gui_themes/Fantasy/Menu/*',
79-
'resources/gui_themes/Fantasy/TextBox/*',
80-
'resources/gui_themes/Fantasy/Window/*',
81-
'resources/images/*',
82-
'resources/images/alien/*',
83-
'resources/images/animated_characters/female_adventurer/*',
84-
'resources/images/animated_characters/female_person/*',
85-
'resources/images/animated_characters/male_adventurer/*',
86-
'resources/images/animated_characters/male_person/*',
87-
'resources/images/animated_characters/robot/*',
88-
'resources/images/animated_characters/zombie/*',
89-
'resources/images/backgrounds/*',
90-
'resources/images/enemies/*',
91-
'resources/images/isometric_dungeon/*',
92-
'resources/images/items/*',
93-
'resources/images/pinball/*',
94-
'resources/images/space_shooter/*',
95-
'resources/images/spritesheets/*',
96-
'resources/images/texture_transform/*',
97-
'resources/images/tiles/*',
98-
'resources/shaders/*',
99-
'resources/shaders/shapes/*',
100-
'resources/shaders/shapes/ellipse/*',
101-
'resources/shaders/shapes/line/*',
102-
'resources/sounds/*',
103-
'resources/tmx_maps/*',
104-
'soloud/*',
105-
'py.typed'],
106-
'arcade.soloud': ['*.*']},
107-
project_urls={
108-
'Documentation': 'https://arcade.academy/',
109-
'Example Code ': 'http://arcade.academy/examples/index.html',
110-
'Issue Tracker': 'https://github.com/pvcraven/arcade/issues',
111-
'Source': 'https://github.com/pvcraven/arcade',
112-
'On-line Book': 'http://learn.arcade.academy/',
113-
},
114-
)
46+
name="arcade",
47+
version=RELEASE,
48+
description="Arcade Game Development Library",
49+
long_description=long_desc,
50+
author="Paul Vincent Craven",
51+
author_email="paul.craven@simpson.edu",
52+
license="MIT",
53+
url="http://arcade.academy",
54+
download_url="http://arcade.academy",
55+
install_requires=install_requires,
56+
packages=find_namespace_packages(
57+
include=["arcade.*"],
58+
exclude=[],
59+
),
60+
python_requires='>=3.6',
61+
classifiers=[
62+
"Development Status :: 5 - Production/Stable",
63+
"Intended Audience :: Developers",
64+
"License :: OSI Approved :: MIT License",
65+
"Operating System :: OS Independent",
66+
"Programming Language :: Python",
67+
"Programming Language :: Python :: 3.6",
68+
"Programming Language :: Python :: 3.7",
69+
"Programming Language :: Python :: Implementation :: CPython",
70+
"Topic :: Software Development :: Libraries :: Python Modules",
71+
],
72+
# include_package_data: If set to True, this tells setuptools to automatically include
73+
# any data files it finds inside your package directories that are specified by your MANIFEST.in file.
74+
include_package_data=True,
75+
project_urls={
76+
'Documentation': 'https://arcade.academy/',
77+
'Example Code ': 'http://arcade.academy/examples/index.html',
78+
'Issue Tracker': 'https://github.com/pvcraven/arcade/issues',
79+
'Source': 'https://github.com/pvcraven/arcade',
80+
'On-line Book': 'http://learn.arcade.academy/',
81+
},
82+
)

0 commit comments

Comments
 (0)