Generating root level package in python using setuptools

267 Views Asked by At

I am trying to generate the package for my python project. My project structure looks like this:

src
 -controller
   -handlers
     -subfolder1
       -file1
     -subfolder2
       -file2
     -setup.py
     -init.py

handlers is a python package. i ommited init.py just for asking question, and the setup.py has the following code:

setup(name='handlers',
    version='1.0',
    description='AWS Lambda ',
    packages=find_packages(),
    install_requires=['structlog==19.2.0', 'python-json-logger==0.1.10'],
    include_package_data=True,
    zip_safe=False)

I am trying to generate the package called handlers as in parent level. eg: package name handlers that contain both subfolder1 and subfolder2. I am using AWS sam toolkit in pycharm to build the lambda for local deployment and testing.

handlers
 -subfolder1
 -subfolder2

but it generates package with its subfolders individually like

-subfolder1
-subfolder2

how can I generate the package in the root/parent level? any help would be appreciated.

1

There are 1 best solutions below

0
On

To include handlers as the top-level package you need to move setup.py one level up. From

handlers
 -subfolder1
 -subfolder2
 -setup.py

to

handlers
 -subfolder1
 -subfolder2
setup.py

Do

cd handlers
mv setup.py ..
cd ..
python setup.py sdist bdist_wheel