Remove :type lines now sphinx-autoapi supports typehints - #20951

Merged
potiuk merged 2 commits into
apache:mainfrom
astronomer:doc-types-from-hints
Jan 20, 2022
Merged

Remove :type lines now sphinx-autoapi supports typehints#20951
potiuk merged 2 commits into
apache:mainfrom
astronomer:doc-types-from-hints

Conversation

@ashb

@ashbashb commented Jan 19, 2022

Copy link
Copy Markdown
Member

Since we have no updated sphinx-autoapi to a more recent version it supports showing type hints in the documentation, so we don't need to have the type hints and the :type lines -- which is good, as the ones in the doc strings are easy to get out of date!

The following settings have been set:

  • autodoc_typehints = 'description' -- show types in description (where previous :type used to show up)

  • autodoc_typehints_description_target = 'documented' -- only link to types that are documented. (Without this we have some missing return types that aren't documented, and aren't linked to in our current python API docs, so this caused a build failure)

  • autodoc_typehints_format = 'short' -- Shorten type hints where possible, i.e. StringIO instead of io.StringIO

Before (https://airflow.apache.org/docs/apache-airflow/stable/_api/airflow/models/baseoperator/index.html#airflow.models.baseoperator.BaseOperator)

image

After

image


^ Add meaningful description above

Read the Pull Request Guidelines for more information.
In case of fundamental code change, Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in UPDATING.md.

@boring-cyborgboring-cyborgBot added area:API Airflow's REST/HTTP API area:core-operators provider:cncf-kubernetes Kubernetes (k8s) provider related issues area:lineage area:Scheduler including HA (high availability) scheduler labels Jan 19, 2022
@ashbashb added kind:documentation and removed area:Scheduler including HA (high availability) scheduler area:API Airflow's REST/HTTP API provider:cncf-kubernetes Kubernetes (k8s) provider related issues area:lineage area:core-operators labels Jan 19, 2022
@potiuk

Copy link
Copy Markdown
Member

HELL YEAH!

BTW. I guess the main reason you did it is to finally reach negative net number of lines changed in Airflow ?

@ashb

ashb commented Jan 19, 2022

Copy link
Copy Markdown
MemberAuthor

I mean that was certainly part of the reason. A big part.

It just happens to help that it's also the right thing to do 😁

@github-actions

Copy link
Copy Markdown
Contributor

The PR most likely needs to run full matrix of tests because it modifies parts of the core of Airflow. However, committers might decide to merge it quickly and take the risk. If they don't merge it quickly - please rebase it to the latest main at your convenience, or amend the last commit of the PR, and push it with --force-with-lease.

@github-actionsgithub-actionsBot added the full tests needed We need to run full set of tests for this PR to merge label Jan 19, 2022
@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

Looks like some spelling errors (aka ClassNames) coming in via the types now need to be added to dictionary

@potiuk

Copy link
Copy Markdown
Member

Looks like some spelling errors (aka ClassNames) coming in via the types now need to be added to dictionary

But images are ok, all tests pass and all looks good besides :)

@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

Right, I think I've got all the type-induced spelling errors, unless one crept back in when rebasing 🤞🏻

@potiuk

Copy link
Copy Markdown
Member

2 errors left @ashb !

@potiuk

Copy link
Copy Markdown
Member

