Skip to content

Update dependency mkdocs-table-reader-plugin to v4 - #110

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/mkdocs-table-reader-plugin-4.x
Open

renovate[bot] wants to merge 1 commit into
mainfrom
renovate/mkdocs-table-reader-plugin-4.x

Conversation

@renovate

@renovate renovate Bot commented Sep 14, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
mkdocs-table-reader-plugin ==2.2.2 → ==4.0.1 age confidence

Release Notes

timvink/mkdocs-table-reader-plugin (mkdocs-table-reader-plugin)

v4.0.1

Compare Source

Bug fixes:

  • Two reader tags on the same line are now two tables. The tag pattern matched greedily, so it swallowed everything between the first and the last tag on a line, and then failed to parse the result.
  • An = inside an argument value no longer breaks parsing. {{ read_csv('a=b.csv') }}, sep='=' and na_values=['a=1'] all raised a SyntaxError before.
  • A comma inside a dict argument no longer breaks parsing, so dtype={'a': 'str', 'b': 'int'} works. Lists and tuples already worked.
  • convert_to_md_table() no longer escapes pipe characters in the DataFrame you pass in. When a mkdocs-macros-plugin user rendered the same DataFrame twice, the second table showed doubly escaped pipes.

Project maintenance:

  • The documentation site now deploys on every push to master. It was deployed by hand, and had fallen behind the readers added in 4.0.0.
  • Coverage is uploaded to Codecov again. The upload step tested an environment variable that was never set, so it never ran.
  • enabled is included in schema.json, so editors stop flagging it as an unknown option.

v4.0.0: table-reader v4.0.0

Compare Source

Breaking changes
  • Python 3.10 or newer is required. Support for Python 3.8 and 3.9 is dropped, and 3.13 and 3.14 are now tested.
  • pandas 2.1 or newer is required. convert_to_md_table() used to pick between .map() and .applymap() on a string comparison of pd.__version__. .applymap() was removed in pandas 3, so that branch is gone and the floor is now the pandas release that added pd.DataFrame.map().
New readers

Readers for every remaining file format that pandas can read, so the plugin now covers all of them (readers):

read_feather, read_parquet, read_orc, read_html, read_xml, read_hdf, read_sas, read_spss and read_stata, each also available as a pd_<reader> macro when mkdocs-macros-plugin is enabled. Some need an extra package installed, which the readers page lists per format.

Faster builds

Every reader used to run its own regex over every page, so each reader added made builds slower. All selected readers are now searched for in one pattern, and a page is scanned once no matter how many readers are selected. Scanning a 15KB page:

8 readers all 16 readers
v3, one regex per reader 1.28 ms 2.54 ms
v4, one regex 0.16 ms 0.15 ms

That is 8x faster with the readers v3 had, and 17x faster with all the readers v4 adds: about a second saved per 1000 pages. select_readers is no longer needed to keep builds fast.

Improvements
  • Multiline cells no longer break up a table. A cell containing a newline is rendered with <br> for single-line table formats like pipe and github, and left alone for formats that display multiline cells themselves, such as grid (#​83).
  • read_yaml() and read_raw() accept an encoding argument, for files that are not UTF-8. Thanks @​kirill237!
Internal
  • Test coverage is at 100%. select_readers, allow_missing_files, tag indentation and malformed tags all have tests now, and the read_hdf() and read_spss() tests actually run in CI instead of always skipping.

Full Changelog: timvink/mkdocs-table-reader-plugin@v3.1.0...v4.0.0

v3.1.0: table-reader v3.1.0

Compare Source

Full Changelog: timvink/mkdocs-table-reader-plugin@v3.0.1...v3.1.0

v3.0.1: table-reader v3.0.1

Compare Source

What's Changed

Full Changelog: timvink/mkdocs-table-reader-plugin@v3.0.0...v3.0.1

v3.0.0: table-reader v3.0.0

Compare Source

What's Changed

  • table-reader is now compatible with mkdocs-macros-plugin, which means you can dynamically insert tables using jinja2 syntax.
  • The base_path option has now been deprecated (and will log a warning when used). Now by default, the config_dir (path to your mkdocs.yml file) and docs_dir (path to your docs/ dir) will always be searched when looking for a table file path
  • The search_page_directory option has now been deprecated (and will log a warning when used). The markdown page's source file directory will always be searched when looking for a table file.
Breaking changes / upgrading guide
  • Remove base_path and search_page_directory from your mkdocs.yml options.
# mkdocs.yml
plugins:
-    - table-reader:
-        base_path: docs_dir
-        search_page_directory: True
+    - table-reader
  • In your mkdocs.yml file, the macros plugin should be defined before the table-reader plugin (previously this was after)
# mkdocs.yml
plugins:
-    - table-reader
-    - macros
+    - macros
+    - table-reader

Full Changelog: timvink/mkdocs-table-reader-plugin@v2.2.2...v3.0.0


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants