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 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)
Installation:Alternatively through MkDocs itself:
```bash pip install mkdocs-get-deps ``` ```bash pip install mkdocs ```
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:
Usage:Alternatively through MkDocs itself:
```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) ``` ```bash mkdocs get-deps mkdocs get-deps > requirements.txt pip install -r requirements.txt pip install $(mkdocs get-deps) ```
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 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/