5

I am trying to add *.ui & *.png files to setup.py and this is what I have so far

from setuptools import setup, find_packages

from smlgui import __version__

setup(
    name='smlgui',
    version=__version__,
    packages=find_packages(),
    url='https://github.com/akshaybabloo/SML-GUI',
    license='MIT',
    author='Akshay Raj Gollahalli',
    author_email='akshay@gollahalli.com',
    description='Data exporter for Spikes Markup Language (SML).',
    requires=['click', 'pyqt'],
    scripts=['sml.sh', 'sml.cmd'],
    package_data={'smlgui': ['*.ui', '*.png']},
    include_package_data=True
)

I am not sure what is happening but when I try to do python setup.py install or pip install . only *.py gets installed.

I tried to follow the procedure given here -> Including non-Python files with setup.py but it just did not help.

Also, I created MANIFEST.in that has

include *.ui
include *.png

I am not sure if I have to tell setup.py to read this file or it is automatically done.

My file structure is

root_folder
|
|   MANIFEST.in
|   setup.py
|   sml.cmd
|   sml.sh
|
+---smlgui
|   |   main.py
|   |   processor.py
|   |   utility.py
|   |   __init__.py
|   |
|   +---gui
|   |   |   about.ui
|   |   |   main.ui
|   |   |   __init__.py
|   |   |
|   |   \---assets
|   |           logo.png
|   |           spikes-logo.png
|   |           __init__.py
|   |

Any help would be appreciated.

Akshay
  • 2,622
  • 1
  • 38
  • 71

1 Answers1

6

I got it. Make sure you have the complete path in the MANIFEST.in file. Something like:

include smlgui/gui/*.ui
include smlgui/gui/assets/*.png

Then test it by creating a wheel, by doing

python setup.py bdist_wheel

Under build folder you should be able to see all the contents.

Akshay
  • 2,622
  • 1
  • 38
  • 71