gopidesupavan commented on code in PR #47798:
URL: https://github.com/apache/airflow/pull/47798#discussion_r2006611969


##########
airflow-core/pyproject.toml:
##########
@@ -0,0 +1,308 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+[build-system]
+requires = [
+    "GitPython==3.1.44",
+    "gitdb==4.0.12",
+    "hatchling==1.27.0",
+    "packaging==24.2",
+    "pathspec==0.12.1",
+    "pluggy==1.5.0",
+    "smmap==5.0.2",
+    "tomli==2.2.1; python_version < '3.11'",
+    "trove-classifiers==2025.3.13.13",
+]
+build-backend = "hatchling.build"
+
+
+[project]
+name = "apache-airflow-core"
+description = "Core packages for Apache Airflow, schedule and API server"
+readme = { file = "README.md", content-type = "text/markdown" }
+license-files.globs = ["LICENSE", "3rd-party-licenses/*.txt", "NOTICE"]
+requires-python = "~=3.9,<3.13"
+authors = [
+    { name = "Apache Software Foundation", email = "[email protected]" },
+]
+maintainers = [
+    { name = "Apache Software Foundation", email="[email protected]" },
+]
+keywords = [ "airflow", "orchestration", "workflow", "dag", "pipelines", 
"automation", "data" ]
+classifiers = [
+    "Development Status :: 5 - Production/Stable",
+    "Environment :: Console",
+    "Environment :: Web Environment",
+    "Framework :: Apache Airflow",
+    "Intended Audience :: Developers",
+    "Intended Audience :: System Administrators",
+    "License :: OSI Approved :: Apache Software License",
+    "Programming Language :: Python :: 3.9",
+    "Programming Language :: Python :: 3.10",
+    "Programming Language :: Python :: 3.11",
+    "Programming Language :: Python :: 3.12",
+    "Topic :: System :: Monitoring",
+]
+
+dynamic = ["version"]
+
+dependencies = [
+    "a2wsgi>=1.10.8",
+    # Alembic is important to handle our migrations in predictable and 
performant way. It is developed
+    # together with SQLAlchemy. Our experience with Alembic is that it very 
stable in minor version
+    # The 1.13.0 of alembic marked some migration code as SQLAlchemy 2+ only 
so we limit it to 1.13.1
+    "alembic>=1.13.1, <2.0",
+    "argcomplete>=1.10",
+    "asgiref>=2.3.0",
+    "attrs>=22.1.0, !=25.2.0",
+    # Blinker use for signals in Flask, this is an optional dependency in 
Flask 2.2 and lower.
+    # In Flask 2.3 it becomes a mandatory dependency, and flask signals are 
always available.
+    "blinker>=1.6.2",
+    "cadwyn>=5.1.2",
+    "colorlog>=6.8.2",
+    "configupdater>=3.1.1",
+    "cron-descriptor>=1.2.24",
+    "croniter>=2.0.2",
+    "cryptography>=41.0.0",
+    "deprecated>=1.2.13",
+    "dill>=0.2.2",
+    # Required for python 3.9 to work with new annotations styles. Check 
package
+    # description on PyPI for more details: 
https://pypi.org/project/eval-type-backport/
+    'eval-type-backport>=0.2.0;python_version<"3.10"',
+    # 0.115.10 fastapi was a bad release that broke our API's and static 
checks.
+    # Related fastapi issue here: 
https://github.com/fastapi/fastapi/discussions/13431
+    "fastapi[standard]>=0.112.4,!=0.115.10",
+    "flask-caching>=2.0.0",
+    # Flask-Session 0.6 add new arguments into the SqlAlchemySessionInterface 
constructor as well as
+    # all parameters now are mandatory which make 
AirflowDatabaseSessionInterface incompatible with this version.
+    "flask-session>=0.4.0,<0.6",
+    "flask-wtf>=1.1.0",
+    # Flask 2.3 is scheduled to introduce a number of deprecation removals - 
some of them might be breaking
+    # for our dependencies - notably `_app_ctx_stack` and `_request_ctx_stack` 
removals.
+    # We should remove the limitation after 2.3 is released and our 
dependencies are updated to handle it
+    "flask>=2.2.1,<2.3",
+    "fsspec>=2023.10.0",
+    "gitpython>=3.1.40",
+    "gunicorn>=20.1.0",
+    "httpx>=0.25.0",
+    'importlib_metadata>=6.5;python_version<"3.12"',
+    "itsdangerous>=2.0",
+    "jinja2>=3.0.0",
+    "jsonschema>=4.18.0",
+    "lazy-object-proxy>=1.2.0",
+    "libcst >=1.1.0",
+    "linkify-it-py>=2.0.0",
+    "lockfile>=0.12.2",
+    "markdown-it-py>=2.1.0",
+    "markupsafe>=1.1.1",
+    "marshmallow-oneofschema>=2.0.1",
+    "mdit-py-plugins>=0.3.0",
+    "methodtools>=0.4.7",
+    "opentelemetry-api>=1.24.0",
+    "opentelemetry-exporter-otlp>=1.24.0",
+    "packaging>=23.2",
+    "pathspec>=0.9.0",
+    'pendulum>=2.1.2,<4.0;python_version<"3.12"',
+    'pendulum>=3.0.0,<4.0;python_version>="3.12"',
+    "pluggy>=1.5.0",
+    "psutil>=5.8.0",
+    "pydantic>=2.10.2",
+    # Pygments 2.19.0 improperly renders .ini files with dictionaries as values
+    # See https://github.com/pygments/pygments/issues/2834
+    "pygments>=2.0.1,!=2.19.0",
+    "pyjwt>=2.10.0",
+    "python-daemon>=3.0.0",
+    "python-dateutil>=2.7.0",
+    "python-nvd3>=0.15.0",
+    "python-slugify>=5.0",
+    # Requests 3 if it will be released, will be heavily breaking.
+    "requests>=2.27.0,<3",
+    "requests-toolbelt>=1.0.0",
+    "rfc3339-validator>=0.1.4",
+    "rich-argparse>=1.0.0",
+    "rich>=13.1.0",
+    "setproctitle>=1.3.3",
+    # We use some deprecated features of sqlalchemy 2.0 and we should replace 
them before we can upgrade
+    # See https://sqlalche.me/e/b8d9 for details of deprecated features
+    # you can set environment variable SQLALCHEMY_WARN_20=1 to show all 
deprecation warnings.
+    # The issue tracking it is https://github.com/apache/airflow/issues/28723
+    "sqlalchemy>=1.4.49,<2.0",
+    "sqlalchemy-jsonfield>=1.0",
+    "sqlalchemy-utils>=0.41.2",
+    "svcs>=25.1.0",
+    "tabulate>=0.7.5",
+    "tenacity>=8.0.0,!=8.2.0",
+    "termcolor>=2.5.0",
+    # Universal Pathlib 0.2.4 adds extra validation for Paths and our 
integration with local file paths
+    # Does not work with it Tracked in 
https://github.com/fsspec/universal_pathlib/issues/276
+    "universal-pathlib>=0.2.2,!=0.2.4",
+    "uuid6>=2024.7.10",
+    # Werkzug 3 breaks Flask-Login 0.6.2
+    # we should remove this limitation when FAB supports Flask 2.3
+    "werkzeug>=2.0,<3",
+]
+
+
+[project.optional-dependencies]
+# Aiobotocore required for AWS deferrable operators.
+# There is conflict between boto3 and aiobotocore dependency botocore.
+# TODO: We can remove it once boto3 and aiobotocore both have compatible 
botocore version or
+# boto3 have native aync support and we move away from aio aiobotocore
+"aiobotocore" =  [
+    "aiobotocore>=2.9.0",
+]
+"async" = [
+    "eventlet>=0.33.3",
+    "gevent>=0.13",
+    "greenlet>=0.4.9",
+]
+"apache-atlas" = [
+    "atlasclient>=0.1.2",
+]
+"apache-webhdfs" = [
+    "hdfs[avro,dataframe,kerberos]>=2.0.4",
+]
+"cgroups" = [
+    "cgroupspy>=0.2.2",
+]
+"cloudpickle" = [
+    # Latest version of apache-beam requires cloudpickle~=2.2.1
+    "cloudpickle>=2.2.1",
+]
+"github-enterprise" = [
+    "apache-airflow-providers-fab",
+    "authlib>=1.0.0",
+]
+"google-auth" = [
+    "apache-airflow-providers-fab",
+    "authlib>=1.0.0",
+]
+"graphviz" = [
+    # The graphviz package creates friction when installing on MacOS as it 
needs graphviz system package to
+    # be installed, and it's really only used for very obscure features of 
Airflow, so we can skip it on MacOS
+    # Instead, if someone attempts to use it on MacOS, they will get 
explanatory error on how to install it
+    "graphviz>=0.12; sys_platform != 'darwin'",
+]
+"kerberos"  = [
+    "pykerberos>=1.1.13",
+    "requests-kerberos>=0.10.0",
+    "thrift-sasl>=0.2.0",
+]
+"ldap" = [
+    "python-ldap>=3.4.4",
+]
+"leveldb" = [
+    # The plyvel package is a huge pain when installing on MacOS - especially 
when Apple releases new
+    # OS version. It's usually next to impossible to install it at least for a 
few months after the new
+    # MacOS version is released. We can skip it on MacOS as this is an 
optional feature anyway.
+    "plyvel>=1.5.1; sys_platform != 'darwin'",
+]
+"otel" = [
+    "opentelemetry-exporter-prometheus>=0.47b0",
+]
+
+"pandas" = [
+    # In pandas 2.2 minimal version of the sqlalchemy is 2.0
+    # 
https://pandas.pydata.org/docs/whatsnew/v2.2.0.html#increased-minimum-versions-for-dependencies
+    # However Airflow not fully supports it yet: 
https://github.com/apache/airflow/issues/28723
+    # In addition FAB also limit sqlalchemy to < 2.0
+    "pandas>=1.2.5,<2.2",
+]
+"password" = [
+    "bcrypt>=2.0.0",
+    "flask-bcrypt>=0.7.1",
+]
+"rabbitmq" = [
+    "amqp>=5.2.0",
+]
+"s3fs" = [
+    # This is required for support of S3 file system which uses aiobotocore
+    # which can have a conflict with boto3 as mentioned in aiobotocore extra
+    "s3fs>=2023.10.0",
+]
+"sentry" = [
+    "blinker>=1.1",
+    # Sentry SDK 1.33 is broken when greenlets are installed and fails to 
import
+    # See https://github.com/getsentry/sentry-python/issues/2473
+    "sentry-sdk>=1.32.0,!=1.33.0",
+]
+"statsd" = [
+    "statsd>=3.3.0",
+]
+"uv" = [
+    "uv>=0.6.3",
+]
+
+[project.scripts]
+airflow = "airflow.__main__:main"
+
+[project.urls]
+"Bug Tracker" = "https://github.com/apache/airflow/issues";
+Documentation = "https://airflow.apache.org/docs/";
+Downloads = "https://archive.apache.org/dist/airflow/";
+Homepage = "https://airflow.apache.org/";
+"Release Notes" = 
"https://airflow.apache.org/docs/apache-airflow/stable/release_notes.html";
+"Slack Chat" = "https://s.apache.org/airflow-slack";
+"Source Code" = "https://github.com/apache/airflow";
+X = "https://x.com/ApacheAirflow";

Review Comment:
   i think we removed X? 



-- 
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]

Reply via email to