Minimal reproducible example for `mkdocstrings` Python handler issue

Overview

Requirements

  1. python=^3.10
  2. poetry

Example

sys.exit(cli()) File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/click/core.py", line 1128, in __call__ return self.main(*args, **kwargs) File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/click/core.py", line 1053, in main rv = self.invoke(ctx) File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/click/core.py", line 1659, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/click/core.py", line 1395, in invoke return ctx.invoke(self.callback, **ctx.params) File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/click/core.py", line 754, in invoke return __callback(*args, **kwargs) File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/mkdocs/__main__.py", line 177, in serve_command serve.serve(dev_addr=dev_addr, livereload=livereload, **kwargs) File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/mkdocs/commands/serve.py", line 54, in serve config = builder() File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/mkdocs/commands/serve.py", line 49, in builder build(config, live_server=live_server, dirty=dirty) File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/mkdocs/commands/build.py", line 314, in build _build_page(file.page, config, doc_files, nav, env, dirty) File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/mkdocs/commands/build.py", line 220, in _build_page output = config['plugins'].run_event( File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/mkdocs/plugins.py", line 102, in run_event result = method(item, **kwargs) File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/mkdocs_autorefs/plugin.py", line 197, in on_post_page fixed_output, unmapped = fix_refs(output, url_mapper) File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/mkdocs_autorefs/references.py", line 186, in fix_refs html = AUTO_REF_RE.sub(fix_ref(url_mapper, unmapped), html) File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/mkdocs_autorefs/references.py", line 156, in inner url = url_mapper(unescape(identifier)) File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/mkdocs_autorefs/plugin.py", line 94, in get_item_url new_identifiers = fallback(identifier) File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/mkdocstrings/handlers/base.py", line 408, in get_anchors anchors = handler.renderer.get_anchors(handler.collector.collect(identifier, fallback_config)) File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/mkdocstrings_handlers/python/collector.py", line 69, in collect loader.load_module(module_name) File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/griffe/loader.py", line 131, in load_module top_module = self._load_module_path(package.name, package.path, submodules=submodules) File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/griffe/loader.py", line 287, in _load_module_path self._load_submodules(module) File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/griffe/loader.py", line 292, in _load_submodules self._load_submodule(module, subparts, subpath) File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/griffe/loader.py", line 303, in _load_submodule member_parent[subparts[-1]] = self._load_module_path( File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/griffe/loader.py", line 285, in _load_module_path module = self._inspect_module(module_name, module_path, parent) File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/griffe/loader.py", line 347, in _inspect_module module = inspect( File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/griffe/agents/inspector.py", line 92, in inspect ).get_module(import_paths) File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/griffe/agents/inspector.py", line 206, in get_module value = dynamic_import(import_path, import_paths) File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/griffe/importer.py", line 67, in dynamic_import value = getattr(value, part) AttributeError: module 'pydantic' has no attribute '_hypothesis_plugin'">
# Install Dependencies
$ poetry install

# Enter Shell
$ poetry shell

# Serve Docs
$ mkdocs serve
INFO     -  Building documentation...
INFO     -  Cleaning site directory
ERROR    -  Error building page 'index.md': module 'pydantic' has no attribute '_hypothesis_plugin'
Traceback (most recent call last):
  File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/mkdocs_autorefs/plugin.py", line 88, in get_item_url
    url = self._url_map[identifier]
