feat: Simplify library import and usage #27
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
📦 Developer Experience Enhancement
This PR implements the "Simplify Library Import and Usage" task to make grain-chain significantly easier to use for new developers and common use cases.
🚀 Key Improvements
Import Simplification
grainchain/__init__.py
Providers
class with constants (LOCAL
,E2B
,DAYTONA
,MORPH
,MODAL
)create_local_sandbox()
,create_e2b_sandbox()
,create_sandbox()
API Design Enhancements
QuickSandbox
class for synchronous operations (no async/await needed)quick_execute()
,quick_python()
,quick_script()
ConfigPresets
with predefined configurations for development, testing, and data scienceUsage Examples
examples/
directory:hello_world.py
- Simple getting started examplesimplified_usage.py
- Demonstrates new API patternsintegration_patterns.py
- Shows integration with other toolssync_usage_demo.py
- Synchronous API demonstrationTesting & Quality
💡 Before vs After
Before (Complex)
After (Simple)
🔧 Technical Implementation
Thread-Safe Synchronous API
QuickSandbox
with intelligent async/sync bridgingSmart Configuration
Backward Compatibility
📊 Impact
This significantly improves developer adoption by:
🧪 Testing
All examples work out of the box:
Test coverage includes:
✅ Success Criteria Met
💻 View my work • About Codegen