Links
AI / Agents
gdtest-many-big-classes
Tests five big classes in one module, each with its own method section.
Five big classes each with 6+ methods: Processor, Transformer, Validator, Formatter, Exporter. On the Reference page you should see ‘Classes’ plus FIVE separate method subsections. Key test: multiple big classes coexist without section name collisions.
Source files
gdtest_many_big_classes/
__init__.py
"""Package with five big classes."""
__version__ = "0.1.0"
__all__ = [
"Processor",
"Transformer",
"Validator",
"Formatter",
"Exporter",
]
class Processor:
"""
Data processor with many operations.
Parameters
----------
source
Data source path.
"""
def __init__(self, source: str):
self.source = source
def load(self) -> list:
"""Load data."""
return []
def filter(self, pred) -> list:
"""Filter data by predicate."""
return []
def sort(self, key: str) -> list:
"""Sort data by key."""
return []
def group(self, key: str) -> dict:
"""Group data by key."""
return {}
def merge(self, other: list) -> list:
"""Merge with other data."""
return []
def deduplicate(self) -> list:
"""Remove duplicates."""
return []
class Transformer:
"""
Data transformer with many conversions.
Parameters
----------
config
Transformation config.
"""
def __init__(self, config: dict):
self.config = config
def to_json(self, data) -> str:
"""Convert to JSON."""
return ""
def to_csv(self, data) -> str:
"""Convert to CSV."""
return ""
def to_xml(self, data) -> str:
"""Convert to XML."""
return ""
def from_json(self, text: str) -> dict:
"""Parse from JSON."""
return {}
def from_csv(self, text: str) -> list:
"""Parse from CSV."""
return []
def normalize(self, data) -> dict:
"""Normalize data structure."""
return {}
class Validator:
"""
Data validator with many checks.
Parameters
----------
schema
Validation schema.
"""
def __init__(self, schema: dict):
self.schema = schema
def check_types(self, data: dict) -> bool:
"""Check value types."""
return True
def check_required(self, data: dict) -> bool:
"""Check required fields."""
return True
def check_ranges(self, data: dict) -> bool:
"""Check numeric ranges."""
return True
def check_patterns(self, data: dict) -> bool:
"""Check string patterns."""
return True
def check_uniqueness(self, data: list) -> bool:
"""Check uniqueness constraints."""
return True
def validate_all(self, data) -> dict:
"""Run all validations."""
return {"valid": True}
class Formatter:
"""
Output formatter with many styles.
Parameters
----------
style
Format style name.
"""
def __init__(self, style: str = "default"):
self.style = style
def as_table(self, data: list) -> str:
"""Format as ASCII table."""
return ""
def as_markdown(self, data: list) -> str:
"""Format as Markdown."""
return ""
def as_html(self, data: list) -> str:
"""Format as HTML."""
return ""
def as_latex(self, data: list) -> str:
"""Format as LaTeX."""
return ""
def as_plain(self, data: list) -> str:
"""Format as plain text."""
return ""
def set_style(self, style: str) -> None:
"""Change the format style."""
self.style = style
class Exporter:
"""
Data exporter with many targets.
Parameters
----------
destination
Export destination path.
"""
def __init__(self, destination: str):
self.destination = destination
def to_file(self, data, path: str) -> None:
"""Export to a file."""
pass
def to_database(self, data, conn_str: str) -> None:
"""Export to a database."""
pass
def to_api(self, data, endpoint: str) -> dict:
"""Export via API call."""
return {}
def to_stream(self, data) -> bytes:
"""Export as byte stream."""
return b""
def to_clipboard(self, data) -> None:
"""Export to clipboard."""
pass
def to_email(self, data, recipient: str) -> None:
"""Export via email."""
passREADME.md
# gdtest-many-big-classes Tests five big classes in one module, each with its own method section.
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
# 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: Classes
desc: Main classes provided by the package
contents:
- name: Exporter
members: false # 6 methods listed below
- name: Formatter
members: false # 6 methods listed below
- name: Processor
members: false # 6 methods listed below
- name: Transformer
members: false # 6 methods listed below
- name: Validator
members: false # 6 methods listed below
- title: Exporter Methods
desc: Methods for the Exporter class
contents:
- Exporter.to_file
- Exporter.to_database
- Exporter.to_api
- Exporter.to_stream
- Exporter.to_clipboard
- Exporter.to_email
- title: Formatter Methods
desc: Methods for the Formatter class
contents:
- Formatter.as_table
- Formatter.as_markdown
- Formatter.as_html
- Formatter.as_latex
- Formatter.as_plain
- Formatter.set_style
- title: Processor Methods
desc: Methods for the Processor class
contents:
- Processor.load
- Processor.filter
- Processor.sort
- Processor.group
- Processor.merge
- Processor.deduplicate
- title: Transformer Methods
desc: Methods for the Transformer class
contents:
- Transformer.to_json
- Transformer.to_csv
- Transformer.to_xml
- Transformer.from_json
- Transformer.from_csv
- Transformer.normalize
- title: Validator Methods
desc: Methods for the Validator class
contents:
- Validator.check_types
- Validator.check_required
- Validator.check_ranges
- Validator.check_patterns
- Validator.check_uniqueness
- Validator.validate_all
# 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