And conflicts with my cloud formation change :(

@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

And conflicts with my cloud formation change :(

Fixed the errors.

Has your change merged? Ah, yes, conflicts already I see

Since we have no updated sphinx-autoapi to a more recent version it
supports showing type hints in the documentation, so we don't need to
have the type hints _and_ the `:type` lines -- which is good, as the
ones in the doc strings are easy to get out of date!
The following settings have been set:
`autodoc_typehints = 'description'` -- show types in description (where
previous `:type` used to show up)
`autodoc_typehints_description_target = 'documented'` -- only link to
types that are documented. (Without this we have some missing return
types that aren't documented, and aren't linked to in our current python
API docs, so this caused a build failure)
`autodoc_typehints_format = 'short'` -- Shorten type hints where
possible, i.e. `StringIO` instead of `io.StringIO`
Now that we are using the type hints in the docs, sphinxcontrib-spelling
picks them up as words to be checked, so we have to ignore them.
I've chosen to add the provider specific ones to local dictionary files
rather than the global, as for example, `mgmt` is an error in most
places, but not in some of the Azure provider.
@ashb
ashbforce-pushed the doc-types-from-hints branch from 4685698 to b3aec74CompareJanuary 20, 2022 20:25
@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

@potiuk Any idea what failed with the 'Constraints" job https://github.com/apache/airflow/runs/4888325400?check_suite_focus=true I don't actually see any error -- just some process exited with 1.

(I thought we only ran that on main, not on PRs?)

Ah, it's just the Push that only runs on main. That makes sense.

@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

Oh there's the error much futher up https://github.com/apache/airflow/runs/4888325400?check_suite_focus=true#step:7:580

#29 8.356 The conflict is caused by:
#29 8.356 apache-airflow[devel-ci] 2.3.0.dev0 depends on sphinx<5.0.0 and >=4.4.0
#29 8.356 The user requested (constraint) sphinx==4.3.2

Ummmm, yeah, something is wrong about constraint generation now, as it's trying to generate new constraints while using the old file?!

@potiuk

Copy link
Copy Markdown
Member

Rebase ?

@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

Already up to date.

@potiuk

Copy link
Copy Markdown
Member

Hmm. Will take a look in a bit

@potiuk

Copy link
Copy Markdown
Member

We can merge the change now. The problem was because of one line missing in the latest refactor:
Fix is here: #21000

@potiuk
potiuk merged commit 602abe8 into apache:mainJan 20, 2022
@potiuk

Copy link
Copy Markdown
Member

BTW. This time the round number is mine ;)

@ashb

ashb commented Jan 21, 2022

Copy link
Copy Markdown
MemberAuthor

We can merge the change now. The problem was because of one line missing in the latest refactor: Fix is here: #21000

Thanks, I had a feeling it would be something like this but didn't want to break main if it was a bigger problem.

@ashb
ashb deleted the doc-types-from-hints branch January 21, 2022 09:24
@josh-felljosh-fell mentioned this pull request Feb 1, 2022
@josh-felljosh-fell mentioned this pull request Mar 19, 2022
@ephraimbuddyephraimbuddy added the type:misc/internal Changelog: Misc changes that should appear in change log label Apr 11, 2022
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

full tests neededWe need to run full set of tests for this PR to mergekind:documentationtype:misc/internalChangelog: Misc changes that should appear in change log

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@ashb@potiuk@kaxil@ephraimbuddy
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Remove :type lines now sphinx-autoapi supports typehints - #20951

Merged
potiuk merged 2 commits into
apache:mainfrom
astronomer:doc-types-from-hints
Jan 20, 2022
Merged

Remove :type lines now sphinx-autoapi supports typehints#20951
potiuk merged 2 commits into
apache:mainfrom
astronomer:doc-types-from-hints

Conversation

@ashb

@ashbashb commented Jan 19, 2022

Copy link
Copy Markdown
Member

Since we have no updated sphinx-autoapi to a more recent version it supports showing type hints in the documentation, so we don't need to have the type hints and the :type lines -- which is good, as the ones in the doc strings are easy to get out of date!

The following settings have been set:

  • autodoc_typehints = 'description' -- show types in description (where previous :type used to show up)

  • autodoc_typehints_description_target = 'documented' -- only link to types that are documented. (Without this we have some missing return types that aren't documented, and aren't linked to in our current python API docs, so this caused a build failure)

  • autodoc_typehints_format = 'short' -- Shorten type hints where possible, i.e. StringIO instead of io.StringIO

Before (https://airflow.apache.org/docs/apache-airflow/stable/_api/airflow/models/baseoperator/index.html#airflow.models.baseoperator.BaseOperator)

image

After

image


^ Add meaningful description above

Read the Pull Request Guidelines for more information.
In case of fundamental code change, Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in UPDATING.md.

@boring-cyborgboring-cyborgBot added area:API Airflow's REST/HTTP API area:core-operators provider:cncf-kubernetes Kubernetes (k8s) provider related issues area:lineage area:Scheduler including HA (high availability) scheduler labels Jan 19, 2022
@ashbashb added kind:documentation and removed area:Scheduler including HA (high availability) scheduler area:API Airflow's REST/HTTP API provider:cncf-kubernetes Kubernetes (k8s) provider related issues area:lineage area:core-operators labels Jan 19, 2022
@potiuk

Copy link
Copy Markdown
Member

HELL YEAH!

BTW. I guess the main reason you did it is to finally reach negative net number of lines changed in Airflow ?

@ashb

ashb commented Jan 19, 2022

Copy link
Copy Markdown
MemberAuthor

I mean that was certainly part of the reason. A big part.

It just happens to help that it's also the right thing to do 😁

@github-actions

Copy link
Copy Markdown
Contributor

The PR most likely needs to run full matrix of tests because it modifies parts of the core of Airflow. However, committers might decide to merge it quickly and take the risk. If they don't merge it quickly - please rebase it to the latest main at your convenience, or amend the last commit of the PR, and push it with --force-with-lease.

@github-actionsgithub-actionsBot added the full tests needed We need to run full set of tests for this PR to merge label Jan 19, 2022
@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

Looks like some spelling errors (aka ClassNames) coming in via the types now need to be added to dictionary

@potiuk

Copy link
Copy Markdown
Member

Looks like some spelling errors (aka ClassNames) coming in via the types now need to be added to dictionary

But images are ok, all tests pass and all looks good besides :)

@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

Right, I think I've got all the type-induced spelling errors, unless one crept back in when rebasing 🤞🏻

@potiuk

Copy link
Copy Markdown
Member

2 errors left @ashb !

@potiuk

Copy link
Copy Markdown
Member

And conflicts with my cloud formation change :(

@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

And conflicts with my cloud formation change :(

Fixed the errors.

Has your change merged? Ah, yes, conflicts already I see

Since we have no updated sphinx-autoapi to a more recent version it
supports showing type hints in the documentation, so we don't need to
have the type hints _and_ the `:type` lines -- which is good, as the
ones in the doc strings are easy to get out of date!
The following settings have been set:
`autodoc_typehints = 'description'` -- show types in description (where
previous `:type` used to show up)
`autodoc_typehints_description_target = 'documented'` -- only link to
types that are documented. (Without this we have some missing return
types that aren't documented, and aren't linked to in our current python
API docs, so this caused a build failure)
`autodoc_typehints_format = 'short'` -- Shorten type hints where
possible, i.e. `StringIO` instead of `io.StringIO`
Now that we are using the type hints in the docs, sphinxcontrib-spelling
picks them up as words to be checked, so we have to ignore them.
I've chosen to add the provider specific ones to local dictionary files
rather than the global, as for example, `mgmt` is an error in most
places, but not in some of the Azure provider.
@ashb
ashbforce-pushed the doc-types-from-hints branch from 4685698 to b3aec74CompareJanuary 20, 2022 20:25
@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

@potiuk Any idea what failed with the 'Constraints" job https://github.com/apache/airflow/runs/4888325400?check_suite_focus=true I don't actually see any error -- just some process exited with 1.

(I thought we only ran that on main, not on PRs?)

Ah, it's just the Push that only runs on main. That makes sense.

@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

Oh there's the error much futher up https://github.com/apache/airflow/runs/4888325400?check_suite_focus=true#step:7:580

#29 8.356 The conflict is caused by:
#29 8.356 apache-airflow[devel-ci] 2.3.0.dev0 depends on sphinx<5.0.0 and >=4.4.0
#29 8.356 The user requested (constraint) sphinx==4.3.2

Ummmm, yeah, something is wrong about constraint generation now, as it's trying to generate new constraints while using the old file?!

@potiuk

Copy link
Copy Markdown
Member

Rebase ?

@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

Already up to date.

@potiuk

Copy link
Copy Markdown
Member

Hmm. Will take a look in a bit

@potiuk

Copy link
Copy Markdown
Member

We can merge the change now. The problem was because of one line missing in the latest refactor:
Fix is here: #21000

@potiuk
potiuk merged commit 602abe8 into apache:mainJan 20, 2022
@potiuk

Copy link
Copy Markdown
Member

BTW. This time the round number is mine ;)

@ashb

ashb commented Jan 21, 2022

Copy link
Copy Markdown
MemberAuthor

We can merge the change now. The problem was because of one line missing in the latest refactor: Fix is here: #21000

Thanks, I had a feeling it would be something like this but didn't want to break main if it was a bigger problem.

@ashb
ashb deleted the doc-types-from-hints branch January 21, 2022 09:24
@josh-felljosh-fell mentioned this pull request Feb 1, 2022
@josh-felljosh-fell mentioned this pull request Mar 19, 2022
@ephraimbuddyephraimbuddy added the type:misc/internal Changelog: Misc changes that should appear in change log label Apr 11, 2022
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

full tests neededWe need to run full set of tests for this PR to mergekind:documentationtype:misc/internalChangelog: Misc changes that should appear in change log

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@ashb@potiuk@kaxil@ephraimbuddy
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Remove :type lines now sphinx-autoapi supports typehints - #20951

Merged
potiuk merged 2 commits into
apache:mainfrom
astronomer:doc-types-from-hints
Jan 20, 2022
Merged

Remove :type lines now sphinx-autoapi supports typehints#20951
potiuk merged 2 commits into
apache:mainfrom
astronomer:doc-types-from-hints

Conversation

@ashb

@ashbashb commented Jan 19, 2022

Copy link
Copy Markdown
Member

Since we have no updated sphinx-autoapi to a more recent version it supports showing type hints in the documentation, so we don't need to have the type hints and the :type lines -- which is good, as the ones in the doc strings are easy to get out of date!

The following settings have been set:

  • autodoc_typehints = 'description' -- show types in description (where previous :type used to show up)

  • autodoc_typehints_description_target = 'documented' -- only link to types that are documented. (Without this we have some missing return types that aren't documented, and aren't linked to in our current python API docs, so this caused a build failure)

  • autodoc_typehints_format = 'short' -- Shorten type hints where possible, i.e. StringIO instead of io.StringIO

Before (https://airflow.apache.org/docs/apache-airflow/stable/_api/airflow/models/baseoperator/index.html#airflow.models.baseoperator.BaseOperator)

image

After

image


^ Add meaningful description above

Read the Pull Request Guidelines for more information.
In case of fundamental code change, Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in UPDATING.md.

@boring-cyborgboring-cyborgBot added area:API Airflow's REST/HTTP API area:core-operators provider:cncf-kubernetes Kubernetes (k8s) provider related issues area:lineage area:Scheduler including HA (high availability) scheduler labels Jan 19, 2022
@ashbashb added kind:documentation and removed area:Scheduler including HA (high availability) scheduler area:API Airflow's REST/HTTP API provider:cncf-kubernetes Kubernetes (k8s) provider related issues area:lineage area:core-operators labels Jan 19, 2022
@potiuk

Copy link
Copy Markdown
Member

HELL YEAH!

BTW. I guess the main reason you did it is to finally reach negative net number of lines changed in Airflow ?

@ashb

ashb commented Jan 19, 2022

Copy link
Copy Markdown
MemberAuthor

I mean that was certainly part of the reason. A big part.

It just happens to help that it's also the right thing to do 😁

@github-actions

Copy link
Copy Markdown
Contributor

The PR most likely needs to run full matrix of tests because it modifies parts of the core of Airflow. However, committers might decide to merge it quickly and take the risk. If they don't merge it quickly - please rebase it to the latest main at your convenience, or amend the last commit of the PR, and push it with --force-with-lease.

@github-actionsgithub-actionsBot added the full tests needed We need to run full set of tests for this PR to merge label Jan 19, 2022
@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

Looks like some spelling errors (aka ClassNames) coming in via the types now need to be added to dictionary

@potiuk

Copy link
Copy Markdown
Member

Looks like some spelling errors (aka ClassNames) coming in via the types now need to be added to dictionary

But images are ok, all tests pass and all looks good besides :)

@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

Right, I think I've got all the type-induced spelling errors, unless one crept back in when rebasing 🤞🏻

@potiuk

Copy link
Copy Markdown
Member

2 errors left @ashb !

@potiuk

Copy link
Copy Markdown
Member

And conflicts with my cloud formation change :(

@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

And conflicts with my cloud formation change :(

Fixed the errors.

Has your change merged? Ah, yes, conflicts already I see

Since we have no updated sphinx-autoapi to a more recent version it
supports showing type hints in the documentation, so we don't need to
have the type hints _and_ the `:type` lines -- which is good, as the
ones in the doc strings are easy to get out of date!
The following settings have been set:
`autodoc_typehints = 'description'` -- show types in description (where
previous `:type` used to show up)
`autodoc_typehints_description_target = 'documented'` -- only link to
types that are documented. (Without this we have some missing return
types that aren't documented, and aren't linked to in our current python
API docs, so this caused a build failure)
`autodoc_typehints_format = 'short'` -- Shorten type hints where
possible, i.e. `StringIO` instead of `io.StringIO`
Now that we are using the type hints in the docs, sphinxcontrib-spelling
picks them up as words to be checked, so we have to ignore them.
I've chosen to add the provider specific ones to local dictionary files
rather than the global, as for example, `mgmt` is an error in most
places, but not in some of the Azure provider.
@ashb
ashbforce-pushed the doc-types-from-hints branch from 4685698 to b3aec74CompareJanuary 20, 2022 20:25
@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

@potiuk Any idea what failed with the 'Constraints" job https://github.com/apache/airflow/runs/4888325400?check_suite_focus=true I don't actually see any error -- just some process exited with 1.

(I thought we only ran that on main, not on PRs?)

Ah, it's just the Push that only runs on main. That makes sense.

@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

Oh there's the error much futher up https://github.com/apache/airflow/runs/4888325400?check_suite_focus=true#step:7:580

#29 8.356 The conflict is caused by:
#29 8.356 apache-airflow[devel-ci] 2.3.0.dev0 depends on sphinx<5.0.0 and >=4.4.0
#29 8.356 The user requested (constraint) sphinx==4.3.2

Ummmm, yeah, something is wrong about constraint generation now, as it's trying to generate new constraints while using the old file?!

@potiuk

Copy link
Copy Markdown
Member

Rebase ?

@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

Already up to date.

@potiuk

Copy link
Copy Markdown
Member

Hmm. Will take a look in a bit

@potiuk

Copy link
Copy Markdown
Member

We can merge the change now. The problem was because of one line missing in the latest refactor:
Fix is here: #21000

@potiuk
potiuk merged commit 602abe8 into apache:mainJan 20, 2022
@potiuk

Copy link
Copy Markdown
Member

BTW. This time the round number is mine ;)

@ashb

ashb commented Jan 21, 2022

Copy link
Copy Markdown
MemberAuthor

We can merge the change now. The problem was because of one line missing in the latest refactor: Fix is here: #21000

Thanks, I had a feeling it would be something like this but didn't want to break main if it was a bigger problem.

@ashb
ashb deleted the doc-types-from-hints branch January 21, 2022 09:24
@josh-felljosh-fell mentioned this pull request Feb 1, 2022
@josh-felljosh-fell mentioned this pull request Mar 19, 2022
@ephraimbuddyephraimbuddy added the type:misc/internal Changelog: Misc changes that should appear in change log label Apr 11, 2022
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

full tests neededWe need to run full set of tests for this PR to mergekind:documentationtype:misc/internalChangelog: Misc changes that should appear in change log

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@ashb@potiuk@kaxil@ephraimbuddy
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Remove :type lines now sphinx-autoapi supports typehints - #20951

Merged
potiuk merged 2 commits into
apache:mainfrom
astronomer:doc-types-from-hints
Jan 20, 2022
Merged

Remove :type lines now sphinx-autoapi supports typehints#20951
potiuk merged 2 commits into
apache:mainfrom
astronomer:doc-types-from-hints

Conversation

@ashb

@ashbashb commented Jan 19, 2022

Copy link
Copy Markdown
Member

Since we have no updated sphinx-autoapi to a more recent version it supports showing type hints in the documentation, so we don't need to have the type hints and the :type lines -- which is good, as the ones in the doc strings are easy to get out of date!

The following settings have been set:

  • autodoc_typehints = 'description' -- show types in description (where previous :type used to show up)

  • autodoc_typehints_description_target = 'documented' -- only link to types that are documented. (Without this we have some missing return types that aren't documented, and aren't linked to in our current python API docs, so this caused a build failure)

  • autodoc_typehints_format = 'short' -- Shorten type hints where possible, i.e. StringIO instead of io.StringIO

Before (https://airflow.apache.org/docs/apache-airflow/stable/_api/airflow/models/baseoperator/index.html#airflow.models.baseoperator.BaseOperator)

image

After

image


^ Add meaningful description above

Read the Pull Request Guidelines for more information.
In case of fundamental code change, Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in UPDATING.md.

@boring-cyborgboring-cyborgBot added area:API Airflow's REST/HTTP API area:core-operators provider:cncf-kubernetes Kubernetes (k8s) provider related issues area:lineage area:Scheduler including HA (high availability) scheduler labels Jan 19, 2022
@ashbashb added kind:documentation and removed area:Scheduler including HA (high availability) scheduler area:API Airflow's REST/HTTP API provider:cncf-kubernetes Kubernetes (k8s) provider related issues area:lineage area:core-operators labels Jan 19, 2022
@potiuk

Copy link
Copy Markdown
Member

HELL YEAH!

BTW. I guess the main reason you did it is to finally reach negative net number of lines changed in Airflow ?

@ashb

ashb commented Jan 19, 2022

Copy link
Copy Markdown
MemberAuthor

I mean that was certainly part of the reason. A big part.

It just happens to help that it's also the right thing to do 😁

@github-actions

Copy link
Copy Markdown
Contributor

The PR most likely needs to run full matrix of tests because it modifies parts of the core of Airflow. However, committers might decide to merge it quickly and take the risk. If they don't merge it quickly - please rebase it to the latest main at your convenience, or amend the last commit of the PR, and push it with --force-with-lease.

@github-actionsgithub-actionsBot added the full tests needed We need to run full set of tests for this PR to merge label Jan 19, 2022
@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

Looks like some spelling errors (aka ClassNames) coming in via the types now need to be added to dictionary

@potiuk

Copy link
Copy Markdown
Member

Looks like some spelling errors (aka ClassNames) coming in via the types now need to be added to dictionary

But images are ok, all tests pass and all looks good besides :)

@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

Right, I think I've got all the type-induced spelling errors, unless one crept back in when rebasing 🤞🏻

@potiuk

Copy link
Copy Markdown
Member

2 errors left @ashb !

@potiuk

Copy link
Copy Markdown
Member

And conflicts with my cloud formation change :(

@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

And conflicts with my cloud formation change :(

Fixed the errors.

Has your change merged? Ah, yes, conflicts already I see

Since we have no updated sphinx-autoapi to a more recent version it
supports showing type hints in the documentation, so we don't need to
have the type hints _and_ the `:type` lines -- which is good, as the
ones in the doc strings are easy to get out of date!
The following settings have been set:
`autodoc_typehints = 'description'` -- show types in description (where
previous `:type` used to show up)
`autodoc_typehints_description_target = 'documented'` -- only link to
types that are documented. (Without this we have some missing return
types that aren't documented, and aren't linked to in our current python
API docs, so this caused a build failure)
`autodoc_typehints_format = 'short'` -- Shorten type hints where
possible, i.e. `StringIO` instead of `io.StringIO`
Now that we are using the type hints in the docs, sphinxcontrib-spelling
picks them up as words to be checked, so we have to ignore them.
I've chosen to add the provider specific ones to local dictionary files
rather than the global, as for example, `mgmt` is an error in most
places, but not in some of the Azure provider.
@ashb
ashbforce-pushed the doc-types-from-hints branch from 4685698 to b3aec74CompareJanuary 20, 2022 20:25
@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

@potiuk Any idea what failed with the 'Constraints" job https://github.com/apache/airflow/runs/4888325400?check_suite_focus=true I don't actually see any error -- just some process exited with 1.

(I thought we only ran that on main, not on PRs?)

Ah, it's just the Push that only runs on main. That makes sense.

@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

Oh there's the error much futher up https://github.com/apache/airflow/runs/4888325400?check_suite_focus=true#step:7:580

#29 8.356 The conflict is caused by:
#29 8.356 apache-airflow[devel-ci] 2.3.0.dev0 depends on sphinx<5.0.0 and >=4.4.0
#29 8.356 The user requested (constraint) sphinx==4.3.2

Ummmm, yeah, something is wrong about constraint generation now, as it's trying to generate new constraints while using the old file?!

@potiuk

Copy link
Copy Markdown
Member

Rebase ?

@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

Already up to date.

@potiuk

Copy link
Copy Markdown
Member

Hmm. Will take a look in a bit

@potiuk

Copy link
Copy Markdown
Member

We can merge the change now. The problem was because of one line missing in the latest refactor:
Fix is here: #21000

@potiuk
potiuk merged commit 602abe8 into apache:mainJan 20, 2022
@potiuk

Copy link
Copy Markdown
Member

BTW. This time the round number is mine ;)

@ashb

ashb commented Jan 21, 2022

Copy link
Copy Markdown
MemberAuthor

We can merge the change now. The problem was because of one line missing in the latest refactor: Fix is here: #21000

Thanks, I had a feeling it would be something like this but didn't want to break main if it was a bigger problem.

@ashb
ashb deleted the doc-types-from-hints branch January 21, 2022 09:24
@josh-felljosh-fell mentioned this pull request Feb 1, 2022
@josh-felljosh-fell mentioned this pull request Mar 19, 2022
@ephraimbuddyephraimbuddy added the type:misc/internal Changelog: Misc changes that should appear in change log label Apr 11, 2022
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

full tests neededWe need to run full set of tests for this PR to mergekind:documentationtype:misc/internalChangelog: Misc changes that should appear in change log

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@ashb@potiuk@kaxil@ephraimbuddy
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Remove :type lines now sphinx-autoapi supports typehints - #20951

Merged
potiuk merged 2 commits into
apache:mainfrom
astronomer:doc-types-from-hints
Jan 20, 2022
Merged

Remove :type lines now sphinx-autoapi supports typehints#20951
potiuk merged 2 commits into
apache:mainfrom
astronomer:doc-types-from-hints

Conversation

@ashb

@ashbashb commented Jan 19, 2022

Copy link
Copy Markdown
Member

Since we have no updated sphinx-autoapi to a more recent version it supports showing type hints in the documentation, so we don't need to have the type hints and the :type lines -- which is good, as the ones in the doc strings are easy to get out of date!

The following settings have been set:

  • autodoc_typehints = 'description' -- show types in description (where previous :type used to show up)

  • autodoc_typehints_description_target = 'documented' -- only link to types that are documented. (Without this we have some missing return types that aren't documented, and aren't linked to in our current python API docs, so this caused a build failure)

  • autodoc_typehints_format = 'short' -- Shorten type hints where possible, i.e. StringIO instead of io.StringIO

Before (https://airflow.apache.org/docs/apache-airflow/stable/_api/airflow/models/baseoperator/index.html#airflow.models.baseoperator.BaseOperator)

image

After

image


^ Add meaningful description above

Read the Pull Request Guidelines for more information.
In case of fundamental code change, Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in UPDATING.md.

@boring-cyborgboring-cyborgBot added area:API Airflow's REST/HTTP API area:core-operators provider:cncf-kubernetes Kubernetes (k8s) provider related issues area:lineage area:Scheduler including HA (high availability) scheduler labels Jan 19, 2022
@ashbashb added kind:documentation and removed area:Scheduler including HA (high availability) scheduler area:API Airflow's REST/HTTP API provider:cncf-kubernetes Kubernetes (k8s) provider related issues area:lineage area:core-operators labels Jan 19, 2022
@potiuk

Copy link
Copy Markdown
Member

HELL YEAH!

BTW. I guess the main reason you did it is to finally reach negative net number of lines changed in Airflow ?

@ashb

ashb commented Jan 19, 2022

Copy link
Copy Markdown
MemberAuthor

I mean that was certainly part of the reason. A big part.

It just happens to help that it's also the right thing to do 😁

@github-actions

Copy link
Copy Markdown
Contributor

The PR most likely needs to run full matrix of tests because it modifies parts of the core of Airflow. However, committers might decide to merge it quickly and take the risk. If they don't merge it quickly - please rebase it to the latest main at your convenience, or amend the last commit of the PR, and push it with --force-with-lease.

@github-actionsgithub-actionsBot added the full tests needed We need to run full set of tests for this PR to merge label Jan 19, 2022
@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

Looks like some spelling errors (aka ClassNames) coming in via the types now need to be added to dictionary

@potiuk

Copy link
Copy Markdown
Member

Looks like some spelling errors (aka ClassNames) coming in via the types now need to be added to dictionary

But images are ok, all tests pass and all looks good besides :)

@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

Right, I think I've got all the type-induced spelling errors, unless one crept back in when rebasing 🤞🏻

@potiuk

Copy link
Copy Markdown
Member

2 errors left @ashb !

@potiuk

Copy link
Copy Markdown
Member

And conflicts with my cloud formation change :(

@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

And conflicts with my cloud formation change :(

Fixed the errors.

Has your change merged? Ah, yes, conflicts already I see

Since we have no updated sphinx-autoapi to a more recent version it
supports showing type hints in the documentation, so we don't need to
have the type hints _and_ the `:type` lines -- which is good, as the
ones in the doc strings are easy to get out of date!
The following settings have been set:
`autodoc_typehints = 'description'` -- show types in description (where
previous `:type` used to show up)
`autodoc_typehints_description_target = 'documented'` -- only link to
types that are documented. (Without this we have some missing return
types that aren't documented, and aren't linked to in our current python
API docs, so this caused a build failure)
`autodoc_typehints_format = 'short'` -- Shorten type hints where
possible, i.e. `StringIO` instead of `io.StringIO`
Now that we are using the type hints in the docs, sphinxcontrib-spelling
picks them up as words to be checked, so we have to ignore them.
I've chosen to add the provider specific ones to local dictionary files
rather than the global, as for example, `mgmt` is an error in most
places, but not in some of the Azure provider.
@ashb
ashbforce-pushed the doc-types-from-hints branch from 4685698 to b3aec74CompareJanuary 20, 2022 20:25
@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

@potiuk Any idea what failed with the 'Constraints" job https://github.com/apache/airflow/runs/4888325400?check_suite_focus=true I don't actually see any error -- just some process exited with 1.

(I thought we only ran that on main, not on PRs?)

Ah, it's just the Push that only runs on main. That makes sense.

@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

Oh there's the error much futher up https://github.com/apache/airflow/runs/4888325400?check_suite_focus=true#step:7:580

#29 8.356 The conflict is caused by:
#29 8.356 apache-airflow[devel-ci] 2.3.0.dev0 depends on sphinx<5.0.0 and >=4.4.0
#29 8.356 The user requested (constraint) sphinx==4.3.2

Ummmm, yeah, something is wrong about constraint generation now, as it's trying to generate new constraints while using the old file?!

@potiuk

Copy link
Copy Markdown
Member

Rebase ?

@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

Already up to date.

@potiuk

Copy link
Copy Markdown
Member

Hmm. Will take a look in a bit

@potiuk

Copy link
Copy Markdown
Member

We can merge the change now. The problem was because of one line missing in the latest refactor:
Fix is here: #21000

@potiuk
potiuk merged commit 602abe8 into apache:mainJan 20, 2022
@potiuk

Copy link
Copy Markdown
Member

BTW. This time the round number is mine ;)

@ashb

ashb commented Jan 21, 2022

Copy link
Copy Markdown
MemberAuthor

We can merge the change now. The problem was because of one line missing in the latest refactor: Fix is here: #21000

Thanks, I had a feeling it would be something like this but didn't want to break main if it was a bigger problem.

@ashb
ashb deleted the doc-types-from-hints branch January 21, 2022 09:24
@josh-felljosh-fell mentioned this pull request Feb 1, 2022
@josh-felljosh-fell mentioned this pull request Mar 19, 2022
@ephraimbuddyephraimbuddy added the type:misc/internal Changelog: Misc changes that should appear in change log label Apr 11, 2022
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

full tests neededWe need to run full set of tests for this PR to mergekind:documentationtype:misc/internalChangelog: Misc changes that should appear in change log

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@ashb@potiuk@kaxil@ephraimbuddy
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Remove :type lines now sphinx-autoapi supports typehints - #20951

Merged
potiuk merged 2 commits into
apache:mainfrom
astronomer:doc-types-from-hints
Jan 20, 2022
Merged

Remove :type lines now sphinx-autoapi supports typehints#20951
potiuk merged 2 commits into
apache:mainfrom
astronomer:doc-types-from-hints

Conversation

@ashb

@ashbashb commented Jan 19, 2022

Copy link
Copy Markdown
Member

Since we have no updated sphinx-autoapi to a more recent version it supports showing type hints in the documentation, so we don't need to have the type hints and the :type lines -- which is good, as the ones in the doc strings are easy to get out of date!

The following settings have been set:

  • autodoc_typehints = 'description' -- show types in description (where previous :type used to show up)

  • autodoc_typehints_description_target = 'documented' -- only link to types that are documented. (Without this we have some missing return types that aren't documented, and aren't linked to in our current python API docs, so this caused a build failure)

  • autodoc_typehints_format = 'short' -- Shorten type hints where possible, i.e. StringIO instead of io.StringIO

Before (https://airflow.apache.org/docs/apache-airflow/stable/_api/airflow/models/baseoperator/index.html#airflow.models.baseoperator.BaseOperator)

image

After

image


^ Add meaningful description above

Read the Pull Request Guidelines for more information.
In case of fundamental code change, Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in UPDATING.md.

@boring-cyborgboring-cyborgBot added area:API Airflow's REST/HTTP API area:core-operators provider:cncf-kubernetes Kubernetes (k8s) provider related issues area:lineage area:Scheduler including HA (high availability) scheduler labels Jan 19, 2022
@ashbashb added kind:documentation and removed area:Scheduler including HA (high availability) scheduler area:API Airflow's REST/HTTP API provider:cncf-kubernetes Kubernetes (k8s) provider related issues area:lineage area:core-operators labels Jan 19, 2022
@potiuk

Copy link
Copy Markdown
Member

HELL YEAH!

BTW. I guess the main reason you did it is to finally reach negative net number of lines changed in Airflow ?

@ashb

ashb commented Jan 19, 2022

Copy link
Copy Markdown
MemberAuthor

I mean that was certainly part of the reason. A big part.

It just happens to help that it's also the right thing to do 😁

@github-actions

Copy link
Copy Markdown
Contributor

The PR most likely needs to run full matrix of tests because it modifies parts of the core of Airflow. However, committers might decide to merge it quickly and take the risk. If they don't merge it quickly - please rebase it to the latest main at your convenience, or amend the last commit of the PR, and push it with --force-with-lease.

@github-actionsgithub-actionsBot added the full tests needed We need to run full set of tests for this PR to merge label Jan 19, 2022
@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

Looks like some spelling errors (aka ClassNames) coming in via the types now need to be added to dictionary

@potiuk

Copy link
Copy Markdown
Member

Looks like some spelling errors (aka ClassNames) coming in via the types now need to be added to dictionary

But images are ok, all tests pass and all looks good besides :)

@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

Right, I think I've got all the type-induced spelling errors, unless one crept back in when rebasing 🤞🏻

@potiuk

Copy link
Copy Markdown
Member

2 errors left @ashb !

@potiuk

Copy link
Copy Markdown
Member

And conflicts with my cloud formation change :(

@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

And conflicts with my cloud formation change :(

Fixed the errors.

Has your change merged? Ah, yes, conflicts already I see

Since we have no updated sphinx-autoapi to a more recent version it
supports showing type hints in the documentation, so we don't need to
have the type hints _and_ the `:type` lines -- which is good, as the
ones in the doc strings are easy to get out of date!
The following settings have been set:
`autodoc_typehints = 'description'` -- show types in description (where
previous `:type` used to show up)
`autodoc_typehints_description_target = 'documented'` -- only link to
types that are documented. (Without this we have some missing return
types that aren't documented, and aren't linked to in our current python
API docs, so this caused a build failure)
`autodoc_typehints_format = 'short'` -- Shorten type hints where
possible, i.e. `StringIO` instead of `io.StringIO`
Now that we are using the type hints in the docs, sphinxcontrib-spelling
picks them up as words to be checked, so we have to ignore them.
I've chosen to add the provider specific ones to local dictionary files
rather than the global, as for example, `mgmt` is an error in most
places, but not in some of the Azure provider.
@ashb
ashbforce-pushed the doc-types-from-hints branch from 4685698 to b3aec74CompareJanuary 20, 2022 20:25
@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

@potiuk Any idea what failed with the 'Constraints" job https://github.com/apache/airflow/runs/4888325400?check_suite_focus=true I don't actually see any error -- just some process exited with 1.

(I thought we only ran that on main, not on PRs?)

Ah, it's just the Push that only runs on main. That makes sense.

@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

Oh there's the error much futher up https://github.com/apache/airflow/runs/4888325400?check_suite_focus=true#step:7:580

#29 8.356 The conflict is caused by:
#29 8.356 apache-airflow[devel-ci] 2.3.0.dev0 depends on sphinx<5.0.0 and >=4.4.0
#29 8.356 The user requested (constraint) sphinx==4.3.2

Ummmm, yeah, something is wrong about constraint generation now, as it's trying to generate new constraints while using the old file?!

@potiuk

Copy link
Copy Markdown
Member

Rebase ?

@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

Already up to date.

@potiuk

Copy link
Copy Markdown
Member

Hmm. Will take a look in a bit

@potiuk

Copy link
Copy Markdown
Member

We can merge the change now. The problem was because of one line missing in the latest refactor:
Fix is here: #21000

@potiuk
potiuk merged commit 602abe8 into apache:mainJan 20, 2022
@potiuk

Copy link
Copy Markdown
Member

BTW. This time the round number is mine ;)

@ashb

ashb commented Jan 21, 2022

Copy link
Copy Markdown
MemberAuthor

We can merge the change now. The problem was because of one line missing in the latest refactor: Fix is here: #21000

Thanks, I had a feeling it would be something like this but didn't want to break main if it was a bigger problem.

@ashb
ashb deleted the doc-types-from-hints branch January 21, 2022 09:24
@josh-felljosh-fell mentioned this pull request Feb 1, 2022
@josh-felljosh-fell mentioned this pull request Mar 19, 2022
@ephraimbuddyephraimbuddy added the type:misc/internal Changelog: Misc changes that should appear in change log label Apr 11, 2022
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

full tests neededWe need to run full set of tests for this PR to mergekind:documentationtype:misc/internalChangelog: Misc changes that should appear in change log

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@ashb@potiuk@kaxil@ephraimbuddy
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Remove :type lines now sphinx-autoapi supports typehints - #20951

Merged
potiuk merged 2 commits into
apache:mainfrom
astronomer:doc-types-from-hints
Jan 20, 2022
Merged

Remove :type lines now sphinx-autoapi supports typehints#20951
potiuk merged 2 commits into
apache:mainfrom
astronomer:doc-types-from-hints

Conversation

@ashb

@ashbashb commented Jan 19, 2022

Copy link
Copy Markdown
Member

Since we have no updated sphinx-autoapi to a more recent version it supports showing type hints in the documentation, so we don't need to have the type hints and the :type lines -- which is good, as the ones in the doc strings are easy to get out of date!

The following settings have been set:

  • autodoc_typehints = 'description' -- show types in description (where previous :type used to show up)

  • autodoc_typehints_description_target = 'documented' -- only link to types that are documented. (Without this we have some missing return types that aren't documented, and aren't linked to in our current python API docs, so this caused a build failure)

  • autodoc_typehints_format = 'short' -- Shorten type hints where possible, i.e. StringIO instead of io.StringIO

Before (https://airflow.apache.org/docs/apache-airflow/stable/_api/airflow/models/baseoperator/index.html#airflow.models.baseoperator.BaseOperator)

image

After

image


^ Add meaningful description above

Read the Pull Request Guidelines for more information.
In case of fundamental code change, Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in UPDATING.md.

@boring-cyborgboring-cyborgBot added area:API Airflow's REST/HTTP API area:core-operators provider:cncf-kubernetes Kubernetes (k8s) provider related issues area:lineage area:Scheduler including HA (high availability) scheduler labels Jan 19, 2022
@ashbashb added kind:documentation and removed area:Scheduler including HA (high availability) scheduler area:API Airflow's REST/HTTP API provider:cncf-kubernetes Kubernetes (k8s) provider related issues area:lineage area:core-operators labels Jan 19, 2022
@potiuk

Copy link
Copy Markdown
Member

HELL YEAH!

BTW. I guess the main reason you did it is to finally reach negative net number of lines changed in Airflow ?

@ashb

ashb commented Jan 19, 2022

Copy link
Copy Markdown
MemberAuthor

I mean that was certainly part of the reason. A big part.

It just happens to help that it's also the right thing to do 😁

@github-actions

Copy link
Copy Markdown
Contributor

The PR most likely needs to run full matrix of tests because it modifies parts of the core of Airflow. However, committers might decide to merge it quickly and take the risk. If they don't merge it quickly - please rebase it to the latest main at your convenience, or amend the last commit of the PR, and push it with --force-with-lease.

@github-actionsgithub-actionsBot added the full tests needed We need to run full set of tests for this PR to merge label Jan 19, 2022
@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

Looks like some spelling errors (aka ClassNames) coming in via the types now need to be added to dictionary

@potiuk

Copy link
Copy Markdown
Member

Looks like some spelling errors (aka ClassNames) coming in via the types now need to be added to dictionary

But images are ok, all tests pass and all looks good besides :)

@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

Right, I think I've got all the type-induced spelling errors, unless one crept back in when rebasing 🤞🏻

@potiuk

Copy link
Copy Markdown
Member

2 errors left @ashb !

@potiuk

Copy link
Copy Markdown
Member

And conflicts with my cloud formation change :(

@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

And conflicts with my cloud formation change :(

Fixed the errors.

Has your change merged? Ah, yes, conflicts already I see

Since we have no updated sphinx-autoapi to a more recent version it
supports showing type hints in the documentation, so we don't need to
have the type hints _and_ the `:type` lines -- which is good, as the
ones in the doc strings are easy to get out of date!
The following settings have been set:
`autodoc_typehints = 'description'` -- show types in description (where
previous `:type` used to show up)
`autodoc_typehints_description_target = 'documented'` -- only link to
types that are documented. (Without this we have some missing return
types that aren't documented, and aren't linked to in our current python
API docs, so this caused a build failure)
`autodoc_typehints_format = 'short'` -- Shorten type hints where
possible, i.e. `StringIO` instead of `io.StringIO`
Now that we are using the type hints in the docs, sphinxcontrib-spelling
picks them up as words to be checked, so we have to ignore them.
I've chosen to add the provider specific ones to local dictionary files
rather than the global, as for example, `mgmt` is an error in most
places, but not in some of the Azure provider.
@ashb
ashbforce-pushed the doc-types-from-hints branch from 4685698 to b3aec74CompareJanuary 20, 2022 20:25
@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

@potiuk Any idea what failed with the 'Constraints" job https://github.com/apache/airflow/runs/4888325400?check_suite_focus=true I don't actually see any error -- just some process exited with 1.

(I thought we only ran that on main, not on PRs?)

Ah, it's just the Push that only runs on main. That makes sense.

@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

Oh there's the error much futher up https://github.com/apache/airflow/runs/4888325400?check_suite_focus=true#step:7:580

#29 8.356 The conflict is caused by:
#29 8.356 apache-airflow[devel-ci] 2.3.0.dev0 depends on sphinx<5.0.0 and >=4.4.0
#29 8.356 The user requested (constraint) sphinx==4.3.2

Ummmm, yeah, something is wrong about constraint generation now, as it's trying to generate new constraints while using the old file?!

@potiuk

Copy link
Copy Markdown
Member

Rebase ?

@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

Already up to date.

@potiuk

Copy link
Copy Markdown
Member

Hmm. Will take a look in a bit

@potiuk

Copy link
Copy Markdown
Member

We can merge the change now. The problem was because of one line missing in the latest refactor:
Fix is here: #21000

@potiuk
potiuk merged commit 602abe8 into apache:mainJan 20, 2022
@potiuk

Copy link
Copy Markdown
Member

BTW. This time the round number is mine ;)

@ashb

ashb commented Jan 21, 2022

Copy link
Copy Markdown
MemberAuthor

We can merge the change now. The problem was because of one line missing in the latest refactor: Fix is here: #21000

Thanks, I had a feeling it would be something like this but didn't want to break main if it was a bigger problem.

@ashb
ashb deleted the doc-types-from-hints branch January 21, 2022 09:24
@josh-felljosh-fell mentioned this pull request Feb 1, 2022
@josh-felljosh-fell mentioned this pull request Mar 19, 2022
@ephraimbuddyephraimbuddy added the type:misc/internal Changelog: Misc changes that should appear in change log label Apr 11, 2022
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

full tests neededWe need to run full set of tests for this PR to mergekind:documentationtype:misc/internalChangelog: Misc changes that should appear in change log

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@ashb@potiuk@kaxil@ephraimbuddy
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Remove :type lines now sphinx-autoapi supports typehints - #20951

Merged
potiuk merged 2 commits into
apache:mainfrom
astronomer:doc-types-from-hints
Jan 20, 2022
Merged

Remove :type lines now sphinx-autoapi supports typehints#20951
potiuk merged 2 commits into
apache:mainfrom
astronomer:doc-types-from-hints

Conversation

@ashb

@ashbashb commented Jan 19, 2022

Copy link
Copy Markdown
Member

Since we have no updated sphinx-autoapi to a more recent version it supports showing type hints in the documentation, so we don't need to have the type hints and the :type lines -- which is good, as the ones in the doc strings are easy to get out of date!

The following settings have been set:

  • autodoc_typehints = 'description' -- show types in description (where previous :type used to show up)

  • autodoc_typehints_description_target = 'documented' -- only link to types that are documented. (Without this we have some missing return types that aren't documented, and aren't linked to in our current python API docs, so this caused a build failure)

  • autodoc_typehints_format = 'short' -- Shorten type hints where possible, i.e. StringIO instead of io.StringIO

Before (https://airflow.apache.org/docs/apache-airflow/stable/_api/airflow/models/baseoperator/index.html#airflow.models.baseoperator.BaseOperator)

image

After

image


^ Add meaningful description above

Read the Pull Request Guidelines for more information.
In case of fundamental code change, Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in UPDATING.md.

@boring-cyborgboring-cyborgBot added area:API Airflow's REST/HTTP API area:core-operators provider:cncf-kubernetes Kubernetes (k8s) provider related issues area:lineage area:Scheduler including HA (high availability) scheduler labels Jan 19, 2022
@ashbashb added kind:documentation and removed area:Scheduler including HA (high availability) scheduler area:API Airflow's REST/HTTP API provider:cncf-kubernetes Kubernetes (k8s) provider related issues area:lineage area:core-operators labels Jan 19, 2022
@potiuk

Copy link
Copy Markdown
Member

HELL YEAH!

BTW. I guess the main reason you did it is to finally reach negative net number of lines changed in Airflow ?

@ashb

ashb commented Jan 19, 2022

Copy link
Copy Markdown
MemberAuthor

I mean that was certainly part of the reason. A big part.

It just happens to help that it's also the right thing to do 😁

@github-actions

Copy link
Copy Markdown
Contributor

The PR most likely needs to run full matrix of tests because it modifies parts of the core of Airflow. However, committers might decide to merge it quickly and take the risk. If they don't merge it quickly - please rebase it to the latest main at your convenience, or amend the last commit of the PR, and push it with --force-with-lease.

@github-actionsgithub-actionsBot added the full tests needed We need to run full set of tests for this PR to merge label Jan 19, 2022
@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

Looks like some spelling errors (aka ClassNames) coming in via the types now need to be added to dictionary

@potiuk

Copy link
Copy Markdown
Member

Looks like some spelling errors (aka ClassNames) coming in via the types now need to be added to dictionary

But images are ok, all tests pass and all looks good besides :)

@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

Right, I think I've got all the type-induced spelling errors, unless one crept back in when rebasing 🤞🏻

@potiuk

Copy link
Copy Markdown
Member

2 errors left @ashb !

@potiuk

Copy link
Copy Markdown
Member

And conflicts with my cloud formation change :(

@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

And conflicts with my cloud formation change :(

Fixed the errors.

Has your change merged? Ah, yes, conflicts already I see

Since we have no updated sphinx-autoapi to a more recent version it
supports showing type hints in the documentation, so we don't need to
have the type hints _and_ the `:type` lines -- which is good, as the
ones in the doc strings are easy to get out of date!
The following settings have been set:
`autodoc_typehints = 'description'` -- show types in description (where
previous `:type` used to show up)
`autodoc_typehints_description_target = 'documented'` -- only link to
types that are documented. (Without this we have some missing return
types that aren't documented, and aren't linked to in our current python
API docs, so this caused a build failure)
`autodoc_typehints_format = 'short'` -- Shorten type hints where
possible, i.e. `StringIO` instead of `io.StringIO`
Now that we are using the type hints in the docs, sphinxcontrib-spelling
picks them up as words to be checked, so we have to ignore them.
I've chosen to add the provider specific ones to local dictionary files
rather than the global, as for example, `mgmt` is an error in most
places, but not in some of the Azure provider.
@ashb
ashbforce-pushed the doc-types-from-hints branch from 4685698 to b3aec74CompareJanuary 20, 2022 20:25
@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

@potiuk Any idea what failed with the 'Constraints" job https://github.com/apache/airflow/runs/4888325400?check_suite_focus=true I don't actually see any error -- just some process exited with 1.

(I thought we only ran that on main, not on PRs?)

Ah, it's just the Push that only runs on main. That makes sense.

@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

Oh there's the error much futher up https://github.com/apache/airflow/runs/4888325400?check_suite_focus=true#step:7:580

#29 8.356 The conflict is caused by:
#29 8.356 apache-airflow[devel-ci] 2.3.0.dev0 depends on sphinx<5.0.0 and >=4.4.0
#29 8.356 The user requested (constraint) sphinx==4.3.2

Ummmm, yeah, something is wrong about constraint generation now, as it's trying to generate new constraints while using the old file?!

@potiuk

Copy link
Copy Markdown
Member

Rebase ?

@ashb

ashb commented Jan 20, 2022

Copy link
Copy Markdown
MemberAuthor

Already up to date.

@potiuk

Copy link
Copy Markdown
Member

Hmm. Will take a look in a bit

@potiuk

Copy link
Copy Markdown
Member

We can merge the change now. The problem was because of one line missing in the latest refactor:
Fix is here: #21000

@potiuk
potiuk merged commit 602abe8 into apache:mainJan 20, 2022
@potiuk

Copy link
Copy Markdown
Member

BTW. This time the round number is mine ;)

@ashb

ashb commented Jan 21, 2022

Copy link
Copy Markdown
MemberAuthor

We can merge the change now. The problem was because of one line missing in the latest refactor: Fix is here: #21000

Thanks, I had a feeling it would be something like this but didn't want to break main if it was a bigger problem.

@ashb
ashb deleted the doc-types-from-hints branch January 21, 2022 09:24
@josh-felljosh-fell mentioned this pull request Feb 1, 2022
@josh-felljosh-fell mentioned this pull request Mar 19, 2022
@ephraimbuddyephraimbuddy added the type:misc/internal Changelog: Misc changes that should appear in change log label Apr 11, 2022
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

full tests neededWe need to run full set of tests for this PR to mergekind:documentationtype:misc/internalChangelog: Misc changes that should appear in change log

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@ashb@potiuk@kaxil@ephraimbuddy