Speed up quartodoc build by removing individual table documentation - #117
Speed up quartodoc build by removing individual table documentation#117ryan-kipawa with Copilot wants to merge 5 commits into
Conversation
…ableCollection members Co-authored-by: ryan-kipawa <74630349+ryan-kipawa@users.noreply.github.com>
|
@copilot Each column has a unique set of columns with a description that is useful. Additionally, there's a hierarchy of base classes, where some tables have additional functionality. However, if it's that slow, I will consider removing it. How could we document this in an equivalent way which is faster? |
Co-authored-by: ryan-kipawa <74630349+ryan-kipawa@users.noreply.github.com>
The unique columns per table (with descriptions) are still fully documented — each table page shows its In commit acc84a4, I added a "Base Table Classes" section that documents
|
ryan-kipawa
left a comment
There was a problem hiding this comment.
@copilot Trying to build the docs gives me this error:
.venv\Lib\site-packages\griffe\_internal\docstrings\parsers.py", line 51, in parse
return parsers[parser](docstring, **options)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
TypeError: parse_numpy() got an unexpected keyword argument 'allow_section_blank_line
Co-authored-by: ryan-kipawa <74630349+ryan-kipawa@users.noreply.github.com>
This is a pre-existing compatibility issue between Fixed in 293cb5c by adding |
|
@copilot It is still to slow after fixing this. Please remove individual table documentation - it's added value is marginal compared to the time required to generate the documents. The database schema is still available from within MIKE+, as well as the sqlite database, and we can assume that users are familiar enough with the columns that they do not need to rely on the descriptions provided by the documentation. Don't forget to update the developer markdown internal docs and github actions for documentation. |
…OPMENT.md Co-authored-by: ryan-kipawa <74630349+ryan-kipawa@users.noreply.github.com>
Done in f651e8a:
Build time is now ~2.4s. |
The quartodoc build takes ~109 minutes because
include_inherited: trueis set globally, causing griffe to individually resolve ~20 inheritedBaseTablemethods for each of 329 auto-generated table classes (~6,580get_objectcalls at ~1s each). Individual table documentation provides marginal value since the database schema is available from within MIKE+ and the sqlite database.include_inherited: truefrom global options — all 329 tables inherit identical methods fromBaseTable; documenting them on every page is redundant and is the sole cause of the ~109min build timedocs/generate_table_docs.pyanddocs/_table_generated_sections.yml— no longer needed without individual table documentationTableCollectionmembers to[keys, values, items]— its 329 property accessors are no longer documented individuallyBaseTable,BaseGeometryTable, andBaseNodeTableonce in a dedicated section, so all inherited methods (select,insert,update,delete,to_dataframe,get_muids, etc.) and node-specific methods (get_downstream_links,get_upstream_links, etc.) are documented centrallygriffe<2in docs dependencies — fixesallow_section_blank_lineTypeError withquartodoc==0.10.0.github/workflows/docs.yml— replaced outdatedmkdocs buildwithquartodoc build+quarto render, added Quarto setup action, updated action versions, and switched topip install .[docs]DEVELOPMENT.md— removed table doc generation step and slow-build warning from documentation instructionsBuild time: ~109 min → ~2s.
Original prompt
🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. Learn more about Advanced Security.