Skip to content

Latest commit

Β 

History

10 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ DagLab

DagLab Logo Python Dagster Marimo License

Supercharge your data workflows with paired Marimo notebooks for Dagster

Features β€’ Quick Start β€’ Documentation β€’ Examples β€’ Contributing


🎯 What is DagLab?

DagLab revolutionizes data science workflows by seamlessly integrating Marimo notebooks with Dagster pipelines. Create, manage, and execute interactive notebooks that are directly paired with your Dagster assets and jobs, bringing the best of both worlds together.

DagLab Workflow

🌟 Why DagLab?

  • πŸ”„ Seamless Integration: Directly connect Marimo notebooks to Dagster assets
  • ⚑ Real-time Development: Hot-reload notebooks while developing pipelines
  • πŸ› οΈ Production Ready: Enterprise-grade security, monitoring, and deployment
  • πŸ“Š Interactive Workflows: Visualize and interact with your data pipelines
  • πŸš€ Zero Configuration: Works out of the box with sensible defaults

✨ Features

πŸ““ Smart Notebook Generation

daglab scaffold --asset sales_forecast --template ml
  • Pre-configured templates for common workflows
  • Automatic Dagster integration
  • Type-safe data handling
  • Built-in performance tracking

πŸ” Asset Discovery

daglab discover --pattern "sales_*" --tags ml
  • Find Dagster assets instantly
  • Filter by patterns and tags
  • Real-time GraphQL integration
  • Beautiful Rich CLI output

🚦 Development Environment

daglab dev --services all --monitor
  • Integrated Marimo & Dagster servers
  • Auto-restart on failures
  • Real-time health monitoring
  • Performance dashboards

πŸ“€ Export & Migration

daglab export notebook.py --cloud s3://bucket
daglab migrate *.ipynb --target marimo/
  • Multi-cloud storage support
  • Jupyter to Marimo conversion
  • Metadata preservation
  • Batch processing

πŸš€ Quick Start

Installation

# Basic installation
pip install daglab

# With cloud support
pip install daglab[aws,gcp,azure]

# Full installation
pip install daglab[all]

Your First Workflow

# 1. Initialize in your Dagster project
daglab init

# 2. Create a notebook for your asset
daglab scaffold --asset my_model --template ml

# 3. Start development environment
daglab dev

# 4. Open the generated notebook and start coding!
πŸ“Ή See it in action
$ daglab init
✨ Initializing DagLab in current directory...
πŸ“ Created daglab.yaml configuration
πŸ“ Created notebooks/ directory
βœ… DagLab initialized successfully!

$ daglab scaffold --asset revenue_model --template ml
🎯 Generating notebook for asset: revenue_model
πŸ“ Using template: ml (Machine Learning)
✨ Created: notebooks/assets/revenue_model.marimo.py
βœ… Notebook generated successfully!

$ daglab dev
πŸš€ Starting development environment...
πŸ“Š Marimo server: http://localhost:2718
βš™οΈ  Dagster UI: http://localhost:3000
βœ… All services running! Press Ctrl+C to stop.

πŸ“š Documentation

🎯 Core Commands

πŸ—οΈ Project Management

daglab init                    # Initialize DagLab in your project
daglab doctor                  # Check system health & auto-fix issues
daglab clean                   # Clean artifacts and caches

πŸ““ Notebook Operations

daglab scaffold                # Generate paired notebooks
daglab list                   # List all notebooks
daglab run                    # Execute notebooks

πŸ” Dagster Integration

daglab discover               # Find Dagster entities
daglab run --job daily_etl   # Run Dagster jobs
daglab run --asset my_model  # Materialize assets

πŸš€ Development & Production

daglab dev                    # Start development environment
daglab export                 # Export notebooks to various formats
daglab stats                  # View usage statistics
daglab migrate               # Convert Jupyter to Marimo

πŸ› οΈ Advanced Features

πŸ”’ Enterprise Security

  • πŸ›‘οΈ Security Audit: Built-in vulnerability scanning
  • πŸ” Authentication: Multi-provider auth support
  • πŸ“‹ Compliance: GDPR, SOX, PCI DSS ready
  • 🚨 Real-time Alerts: Security event monitoring

πŸ“Š Performance Monitoring

# Automatic performance tracking in notebooks
from daglab import track_performance

@track_performance
def process_data(df):
    # Your code here
    return transformed_df
View Performance Dashboard
daglab dev --dashboard
# Access at http://localhost:8080

πŸ“Š Performance Metrics:
β”œβ”€β”€ Cell Execution Time: 2.3s
β”œβ”€β”€ Memory Usage: 156MB
β”œβ”€β”€ CPU Utilization: 45%
└── I/O Operations: 234

☁️ Multi-Cloud Support

# Export to different cloud providers
daglab export notebook.py --cloud s3://my-bucket/notebooks/
daglab export notebook.py --cloud gs://my-bucket/notebooks/
daglab export notebook.py --cloud az://my-container/notebooks/

πŸ”„ CI/CD Integration

# .github/workflows/daglab.yml
name: DagLab CI
on: [push]
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Run DagLab Tests
        run: |
          pip install daglab[dev]
          daglab doctor --fix
          daglab test

πŸ“ˆ Examples

πŸ“Š ETL Pipeline

# notebooks/assets/customer_etl.marimo.py
import marimo as mo
from daglab import dagster_asset, track_performance

@dagster_asset
@track_performance
def customer_data():
    """Extract and transform customer data."""
    df = load_customer_data()
    cleaned = clean_data(df)
    return cleaned

# Interactive visualization
mo.ui.table(customer_data())

πŸ€– ML Model Training

# notebooks/jobs/train_model.marimo.py
import marimo as mo
from daglab import dagster_job, visualize_metrics

@dagster_job
def train_revenue_model():
    """Train and evaluate ML model."""
    X_train, y_train = prepare_data()
    model = train_model(X_train, y_train)
    metrics = evaluate_model(model)
    
    # Visualize results
    visualize_metrics(metrics)
    return model

🀝 Contributing

We love contributions! See our Contributing Guide for details.

# Setup development environment
git clone https://github.com/your-org/daglab
cd daglab
pip install -e .[dev]

# Run tests
pytest tests/ -v

# Run security audit
python scripts/security/security_audit.py

πŸ† Why Choose DagLab?

⚑ Fast

10x faster notebook development with hot-reload and caching

πŸ”’ Secure

Enterprise-grade security with automated vulnerability scanning

πŸ“ˆ Scalable

From local development to distributed cloud deployment

🎨 Flexible

Customizable templates and extensible architecture

πŸ“Š Performance

Coverage Performance Security Code Quality

πŸ—ΊοΈ Roadmap

  • Core CLI functionality
  • Dagster integration
  • Marimo notebook support
  • Cloud storage integration
  • Performance monitoring
  • Real-time collaboration
  • AI-powered code suggestions
  • Visual workflow builder
  • Mobile app support

πŸ“„ License

DagLab is licensed under the Apache License 2.0. See LICENSE for details.

πŸ™ Acknowledgments

Built with ❀️ using:

  • Dagster - The data orchestration platform
  • Marimo - Reactive Python notebooks
  • Typer - CLI framework
  • Rich - Beautiful terminal output

Documentation β€’ Examples β€’ Issues β€’ Discussions

Made with ❀️ by the DagLab Team

About

Paired notebooks for Dagster.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages