Skip to content

Zero Hassle Number Extraction & Analysis - Extract, analyze, and validate numbers from JSON, YAML, CSV, TOML, INI, and ENV files. Features statistical analysis, validation, and comprehensive reporting.

License

Notifications You must be signed in to change notification settings

OffensiveEdge/numbers-le

Repository files navigation

Numbers-LE Logo

Numbers-LE: Zero Hassle Number Extraction

Extract 1.5M numbers per second100x faster than manual searching
JSON, YAML, CSV, TOML, INI, ENV

Install from Open VSX Install from VS Code

Downloads Rating 100% Open Source Zero Critical Vulnerabilities


Number Extraction Demo

Command Palette


⚡ See It In Action

Before: Manually copying numbers from a 1,000-line JSON file (30 minutes)

{
  "revenue": 1250000,
  "profit": 340000,
  "expenses": [125000, 89000, 56000]
  // ... 200 more values buried in nested objects
}

After: One command extracts all 203 numbers with stats in 0.2 seconds

Numbers: 203 total
Sum: 15,234,567
Average: 75,023
Min: 1,200 | Max: 1,250,000
Median: 45,000

Time Saved: 30 minutes → 1 second ⚡


✅ Why Numbers-LE?

  • 1.5M numbers per second - 100x faster than manual searching
  • Zero Config - Install → Press Cmd+Alt+N → Get stats instantly
  • Battle-Tested - 171 unit tests, 95% coverage, zero critical vulnerabilities
  • Security-Hardened - 42 tests prevent CSV formula injection, DDE attacks, SQL/XSS vectors

Perfect for data validation, config audits, and financial analysis.


🙏 Thank You

If Numbers-LE saves you time, a quick rating helps other developers discover it:
Open VSXVS Code Marketplace


Key Features

  • Statistical analysis - Count, sum, average, min, max, median, mode, std dev
  • Automatic cleanup - Sort, dedupe, and filter by ranges
  • 6 file formats - JSON, YAML, CSV, TOML, INI, ENV
  • Smart filtering - Excludes IDs, version numbers, non-data noise
  • CSV streaming - Handle 500MB+ files without memory issues
  • 13 languages - English, Chinese, German, Spanish, French, Indonesian, Italian, Japanese, Korean, Portuguese, Russian, Ukrainian, Vietnamese

🚀 More from the LE Family

💡 Use Cases

  • Financial Analysis - Extract revenue, profit, and growth metrics from JSON/CSV for quick validation
  • Config Validation - Pull timeouts, limits, and thresholds from YAML/TOML/INI for auditing
  • Performance Monitoring - Analyze CPU, memory, and response times from logs and metrics files
  • Data QA - Get instant statistics (avg, median, outliers) on numeric datasets

🚀 Quick Start

  1. Install from Open VSX or VS Code Marketplace
  2. Open any supported file type (Cmd/Ctrl + P → search for "Numbers-LE")
  3. Run Quick Extract (Cmd+Alt+N / Ctrl+Alt+N / Status Bar)

⚙️ Configuration

  • numbers-le.openResultsSideBySide – Open to the side
  • numbers-le.csv.streamingEnabled – Toggle CSV streaming
  • numbers-le.dedupeEnabled – Auto-dedupe numbers
  • numbers-le.sortEnabled – Auto-sort output
  • numbers-le.analysis.enabled – Enable statistical analysis
  • numbers-le.analysis.includeStats – Include detailed statistics
  • Safety Guards – File size warnings & thresholds
  • Notification Levels – Control verbosity and alerts

⚡ Performance

Numbers-LE is built for speed and handles files from 100KB to 30MB+. See detailed benchmarks.

Format File Size Throughput Duration Memory Tested On
JSON 0.13MB 1218182 ~1.1 < 1MB Apple Silicon
JSON 1.31MB 1593824 ~8.42 < 1MB Apple Silicon
JSON 6.55MB 1356652 ~49.46 < 1MB Apple Silicon
CSV 0.5MB 1232136 ~15.87 < 1MB Apple Silicon
CSV 3MB 1548819 ~75.77 ~13MB Apple Silicon
CSV 10MB 1204916 ~324.64 < 1MB Apple Silicon
ENV 5K lines 1,561,687 ~19.21 < 1MB Apple Silicon

Real-World Performance: Tested with actual data up to 30MB (practical limit: 1MB warning, 10MB error threshold)
Performance Monitoring: Built-in real-time tracking with configurable thresholds
Full Metrics: docs/PERFORMANCE.md • Test Environment: macOS, Bun 1.2.22, Node 22.x

🧩 System Requirements

VS Code 1.70.0+ • Platform Windows, macOS, Linux
Memory 500MB recommended for large files

🔒 Privacy

100% local processing. No data leaves your machine. Optional logging: numbers-le.telemetryEnabled

🌍 Language Support

13 languages: English, German, Spanish, French, Indonesian, Italian, Japanese, Korean, Portuguese (Brazil), Russian, Ukrainian, Vietnamese, Chinese (Simplified)

🔧 Troubleshooting

Not detecting numbers?
Ensure file is saved with supported extension (.json, .yaml, .csv, .toml, .ini, .env)

Large files slow?
Enable CSV streaming: numbers-le.csv.streamingEnabled: true

Need help?
Check Issues or enable logging: numbers-le.telemetryEnabled: true

❓ FAQ

What numbers are extracted?
Integers, floats, percentages, currencies (excludes IDs, version numbers)

Can I get statistics?
Yes, enable numbers-le.analysis.enabled: true for avg, median, std dev, outliers

Max file size?
Up to 500MB with CSV streaming. Practical limit: 10MB for other formats

CSV streaming?
Enable numbers-le.csv.streamingEnabled: true to process large CSVs in chunks

📊 Testing

171 unit tests95% function coverage, 80% line coverage
Powered by Vitest • Run with bun test --coverage

Test Suite Highlights

  • 42 security tests for CSV/ENV/INI injection prevention
  • Comprehensive coverage of JSON, YAML, CSV, TOML, INI, ENV formats
  • Statistical analysis validation and edge case handling

Copyright © 2025
@OffensiveEdge. All rights reserved.

About

Zero Hassle Number Extraction & Analysis - Extract, analyze, and validate numbers from JSON, YAML, CSV, TOML, INI, and ENV files. Features statistical analysis, validation, and comprehensive reporting.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published