Metadata-Version: 2.1
Name: doc2dash
Version: 3.0.0
Project-URL: Documentation, https://doc2dash.readthedocs.io/
Project-URL: Changelog, https://github.com/hynek/doc2dash/blob/main/CHANGELOG.md
Project-URL: Source Code, https://github.com/hynek/doc2dash
Project-URL: Funding, https://github.com/sponsors/hynek
Project-URL: Ko-fi, https://ko-fi.com/the_hynek
Author-email: Hynek Schlawack <hs@ox.cx>
License: MIT
License-File: AUTHORS.md
License-File: LICENSE
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
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 :: Implementation :: CPython
Classifier: Topic :: Documentation
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Documentation
Classifier: Topic :: Text Processing
Requires-Python: >=3.8
Requires-Dist: attrs>=21.3
Requires-Dist: beautifulsoup4
Requires-Dist: click
Requires-Dist: rich
Provides-Extra: dev
Requires-Dist: doc2dash[tests,typing]; extra == 'dev'
Provides-Extra: docs
Requires-Dist: mkdocs; extra == 'docs'
Requires-Dist: mkdocs-click; extra == 'docs'
Requires-Dist: mkdocs-include-markdown-plugin; extra == 'docs'
Requires-Dist: mkdocs-material; extra == 'docs'
Requires-Dist: mkdocstrings[python]; extra == 'docs'
Provides-Extra: tests
Requires-Dist: coverage[toml]; extra == 'tests'
Requires-Dist: pytest; extra == 'tests'
Provides-Extra: typing
Requires-Dist: mypy; extra == 'typing'
Requires-Dist: types-urllib3; extra == 'typing'
Description-Content-Type: text/markdown

# doc2dash

*doc2dash* is an extensible [Documentation Set](https://developer.apple.com/library/archive/documentation/DeveloperTools/Conceptual/Documentation_Sets/010-Overview_of_Documentation_Sets/docset_overview.html#//apple_ref/doc/uid/TP40005266-CH13-SW6) (*docset*) generator that helps you to have documentation for all your favorite APIs in [*Dash.app*-compatible](https://kapeli.com/dash/) API browsers.

An API browser is an application that runs locally on your computer and allows you to search various API docs by pressing a key combination and starting to type (I have bound it to Alt-Space bar and can't write code without it).

The most common ones – [*Dash.app*](https://kapeli.com/dash) (macOS) and [*Zeal*](https://zealdocs.org) (Windows and Linux) – come with **many** docsets out of the box, but they can never offer you docsets for *every* package you'll ever use.
This is where *doc2dash* comes in:
It takes your offline documentation and converts it into an indexed format that API browsers can read and search (very fast!).

Currently it supports all known *intersphinx*-based documentation systems like [*Sphinx*](https://www.sphinx-doc.org/), [*pydoctor*](https://github.com/twisted/pydoctor), or [*MkDocs*](https://www.mkdocs.org) (with [*mkdocstrings*](https://mkdocstrings.github.io)).
While *doc2dash* is a Python project, the support is **not** limited to Python-related formats.

It's also extendable: [**you** can write your own parser](https://doc2dash.readthedocs.io/en/latest/extending/)!

![doc2dash Session](https://raw.githubusercontent.com/hynek/doc2dash/main/docs/doc2dash-session.png)


## Project Information

- **License**: [MIT](https://github.com/hynek/doc2dash/blob/main/LICENSE)
- **PyPI**: <https://pypi.org/project/doc2dash/>
- **Source Code**: <https://github.com/hynek/doc2dash>
- **Documentation**: <https://doc2dash.rtfd.io/>
- **Changelog**: <https://github.com/hynek/doc2dash/blob/main/CHANGELOG.md>
- **Supported Python Versions**: 3.8 and later (check the changelog for past releases that support _much_ older Python versions)
- **Platforms**: pre-compiled **binaries** for **Linux**, **macOS**, and **Windows** available; also runs on everything that runs Python


## Release Information for [3.0.0](https://github.com/hynek/doc2dash/compare/2.4.1...3.0.0) - 2022-09-13

### Removed

- Since *pydoctor* added support for *intersphinx* in version 21.2.0, the dedicated HTML-parsing parser has been removed. If you need to parse legacy *pydoctor* docs, please use *doc2dash* 2.4.1.


### Added

- Stand-alone binaries! If your platform is supported, you can now download binaries from the release page without dealing with Python at all – courtesy of [*PyOxidizer*](https://pyoxidizer.readthedocs.io/).
- *intersphinx*: documentation based on [*MkDocs*](https://www.mkdocs.org/) with [*mkdocstrings*](https://mkdocstrings.github.io/) metadata is now supported.
- *intersphinx*: if no explicit name is passed, the docset name is derived von the documentation's metadata (and not the directory name, which is more often than not just `html`).
- We use [*rich*](https://rich.readthedocs.io/) for output and progress bars now. This allows us more granular progress indication.
- Documentation on writing your own parser plugins.


### Changed

- Tons of refactorings that probably broke your custom parsers. Sorry about that and let us know, if we can help you fixing them.
- *intersphinx*: We now parse `objects.inv` files on our own. *Sphinx* is not a dependency anymore.
- *intersphinx*: Files that are indexed by *intersphinx*, but don't exist aren't added to the docset anymore. Common example is `py-modindex.html`. [#113](https://github.com/hynek/doc2dash/issues/113) [#115](https://github.com/hynek/doc2dash/issues/115)
- We now check if the index page passed via `--index-page` / `-I` exists and fail if it doesn't.



## Credits

*doc2dash* is written and maintained by Hynek Schlawack and released under the [MIT license](https://github.com/hynek/doc2dash/blob/main/LICENSE).

The development is kindly supported by my employer [Variomedia AG](https://www.variomedia.de/) and all my amazing [GitHub Sponsors](https://github.com/sponsors/hynek).

A full list of contributors can be found on [GitHub's overview](https://github.com/hynek/doc2dash/graphs/contributors).
