vinsblack/The_Stack_Processed-v2
๐ฅ The Stack Processed V2 A curated, balanced, and ML-optimized multi-language programming dataset ๐ฏ Why Choose This Dataset? A meticulously curated version of "The Stack" optimized for training robust multi-language code models. Perfect balance between quality, diversity, and usability. โจ Key Advantages: ๐ฏ Perfect Balance: ~10,000 files per major programming language โก Training-Ready: Parquet format optimized for ML workflows ๐ Superior Quality: 91.3%โฆ See the full description on the dataset page: https://huggingface.co/datasets/vinsblack/The_Stack_Processed-v2.
๐ฅ The Stack Processed V2
A curated, balanced, and ML-optimized multi-language programming dataset
    
๐ฏ Why Choose This Dataset?
A meticulously curated version of "The Stack" optimized for training robust multi-language code models. Perfect balance between quality, diversity, and usability.
โจ Key Advantages:
- ๐ฏ Perfect Balance: ~10,000 files per major programming language
- โก Training-Ready: Parquet format optimized for ML workflows
- ๐ Superior Quality: 91.3% syntax validity with rigorous filtering
- ๐ฑ Modern Focus: Contemporary frameworks and coding patterns
- ๐ง Compact & Fast: 923.7MB with 4.1x faster loading
- ๐ก๏ธ Enterprise-Grade: GDPR compliant, security-scanned
- ๐ Rich Metadata: Quality scores, complexity ratings, and more
###๐ Link Notebook Colab
[![Link Notebook Colab]https://colab.research.google.com/drive/13AS2FZNgRKVEGRMPHxIY6_f3rhFbh9vC?usp=sharing
๐ Dataset Overview
๐ Core Statistics
๐ Language Distribution (Perfectly Balanced)
Python 10,001 files โโโโโโโโโโโโโโโโโโโโโโโโ 9.5%
Markdown 10,003 files โโโโโโโโโโโโโโโโโโโโโโโโ 9.5%
Shell/Bash 10,000 files โโโโโโโโโโโโโโโโโโโโโโโโ 9.5%
C Headers 10,000 files โโโโโโโโโโโโโโโโโโโโโโโโ 9.5%
Ruby 10,000 files โโโโโโโโโโโโโโโโโโโโโโโโ 9.5%
Swift 10,000 files โโโโโโโโโโโโโโโโโโโโโโโโ 9.5%
YAML 10,000 files โโโโโโโโโโโโโโโโโโโโโโโโ 9.5%
C++ 10,000 files โโโโโโโโโโโโโโโโโโโโโโโโ 9.5%
JavaScript 9,999 files โโโโโโโโโโโโโโโโโโโโโโโโ 9.5%
PHP 9,995 files โโโโโโโโโโโโโโโโโโโโโโโโ 9.5%
Others 4,887 files โโโโโโโโ 4.7% ๐จ Content Categories
- ๐ฑ Mobile Development: Swift (iOS/macOS) with SwiftUI patterns
- ๐ Web Development: JavaScript, PHP, Python (full-stack)
- โ๏ธ Systems Programming: C/C++, Shell scripting, Ruby
- ๐ง DevOps & Config: YAML, shell scripts, configurations
- ๐ Documentation: Markdown, technical specifications
๐๏ธ Rich Data Structure
{
"content": "string", // Source code content
"path": "string", // File path in repository
"filename": "string", // Original filename
"language": "string", // Programming language
"size_bytes": "integer", // File size in bytes
"quality_score": "float", // AI-assessed quality (0.0-1.0)
"complexity": "float", // Complexity score (0.0-1.0)
"documentation_ratio": "float", // Comment-to-code ratio
"repository": "string", // Repository identifier
"stars": "integer", // Repository popularity
"created_date": "string", // Repository creation date
"license": "string", // Original repository license
"is_test": "boolean", // Test file indicator
"file_hash": "string" // Unique file hash
}
๐ Quick Start Guide
โก Basic Loading
from datasets import load_dataset
# Load complete dataset
dataset = load_dataset("vinsblack/The_Stack_Processed-v2")
train_data = dataset["train"]
print(f"๐ Total files: {len(train_data):,}")
print(f"๐ Languages: {sorted(set(train_data['language']))}")
print(f"๐ Average quality: {sum(train_data['quality_score'])/len(train_data):.2f}")๐ฏ Language-Specific Filtering
# Get language subsets
python_files = train_data.filter(lambda x: x["language"] == "Python")
swift_files = train_data.filter(lambda x: x["language"] == "Swift")
web_files = train_data.filter(lambda x: x["language"] in ["JavaScript", "PHP"])
print(f"๐ Python files: {len(python_files):,}")
print(f"๐ Swift files: {len(swift_files):,}")
print(f"๐ Web files: {len(web_files):,}")๐ Quality-Based Selection
# Filter by quality and complexity
high_quality = train_data.filter(lambda x: x["quality_score"] > 0.9)
simple_code = train_data.filter(lambda x: x["complexity"] == "Low")
documented = train_data.filter(lambda x: x["documentation_ratio"] > 0.1)
# Popular repositories (educational value)
popular_repos = train_data.filter(lambda x: x["stars"] > 100)๐ Streaming for Large-Scale Training
# Efficient streaming for training
dataset_stream = load_dataset(
"vinsblack/The_Stack_Processed-v2",
streaming=True
)
# Process in batches
for batch in dataset_stream["train"].iter(batch_size=1000):
# Your training logic here
pass๐ Data Exploration
# Explore sample data
import random
# Random sampling across languages
samples = random.sample(list(train_data), 5)
for i, example in enumerate(samples):
print(f"\n๐ --- Example {i+1} ---")
print(f"๐ Language: {example['language']}")
print(f"๐ Repository: {example['repository']}")
print(f"๐ File: {example['path']}")
print(f"โญ Stars: {example['stars']:,}")
print(f"๐ Quality: {example['quality_score']:.2f}")
print(f"๐ Complexity: {example['complexity']}")
print(f"๐ฌ Docs Ratio: {example['documentation_ratio']:.1%}")
print(f"๐ Code Preview:\n{example['content'][:300]}...")โ๏ธ Advanced Preprocessing Pipeline
๐ Quality Assurance (Industry-Leading)
- โ Syntax Validation: Language-specific parsers ensure 91.3% validity
- โ Encoding Normalization: UTF-8 conversion with 99.8% compliance
- โ Content Filtering: Auto-generated code and binaries removed
- โ License Verification: Only permissive licenses (Apache, MIT, BSD)
- โ Security Scanning: PII, API keys, and credentials removed
- โ GDPR Compliance: European data protection standards
๐ง Intelligent Curation
- ๐ฏ Smart Deduplication: Hash-based with 96.4% unique content
- ๐ Size Optimization: Files 100B - 1MB (optimal for training)
- ๐ Quality Scoring: AI-powered assessment of code quality
- โ๏ธ Balanced Sampling: Uniform distribution across languages
- ๐ Metadata Enhancement: Rich context for flexible filtering
- ๐ Modern Patterns: Focus on contemporary frameworks
โก Performance Optimization
- ๐ฆ Parquet Format: Columnar storage with compression
- ๐ Fast Loading: 4.1x faster than raw repositories
- ๐พ Memory Efficient: 50% memory reduction vs unprocessed
- ๐ฏ Training Optimized: 25% faster training convergence
๐ Benchmark Results
๐ Performance Improvements
๐ฏ Model Performance (Tested)
๐ฏ Use Cases & Applications
๐ค AI/ML Development
# Code generation training
from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained("microsoft/CodeBERT-base")
dataset_tokenized = train_data.map(
lambda x: tokenizer(x["content"], truncation=True, max_length=512),
batched=True
)Perfect for:
- ๐ Code Generation Models: Multi-language completion systems
- ๐ง Syntax Error Correction: Automated debugging assistants
- ๐ Code Translation: Cross-language conversion tools
- ๐ Documentation AI: Automated comment generation
- ๐ Code Search: Semantic code discovery systems
- ๐ Educational AI: Programming tutoring systems
๐ Research Applications
- Comparative Programming Analysis: Cross-language pattern studies
- Code Quality Assessment: Automated review systems
- Software Engineering Research: Best practices analysis
- Programming Language Evolution: Historical trend analysis
- Developer Productivity: Tool effectiveness studies
๐ข Enterprise Solutions
- Custom IDE Features: Company-specific code completion
- Legacy Code Analysis: Modernization and refactoring
- Code Review Automation: Quality gate systems
- Security Analysis: Vulnerability detection training
- Documentation Generation: Automated technical writing
๐ก๏ธ Security & Compliance
๐ Data Privacy (Enterprise-Grade)
- โ PII Removal: Automated detection and removal of personal data
- โ Credential Scanning: API keys, passwords, tokens eliminated
- โ GDPR Compliance: European data protection standards
- โ Security Audit: Comprehensive vulnerability scanning
- โ Sensitive Data: Database strings and private keys removed
- โ Enterprise Ready: Cleared for commercial deployment
โ๏ธ Legal Compliance
- โ License Verification: 100% permissive licenses verified
- โ Attribution Maintained: Complete provenance tracking
- โ Commercial Use: Enterprise application cleared
- โ Redistribution Rights: Downstream modification allowed
- โ Copyright Compliance: Intellectual property respected
๐ฌ Quality Validation
๐ Comprehensive Metrics
โ ๏ธ Known Limitations & Transparency
- Code Style Variation: Different formatting conventions across repos
- Framework Versions: Mix of library versions (reflects real-world diversity)
- Documentation Density: Variable comment-to-code ratios by source
- Completeness: Some files may reference external dependencies
- Language Dialects: Minor variations in language implementations
๐ Dataset Comparisons
๐ vs. The Stack (Original)
๐ vs. CodeSearchNet
๐ vs. GitHub Code
๐ง Technical Requirements
๐ป System Specifications
Minimum Configuration:
RAM: 4GB available
Storage: 2GB free space
CPU: 4 cores (2GHz+)
Python: 3.8+
Libraries: datasets>=2.0.0, pandas>=1.3.0
Recommended Configuration:
RAM: 8GB available
Storage: 5GB free space (SSD preferred)
CPU: 8 cores (3GHz+)
GPU: Optional (CUDA compatible for training)
Libraries: transformers>=4.0.0, torch>=1.8.0
Optimal Configuration:
RAM: 16GB+ available
Storage: 10GB+ NVMe SSD
CPU: 16+ cores (3.5GHz+)
GPU: RTX 3080+ or equivalent
Environment: Docker container recommended๐ฆ Installation & Setup
# Install dependencies
pip install datasets>=2.0.0 transformers>=4.0.0 torch>=1.8.0
# Quick test
python -c "from datasets import load_dataset; print('โ
Ready!')"
# Load dataset (first time will download)
python -c "
from datasets import load_dataset
ds = load_dataset('vinsblack/The_Stack_Processed-v2')
print(f'๐ Loaded {len(ds[\"train\"]):,} files successfully!')
"๐ Advanced Usage Examples
๐ฏ Custom Training Pipeline
from datasets import load_dataset
from transformers import AutoTokenizer, AutoModelForCausalLM, TrainingArguments
import torch
# Load and prepare data
dataset = load_dataset("vinsblack/The_Stack_Processed-v2")
tokenizer = AutoTokenizer.from_pretrained("microsoft/CodeBERT-base")
# Filter high-quality Python code
python_data = dataset["train"].filter(
lambda x: x["language"] == "Python" and x["quality_score"] > 0.85
)
# Tokenize with quality-based sampling
def tokenize_function(examples):
return tokenizer(
examples["content"],
truncation=True,
max_length=512,
padding="max_length"
)
tokenized_data = python_data.map(tokenize_function, batched=True)
# Your training code here...
print(f"๐ Ready to train on {len(tokenized_data):,} high-quality Python files!")๐ Multi-Language Analysis
import pandas as pd
import matplotlib.pyplot as plt
# Convert to pandas for analysis
df = dataset["train"].to_pandas()
# Language-wise quality analysis
quality_by_lang = df.groupby("language").agg({
"quality_score": ["mean", "std", "count"],
"size_bytes": "mean",
"documentation_ratio": "mean"
}).round(3)
print("๐ Quality Analysis by Language:")
print(quality_by_lang)
# Visualize
plt.figure(figsize=(12, 6))
df.boxplot(column="quality_score", by="language", ax=plt.gca())
plt.title("Code Quality Distribution by Language")
plt.show()๐ Educational Use Case
# Create a beginner-friendly subset
educational_data = dataset["train"].filter(
lambda x: (
x["complexity"] == "Low" and
x["documentation_ratio"] > 0.1 and
x["quality_score"] > 0.8 and
x["size_bytes"] < 2000 # Small, readable files
)
)
# Group by language for curriculum
curriculum = {}
for item in educational_data:
lang = item["language"]
if lang not in curriculum:
curriculum[lang] = []
curriculum[lang].append({
"file": item["path"],
"repo": item["repository"],
"code": item["content"][:500] # Preview
})
print("๐ Educational curriculum created!")
for lang, files in curriculum.items():
print(f" {lang}: {len(files)} example files")๐ค Community & Collaboration
๐ Contributing
We welcome contributions from the community!
Ways to contribute:
- ๐ Bug Reports: Open an issue
- ๐ก Feature Requests: Suggest improvements in discussions
- ๐ Share Results: Tell us about your use cases and results
- ๐ Data Improvements: Suggest preprocessing enhancements
- ๐ Documentation: Help improve guides and examples
- ๐งช Benchmarks: Share performance results and comparisons
๐ฌ Support Channels
- ๐ง Email: vincenzo.gallo77@hotmail.com
- ๐ฌ Discussions: Hugging Face dataset discussions
- ๐ Issues: GitHub repository issues
- ๐ฑ Social: X https://x.com/home
- โฑ๏ธ Response Time: 24-48 hours for technical questions
๐ Recognition
Contributors & Supporters:
- Original dataset authors and maintainers
- Open source community developers
- Researchers using and citing the dataset
- Organizations providing feedback and improvements
๐ Roadmap & Future Versions
๐ Version 2.0 (Planned Features)
- ๐ฑ More Languages: Go, Rust, TypeScript, Kotlin additions
- ๐ง Enhanced AI Scoring: Advanced quality assessment models
- ๐ Richer Metadata: Function-level analysis and complexity metrics
- ๐ Web Scraping: Direct repository integration and updates
- ๐ Continuous Updates: Automated pipeline for fresh content
- ๐ Educational Tracks: Curated learning paths by difficulty
๐ฏ Long-term Vision
- ๐ค Multi-Modal: Code + documentation + diagrams integration
- ๐ Global Coverage: Support for 20+ programming languages
- ๐ข Enterprise Edition: Custom filtering and private repositories
- ๐ฑ Mobile Optimized: Lightweight versions for mobile AI
- ๐งฌ Specialized Versions: Domain-specific subsets (web, ML, systems)
๐ Citation & Academic Use
๐ Recommended Citation
@dataset{the_stack_processed_v2_2025,
title={The Stack Processed V2: A Balanced Multi-Language Programming Dataset for AI Training},
author={Gallo, Vincenzo},
year={2025},
month={January},
publisher={Hugging Face},
url={https://huggingface.co/datasets/vinsblack/The_Stack_Processed-v2},
version={2.0.0},
note={Curated and balanced version of The Stack dataset optimized for multi-language code generation and analysis},
keywords={code generation, machine learning, programming languages, software engineering, artificial intelligence}
}๐ Research Impact
If you use this dataset in your research, we'd love to hear about it! Please:
- ๐ง Send us a copy of your paper for our records
- ๐ Star the dataset if it was helpful
- ๐ฌ Share your results in the discussions
- ๐ Reference this dataset in related work
โ๏ธ License & Ethics
๐ Licensing
- Dataset License: Apache 2.0 (commercial use allowed)
- Source Code Licenses: Only permissive licenses included
- Attribution: Original authors and repositories credited
- Modification Rights: Derivatives and improvements encouraged
- Distribution: Redistribution with attribution allowed
๐ก๏ธ Ethical AI Principles
This dataset follows responsible AI development:
- ๐ Transparency: Full preprocessing pipeline documented
- โ๏ธ Fairness: Balanced representation across languages
- ๐ Privacy: Personal information removed and verified
- ๐ Education: Designed to advance learning and research
- ๐ค Community: Built for and by the developer community
- โป๏ธ Sustainability: Efficient format reduces computational waste
๐ Acknowledgments
๐ Special Thanks
This dataset builds upon the incredible work of:
- The BigCode Project for the foundational Stack dataset
- Hugging Face for hosting infrastructure and tools
- Open Source Community for providing high-quality code
- Repository Maintainers whose code makes this possible
- Researchers & Educators using this dataset to advance AI
๐ Built With Love For:
- ๐จโ๐ป Developers learning AI-assisted programming
- ๐ Students & Educators in computer science programs
- ๐งฌ Researchers advancing code generation and analysis
- ๐ข Companies building next-generation developer tools
- ๐ Everyone contributing to open source AI progress
๐ฏ Ready to build the future of AI-assisted programming?
  
โจ Built by developers, for developers. Optimized for learning, research, and building tomorrow's AI.
Last Updated: January 2025 | Version: 2.0.0 | Compatibility: HuggingFace Datasets โฅ2.0.0