KeyError: 'pydantic'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/fakeusername/Desktop/example/.venv/bin/mkdocs", line 8, in <module>
    sys.exit(cli())
  File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/click/core.py", line 1128, in __call__
    return self.main(*args, **kwargs)
  File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/click/core.py", line 1053, in main
    rv = self.invoke(ctx)
  File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/click/core.py", line 1659, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/click/core.py", line 1395, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/click/core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/mkdocs/__main__.py", line 177, in serve_command
    serve.serve(dev_addr=dev_addr, livereload=livereload, **kwargs)
  File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/mkdocs/commands/serve.py", line 54, in serve
    config = builder()
  File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/mkdocs/commands/serve.py", line 49, in builder
    build(config, live_server=live_server, dirty=dirty)
  File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/mkdocs/commands/build.py", line 314, in build
    _build_page(file.page, config, doc_files, nav, env, dirty)
  File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/mkdocs/commands/build.py", line 220, in _build_page
    output = config['plugins'].run_event(
  File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/mkdocs/plugins.py", line 102, in run_event
    result = method(item, **kwargs)
  File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/mkdocs_autorefs/plugin.py", line 197, in on_post_page
    fixed_output, unmapped = fix_refs(output, url_mapper)
  File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/mkdocs_autorefs/references.py", line 186, in fix_refs
    html = AUTO_REF_RE.sub(fix_ref(url_mapper, unmapped), html)
  File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/mkdocs_autorefs/references.py", line 156, in inner
    url = url_mapper(unescape(identifier))
  File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/mkdocs_autorefs/plugin.py", line 94, in get_item_url
    new_identifiers = fallback(identifier)
  File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/mkdocstrings/handlers/base.py", line 408, in get_anchors
    anchors = handler.renderer.get_anchors(handler.collector.collect(identifier, fallback_config))
  File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/mkdocstrings_handlers/python/collector.py", line 69, in collect
    loader.load_module(module_name)
  File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/griffe/loader.py", line 131, in load_module
    top_module = self._load_module_path(package.name, package.path, submodules=submodules)
  File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/griffe/loader.py", line 287, in _load_module_path
    self._load_submodules(module)
  File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/griffe/loader.py", line 292, in _load_submodules
    self._load_submodule(module, subparts, subpath)
  File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/griffe/loader.py", line 303, in _load_submodule
    member_parent[subparts[-1]] = self._load_module_path(
  File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/griffe/loader.py", line 285, in _load_module_path
    module = self._inspect_module(module_name, module_path, parent)
  File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/griffe/loader.py", line 347, in _inspect_module
    module = inspect(
  File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/griffe/agents/inspector.py", line 92, in inspect
    ).get_module(import_paths)
  File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/griffe/agents/inspector.py", line 206, in get_module
    value = dynamic_import(import_path, import_paths)
  File "/home/fakeusername/Desktop/example/.venv/lib/python3.10/site-packages/griffe/importer.py", line 67, in dynamic_import
    value = getattr(value, part)
AttributeError: module 'pydantic' has no attribute '_hypothesis_plugin'
Owner
Hayden Richards
Yes, that is my sausage dog
Hayden Richards
python package sphinx template

python-package-sphinx-template python-package-sphinx-template

Soumil Nitin Shah 2 Dec 26, 2022
[Unofficial] Python PEP in EPUB format

PEPs in EPUB format This is a unofficial repository where I stock all valid PEPs in the EPUB format. Repository Cloning git clone --recursive Mickaël Schoentgen 9 Oct 12, 2022

An ongoing curated list of OS X best applications, libraries, frameworks and tools to help developers set up their macOS Laptop.

macOS Development Setup Welcome to MacOS Local Development & Setup. An ongoing curated list of OS X best applications, libraries, frameworks and tools

Paul Veillard 3 Apr 03, 2022
Automated generation of real Swagger/OpenAPI 2.0 schemas from Django REST Framework code.

drf-yasg - Yet another Swagger generator Generate real Swagger/OpenAPI 2.0 specifications from a Django Rest Framework API. Compatible with Django Res

Cristi Vîjdea 3k Dec 31, 2022
A plugin to introduce a generic API for Decompiler support in GEF

decomp2gef A plugin to introduce a generic API for Decompiler support in GEF. Like GEF, the plugin is battery-included and requires no external depend

Zion 379 Jan 08, 2023
xeuledoc - Fetch information about a public Google document.

xeuledoc - Fetch information about a public Google document.

Malfrats Industries 651 Dec 27, 2022
Data Inspector is an open-source python library that brings 15++ types of different functions to make EDA, data cleaning easier.

Data Inspector Data Inspector is an open-source python library that brings 15 types of different functions to make EDA, data cleaning easier. Author:

Kazi Amit Hasan 38 Nov 24, 2022
Build documentation in multiple repos into one site.

mkdocs-multirepo-plugin Build documentation in multiple repos into one site. Setup Install plugin using pip: pip install git+https://github.com/jdoiro

Joseph Doiron 47 Dec 28, 2022
Pydantic model generator for easy conversion of JSON, OpenAPI, JSON Schema, and YAML data sources.

datamodel-code-generator This code generator creates pydantic model from an openapi file and others. Help See documentation for more details. Supporte

Koudai Aono 1.3k Dec 29, 2022
A collection and example code of every topic you need to know about in the basics of Python.

The Python Beginners Guide: Master The Python Basics Tonight This guide is a collection of every topic you need to know about in the basics of Python.

Ahmed Baari 1 Dec 19, 2021
Jupyter Notebooks as Markdown Documents, Julia, Python or R scripts

Have you always wished Jupyter notebooks were plain text documents? Wished you could edit them in your favorite IDE? And get clear and meaningful diff

Marc Wouts 5.7k Jan 04, 2023
Convert excel xlsx file's table to csv file, A GUI application on top of python/pyqt and other opensource softwares.

Convert excel xlsx file's table to csv file, A GUI application on top of python/pyqt and other opensource softwares.

David A 0 Jan 20, 2022
This repository outlines deploying a local Kubeflow v1.3 instance on microk8s and deploying a simple MNIST classifier using KFServing.

Zero to Inference with Kubeflow Getting Started This repository houses all of the tools, utilities, and example pipeline implementations for exploring

Ed Henry 3 May 18, 2022
A markdown wiki and dashboarding system for Datasette

datasette-notebook A markdown wiki and dashboarding system for Datasette This is an experimental alpha and everything about it is likely to change. In

Simon Willison 19 Apr 20, 2022
Dev Centric Tools for Mkdocs Based Documentation

docutools MkDocs Documentation Tools For Developers This repo is providing a set of plugins for mkdocs material compatible documentation. It is meant

Axiros GmbH 14 Sep 10, 2022
Comprehensive Python Cheatsheet

Comprehensive Python Cheatsheet Download text file, Buy PDF, Fork me on GitHub or Check out FAQ. Contents 1. Collections: List, Dictionary, Set, Tuple

Jefferson 1 Jan 23, 2022
Convenient tools for using Swagger to define and validate your interfaces in a Pyramid webapp.

Convenient tools for using Swagger to define and validate your interfaces in a Pyramid webapp.

Scott Triglia 64 Sep 18, 2022
30 days of Python programming challenge is a step-by-step guide to learn the Python programming language in 30 days

30 days of Python programming challenge is a step-by-step guide to learn the Python programming language in 30 days. This challenge may take more than100 days, follow your own pace.

Asabeneh 17.7k Jan 07, 2023
Essential Document Generator

Essential Document Generator Dead Simple Document Generation Whether it's testing database performance or a new web interface, we've all needed a dead

Shane C Mason 59 Nov 11, 2022
Highlight Translator can help you translate the words quickly and accurately.

Highlight Translator can help you translate the words quickly and accurately. By only highlighting, copying, or screenshoting the content you want to translate anywhere on your computer (ex. PDF, PPT

Coolshan 48 Dec 21, 2022