This commit is contained in:
CreaRobotics committed 2026-03-02 11:34:40 +01:00
1 parent 6ccab0347b
commit 954a2fd6d6
18684 files changed
+601012 -190

No files matched your search

@@ -0,0 +1,102 @@
Metadata-Version: 2.1
Name: mkdocs-get-deps
Version: 0.2.0
Summary: MkDocs extension that lists all dependencies according to a mkdocs.yml file
Project-URL: Source, https://github.com/mkdocs/get-deps
Project-URL: Issues, https://github.com/mkdocs/get-deps/issues
Project-URL: History, https://github.com/mkdocs/get-deps/releases
Author-email: Oleh Prypin <oleh@pryp.in>
License-Expression: MIT
License-File: LICENSE.md
Keywords: mkdocs
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Information Technology
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Documentation
Classifier: Typing :: Typed
Requires-Python: >=3.8
Requires-Dist: importlib-metadata>=4.3; python_version < '3.10'
Requires-Dist: mergedeep>=1.3.4
Requires-Dist: platformdirs>=2.2.0
Requires-Dist: pyyaml>=5.1
Description-Content-Type: text/markdown
# mkdocs-get-deps
**An extra command for [MkDocs][] that infers required PyPI packages from `plugins` in mkdocs.yml.**
[![PyPI](https://img.shields.io/pypi/v/mkdocs-get-deps)](https://pypi.org/project/mkdocs-get-deps/)
[![GitHub](https://img.shields.io/github/license/mkdocs/get-deps)](https://github.com/mkdocs/get-deps/blob/master/LICENSE.md)
[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/mkdocs/get-deps/ci.yml.svg)](https://github.com/mkdocs/get-deps/actions?query=event%3Apush+branch%3Amaster)
<table>
<tr><td>Installation:</td><td>Alternatively through MkDocs itself:</td></tr>
<tr><td>
```bash
pip install mkdocs-get-deps
```
</td><td>
```bash
pip install mkdocs
```
</td>
</tr></table>
This command guesses the Python dependencies that a MkDocs site requires in order to build. It simply prints the PyPI packages that need to be installed. In the terminal it can be combined directly with a `pip install` command, as per the last example below:
<table>
<tr><td>Usage:</td><td>Alternatively through MkDocs itself:</td></tr>
<tr><td>
```bash
# Print dependencies of the current project
mkdocs-get-deps
# Save them into a file
mkdocs-get-deps > requirements.txt
# Install dependencies on the fly
pip install $(mkdocs-get-deps)
```
</td><td>
```bash
mkdocs get-deps
mkdocs get-deps > requirements.txt
pip install -r requirements.txt
pip install $(mkdocs get-deps)
```
</td>
</tr></table>
The idea is that right after running this command, you can directly follow it up with `mkdocs build` and it will almost always "just work", without needing to think which dependencies to install.
The way it works is by scanning [`mkdocs.yml`] for `themes:`, `plugins:`, `markdown_extensions:` items and doing a reverse lookup based on a large list of known projects (catalog, see below).
Of course, you're encouraged to use a "virtualenv" with such a command. Also note that for environments that require stability (for example CI) directly installing deps in this way is not a very reliable approach as it precludes dependency pinning.
The command allows overriding which config file is used (instead of `mkdocs.yml` in the current directory) as well as which catalog of projects is used (instead of downloading it from the default location). See [`mkdocs get-deps --help`](https://www.mkdocs.org/user-guide/cli/#mkdocs-get-deps).
## MkDocs' official catalog of plugins
Check out <https://github.com/mkdocs/catalog> and add all your general-purpose plugins, themes and extensions there, so that they can be looked up through `mkdocs get-deps`.
[MkDocs]: https://www.mkdocs.org/
[`mkdocs.yml`]: https://www.mkdocs.org/user-guide/configuration/
@@ -0,0 +1,16 @@
../../../bin/mkdocs-get-deps,sha256=1A3x_LFBU5Ns58-M9X_4i9H5YtvX24AGF-9CO8g1J3o,271
mkdocs_get_deps-0.2.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
mkdocs_get_deps-0.2.0.dist-info/METADATA,sha256=PqAeSHupfK_n0jAkoXKje6wH-2HA_s5YHB190muDFtk,4011
mkdocs_get_deps-0.2.0.dist-info/RECORD,,
mkdocs_get_deps-0.2.0.dist-info/WHEEL,sha256=9QBuHhg6FNW7lppboF2vKVbCGTVzsFykgRQjjlajrhA,87
mkdocs_get_deps-0.2.0.dist-info/entry_points.txt,sha256=R9haBy-7_n-3Cn7cqzWrG0TuFSvzCI1qjT9a55kthQE,65
mkdocs_get_deps-0.2.0.dist-info/licenses/LICENSE.md,sha256=5QJLrptOyt2jUYTiAoKoHLJRZGINL_sCYebaMkmqt7I,1083
mkdocs_get_deps/__init__.py,sha256=y_w9XORkiXXP6PxGF92hqrt_nzLpW_YMe2e-ME2ZpQ4,7450
mkdocs_get_deps/__main__.py,sha256=k0EbPma4RuP7Bw7Z7-EPzRVaN1VKibvON5pSXdYLaaA,1619
mkdocs_get_deps/__pycache__/__init__.cpython-312.pyc,,
mkdocs_get_deps/__pycache__/__main__.cpython-312.pyc,,
mkdocs_get_deps/__pycache__/cache.cpython-312.pyc,,
mkdocs_get_deps/__pycache__/yaml_util.cpython-312.pyc,,
mkdocs_get_deps/cache.py,sha256=zTAmZc_ac9HZ6r7M_4mghwdUIEq6L-cIQPmE5qCRqKw,2467
mkdocs_get_deps/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
mkdocs_get_deps/yaml_util.py,sha256=f8PbOO0TEXEj-fM_NXKySB8oui32t2uAz1X2rPF4ADM,1552
@@ -0,0 +1,4 @@
Wheel-Version: 1.0
Generator: hatchling 1.18.0
Root-Is-Purelib: true
Tag: py3-none-any
@@ -0,0 +1,2 @@
[console_scripts]
mkdocs-get-deps = mkdocs_get_deps.__main__:cli
@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2023 Oleh Prypin <oleh@pryp.in>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.