Skip to content

Deprecation warnings when building #220

@grawlinson

Description

@grawlinson

Describe the bug

context
Package maintainer from Arch Linux here, when building from source, setuptools emits some deprecation warnings.

expectation
I expected no warnings to occur.

bug
But instead warnings are emitted
Here's an error message I ran into...

* Building wheel...
/usr/lib/python3.14/site-packages/setuptools/dist.py:765: SetuptoolsDeprecationWarning: License classifiers are deprecated.
!!

        ********************************************************************************
        Please consider removing the following classifiers in favor of a SPDX license expression:

        License :: OSI Approved :: MIT License

        See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
        ********************************************************************************

!!
  self._finalize_license_expression()

<snip>

/usr/lib/python3.14/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'sphinx_tabs.static' is absent from the `packages` configuration.
!!

        ********************************************************************************
        ############################
        # Package would be ignored #
        ############################
        Python recognizes 'sphinx_tabs.static' 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 'sphinx_tabs.static' 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 'sphinx_tabs.static' to be distributed and are
        already explicitly excluding 'sphinx_tabs.static' 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.
        ********************************************************************************

!!

problem
This is a problem for people doing distribution packaging because at some point in the future, setuptools will deprecate/change behaviour.

Reproduce the bug

  1. Use a recent version of setuptools (tested with 82) and build a wheel/sdist/whatever.
  2. See warnings.
  3. Go and get a coffee.

List your environment

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions