Skip to main content

A simple ipynb->md converter for MkDocs

Project description

Hippogriffe

This is a set of tweaks on top of the MkDocs + mkdocstrings[python] + griffe documentation stack. In particular, we:

  • Add [source] links to GitHub to each top-level class or function.
  • Pretty-format type annotations:
    • Fixes unions/generics/etc. to display as e.g. int | str rather than just Union, or tuple[int, str] rather than just tuple.
    • Respects your public API: if a type is declared in your documentation as ::: yourlib.Foo then its usage in type annotations will match: some_fn(foo: yourlib.Foo).
  • Show base classes inline after the class.
Before After
old new

Installation

pip install hippogriffe

Requires MkDocs 1.6.1+ and mkdocstrings[python] 0.28.3+

Usage

In mkdocs.yml:

...

plugins:
    - hippogriffe
    - mkdocstrings:
        ...

Configuration

Hippogriffe supports the following configuration options:

plugins:
    - hippogriffe:
        show_bases: true/false
        show_source_links: all/toplevel/none
        extra_public_modules:
            - foo
            - bar

show_bases:

If false then base classes will not be displayed alongside a class. Defaults to true.

show_source_links:

Sets which objects will have links to their location in the repository (as configured via the usual MkDocs repo_url). If all then all objects will have links. If toplevel then just ::: somelib.value will have links, but their members will not. If none then no links will be added. Defaults to toplevel.

extra_public_modules:

A list of module names whose elements should be treated as part of the public API. Pretty-formatting of type annotations is done strictly: every annotation must be part of the known public API, else an error will be raised. The public API is defined as the combination of:

  • Everything you document using ::: yourlib.Foo, and all of their members.
  • Anything from the standard library.
  • All objects belonging to any of extra_public_modules.

For example,

plugins:
    - hippogriffe:
        extra_public_modules:
            - jax
            - torch

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hippogriffe-0.1.0.tar.gz (12.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hippogriffe-0.1.0-py3-none-any.whl (18.2 kB view details)

Uploaded Python 3

File details

Details for the file hippogriffe-0.1.0.tar.gz.

File metadata

  • Download URL: hippogriffe-0.1.0.tar.gz
  • Upload date:
  • Size: 12.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.0

File hashes

Hashes for hippogriffe-0.1.0.tar.gz
Algorithm Hash digest
SHA256 cee45928ebd498c59468f9bfcc6b389f02bb54d95d2402aa3b97ac5c5f68a902
MD5 c028e7bc30581e1ab80865cd807e8efb
BLAKE2b-256 102fd7f5a5aed523043a029637388aeac0d594ce58f4afb670ce48304c6b2413

See more details on using hashes here.

File details

Details for the file hippogriffe-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: hippogriffe-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 18.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.0

File hashes

Hashes for hippogriffe-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6f3f9582703add8807cd82ec96c07f0459714a8c1fb5ad5fea01ea7477a195a9
MD5 031974c44f7eb57726812a6d17a4a763
BLAKE2b-256 26ec1e567cff55b441db818207586e921b8e45cd5e177ea3fa67f001ddb43fb0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page