Release Date: October 2025
Version: 2.0.0
Type: Major Release
This major release introduces significant improvements to dataset handling, format support, and tooling. The focus has been on solving data format limitations, improving user experience, and providing robust migration tools while maintaining full backward compatibility.
- JSONL (JSON Lines) - Recommended format for complex data with metadata support
- CSV with Proper Escaping - Standard CSV format with proper quote handling
- TSV (Tab-Separated Values) - Better alternative to pipe-delimited format
- Parquet - Binary format for large datasets with excellent compression
- โ No Escaping Issues: Handles all special characters (pipes, quotes, newlines)
- โ Metadata Support: Store IDs, timestamps, categories, and custom fields
- โ Proper Validation: Built-in format validation and error handling
- โ Backward Compatibility: All existing scripts work unchanged
tools/improved_dataset_converter.py- Convert between all supported formatstools/enhanced_dataset_reader.py- Unified reader with auto-format detectiontools/migrate_datasets.py- Batch migration tool for existing datasetstools/demo_improved_formats.py- Complete demonstration of new featurestools/example_improved_formats.py- Interactive examples and tutorials
# List all datasets and their current formats
python tools/migrate_datasets.py --list
# Migrate all datasets to JSONL format (recommended)
python tools/migrate_datasets.py --all --output-format jsonl
# Migrate specific dataset
python tools/migrate_datasets.py --input datasets/my_dataset.csv --output-format jsonl- Multiple Output Formats: Download datasets in JSONL, CSV, TSV, or Parquet
- Smart Column Detection: Automatically identifies text and label columns
- Flexible Configuration: Support for different dataset splits and configurations
- Sample Limiting: Download subsets of large datasets
# Download dataset as CSV
python download_hf_datasets.py --dataset "imdb" --format csv --max-samples 1000
# Download with custom output name
python download_hf_datasets.py --dataset "squad" --output "my_squad.csv" --format csv
# Download specific split
python download_hf_datasets.py --dataset "imdb" --split "test" --format csv- JSON Format (Default): Structured data with metadata
- CSV Format: Standard CSV for Excel compatibility
- TSV Format: Tab-separated for data processing
- Parquet Format: Binary format for large datasets
# Default JSON format
python prompt_evaluator.py --input datasets/pii_dataset.csv
# CSV format for false positives/negatives
python prompt_evaluator.py --input datasets/pii_dataset.csv --format csv
# TSV format
python prompt_evaluator.py --input datasets/pii_dataset.csv --format tsvdocs/IMPROVED_DATASET_FORMATS.md- Comprehensive guide to new formatsdocs/README.md- Centralized documentation indextools/README.md- Complete tool documentationDOCUMENTATION_ORGANIZATION.md- Documentation structure guide
- Updated installation guide with new dependencies
- Improved usage examples with new features
- Better troubleshooting guide
- Enhanced dataset management documentation
prompt-evaluator-extension/- Entire browser extension removed- Reason: Focus shifted to core evaluation tools and dataset management
- Migration: Use command-line tools for batch processing
guardrail_evaluator.py- Removed in favor of unified approachtest_label_columns.py- Replaced by improved validation tools
- Status: Still supported but deprecated
- Issues: Manual parsing, no escaping, no metadata support
- Migration: Use
tools/migrate_datasets.pyto convert to JSONL format - Timeline: Will be removed in v3.0
- Proper CSV Escaping: Handles quotes, commas, and special characters correctly
- Metadata Support: Store additional information with each record
- Format Validation: Built-in validation for all supported formats
- Error Recovery: Graceful handling of malformed data
- Streaming Processing: Handle large datasets efficiently
- Memory Management: Optimized for large dataset processing
- Parallel Processing: Support for concurrent operations
- Caching: Improved performance for repeated operations
- Type Hints: Full type annotation coverage
- Error Handling: Comprehensive error handling and recovery
- Documentation: Extensive inline documentation
- Testing: Improved test coverage and validation
| Format | Human Readable | Special Chars | Metadata | Size | Performance | Recommended For |
|---|---|---|---|---|---|---|
| JSONL | โ | โ | โ | Medium | Fast | General use |
| CSV | โ | โ | Small | Fast | Excel compatibility | |
| TSV | โ | โ | Small | Fast | Data processing | |
| Parquet | โ | โ | โ | Very Small | Very Fast | Large datasets |
| Pipe (Legacy) | โ | โ | โ | Small | Slow | Deprecated |
python tools/migrate_datasets.py --list# Migrate all datasets to JSONL (recommended)
python tools/migrate_datasets.py --all --output-format jsonl
# Or migrate specific datasets
python tools/migrate_datasets.py --input datasets/my_dataset.csv --output-format jsonl# No changes needed to existing code!
python prompt_evaluator.py --input datasets/my_dataset.jsonl# 1. Install dependencies
pip install -r requirements.txt
# 2. Set up environment
echo "CALYPSOAI_URL=https://calypsoai.app" > .env
echo "CALYPSOAI_TOKEN=your_token_here" >> .env
# 3. Download a dataset
python download_hf_datasets.py --dataset "imdb" --format csv --max-samples 1000
# 4. Run evaluation
python prompt_evaluator.py --input datasets/imdb_train.csvdatasets>=2.14.0- Hugging Face datasets libraryhuggingface_hub>=0.16.0- Hugging Face Hub integrationpandas>=1.5.0- Enhanced data processing
requests>=2.31.0- HTTP client improvementspython-dotenv>=1.0.0- Environment variable management
No changes to existing environment variables. New optional variables:
HF_TOKEN- Hugging Face authentication (optional)OUTPUT_FORMAT- Default output format (optional)
project/
โโโ datasets/ # Dataset storage
โ โโโ *.csv # Legacy CSV files
โ โโโ *.jsonl # New JSONL files (recommended)
โ โโโ *.backup.csv # Backup files from migration
โโโ results/ # Evaluation results
โ โโโ *_results.csv # Main results
โ โโโ *_false_positives.jsonl # False positives (JSON format)
โ โโโ *_false_negatives.jsonl # False negatives (JSON format)
โโโ tools/ # New dataset tools
โ โโโ improved_dataset_converter.py
โ โโโ enhanced_dataset_reader.py
โ โโโ migrate_datasets.py
โ โโโ demo_improved_formats.py
โโโ docs/ # Enhanced documentation
โโโ IMPROVED_DATASET_FORMATS.md
โโโ README.md
# List current datasets
python tools/migrate_datasets.py --list
# Migrate all to JSONL
python tools/migrate_datasets.py --all --output-format jsonl
# Validate migration
python tools/improved_dataset_converter.py datasets/my_dataset.jsonl --validate# List popular datasets
python download_hf_datasets.py --list-popular
# Search for datasets
python download_hf_datasets.py --search "sentiment"
# Download as CSV
python download_hf_datasets.py --dataset "imdb" --format csv --max-samples 1000# Standard evaluation with JSONL
python prompt_evaluator.py --input datasets/my_dataset.jsonl
# Advanced evaluation with custom output format
python prompt_evaluator_prompts.py --input datasets/my_dataset.jsonl --format csv
# Results analysis
python evaluate_existing_results.py --input results/my_dataset_results.csv# Convert between formats
python tools/improved_dataset_converter.py input.csv output.jsonl --output-format jsonl
# Convert with validation
python tools/improved_dataset_converter.py input.csv output.jsonl --validate
# Auto-detect input format
python tools/improved_dataset_converter.py input.csv output.jsonl- Fixed: CSV escaping issues with special characters
- Fixed: Pipe-delimited format parsing errors
- Fixed: Memory issues with large datasets
- Fixed: Unicode handling in all formats
- Fixed: CalypsoAI API timeout handling
- Fixed: Error recovery for failed requests
- Fixed: Rate limiting improvements
- Fixed: Authentication token handling
- Fixed: Better error messages and diagnostics
- Fixed: Improved progress reporting
- Fixed: Enhanced validation feedback
- Fixed: Clearer documentation and examples
- Streaming Processing: Handle very large datasets efficiently
- Parallel Evaluation: Multi-threaded evaluation support
- Advanced Analytics: Enhanced metrics and reporting
- API Improvements: Better error handling and retry logic
- Remove Legacy Support: Drop pipe-delimited format support
- Enhanced Metadata: Rich metadata support for all formats
- Performance Optimization: Further performance improvements
- Advanced Migration: Automated migration tools
- Documentation: Check
docs/directory for comprehensive guides - Examples: Use
tools/demo_improved_formats.pyfor demonstrations - Migration: Use
tools/migrate_datasets.py --helpfor migration options - Issues: Report issues on GitLab with detailed information
- Migration Problems: Use
--validateflag to check conversions - Format Detection: Use
--formatparameter to specify input format - Large Datasets: Use
--max-samplesto limit dataset size - Memory Issues: Consider Parquet format for very large datasets
This major release represents a significant step forward in dataset handling and user experience. The new format support, migration tools, and enhanced documentation provide a robust foundation for prompt evaluation workflows while maintaining full backward compatibility.
Key Takeaways:
- โ Improved Data Handling: No more escaping issues
- โ Multiple Format Support: Choose the best format for your needs
- โ Easy Migration: Simple tools to upgrade existing datasets
- โ Backward Compatibility: All existing code continues to work
- โ Enhanced Documentation: Comprehensive guides and examples
Recommended Next Steps:
- Migrate your datasets to JSONL format
- Explore the new dataset tools
- Update your workflows to use the new features
- Provide feedback for future improvements
Full Changelog: See individual commit messages for detailed changes
Documentation: Visit docs/ directory for comprehensive guides
Support: Open an issue on GitLab for questions or problems