Taragolis commented on PR #34014: URL: https://github.com/apache/airflow/pull/34014#issuecomment-1703849779
My investigation. After I add version and name into the `pyproject.toml` it break our `breeze release-management prepare-provider-packages --version-suffix-for-pypi dev0 --package-format wheel` and maybe other, in this case we only build `apache-airflow` package which include provider content within it  <details> <summary>And also we have extra warnings / errors (under the spoiler)</summary> ```console ########## Prepare provider package for 'airbyte' ########## Changing directory to /opt/airflow/provider_packages Building provider package: airbyte in format wheel Executing command: 'python3 setup.py build --build-temp /tmp/tmpu10af4vn egg_info --tag-build dev0 bdist_wheel --bdist-dir /tmp/tmpod49imhc' /usr/local/lib/python3.8/site-packages/setuptools/config/_apply_pyprojecttoml.py:103: _WouldIgnoreField: 'description' defined outside of `pyproject.toml` would be ignored. !! ########################################################################## # configuration would be ignored/result in error due to `pyproject.toml` # ########################################################################## The following seems to be defined outside of `pyproject.toml`: `description = 'Provider for Apache Airflow. Implements apache-airflow-providers-influxdb package'` According to the spec (see the link below), however, setuptools CANNOT consider this value unless 'description' is listed as `dynamic`. https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ For the time being, `setuptools` will still consider the given value (as a **transitional** measure), but please note that future releases of setuptools will follow strictly the standard. To prevent this warning, you can list 'description' under `dynamic` or alternatively remove the `[project]` table from your file and rely entirely on other means of configuration. !! warnings.warn(msg, _WouldIgnoreField) /usr/local/lib/python3.8/site-packages/setuptools/config/_apply_pyprojecttoml.py:103: _WouldIgnoreField: 'readme' defined outside of `pyproject.toml` would be ignored. !! ########################################################################## # configuration would be ignored/result in error due to `pyproject.toml` # ########################################################################## The following seems to be defined outside of `pyproject.toml`: `readme = '\n.. Licensed to the Apache Software Foundation (ASF) under one\n or more contributor license agreements. See the NOTICE file\n distributed with this work for additional information\n regarding copyright ownership. The ASF licenses this file\n to you under the Apache License, Version 2.0 (the\n "License"); you may not use this file except in compliance\n with the License. You may obtain a copy of the License at\n\n.. http://www.apache.org/licenses/LICENSE-2.0\n\n.. Unless required by applicable law or agreed to in writing,\n software distributed under the License is distributed on an\n "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n KIND, either express or implied. See the License for the\n specific language governing permissions and limitations\n under the License.\n\n .. Licensed to the Apache Software Foundation (ASF) under one\n or more contributor license agreements. See the NOTICE file\n distributed with this work fo r additional information\n regarding copyright ownership. The ASF licenses this file\n to you under the Apache License, Version 2.0 (the\n "License"); you may not use this file except in compliance\n with the License. You may obtain a copy of the License at\n\n .. http://www.apache.org/licenses/LICENSE-2.0\n\n .. Unless required by applicable law or agreed to in writing,\n software distributed under the License is distributed on an\n "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n KIND, either express or implied. See the License for the\n specific language governing permissions and limitations\n under the License.\n\n\nPackage ``apache-airflow-providers-influxdb``\n\nRelease: ``2.2.2dev0``\n\n\n`InfluxDB <https://www.influxdata.com/>`__\n\n\nProvider package\n----------------\n\nThis is a provider package for ``influxdb`` provider. All classes for this provider package\nare in ``airflow.providers.influxdb`` python package.\n\nYou can find pac kage information and changelog for the provider\nin the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-influxdb/2.2.2/>`_.\n\n\nInstallation\n------------\n\nYou can install this package on top of an existing Airflow 2 installation (see ``Requirements`` below\nfor the minimum Airflow version supported) via\n``pip install apache-airflow-providers-influxdb``\n\nThe package supports the following python versions: 3.8,3.9,3.10,3.11\n\nRequirements\n------------\n\n=================== ==================\nPIP package Version required\n=================== ==================\n``apache-airflow`` ``>=2.4.0``\n``influxdb-client`` ``>=1.19.0``\n``requests`` ``>=2.26.0``\n=================== ==================\n\nThe changelog for the provider package can be found in the\n`changelog <https://airflow.apache.org/docs/apache-airflow-providers-influxdb/2.2.2/changelog.html>`_.'` According to the spec (see the link below), however, setuptools CANNOT consider this value unless 'readme' is listed as `dynamic`. https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ For the time being, `setuptools` will still consider the given value (as a **transitional** measure), but please note that future releases of setuptools will follow strictly the standard. To prevent this warning, you can list 'readme' under `dynamic` or alternatively remove the `[project]` table from your file and rely entirely on other means of configuration. !! warnings.warn(msg, _WouldIgnoreField) /usr/local/lib/python3.8/site-packages/setuptools/config/_apply_pyprojecttoml.py:103: _WouldIgnoreField: 'license' defined outside of `pyproject.toml` would be ignored. !! ########################################################################## # configuration would be ignored/result in error due to `pyproject.toml` # ########################################################################## The following seems to be defined outside of `pyproject.toml`: `license = 'Apache License 2.0'` According to the spec (see the link below), however, setuptools CANNOT consider this value unless 'license' is listed as `dynamic`. https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ For the time being, `setuptools` will still consider the given value (as a **transitional** measure), but please note that future releases of setuptools will follow strictly the standard. To prevent this warning, you can list 'license' under `dynamic` or alternatively remove the `[project]` table from your file and rely entirely on other means of configuration. !! warnings.warn(msg, _WouldIgnoreField) /usr/local/lib/python3.8/site-packages/setuptools/config/_apply_pyprojecttoml.py:103: _WouldIgnoreField: 'authors' defined outside of `pyproject.toml` would be ignored. !! ########################################################################## # configuration would be ignored/result in error due to `pyproject.toml` # ########################################################################## The following seems to be defined outside of `pyproject.toml`: `authors = 'Apache Software Foundation'` According to the spec (see the link below), however, setuptools CANNOT consider this value unless 'authors' is listed as `dynamic`. https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ For the time being, `setuptools` will still consider the given value (as a **transitional** measure), but please note that future releases of setuptools will follow strictly the standard. To prevent this warning, you can list 'authors' under `dynamic` or alternatively remove the `[project]` table from your file and rely entirely on other means of configuration. !! warnings.warn(msg, _WouldIgnoreField) /usr/local/lib/python3.8/site-packages/setuptools/config/_apply_pyprojecttoml.py:103: _WouldIgnoreField: 'classifiers' defined outside of `pyproject.toml` would be ignored. !! ########################################################################## # configuration would be ignored/result in error due to `pyproject.toml` # ########################################################################## The following seems to be defined outside of `pyproject.toml`: `classifiers = ['Development Status :: 5 - Production/Stable', 'Environment :: Console', 'Environment :: Web Environment', 'Intended Audience :: Developers', 'Intended Audience :: System Administrators', 'Framework :: Apache Airflow', 'Framework :: Apache Airflow :: Provider', 'License :: OSI Approved :: Apache Software License', 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9', 'Programming Language :: Python :: 3.10', 'Programming Language :: Python :: 3.11', 'Topic :: System :: Monitoring']` According to the spec (see the link below), however, setuptools CANNOT consider this value unless 'classifiers' is listed as `dynamic`. https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ For the time being, `setuptools` will still consider the given value (as a **transitional** measure), but please note that future releases of setuptools will follow strictly the standard. To prevent this warning, you can list 'classifiers' under `dynamic` or alternatively remove the `[project]` table from your file and rely entirely on other means of configuration. !! warnings.warn(msg, _WouldIgnoreField) /usr/local/lib/python3.8/site-packages/setuptools/config/_apply_pyprojecttoml.py:103: _WouldIgnoreField: 'urls' defined outside of `pyproject.toml` would be ignored. !! ########################################################################## # configuration would be ignored/result in error due to `pyproject.toml` # ########################################################################## The following seems to be defined outside of `pyproject.toml`: `urls = {'Documentation': 'https://airflow.apache.org/docs/apache-airflow-providers-influxdb/2.2.2/', 'Changelog': 'https://airflow.apache.org/docs/apache-airflow-providers-influxdb/2.2.2/changelog.html', 'Bug Tracker': 'https://github.com/apache/airflow/issues', 'Source Code': 'https://github.com/apache/airflow', 'Slack Chat': 'https://s.apache.org/airflow-slack', 'Twitter': 'https://twitter.com/ApacheAirflow', 'YouTube': 'https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/'}` According to the spec (see the link below), however, setuptools CANNOT consider this value unless 'urls' is listed as `dynamic`. https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ For the time being, `setuptools` will still consider the given value (as a **transitional** measure), but please note that future releases of setuptools will follow strictly the standard. To prevent this warning, you can list 'urls' under `dynamic` or alternatively remove the `[project]` table from your file and rely entirely on other means of configuration. !! warnings.warn(msg, _WouldIgnoreField) /usr/local/lib/python3.8/site-packages/setuptools/config/_apply_pyprojecttoml.py:103: _WouldIgnoreField: 'entry-points' defined outside of `pyproject.toml` would be ignored. !! ########################################################################## # configuration would be ignored/result in error due to `pyproject.toml` # ########################################################################## The following seems to be defined outside of `pyproject.toml`: `entry-points = {'apache_airflow_provider': ['provider_info=airflow.providers.influxdb.get_provider_info:get_provider_info']}` According to the spec (see the link below), however, setuptools CANNOT consider this value unless 'entry-points' is listed as `dynamic`. https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ For the time being, `setuptools` will still consider the given value (as a **transitional** measure), but please note that future releases of setuptools will follow strictly the standard. To prevent this warning, you can list 'entry-points' under `dynamic` or alternatively remove the `[project]` table from your file and rely entirely on other means of configuration. !! warnings.warn(msg, _WouldIgnoreField) /usr/local/lib/python3.8/site-packages/setuptools/config/_apply_pyprojecttoml.py:103: _WouldIgnoreField: 'optional-dependencies' defined outside of `pyproject.toml` would be ignored. !! ########################################################################## # configuration would be ignored/result in error due to `pyproject.toml` # ########################################################################## The following seems to be defined outside of `pyproject.toml`: `optional-dependencies = {'http': ['apache-airflow-providers-http']}` According to the spec (see the link below), however, setuptools CANNOT consider this value unless 'optional-dependencies' is listed as `dynamic`. https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ For the time being, `setuptools` will still consider the given value (as a **transitional** measure), but please note that future releases of setuptools will follow strictly the standard. To prevent this warning, you can list 'optional-dependencies' under `dynamic` or alternatively remove the `[project]` table from your file and rely entirely on other means of configuration. !! warnings.warn(msg, _WouldIgnoreField) warning: no files found matching 'CHANGELOG.rst' warning: no previously-included files matching '__pycache__' found anywhere in distribution warning: no previously-included files matching '*.pyc' found anywhere in distribution warning: build_py: byte-compiling is disabled, skipping. /usr/local/lib/python3.8/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools. warnings.warn( warning: install_lib: 'build/lib' does not exist -- no Python modules to install error: [Errno 2] No such file or directory: 'apache_airflow.egg-info' The command returned an error %s Command '['python3', 'setup.py', 'build', '--build-temp', '/tmp/tmpu10af4vn', 'egg_info', '--tag-build', 'dev0', 'bdist_wheel', '--bdist-dir', '/tmp/tmpod49imhc']' returned non-zero exit status 1. Error when preparing airbyte package ########## Generate setup files for 'alibaba' ########## ``` </details> --- With current (`main` branch) configuration everything fine except <details> <summary>Warnings about invalid `pyproject.toml`</summary> ```console Executing command: 'python3 setup.py build --build-temp /tmp/tmp63irt8no egg_info --tag-build dev0 bdist_wheel --bdist-dir /tmp/tmp1p0sj695' /usr/local/lib/python3.8/site-packages/setuptools/config/pyprojecttoml.py:129: _InvalidFile: The given `pyproject.toml` file is invalid and would be ignored. !! ############################ # Invalid `pyproject.toml` # ############################ Any configurations in `pyproject.toml` will be ignored. Please note that future releases of setuptools will halt the build process if an invalid file is given. To prevent setuptools from considering `pyproject.toml` please DO NOT include the `[project]` or `[tool.setuptools]` tables in your file. !! if _skip_bad_config(project_table, orig_setuptools_table, dist): warning: no files found matching 'CHANGELOG.rst' warning: no previously-included files matching '__pycache__' found anywhere in distribution warning: no previously-included files matching '*.pyc' found anywhere in distribution warning: build_py: byte-compiling is disabled, skipping. ``` </details> --- If I remove entirely [project] section from `pyproject.toml` then we only got warning about legacy `python -m build setup.py` command ```console Generated regular package setup files for airbyte ########## Prepare provider package for 'airbyte' ########## Changing directory to /opt/airflow/provider_packages Building provider package: airbyte in format wheel Executing command: 'python3 setup.py build --build-temp /tmp/tmp5j_17a3a egg_info --tag-build dev0 bdist_wheel --bdist-dir /tmp/tmpndt3z9s_' warning: no files found matching 'CHANGELOG.rst' warning: no previously-included files matching '__pycache__' found anywhere in distribution warning: no previously-included files matching '*.pyc' found anywhere in distribution warning: build_py: byte-compiling is disabled, skipping. /usr/local/lib/python3.8/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools. warnings.warn( warning: install_lib: byte-compiling is disabled, skipping. Prepared provider package airbyte in format wheel ``` </details> --- So I think that we need remove completely `[project]` section, until we could write correct values in it. It was added during remove Python 3.7 support (https://github.com/apache/airflow/pull/30963) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
