Introduction
Micronaut Jupyter is a powerful integration library that connects your Micronaut applications with Jupyter notebooks, enabling interactive development, data analysis, and rapid prototyping directly within your application context.
| New to Micronaut Jupyter? Start with the Getting Started Guide for quick setup instructions. |
What is Micronaut Jupyter?
Micronaut Jupyter provides a custom Jupyter kernel that runs within your Micronaut application’s context, giving you full access to your application’s beans, services, repositories, and classpath from within Jupyter notebooks. This creates a powerful development and analysis environment where you can:
-
Interactively explore your application’s functionality
-
Perform data analysis using your application’s services and repositories
-
Prototype new features rapidly
-
Debug and test application components in real-time
-
Create live documentation and tutorials
Key Features
Enhanced Micronaut Kernel
The Micronaut kernel extends the powerful BeakerX Groovy kernel with native Micronaut integration:
-
Full Groovy Support: Execute any Groovy code with access to the full Groovy ecosystem
-
Classpath Integration: Import and use any classes available on your Micronaut application’s classpath
-
Bean Access: Retrieve and interact with any Micronaut bean using the
servicekeyword -
Repository Integration: Use Micronaut Data repositories and GORM dynamic finders seamlessly
-
Context Awareness: Access the full Micronaut ApplicationContext and all its features
-
Configuration Access: Read application configuration and properties
-
Event Handling: Listen to and publish Micronaut events
-
Isolation & Safety: Each kernel runs in isolation with proper resource management
Advanced Kernel Management
Recent improvements include:
-
Separate Kernel Instances: Each notebook gets its own isolated kernel instance
-
Resource Management: Automatic cleanup of kernel resources and connections
-
ThreadDeath Handling: Enhanced stability and error recovery mechanisms
-
Reactive Support: Full support for reactive streams and async operations
-
Hot Reloading: Support for Micronaut’s refresh scope and configuration reloading
BeakerX Integration
Built on the robust BeakerX platform, you also get access to:
-
Rich Visualizations: Charts, plots, and interactive widgets
-
Table Display: Rich table formatting and manipulation
-
Magic Commands: Powerful notebook shortcuts and utilities
-
Polyglot Support: Ability to mix languages within notebooks (when BeakerX is installed)
BeakerX features require the beakerx Python package to be installed separately.
|
Version Compatibility
Current version (1.1.2) supports:
-
Micronaut: 4.7.1
-
Groovy: 4.0.26
-
Micronaut Data: 4.12.0
-
BeakerX: 2.1-SNAPSHOT (requires manual build)
-
JupyterLab: 3.5.3
-
Jupyter Client: 7.4.9
Use Cases
Micronaut Jupyter is ideal for:
-
Interactive Development: Rapidly prototype and test new features
-
Data Analysis: Analyze data using your application’s business logic and repositories
-
Live Documentation: Create executable documentation that always stays current
-
Debugging: Interactively debug complex application scenarios
-
Training & Demos: Provide hands-on training environments
-
Research & Experimentation: Test hypotheses using real application data and logic
Next Steps
Ready to get started? Head over to the Getting Started Guide for step-by-step setup instructions and examples.