██╗ ██╗██╗ ██╗██╗ ██╗███╗ ███╗██╗
██║ ██║██║ ██║╚██╗ ██╔╝████╗ ████║██║
██║ █╗ ██║███████║ ╚████╔╝ ██╔████╔██║██║
██║███╗██║██╔══██║ ╚██╔╝ ██║╚██╔╝██║██║
╚███╔███╔╝██║ ██║ ██║ ██║ ╚═╝ ██║███████╗
╚══╝╚══╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚══════╝
🏗️ Transform websites into maintainable YAML manifests and generate multi-format applications
# Install WhyML ecosystem
pip install whyml whyml-cli whyml-core whyml-converters whyml-scrapers
# Scrape a website to YAML manifest
whyml scrape https://example.com -o data/manifest.yaml
# Convert to multiple formats
whyml convert data/manifest.yaml --format html -o output.html
whyml convert data/manifest.yaml --format react -o Component.tsx
whyml convert data/manifest.yaml --format vue -o Component.vue
📖 Complete Installation Guide →
WhyML is built as a modular ecosystem of specialized packages:
whyml-core - Core functionality (validation, loading, processing, utilities)whyml-scrapers - Web scraping and analysis capabilitieswhyml-converters - Multi-format conversion (HTML, React, Vue, PHP)whyml-cli - Unified command-line interfacewhyml - Main package orchestrating all modules| **📖 View Modular Package Documentation → | whyml-converters → | whyml-scrapers → | whyml-cli →** |
metadata:
title: "Landing Page"
description: "Modern landing page component"
version: "1.0.0"
template_vars:
hero_text: "Welcome to Our Product"
cta_text: "Get Started"
styles:
hero:
background: "linear-gradient(135deg, #007bff, #0056b3)"
padding: "80px 0"
text-align: "center"
color: "white"
structure:
main:
class: "hero-section"
children:
div:
class: "container"
children:
- h1:
text: ""
class: "display-4"
- button:
text: ""
class: "btn btn-success btn-lg"
| **📁 View More Examples → | Data Samples →** |
Each package includes comprehensive testing with Makefiles:
# Test specific packages
cd whyml-core && make test
cd whyml-converters && make test-coverage
cd whyml-scrapers && make test-watch
cd whyml-cli && make test-integration
# Test all packages
make test
# Build specific packages
cd whyml-converters && make build
cd whyml-core && make publish-test
# Clean all packages
find . -name "Makefile" -execdir make clean \;
# Individual package development
cd whyml-core && make test-coverage
cd whyml-converters && make test-html test-react test-vue test-php
cd whyml-scrapers && make test-scraper test-analyzer
cd whyml-cli && make test-integration
# Cross-package integration testing
make test
git clone https://github.com/dynapsys/whyml.git
cd whyml
python -m venv venv
source venv/bin/activate
pip install -e .
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
Licensed under the Apache License, Version 2.0. See LICENSE for details.