Welcome to Hazelbean Documentation¶
Hazelbean is a powerful Python library that transforms complex geospatial workflows into organized, reproducible, and efficient analysis pipelines. Whether you're a researcher, student, or professional working with geospatial data, Hazelbean provides the tools and structure to make your work more productive and reliable.
๐ฏ What Makes Hazelbean Special?¶
๐๏ธ Intelligent Project Organization¶
Hazelbean's ProjectFlow automatically creates and manages organized directory structures, making complex geospatial projects maintainable and shareable.
๐ Smart Data Discovery¶
The intelligent get_path() system finds your data across multiple directories, cloud storage, and data repositories without hardcoded paths.
โก Efficient Processing¶
Optimized raster processing with memory-efficient operations, parallel processing support, and performance tracking.
๐ Educational Focus¶
Comprehensive learning resources with progressive tutorials, extensive test documentation, and real-world examples.
๐ Quick Start Options¶
๐ New to Hazelbean?
Perfect for: First-time users, students, guided learning
Time: ~65 minutes of hands-on practice
Start Learning Journey โ๐ฌ Technical Deep Dive
Perfect for: Developers, maintainers, advanced users
Focus: Implementation details and patterns
Explore Test Docs โ๐ Performance & Metrics
Perfect for: Quality assessment, system monitoring
Content: Test results, benchmarks, system health
View Reports โ๐ง Site Information
Perfect for: Understanding documentation system
Content: Site maintenance, contribution guidelines
GitHub Repository โ๐ Featured Content¶
๐ Educational Journey¶
Our progressive learning system takes you from basic concepts to advanced geospatial analysis:
graph LR
A[๐ Setup & Installation] --> B[๐ Project Organization]
B --> C[๐ Data Discovery]
C --> D[โ๏ธ Processing & Analysis]
D --> E[๐ Results & Export]
style A fill:#e3f2fd,stroke:#1976d2
style B fill:#e8f5e8,stroke:#388e3c
style C fill:#fff3e0,stroke:#f57c00
style D fill:#f3e5f5,stroke:#7b1fa2
style E fill:#e0f2f1,stroke:#00796b
Perfect for:
- ๐ Students learning geospatial concepts
- ๐ฌ Researchers building analysis workflows
- ๐ฉโ๐ป Developers understanding Hazelbean patterns
- ๐ Analysts creating reproducible processes
๐งช Comprehensive Test Documentation¶
Explore over 50+ test cases that demonstrate real-world usage patterns:
| Category | Focus | Test Count | Coverage |
|---|---|---|---|
| Unit Tests | Individual functions | 9 modules | Core functionality |
| Integration Tests | Workflow testing | 4 modules | End-to-end processes |
| Performance Tests | Benchmarks & optimization | 3 modules | Efficiency tracking |
| System Tests | Complete system validation | 2 modules | Smoke testing |
๐ Live System Metrics¶
Metrics updated automatically from latest test runs
๐ฏ User-Focused Navigation¶
๐ฑ For Beginners¶
- Start Here: Educational Overview - Complete learning roadmap
- Step 1: Project Setup - Your first Hazelbean project
- Step 2: Data Loading - Intelligent data discovery
๐ฌ For Researchers & Analysts¶
- Integration Examples - Real-world workflow patterns
- Performance Benchmarks - Optimization and efficiency
- System Reports - Quality metrics and monitoring
๐ฉโ๐ป For Developers & Contributors¶
- Unit Test Patterns - Individual function testing
- Architecture Overview - System design
- Site Maintenance - Documentation system
๐ Powerful Search & Discovery¶
This documentation site features intelligent search across all content types:
- ๐ Full-text search across tutorials, tests, and documentation
- ๐ท๏ธ Tagged content for easy category filtering
- ๐ฑ Mobile-responsive design for on-the-go reference
- ๐ Light/dark themes for comfortable reading
- ๐ Code copy buttons for easy example usage
Search Tips:
- Use specific function names (e.g., "get_path")
- Search by concept (e.g., "raster processing")
- Filter by test category (e.g., "unit test")
- Look for error patterns (e.g., "file not found")
โก Quick Reference¶
Essential Hazelbean Patterns¶
import hazelbean as hb
# 1. Initialize organized project
p = hb.ProjectFlow('my_analysis')
# 2. Intelligent data discovery
raster_path = p.get_path('land_cover.tif')
# 3. Efficient processing
result = hb.arrayframe_to_array(raster_path)
# 4. Organized output
output_path = p.get_path('processed_result.tif', 'output')
Common Use Cases¶
| Task | Starting Point | Documentation |
|---|---|---|
| Learn Hazelbean | Educational Journey | Progressive tutorials |
| Process Rasters | Step 3: Processing | Array operations |
| Organize Projects | Step 1: Setup | ProjectFlow patterns |
| Find Test Examples | Test Categories | Implementation patterns |
| Check System Health | Reports | Metrics and monitoring |
| Contribute to Project | GitHub Repository | Development guide |
๐ Ready to Get Started?¶
The most effective way to learn Hazelbean is through hands-on practice with our carefully designed tutorial progression.
"Organized workflows, intelligent data discovery, efficient processing"
Auto-generated from tests โข Educational content โข Live metrics
2025-01-17