Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clarify that executor interface is public but instances are not #29200

Merged
merged 2 commits into from
Jan 30, 2023

Conversation

dstandish
Copy link
Contributor

:glob:
:maxdepth: 1

_api/airflow/executors/index
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably need to remove this from auto API generation?

/opt/airflow/docs/apache-airflow/_api/airflow/executors/index.rst: WARNING: document isn't included in any toctree

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah. As counter-intuitive as it is, we need to exclude it in docs/conf.py

# A list of patterns to ignore when finding files
autoapi_ignore = [

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Confused, do we not want the executor docs autogenerated? I know we have every executor documented in core-concepts. But, if we tell auto-api to skip it, will the autogen documentation not be rendered at all? I.e. maybe this page will not be generated https://airflow.apache.org/docs/apache-airflow/stable/_api/airflow/executors/index.html ? Is that desirable?

Copy link
Member

@potiuk potiuk Jan 30, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The error means that even if the documentation is autogenerated, there is no link to lead to the document. So it's not discoverable (even if generated). And yeah if we want to keep link to BaseExecutor to work - it will not work to exclude everything from executors/* because the class doc will be missing. I guess better to include the link back (maybe inline it when you talk about the other executors). But ... we do not really want to make K8S executors docstring publicly documented if they are not part of the public interface, do we?

I think that's anoth K8S / Celery other executors will be (possibly?) moved to providers - https://lists.apache.org/thread/kwwhz62lddygodpgr3fk4b9tthtld9do, the problem will be solved (as executors package might only contain BaseExecutor, constants, LocalExecutor, SequentialExecutor etc. or we could even move it out).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I suppose we can just exclude for now in any case.

@dstandish dstandish requested a review from kaxil as a code owner January 30, 2023 18:55
@dstandish dstandish merged commit af0bbe6 into apache:main Jan 30, 2023
@dstandish dstandish deleted the executor-interface-only-is-public branch January 30, 2023 22:42
@pierrejeambrun pierrejeambrun added this to the Airflow 2.5.2 milestone Feb 27, 2023
@pierrejeambrun pierrejeambrun added the type:doc-only Changelog: Doc Only label Feb 27, 2023
pierrejeambrun pushed a commit that referenced this pull request Mar 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants