Skip to content
  • Jarek Potiuk's avatar
    243fe86d
    Move airflow sources to airflow-core package (#47798) · 243fe86d
    Jarek Potiuk authored
    This is continuation of the separation of the Airflow codebase into
    separate distributions. This one splits airflow into two of them:
    
    * apache-airflow - becomes an empty, meta no-code distribution that
      only has dependencies to apache-airflow-core and task-sdk
      distributions and it has preinstalled provider distributions
      added in standard "wheel" distribution. All "extras" lead
      either to "apache-airflow-core" extras or to providers - the
      dependencies and optional dependencies are calculated differently
      depending on "editable" or "standard" mode - in editable mode,
      just provider dependencies are installed for preinstalled providers
      in standard mode - those preinstalled providers are dependencies.
    
    * the apache-airflow-core distribution contains all airflow core
      sources (previously in apache-airflow) and it has no provider
      extras. Thanks to that apache-airflow distribution does not
      have any dynamically calculated dependencies.
    
    * the apache-airflow-core distribution hs "hatch_build_airflow_core.py"
      build hooks that add custom build target and implement custom
      cleanup in order to implement compiling assets as part of the build.
    
    * During the move, the following changes were applied for consistency:
    
      * packages when used in context of distribution packages have been
        renamed to "distributions" - including all documentations and
        commands in breeze to void confusion with import packages
        (see
    https://packaging.python.org/en/latest/discussions/distribution-package-vs-import-package/)
    
      * all tests in `airflow-core` follow now the same convention
        where tests are in `unit`, `system` and `integration` package.
        no extra package has been as second level, because all the
        provider tests have "<PROVIDER>" there, so we just have to avoid
        naming airflow unit."<PROVIDER>" with the same name as provider.
    
      * all tooling in CI/DEV have been updated to follow the new
        structure. We should always build to packages now when we
        are building them using `breeze`.
    243fe86d
    Move airflow sources to airflow-core package (#47798)
    Jarek Potiuk authored
    This is continuation of the separation of the Airflow codebase into
    separate distributions. This one splits airflow into two of them:
    
    * apache-airflow - becomes an empty, meta no-code distribution that
      only has dependencies to apache-airflow-core and task-sdk
      distributions and it has preinstalled provider distributions
      added in standard "wheel" distribution. All "extras" lead
      either to "apache-airflow-core" extras or to providers - the
      dependencies and optional dependencies are calculated differently
      depending on "editable" or "standard" mode - in editable mode,
      just provider dependencies are installed for preinstalled providers
      in standard mode - those preinstalled providers are dependencies.
    
    * the apache-airflow-core distribution contains all airflow core
      sources (previously in apache-airflow) and it has no provider
      extras. Thanks to that apache-airflow distribution does not
      have any dynamically calculated dependencies.
    
    * the apache-airflow-core distribution hs "hatch_build_airflow_core.py"
      build hooks that add custom build target and implement custom
      cleanup in order to implement compiling assets as part of the build.
    
    * During the move, the following changes were applied for consistency:
    
      * packages when used in context of distribution packages have been
        renamed to "distributions" - including all documentations and
        commands in breeze to void confusion with import packages
        (see
    https://packaging.python.org/en/latest/discussions/distribution-package-vs-import-package/)
    
      * all tests in `airflow-core` follow now the same convention
        where tests are in `unit`, `system` and `integration` package.
        no extra package has been as second level, because all the
        provider tests have "<PROVIDER>" there, so we just have to avoid
        naming airflow unit."<PROVIDER>" with the same name as provider.
    
      * all tooling in CI/DEV have been updated to follow the new
        structure. We should always build to packages now when we
        are building them using `breeze`.
This project is licensed under the Apache License 2.0. Learn more
Loading