Links
AI / Agents
Developers
gdtest-homepage-wide
A test package for verifying that wide content on the homepage renders at full width even when the column-margin metadata sidebar is present.
Installation
pip install gdtest-homepage-wideQuick Start
The following code block is deliberately wide to test layout:
from gdtest_homepage_wide import process, summarize
## Build a dataset with many columns to produce a wide display
data = [
{"id": 1, "category": "widgets", "name": "Widget A", "price": 9.99, "quantity": 100, "warehouse": "East", "status": "active", "rating": 4.5},
{"id": 2, "category": "gadgets", "name": "Gadget B", "price": 24.99, "quantity": 50, "warehouse": "West", "status": "active", "rating": 4.2},
{"id": 3, "category": "widgets", "name": "Widget C", "price": 14.99, "quantity": 200, "warehouse": "North", "status": "inactive", "rating": 3.8},
{"id": 4, "category": "gadgets", "name": "Gadget D", "price": 49.99, "quantity": 25, "warehouse": "South", "status": "active", "rating": 4.9},
{"id": 5, "category": "doohickeys", "name": "Doohickey E", "price": 5.99, "quantity": 500, "warehouse": "East", "status": "active", "rating": 3.5},
]
processed = process(data)
summary = summarize(processed, group_by="category")
print(summary) # => {'widgets': 2, 'gadgets': 2, 'doohickeys': 1}Wide Table
| ID | Category | Name | Price | Quantity | Warehouse | Status | Rating | Last Updated | Notes |
|---|---|---|---|---|---|---|---|---|---|
| 1 | widgets | Widget A | $9.99 | 100 | East | active | 4.5 | 2025-01-15 08:30 | Best seller in Q4 |
| 2 | gadgets | Gadget B | $24.99 | 50 | West | active | 4.2 | 2025-02-20 14:15 | New design launched |
| 3 | widgets | Widget C | $14.99 | 200 | North | inactive | 3.8 | 2025-01-10 09:00 | Discontinued next quarter |
| 4 | gadgets | Gadget D | $49.99 | 25 | South | active | 4.9 | 2025-03-01 11:45 | Premium line |
| 5 | doohickeys | Doohickey E | $5.99 | 500 | East | active | 3.5 | 2025-02-28 16:30 | High volume, low margin |
Usage Details
Process records to add metadata, then summarize by any key:
summary = summarize(processed, group_by="warehouse")
## => {'East': 2, 'West': 1, 'North': 1, 'South': 1}This text paragraph after the table and code blocks should also render at normal width without indentation.
Tests that wide content on the homepage (code blocks, wide tables) renders at full width when the column-margin metadata sidebar is present. Verifies the gd-homepage body class and CSS grid fix.
Source files
gdtest_homepage_wide/
__init__.py
"""A test package for homepage wide-content rendering."""
__version__ = "1.0.0"
__all__ = ["process", "summarize"]
def process(data: list[dict]) -> list[dict]:
"""
Process a list of records.
Parameters
----------
data
A list of dictionaries representing data records.
Returns
-------
list[dict]
The processed records with added metadata fields.
"""
return [
{**record, "processed": True}
for record in data
]
def summarize(data: list[dict], group_by: str = "category") -> dict:
"""
Summarize data records by a grouping key.
Parameters
----------
data
A list of dictionaries to summarize.
group_by
The key to group records by.
Returns
-------
dict
A dictionary mapping group keys to record counts.
"""
result: dict[str, int] = {}
for record in data:
key = record.get(group_by, "unknown")
result[key] = result.get(key, 0) + 1
return resultREADME.md
# gdtest-homepage-wide
A test package for verifying that wide content on the homepage
renders at full width even when the column-margin metadata
sidebar is present.
## Installation
```bash
pip install gdtest-homepage-wide
```
## Quick Start
The following code block is deliberately wide to test layout:
```python
from gdtest_homepage_wide import process, summarize
# Build a dataset with many columns to produce a wide display
data = [
{"id": 1, "category": "widgets", "name": "Widget A", "price": 9.99, "quantity": 100, "warehouse": "East", "status": "active", "rating": 4.5},
{"id": 2, "category": "gadgets", "name": "Gadget B", "price": 24.99, "quantity": 50, "warehouse": "West", "status": "active", "rating": 4.2},
{"id": 3, "category": "widgets", "name": "Widget C", "price": 14.99, "quantity": 200, "warehouse": "North", "status": "inactive", "rating": 3.8},
{"id": 4, "category": "gadgets", "name": "Gadget D", "price": 49.99, "quantity": 25, "warehouse": "South", "status": "active", "rating": 4.9},
{"id": 5, "category": "doohickeys", "name": "Doohickey E", "price": 5.99, "quantity": 500, "warehouse": "East", "status": "active", "rating": 3.5},
]
processed = process(data)
summary = summarize(processed, group_by="category")
print(summary) # => {'widgets': 2, 'gadgets': 2, 'doohickeys': 1}
```
## Wide Table
| ID | Category | Name | Price | Quantity | Warehouse | Status | Rating | Last Updated | Notes |
|----|------------|-------------|--------|----------|-----------|----------|--------|--------------------|--------------------------------|
| 1 | widgets | Widget A | $9.99 | 100 | East | active | 4.5 | 2025-01-15 08:30 | Best seller in Q4 |
| 2 | gadgets | Gadget B | $24.99 | 50 | West | active | 4.2 | 2025-02-20 14:15 | New design launched |
| 3 | widgets | Widget C | $14.99 | 200 | North | inactive | 3.8 | 2025-01-10 09:00 | Discontinued next quarter |
| 4 | gadgets | Gadget D | $49.99 | 25 | South | active | 4.9 | 2025-03-01 11:45 | Premium line |
| 5 | doohickeys | Doohickey E | $5.99 | 500 | East | active | 3.5 | 2025-02-28 16:30 | High volume, low margin |
## Usage Details
Process records to add metadata, then summarize by any key:
```python
summary = summarize(processed, group_by="warehouse")
# => {'East': 2, 'West': 1, 'North': 1, 'South': 1}
```
This text paragraph after the table and code blocks should
also render at normal width without indentation.great-docs.yml generated
# Great Docs Configuration
# See https://posit-dev.github.io/great-docs/user-guide/configuration.html
# Module Name (optional)
# ----------------------
# Set this if your importable module name differs from the project name.
# Example: project 'py-yaml12' with module name 'yaml12'
# module: yaml12
# Docstring Parser
# ----------------
# The docstring format used in your package (numpy, google, or sphinx)
parser: numpy
# Dynamic Introspection
# ---------------------
# Use runtime introspection for more accurate documentation (default: true)
# Set to false if your package has cyclic alias issues (e.g., PyO3/Rust bindings)
dynamic: true
# API Discovery Settings
# ----------------------
# Exclude items from auto-documentation
# exclude:
# - InternalClass
# - helper_function
# Logo & Favicon
# ---------------
# Point to a single logo file (replaces the text title in the navbar):
# logo: assets/logo.svg
#
# For light/dark variants:
# logo:
# light: assets/logo-light.svg
# dark: assets/logo-dark.svg
#
# To show the text title alongside the logo, add: show_title: true
# Author Information
# ------------------
# Author metadata for display in the landing page sidebar
# You can add additional fields: github, orcid, affiliation, homepage
authors:
- name: Test Author
role: Author
# affiliation:
email: test@example.com
# github:
# orcid:
# homepage:
# Funding / Copyright Holder
# --------------------------
# Credit the organization that funds or holds copyright for this package.
# Displays in sidebar and footer. Homepage and ROR provide links.
# funding:
# name: "Posit Software, PBC"
# roles:
# - Copyright holder
# - funder
# homepage: https://posit.co
# ror: https://ror.org/03wc8by49
# API Reference Structure
# -----------------------
# Customize the sections below to organize your API documentation.
# - Reorder items within a section to change their display order
# - Move items between sections or create new sections
# - Use 'members: false' to exclude methods from documentation
# - Add 'desc:' to sections for descriptions
reference:
- title: Functions
desc: Utility functions
contents:
- process
- summarize
# Site URL
# --------
# Canonical address of the deployed documentation site.
# Required for subdirectory deployments, skills page install commands,
# .well-known/ discovery, and sitemaps.
# site_url: "https://your-org.github.io/your-package/"
# Site Settings
# -------------
# site:
# theme: flatly # Quarto theme (default: flatly)
# toc: true # Show table of contents (default: true)
# toc-depth: 2 # TOC heading depth (default: 2)
# toc-title: On this page # TOC title (default: "On this page")
# Jupyter Kernel
# --------------
# Jupyter kernel to use for executing code cells in .qmd files.
# This is set at the project level so it applies to all pages, including
# auto-generated API reference pages. Can be overridden in individual .qmd
# file frontmatter if needed for special cases.
jupyter: python3
# CLI Documentation
# -----------------
# cli:
# enabled: true # Enable CLI documentation
# module: my_package.cli # Module containing Click commands
# name: cli # Name of the Click command object