What do you see as an issue?
Hey! Airflow user here. The quick start page is the most important documentation page of any project, and Airflow's needs some love. I'm volunteering to fix it, this issue will document some of my changes.
A quick start page is reflects the bare minimum required to install the project and get it running. See, for example, pandas, numpy, or jupyter. There is no discussion of versions or extras or pinned dependencies. That goes somewhere else.
Specific Issues:
- Grammar: "methods is" should be "methods are".
- the "` or ``uv``" in the source file appears to be missing here, for reasons I don't understand.
- The install command should be a copyable code block.
- Beginners do not usually understand
[EXTRAS]. They don't know that EXTRAS needs to be replaced with real values, and this page does not explain that the options are any of async, graphviz, kerberos, memray, gunicorn, otel, statsd or all. One could define a bash variable earlier in the code block called EXTRAS and refer to it here as $EXTRAS, but that is seriously overkill for a quick start page. A simple list will do, if you mention it at all.
- Someone visiting the quick start page wants the most recent airflow version. If they wanted something else, they would be on a different page. Also, it's not clear to some users that AIRFLOW_VERSION needs to be replaced. It isn't wrapped in
<THE_REGULAR_SYNTAX> for a required replacement or set as a $VARIABLE. Like EXTRAS, this is a potential stumbling block. A simple pip install apache-airflow will download the most recent version by default. Requiring a pin here for the quick start page increases documentation maintenance surface area and makes life difficult for first timers (for little benefit).
--constraint is an uncommon flag, I have never seen it in any other project's quick start page. Discussion of reproducible builds probably belongs elsewhere, like the more detailed installation page. Generally speaking, all of the dependencies you need to get started should be in the pyproject.toml or requirements.txt.
- See 5.
- See 5 about variable syntax. If Airflow is going to tell people to reference PYTHON_VERSION on the quick start page, it might as well show them how to get it right up front, so people with less experience don't have to leave the page.
- This example is for an outdated version of Airflow, which, as discussed, is probably not what people want to install when they visit a quick start page. I think a project should generally avoid this. See 5.
- Discussion of how to use unsupported tools should probably be in a distinct section, and maybe not on the quick start page.
- "convert these pins to whatever appropriate workflow and tool your project requires" is not quick start instructions.
- (not labled) Calling out "just add
uv to the beginning of the command" is almost certainly going to be missed by most users. Most people will be skimming for a code block. numpy handles this by providing both commands explicitly.
- (not labeled) Everything beneath this screenshot belongs in the more detailed installation page. Steps 4 and 5 can stay in the quick start page. Maybe a test command can stay too.
- (not labeled) Python version compatibility goes in a full matrix in the main install page.
Solving the problem
Move the existing documentation to a more detailed install page and replace this entire page with something far simpler.
Anything else
No response
Are you willing to submit PR?
Code of Conduct
What do you see as an issue?
Hey! Airflow user here. The quick start page is the most important documentation page of any project, and Airflow's needs some love. I'm volunteering to fix it, this issue will document some of my changes.
A quick start page is reflects the bare minimum required to install the project and get it running. See, for example, pandas, numpy, or jupyter. There is no discussion of versions or extras or pinned dependencies. That goes somewhere else.
Specific Issues:
[EXTRAS]. They don't know thatEXTRASneeds to be replaced with real values, and this page does not explain that the options are any ofasync, graphviz, kerberos, memray, gunicorn, otel, statsdorall. One could define a bash variable earlier in the code block calledEXTRASand refer to it here as$EXTRAS, but that is seriously overkill for a quick start page. A simple list will do, if you mention it at all.<THE_REGULAR_SYNTAX>for a required replacement or set as a$VARIABLE. Like EXTRAS, this is a potential stumbling block. A simplepip install apache-airflowwill download the most recent version by default. Requiring a pin here for the quick start page increases documentation maintenance surface area and makes life difficult for first timers (for little benefit).--constraintis an uncommon flag, I have never seen it in any other project's quick start page. Discussion of reproducible builds probably belongs elsewhere, like the more detailed installation page. Generally speaking, all of the dependencies you need to get started should be in thepyproject.tomlorrequirements.txt.uvto the beginning of the command" is almost certainly going to be missed by most users. Most people will be skimming for a code block.numpyhandles this by providing both commands explicitly.Solving the problem
Move the existing documentation to a more detailed install page and replace this entire page with something far simpler.
Anything else
No response
Are you willing to submit PR?
Code of Conduct