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

[🚀 Feature]: Auto-generate the Python API from the code #14178

Open
emanlove opened this issue Jun 23, 2024 · 4 comments
Open

[🚀 Feature]: Auto-generate the Python API from the code #14178

emanlove opened this issue Jun 23, 2024 · 4 comments
Labels
C-py help wanted Issues looking for contributions I-enhancement

Comments

@emanlove
Copy link
Contributor

Feature and motivation

Some recent improvements have been made to the generation of the Python API documentation. Now the Python API doc is generated from the py/docs/source/api.st "template". Taking this a step further we should be able to generate the API from just the code itself. This is important as any updates to the code, for example recent additions with selenium.webdriver.common.bidi, needs to be manually added to this api.rst file, as shown here

Webdriver.common
----------------

.. currentmodule:: selenium.webdriver.common
.. autosummary::
   :toctree: webdriver

   selenium.webdriver.common.action_chains
   ...
   selenium.webdriver.common.bidi.cdp
   selenium.webdriver.common.bidi.console
   selenium.webdriver.common.bidi.script
   selenium.webdriver.common.bidi.session

And if we forgot to add, say selenium.webdriver.common.bidi.script, then it would be missing from the doc. So it would be good to either fully auto-generate it or have some automatic method to check for completeness and changes.

Usage example

Might add a step to the tox.ini to autogenerate the api doc from the code or check for completeness.

Copy link

@emanlove, thank you for creating this issue. We will troubleshoot it as soon as we can.


Info for maintainers

Triage this issue by using labels.

If information is missing, add a helpful comment and then I-issue-template label.

If the issue is a question, add the I-question label.

If the issue is valid but there is no time to troubleshoot it, consider adding the help wanted label.

If the issue requires changes or fixes from an external project (e.g., ChromeDriver, GeckoDriver, MSEdgeDriver, W3C), add the applicable G-* label, and it will provide the correct link and auto-close the issue.

After troubleshooting the issue, please add the R-awaiting answer label.

Thank you!

@titusfortner titusfortner added C-py help wanted Issues looking for contributions and removed needs-triaging labels Jun 23, 2024
Copy link

This issue is looking for contributors.

Please comment below or reach out to us through our IRC/Slack/Matrix channels if you are interested.

@shbenzer
Copy link
Contributor

shbenzer commented Nov 1, 2024

I'm assuming we don't want to import a library for this correct? so to minimize dependencies

@emanlove
Copy link
Contributor Author

emanlove commented Nov 1, 2024

@shbenzer, I believe it can be done with the current sphinx build process without any additional packages. I am open to suggestions on other ways to do this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-py help wanted Issues looking for contributions I-enhancement
Projects
None yet
Development

No branches or pull requests

3 participants