🚀 Simple & Direct API¶
The modern datason API is simple and direct - just use the right function for your use case. No complex configuration needed!
🎯 Design Philosophy¶
The modern API is designed to be:
- Simple & Direct - One function call with automatic optimization
- Intention-Revealing - Function names tell you exactly what they do
- No Configuration Required - Built-in intelligent defaults
- Progressive Loading Options - Choose your success rate
- 100% Backward Compatible - Works alongside the traditional API
📦 Function Categories¶
Serialization Functions (Dump)¶
dump()
- General-purpose with composable optionsdump_ml()
- ML-optimized for models and tensorsdump_api()
- Clean JSON for web APIsdump_secure()
- Security-focused with PII redactiondump_fast()
- Performance-optimizeddump_chunked()
- Memory-efficient for large datastream_dump()
- Direct file streaming
File Operations (Save/Load) 🆕 v0.11.0¶
save_ml()
/save_secure()
/save_api()
/save_chunked()
- File saving variantsload_smart_file()
/load_perfect_file()
- File loading variants- Dual Format Support: JSON (.json) and JSONL (.jsonl) with auto-detection
- Compression: Automatic .gz handling for all formats
Deserialization Functions (Load) - Progressive Complexity¶
load_basic()
- 60-70% accuracy, fastest (exploration)load_smart()
- 80-90% accuracy, balanced (production)load_perfect()
- 100% accuracy, requires template (critical)load_typed()
- 95% accuracy, uses embedded metadata
Utility Functions¶
dumps()
/loads()
- JSON module compatibilityhelp_api()
- Interactive guidanceget_api_info()
- API metadata and capabilities
🎯 Simple & Direct in Action¶
import datason as ds
# Web APIs - automatic UUID handling, clean JSON
api_data = ds.dump_api(response_data) # UUIDs become strings automatically
# ML models - automatic framework detection
ml_data = ds.dump_ml(model_data) # Optimized for ML objects
# Security - automatic PII redaction
safe_data = ds.dump_secure(user_data) # Redacts emails, SSNs, etc.
# Choose your loading success rate
basic_data = ds.load_basic(json_string) # 60-70% success, fastest
smart_data = ds.load_smart(json_string) # 80-90% success, balanced
perfect_data = ds.load_perfect(json_string, template) # 100% success
🎨 Composable Design¶
Modern API functions support composable options:
# Combine multiple optimizations
secure_ml_data = ds.dump(
model_data,
secure=True, # Enable security features
ml_mode=True, # Optimize for ML objects
chunked=True # Memory-efficient processing
)
# Or use specialized functions
secure_ml_data = ds.dump_secure(model_data, ml_mode=True)
🔍 API Discovery¶
The Modern API includes built-in discovery tools:
# Get interactive guidance
ds.help_api()
# Get comprehensive API information
info = ds.get_api_info()
print("Available functions:", info['dump_functions'])
print("Recommendations:", info['recommendations'])
📊 When to Use Modern API¶
✅ Recommended for: - New projects starting fresh - Clear, readable code requirements - Progressive complexity needs - Domain-specific optimizations - Built-in security requirements
Example Use Cases:
# Data science workflow
model_data = ds.dump_ml({"model": model, "metrics": metrics})
# Web API responses
clean_response = ds.dump_api({"data": results, "status": "success"})
# Secure data handling
safe_data = ds.dump_secure(user_data, redact_pii=True)
# Large dataset processing
chunked_data = ds.dump_chunked(massive_dataset, chunk_size=1000)
# File operations with ML data
ds.save_ml({"model": trained_model, "data": features}, "experiment.json")
loaded_data = ds.load_smart_file("experiment.json")
🔗 Next Steps¶
- Serialization Functions - Detailed dump function documentation
- Deserialization Functions - Detailed load function documentation
- Utility Functions - Helper and discovery functions
- Complete Reference - Auto-generated documentation
📚 Related Documentation¶
- Traditional API - Compare with configuration-based approach
- Quick Start Guide - Getting started tutorial