Skip to content

Conversation

@MaxGhenis
Copy link
Contributor

Summary

  • Implements teamverse-py package for PolicyEngine content generation
  • Followed TDD approach: wrote tests first, then implementation
  • All 105 tests passing with 83% code coverage

Features

  • Social image rendering: 1200x630 OG images with Chrome headless
  • Content parsing: Google Docs API and web URLs with BeautifulSoup
  • GitHub publishing: Automatic PR creation for content
  • CLI commands: social, newsletter, validate, generate
  • HTTP API: FastAPI endpoints for CRM integration

Test plan

  • Run uv run pytest - 105 tests passing
  • Verify social image rendering works
  • Verify CLI commands work
  • Verify API endpoints work
  • Integration test with CRM

Relates to PolicyEngine/CRM#136

🤖 Generated with Claude Code

MaxGhenis and others added 3 commits January 20, 2026 13:29
Implements the teamverse-py package for PolicyEngine content generation:

## Features
- Social image rendering (1200x630 OG images with Chrome headless)
- Content source parsing (Google Docs API, web URLs with BeautifulSoup)
- GitHub publishing with automatic PR creation
- CLI commands (social, newsletter, validate, generate)
- HTTP API with FastAPI (health, render-social, validate-image, parse-source)

## Implementation Details
- Followed TDD: tests written first, then implementation
- 105 tests passing with 83% code coverage
- Pydantic models for type-safe content structures
- Jinja2 templating for HTML generation
- Async HTTP with httpx

## Test Coverage
- test_social_renderer.py: Chrome headless rendering tests
- test_parsers.py: Google Docs and web parsing tests
- test_cli.py: CLI command tests
- test_api.py: FastAPI endpoint tests
- test_publishers.py: GitHub publisher tests
- test_validators.py: Image validation tests
- test_models.py: Pydantic model tests

Relates to PolicyEngine/CRM#136

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Rename src/teamverse to src/policyengine_content
- Update all imports throughout codebase
- Update pyproject.toml (name, scripts, URLs)
- Update README with new CLI and import examples
- Regenerate uv.lock

The package focuses on content generation (social images, newsletters,
parsing) rather than being a full Python interface to Teamverse CRM.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants