{"id":955,"library":"sphinxcontrib-serializinghtml","title":"Sphinx Serializing HTML Extension","description":"sphinxcontrib-serializinghtml is a Sphinx extension that outputs \"serialized\" HTML files, specifically in JSON and Pickle formats. This enables external applications or custom post-processing tools to consume documentation content without needing to parse raw HTML. The library is currently at version 2.0.0 and follows a release cadence tied to Sphinx releases, with recent updates addressing dependency management and Python/Sphinx version compatibility.","status":"active","version":"2.0.0","language":"python","source_language":"en","source_url":"https://github.com/sphinx-doc/sphinxcontrib-serializinghtml/","tags":["Sphinx","documentation","serialization","JSON","Pickle","extension"],"install":[{"cmd":"pip install sphinxcontrib-serializinghtml","lang":"bash","label":"Install latest version"}],"dependencies":[{"reason":"This is a Sphinx extension; Sphinx is required to build documentation. Version 1.1.6 and later require Sphinx >= 5.0.","package":"Sphinx","optional":false},{"reason":"Requires Python >= 3.9.","package":"Python","optional":false}],"imports":[{"note":"This library is a Sphinx extension and should be enabled by adding its name (as a string) to the 'extensions' list in your Sphinx project's conf.py. Direct Python import statements are generally not used for enabling Sphinx extensions in conf.py, and historically caused circular import issues in older versions.","wrong":"import sphinxcontrib.serializinghtml","symbol":"sphinxcontrib.serializinghtml","correct":"# in conf.py\nextensions = [\n    'sphinxcontrib.serializinghtml'\n]"}],"quickstart":{"code":"# 1. Create a Sphinx project (if you don't have one):\n# sphinx-quickstart\n\n# 2. In your conf.py file, add the extension:\n# extensions = [\n#     'sphinxcontrib.serializinghtml'\n# ]\n\n# 3. Build the documentation to JSON or Pickle format:\n# From your project root (where Makefile or make.bat is located):\n# make json\n# or\n# make pickle\n\n# Alternatively, using sphinx-build directly:\n# sphinx-build -b json -d _build/doctrees . _build/json\n# sphinx-build -b pickle -d _build/doctrees . _build/pickle","lang":"bash","description":"After installing the library, enable it by adding 'sphinxcontrib.serializinghtml' to the 'extensions' list in your Sphinx project's `conf.py`. Then, build your documentation using the 'json' or 'pickle' builder, which are provided by this extension."},"warnings":[{"fix":"Upgrade your Python environment to 3.9 or newer.","message":"Python 3.5, 3.6, 3.7, and 3.8 support was dropped in version 1.1.6. Version 2.0.0 and later require Python >= 3.9.","severity":"breaking","affected_versions":">=1.1.6"},{"fix":"Ensure your Sphinx installation is version 5.0 or newer (e.g., `pip install -U Sphinx`).","message":"The minimum required Sphinx version was raised to 5.0 in `sphinxcontrib-serializinghtml` version 1.1.6. Using older Sphinx versions with recent `sphinxcontrib-serializinghtml` releases will likely result in errors.","severity":"breaking","affected_versions":">=1.1.6"},{"fix":"Upgrade to `sphinxcontrib-serializinghtml` version 1.1.10 or later to avoid this specific circular import problem.","message":"Older versions (e.g., 1.1.1) of `sphinxcontrib-serializinghtml` experienced circular import issues if Sphinx was directly listed as a dependency, causing build failures. This was addressed in later 1.1.x versions, specifically version 1.1.10 removed Sphinx as a required direct dependency to prevent such conflicts.","severity":"gotcha","affected_versions":"<1.1.10"},{"fix":"When building your Sphinx project, use `make json` or `make pickle` (or `sphinx-build -b json` / `sphinx-build -b pickle`) to generate the desired serialized output.","message":"This extension provides special builders (`json` and `pickle`). To generate serialized output, you must explicitly use these builders (e.g., `make json` or `sphinx-build -b json`), not the default `html` builder. The output will be in `.fjson` and `.fpickle` files, not standard `.html`.","severity":"gotcha","affected_versions":"All versions"}],"env_vars":null,"search_vec":"'2.0.0':49 'address':62 'applic':26 'cadenc':54 'compat':68 'consum':34 'content':36 'current':46 'custom':28 'depend':63 'document':35,70 'enabl':24 'extens':4,11,74 'extern':25 'file':16 'follow':51 'format':22 'html':3,15,42 'json':19,72 'librari':44 'manag':64 'need':38 'output':13 'pars':40 'pickl':21,73 'post':30 'post-process':29 'process':31 'python/sphinx':66 'raw':41 'recent':60 'releas':53,58 'serial':2,14,71 'serializinghtml':7 'specif':17 'sphinx':1,10,57,69 'sphinxcontrib':6 'sphinxcontrib-serializinghtml':5 'tie':55 'tool':32 'updat':61 'version':48,67 'without':37","created_at":"2026-03-29T06:09:21.593454+00:00","updated_at":"2026-04-16T22:07:32.378819+00:00","problems":{"verify_error":"no import statement found"},"ecosystem":"pypi","meta_description":null,"install_score":80,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":"2.0.0","cli_name":"","cli_version":null,"type":"library","homepage":"https://www.sphinx-doc.org/","github":"https://github.com/sphinx-doc/sphinxcontrib-serializinghtml","docs":null,"changelog":"https://github.com/sphinx-doc/sphinxcontrib-serializinghtml/blob/master/CHANGES.rst","pypi":"https://pypi.org/project/sphinxcontrib-serializinghtml/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["serialization","web-framework"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"passing","verified_at":"2026-06-28","last_verified":"2026-08-27","next_check":"2026-07-05","install_tag":"verified"}}