I have a library git repo sub_lib that I cannot publish directly to a pypi repository for various reasons. Instead I'm using it as a git submodule of another library main_lib in the following structure:
my_repo/
setup.py
main_lib/
__init__.py
sub_lib/ # a git submodule
setup.py
sub_lib/
__init__.py
main_lib needs to import sub_lib, so how can I configure my_repo's setup.py to include both main_lib and sub_lib as packages? In particular, is it possible to have setup.py include a package from a subdirectory (since it's in sub_lib/sub_lib/)?
Current setup.py:
from setuptools import setup, find_packages
setup(
name='main-lib',
...,
packages=find_packages(exclude=['tests*']),
package_data={'main_lib': ['py.typed'], 'sub_lib': ['py.typed']},
)
Or is it better to work around this by using a symlink?
setup.py. You will probably need to work withpackage_dirargument of thesetuptools.setup()function call.from setuptools import setup, find_packagessetup( name='main-lib', ..., packages=find_packages(exclude=['tests*']), package_data={'main_lib': ['py.typed'], 'sub_lib': ['py.typed']}, )setup.pyto your question.