103 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			103 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
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.**
 | 
						|
 | 
						|
[](https://pypi.org/project/mkdocs-get-deps/)
 | 
						|
[](https://github.com/mkdocs/get-deps/blob/master/LICENSE.md)
 | 
						|
[](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/
 |