{"id":42703917,"url":"https://github.com/wareflowx/excel-toolkit","last_synced_at":"2026-01-29T14:25:26.739Z","repository":{"id":332753998,"uuid":"1134860565","full_name":"wareflowx/excel-toolkit","owner":"wareflowx","description":"A powerful command-line toolkit for Excel and CSV data manipulation, analysis, and transformation.","archived":false,"fork":false,"pushed_at":"2026-01-21T08:30:16.000Z","size":481,"stargazers_count":0,"open_issues_count":19,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-22T13:12:44.127Z","etag":null,"topics":["data-analysis","data-wrangling","excel","pandas","python","uv"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/excel-toolkit-cwd/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wareflowx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"docs/ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-15T10:00:32.000Z","updated_at":"2026-01-21T08:30:20.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/wareflowx/excel-toolkit","commit_stats":null,"previous_names":["aliiibenn/excel-toolkit","wareflowx/excel-toolkit"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/wareflowx/excel-toolkit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wareflowx%2Fexcel-toolkit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wareflowx%2Fexcel-toolkit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wareflowx%2Fexcel-toolkit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wareflowx%2Fexcel-toolkit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wareflowx","download_url":"https://codeload.github.com/wareflowx/excel-toolkit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wareflowx%2Fexcel-toolkit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28879457,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-29T10:31:27.438Z","status":"ssl_error","status_checked_at":"2026-01-29T10:31:01.017Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data-analysis","data-wrangling","excel","pandas","python","uv"],"created_at":"2026-01-29T14:25:26.619Z","updated_at":"2026-01-29T14:25:26.734Z","avatar_url":"https://github.com/wareflowx.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Excel CLI Toolkit\n\nCommand-line toolkit for Excel data manipulation and analysis.\n\n[![Python 3.14+](https://img.shields.io/badge/python-3.14+-blue.svg)](https://www.python.org/downloads/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n\n## Overview\n\nExcel CLI Toolkit (`xl`) is a powerful command-line interface for performing data wrangling and analysis operations on Excel files. Designed for both human users and AI systems, it provides fast, predictable operations without requiring scripts or programming.\n\n## Features\n\n- **Filter \u0026 Search**: Filter rows by conditions, search for values\n- **Sort \u0026 Group**: Sort by columns, group and aggregate data\n- **Transform**: Apply transformations, clean data, deduplicate\n- **Multi-format**: Support for XLSX, CSV, JSON, and Parquet\n- **Functional Programming**: Built with Result/Maybe types for robust error handling\n- **AI-Friendly**: Simple, composable commands perfect for AI automation\n- **Fast**: Efficient processing of large files\n\n## Installation\n\n### Using pip\n\n```bash\npip install excel-toolkit-cwd\n```\n\n### Using uv (recommended)\n\n```bash\nuv pip install excel-toolkit-cwd\n```\n\n### Development installation\n\n```bash\ngit clone https://github.com/wareflowx/excel-toolkit.git\ncd excel-toolkit\nuv pip install -e \".[dev]\"\n```\n\n### With Parquet support\n\n```bash\npip install \"excel-toolkit-cwd[parquet]\"\n```\n\n## Quick Start\n\n### Basic filtering\n\n```bash\n# Filter rows where Amount \u003e 1000\nxl filter sales.xlsx --where \"Amount \u003e 1000\" --output filtered.xlsx\n\n# Filter by multiple conditions\nxl filter data.xlsx --where \"Region == 'North' and Price \u003e 100\" -o result.xlsx\n```\n\n### Sorting and aggregation\n\n```bash\n# Sort by column\nxl sort data.xlsx --by \"Date\" --descending --output sorted.xlsx\n\n# Group and aggregate\nxl group sales.xlsx --by \"Region\" --aggregate \"Amount:sum\" --output grouped.xlsx\n```\n\n### Data cleaning\n\n```bash\n# Remove duplicates\nxl dedupe data.xlsx --by \"Email\" --output unique.xlsx\n\n# Clean whitespace and standardize\nxl clean data.xlsx --trim --lowercase --columns \"Name,Email\" --output clean.xlsx\n```\n\n### File conversion\n\n```bash\n# Convert Excel to CSV\nxl convert data.xlsx --output data.csv\n\n# Convert CSV to Excel\nxl convert data.csv --output data.xlsx\n```\n\n### Pipeline operations\n\n```bash\n# Chain operations\nxl filter sales.xlsx --where \"Amount \u003e 1000\" | \\\n  xl sort --by \"Date\" --descending | \\\n  xl group --by \"Region\" --aggregate \"Amount:sum\" \\\n  --output final.xlsx\n```\n\n## Documentation\n\nFor detailed documentation, see the [docs/](docs/) directory:\n\n- [FEATURES.md](docs/FEATURES.md) - Complete feature list\n- [PROJECT_STRUCTURE.md](docs/PROJECT_STRUCTURE.md) - Architecture overview\n- [CONTRIBUTING.md](CONTRIBUTING.md) - Contributing guidelines\n\n## Development\n\n### Setup development environment\n\n```bash\n# Clone repository\ngit clone https://github.com/wareflowx/excel-toolkit.git\ncd excel-toolkit\n\n# Install dependencies\nuv sync --all-extras\n\n# Install pre-commit hooks\npre-commit install\n```\n\n### Running tests\n\n```bash\n# Run all tests\nuv run pytest\n\n# Run with coverage\nuv run pytest --cov=excel_toolkit\n\n# Run specific test file\nuv run pytest tests/unit/test_filtering.py\n```\n\n### Code quality\n\n```bash\n# Linting\nuv run ruff check .\n\n# Formatting\nuv run ruff format .\n\n# Type checking\nuv run mypy excel_toolkit/\n```\n\n## Command Reference\n\n### Core Commands\n\n- `xl filter` - Filter rows based on conditions\n- `xl select` - Select specific columns\n- `xl sort` - Sort by column(s)\n- `xl group` - Group and aggregate data\n- `xl join` - Join multiple files\n- `xl clean` - Clean data (trim, case, etc.)\n- `xl dedupe` - Remove duplicates\n- `xl transform` - Apply transformations\n- `xl convert` - Convert between formats\n- `xl merge` - Merge multiple files\n- `xl stats` - Calculate statistics\n- `xl info` - Display file information\n- `xl validate` - Validate data\n\n### Getting help\n\n```bash\n# General help\nxl --help\n\n# Command-specific help\nxl filter --help\n```\n\n## Examples\n\n### Data Analysis Workflow\n\n```bash\n# Extract sales data for Q1, filter high-value orders, group by region\nxl filter sales.xlsx --where \"Date \u003e= '2024-01-01' and Date \u003c= '2024-03-31'\" | \\\n  xl filter --where \"Amount \u003e 1000\" | \\\n  xl group --by \"Region\" --aggregate \"Amount:sum,Orders:count\" \\\n  --output q1_high_value_by_region.xlsx\n```\n\n### Data Cleaning Pipeline\n\n```bash\n# Clean messy CSV file\nxl clean messy_data.csv \\\n  --trim \\\n  --lowercase \\\n  --columns \"email,name\" \\\n  --output cleaned.csv\n\n# Remove duplicates and validate\nxl dedupe cleaned.csv --by \"email\" --output unique.csv\nxl validate unique.csv --columns \"email:email,age:int:0-120\" --output final.csv\n```\n\n## Architecture\n\nBuilt with a functional programming approach:\n\n- **Result types**: Explicit error handling without exceptions\n- **Maybe types**: Safe handling of optional values\n- **Immutable configuration**: Predictable behavior\n- **Composable operations**: Chain commands efficiently\n\nFor more details, see [FUNCTIONAL_ANALYSIS.md](docs/FUNCTIONAL_ANALYSIS.md).\n\n## Contributing\n\nContributions are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Acknowledgments\n\nBuilt with:\n- [Typer](https://typer.tiangolo.com/) - CLI framework\n- [Pandas](https://pandas.pydata.org/) - Data manipulation\n- [OpenPyXL](https://openpyxl.readthedocs.io/) - Excel file handling\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwareflowx%2Fexcel-toolkit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwareflowx%2Fexcel-toolkit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwareflowx%2Fexcel-toolkit/lists"}