Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

sphinx-gp-opengraph

OpenGraph meta-tag emission for Sphinx — a drop-in replacement for sphinxext-opengraph that ships every ogp_* config key the upstream supports, minus the matplotlib-based social-card generator. No image-rendering dependencies, no system-fontconfig surprises.

Part of the gp-sphinx documentation platform.

Install

$ pip install sphinx-gp-opengraph

When you depend on gp-sphinx, this extension is already loaded — see Auto-derived values below. The full config-key reference is auto-generated on the package docs page from the live app.add_config_value() registrations.

Minimum viable conf.py

extensions = [
    "sphinx_gp_opengraph",
]
ogp_site_url = "https://example.com/"
ogp_image = "_static/og-default.png"

A 1200×630 PNG works on Slack, Facebook, LinkedIn, and X/Twitter unfurlers. With these three values set, every page rendered by an HTML-family builder gains og:title, og:type, og:url, og:site_name, og:description, og:image, and og:image:alt. A matching <meta name="description"> is emitted when the page does not already define one.

Auto-derived values when used with gp-sphinx

Projects that build through {py:func}gp_sphinx.config.merge_sphinx_config do not need to set ogp_site_url, ogp_site_name, or ogp_image manually. Pass docs_url= to merge_sphinx_config() and gp-sphinx fills all three from that one value. See the sphinx-gp-opengraph package page for the integration story and configuration.md for the canonical mapping table.

Per-page overrides

Set front-matter fields to override the site-wide defaults on a single page. MyST syntax shown; reST field-list syntax behaves the same way.

---
ogp_description_length: 160
og:image: _static/og/this-page.png
og:image:alt: A tailored hero for this page
---

# Page title

Body paragraph that becomes og:description.
Field Effect
og:image Replace the site-default image for this page
og:image:alt Replace the alt text for this page
ogp_description_length Override the description-length cap for this page
ogp_disable: true Skip OpenGraph emission entirely on this page

Any other og:* field-list entry is forwarded to the page head verbatim, so og:type, og:audio, etc. work without code changes.

Twitter cards

sphinx-gp-opengraph does not register a separate twitter_* namespace; crawlers fall back to og:* for most fields. Append explicit Twitter markup through ogp_custom_meta_tags when you need it:

ogp_custom_meta_tags = [
    '<meta name="twitter:card" content="summary_large_image" />',
    '<meta property="og:image:width" content="1200" />',
    '<meta property="og:image:height" content="630" />',
]

Migration from sphinxext-opengraph

Configuration is drop-in compatible — every ogp_* key is registered with the same name, type, and default — with one behavioural change:

  • ogp_social_cards is accepted but ignored. sphinx-gp-opengraph does not bundle the matplotlib-based card generator the upstream ships. Setting the value emits one WARNING at config-inited:

    sphinx-gp-opengraph: ogp_social_cards ignored — sphinx-gp-opengraph ships no card generator
    

    Grep your build log for ogp_social_cards ignored to find this warning. The replacement workflow lives in the next section.

The recommended replacement is one static PNG per page. Drop them under _static/og/ and point the per-page og:image field-list entry at each one. The downstream UX is the same as upstream's auto-generated cards — just explicit, and with no build-time dependency on matplotlib or PIL.

docs/
├── _static/
│   └── og/
│       ├── default.png
│       ├── quickstart.png
│       └── reference.png
├── quickstart.md
└── reference.md
---
og:image: _static/og/quickstart.png
---

# Quickstart

See also

Metadata

Release files for sphinx-gp-opengraph 0.1.0a39

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sphinx-gp-opengraph 0.1.0a39
File Size Uploaded Provenance
sphinx_gp_opengraph-0.1.0a39.tar.gz 12.0 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for sphinx-gp-opengraph 0.1.0a39
File Interpreter ABI Platform
sphinx_gp_opengraph-0.1.0a39-py3-none-any.whl Python 3 none any Details

Total release size: 24.1 kB

Release files / sphinx_gp_opengraph-0.1.0a39.tar.gz

Download URL sphinx_gp_opengraph-0.1.0a39.tar.gz
Size 12.0 kB
Tags Source
SHA-256 checksum
How to use checksums
a77a1152dd708622a4c3b880c5ec2d3fde22c3bf1b4c673c9fd69ac49cf5ba56
BLAKE2b-256 checksum
How to use checksums
52db3369e9b30c5ccb0387fbb555c84a0613ccb8cc6228962520c7f9e64b9635
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 6, 2026.

Transparency log

Release files / sphinx_gp_opengraph-0.1.0a39-py3-none-any.whl

Download URL sphinx_gp_opengraph-0.1.0a39-py3-none-any.whl
Size 12.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c5718ca342a16c392b56516866f0a75601e735b0a80a366473f61fb55bd9542f
BLAKE2b-256 checksum
How to use checksums
444779829fcbe064abbf1cd304ec32fd3fd7815bbf2be3e3e3575e968bf13d4a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 6, 2026.

Transparency log

Security for sphinx-gp-opengraph 0.1.0a39

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for sphinx_gp_opengraph-0.1.0a39.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 6, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page