Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Warning when building wheel #1624

Open
pslldq opened this issue Mar 3, 2025 · 1 comment
Open

Warning when building wheel #1624

pslldq opened this issue Mar 3, 2025 · 1 comment

Comments

@pslldq
Copy link
Contributor

pslldq commented Mar 3, 2025

Building a python wheel for labgrid using python -m build --wheel --no-isolation on the current master (2ce9e24) with Python 3.13.2 and build 1.2.2 (python -m build --version) results in the following warning:

/usr/lib/python3.13/site-packages/setuptools/command/build_py.py:212: _Warning: Package 'labgrid.remote.proto' is absent from the `packages` configuration.
!!

        ********************************************************************************
        ############################
        # Package would be ignored #
        ############################
        Python recognizes 'labgrid.remote.proto' as an importable package[^1],
        but it is absent from setuptools' `packages` configuration.

        This leads to an ambiguous overall configuration. If you want to distribute this
        package, please make sure that 'labgrid.remote.proto' is explicitly added
        to the `packages` configuration field.

        Alternatively, you can also rely on setuptools' discovery methods
        (for example by using `find_namespace_packages(...)`/`find_namespace:`
        instead of `find_packages(...)`/`find:`).

        You can read more about "package discovery" on setuptools documentation page:

        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html

        If you don't want 'labgrid.remote.proto' to be distributed and are
        already explicitly excluding 'labgrid.remote.proto' via
        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
        you can try to use `exclude_package_data`, or `include-package-data=False` in
        combination with a more fine grained `package-data` configuration.

        You can read more about "package data files" on setuptools documentation page:

        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html


        [^1]: For Python, any directory (with suitable naming) can be imported,
              even if it does not contain any `.py` files.
              On the other hand, currently there is no concept of package data
              directory, all directories are treated like packages.
        ********************************************************************************

!!
  check.warn(importable)

While I'm not that familar with python packaging, I understand this warning as to either add the package, if the file is required at runtime or to use include-package-data=False to ignore the proto file in the directory.

@Emantor
Copy link
Member

Emantor commented Mar 3, 2025

We need to revisit the grpc generation either way since we currently commit generated files into the repository. Ideally we would have grpc-tools as a build time dependency and generate them during installation. This is related since labgrid.remote.proto only contains the .proto definition file for gRPC.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants