-
Notifications
You must be signed in to change notification settings - Fork 2
Architecture
Sepehr0Day edited this page Jun 13, 2026
·
1 revision
CaptchaGenerator/
base.py Shared file, font and background helpers
core/
config.py CaptchaConfig
result.py ChallengeResult
visual.py VisualChallenge lifecycle
renderer.py Text rendering, styles and difficulty
drawing.py Shapes and grid positioning
colors.py Named palettes
noise.py Noise primitives
generators/ One module per CAPTCHA
- A generator resolves
CaptchaConfig. - It creates or loads source content.
- It renders the public challenge asset.
-
VisualChallenge._saveapplies hooks and output settings. - It returns a structured
ChallengeResult.
Legacy text, audio and image-selection generators inherit
BaseCaptchaGenerator and return simpler string or tuple contracts.
- One generator per module.
- Shared behavior belongs in
core. - Answers remain independent from presentation.
- Metadata documents the UI contract.
- Config hooks provide customization without subclassing.
- Home
- Installation
- Quick-Start
- Configuration
- Core-API
- Generator-API-Reference
- Core-Utilities
- Supported-CAPTCHAs
- All-Examples
- Text-and-Media-CAPTCHAs
- Logic-CAPTCHAs
- Image-CAPTCHAs
- Selection-CAPTCHAs
- Puzzle-CAPTCHAs
- Visual-Reasoning-CAPTCHAs
- Tkinter-Examples
- Web-Integration
- Architecture
- Creating-a-Generator
- Security
- Publishing
- Migration-to-2.0
- FAQ