| # 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. |
| |
| [metadata] |
| name = apache-airflow |
| summary = Programmatically author, schedule and monitor data pipelines |
| author = Apache Software Foundation |
| author_email = dev@airflow.apache.org |
| url = https://airflow.apache.org/ |
| long_description = file: README.md |
| long_description_content_type = text/markdown |
| license = Apache License 2.0 |
| license_files = |
| LICENSE |
| NOTICE |
| # Start of licenses generated automatically |
| licenses/LICENSE-bootstrap.txt |
| licenses/LICENSE-bootstrap3-typeahead.txt |
| licenses/LICENSE-d3-shape.txt |
| licenses/LICENSE-d3-tip.txt |
| licenses/LICENSE-d3js.txt |
| licenses/LICENSE-dagre-d3.txt |
| licenses/LICENSE-datatables.txt |
| licenses/LICENSE-elasticmock.txt |
| licenses/LICENSE-eonasdan-bootstrap-datetimepicker.txt |
| licenses/LICENSE-flask-kerberos.txt |
| licenses/LICENSE-hue.txt |
| licenses/LICENSE-jqclock.txt |
| licenses/LICENSE-jquery.txt |
| licenses/LICENSE-moment-strftime.txt |
| licenses/LICENSE-moment.txt |
| licenses/LICENSE-normalize.txt |
| # End of licences generated automatically |
| licenses/LICENSES-ui.txt |
| classifiers = |
| Development Status :: 5 - Production/Stable |
| Environment :: Console |
| Environment :: Web Environment |
| Intended Audience :: Developers |
| Intended Audience :: System Administrators |
| License :: OSI Approved :: Apache Software License |
| Programming Language :: Python :: 3.7 |
| Programming Language :: Python :: 3.8 |
| Programming Language :: Python :: 3.9 |
| Programming Language :: Python :: 3.10 |
| Topic :: System :: Monitoring |
| Framework :: Apache Airflow |
| project_urls = |
| Documentation=https://airflow.apache.org/docs/ |
| 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/ |
| |
| [options] |
| zip_safe = False |
| include_package_data = True |
| python_requires = ~=3.7 |
| packages = find: |
| setup_requires = |
| gitpython |
| wheel |
| ##################################################################################################### |
| # IMPORTANT NOTE!!!!!!!!!!!!!!! |
| # IF you are removing dependencies from this list, please make sure that you also increase |
| # DEPENDENCIES_EPOCH_NUMBER in the Dockerfile.ci |
| ##################################################################################################### |
| install_requires = |
| # 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 |
| alembic>=1.5.1, <2.0 |
| argcomplete>=1.10 |
| # We limit the version of attrs to work with the old version of cattrs |
| attrs>=20.0,<21.0 |
| blinker |
| cached_property>=1.5.0;python_version<="3.7" |
| # Cattrs upgrades were known to break lineage https://github.com/apache/airflow/issues/16172 |
| # TODO: Cattrs is now at 3.8 version so we should attempt to upgrade cattrs soon. |
| cattrs~=1.1, !=1.7.* |
| # Colorlog 6.x merges TTYColoredFormatter into ColoredFormatter, breaking backwards compatibility with 4.x |
| # Update CustomTTYColoredFormatter to remove |
| colorlog>=4.0.2, <5.0 |
| connexion[swagger-ui,flask]>=2.10.0 |
| cron-descriptor>=1.2.24 |
| croniter>=0.3.17 |
| cryptography>=0.9.3 |
| deprecated>=1.2.13 |
| dill>=0.2.2 |
| flask>=2.0 |
| # We are tightly coupled with FAB version because we vendored in part of FAB code related to security manager |
| # This is done as part of preparation to removing FAB as dependency, but we are not ready for it yet |
| # Every time we update FAB version here, please make sure that you review the classes and models in |
| # `airflow/www/fab_security` with their upstream counterparts. In particular, make sure any breaking changes, |
| # for example any new methods, are accounted for. |
| flask-appbuilder==4.1.3 |
| flask-caching>=1.5.0 |
| flask-login>=0.5 |
| flask-session>=0.4.0 |
| flask-wtf>=0.15 |
| graphviz>=0.12 |
| gunicorn>=20.1.0 |
| httpx |
| importlib_metadata>=1.7;python_version<"3.9" |
| importlib_resources>=5.2;python_version<"3.9" |
| itsdangerous>=2.0 |
| jinja2>=2.10.1 |
| jsonschema>=3.2.0 |
| lazy-object-proxy |
| linkify-it-py>=2.0.0 |
| lockfile>=0.12.2 |
| markdown>=3.0 |
| markdown-it-py>=2.1.0 |
| markupsafe>=1.1.1 |
| marshmallow-oneofschema>=2.0.1 |
| mdit-py-plugins>=0.3.0 |
| packaging>=14.0 |
| pathspec~=0.9.0 |
| pendulum>=2.0 |
| pluggy>=1.0 |
| psutil>=4.2.0 |
| pygments>=2.0.1 |
| pyjwt>=2.0.0 |
| python-daemon>=2.2.4 |
| python-dateutil>=2.3 |
| python-nvd3>=0.15.0 |
| python-slugify>=5.0 |
| rich>=12.4.4 |
| rich-click>=1.3.1 |
| setproctitle>=1.1.8 |
| sqlalchemy>=1.4 |
| sqlalchemy_jsonfield>=1.0 |
| tabulate>=0.7.5 |
| tenacity>=6.2.0 |
| termcolor>=1.1.0 |
| typing-extensions>=3.7.4 |
| unicodecsv>=0.14.1 |
| werkzeug>=2.0 |
| |
| [options.packages.find] |
| include = |
| airflow* |
| |
| [options.package_data] |
| airflow= |
| py.typed |
| alembic.ini |
| git_version |
| customized_form_field_behaviours.schema.json |
| provider_info.schema.json |
| |
| airflow.api_connexion.openapi=*.yaml |
| airflow.serialization=*.json |
| airflow.utils= |
| context.pyi |
| |
| [options.data_files] |
| generated= |
| generated/provider_dependencies.json |
| |
| [options.entry_points] |
| console_scripts= |
| airflow=airflow.__main__:main |
| airflow-ng=airflow.cli.__main__:airflow_cmd |
| |
| [bdist_wheel] |
| python-tag=py3 |
| |
| |
| [files] |
| packages = airflow |
| |
| [easy_install] |
| |
| [mypy] |
| ignore_missing_imports = True |
| no_implicit_optional = True |
| warn_redundant_casts = True |
| warn_unused_ignores = False |
| plugins = |
| airflow.mypy.plugin.decorators |
| pretty = True |
| show_error_codes = True |
| |
| [mypy-airflow.migrations.*] |
| ignore_errors = True |
| |
| # Let's assume all google.cloud packages have no implicit optional |
| # Most of them don't but even if they do, it does not matter |
| [mypy-google.cloud.*] |
| no_implicit_optional = False |
| |
| [isort] |
| line_length=110 |
| combine_as_imports = true |
| default_section = THIRDPARTY |
| known_first_party=airflow,airflow_breeze,tests,docs |
| # Need to be consistent with the exclude config defined in pre-commit-config.yaml |
| skip=build,.tox,venv |
| profile = black |