Skip to main content

TidyDataCLI Logo

TidyDataCLI

Overview

GitHub stars PyPI version GitHub forks GitHub issues GitHub license

TidyDataCLI is a robust command-line tool built for automating the process of cleaning, transforming, and visualizing Excel/CSV data. Designed to be cross-platform, it can run seamlessly on Linux, macOS, and Windows, and can even be used through Docker without requiring Python to be installed.

Why use TidyDataCLI?
With its wide range of features, TidyDataCLI simplifies complex data tasks, offering tools for:

  • Data Cleaning: Remove duplicates, standardize column names, trim spaces, validate ages, and much more.
  • Data Transformation: Sort, filter, apply custom transformations, and aggregate data effortlessly.
  • Visualization: Generate professional-grade charts like bar charts, word clouds, heat maps, and Gantt charts.
  • Report Generation: Create detailed PDF or text reports directly from your data files.

Features

Data Cleaning

- Remove Duplicates: Efficiently remove duplicate entries from your dataset.
- Regex Cleaning: Sanitize data using customizable regular expressions.
- Column Name Cleaning: Standardize column names by stripping spaces and converting to lowercase.
- Trim Spaces: Remove leading and trailing spaces from string columns.
- Age Validation: Validate and clean 'age' columns to ensure data integrity.
- Change Case: Convert text columns to lowercase, uppercase, title case, or capitalize.
- Date Standardization: Standardize date formats across specified columns.

Data Transformation

- Sorting: Sort data by one or more columns with ascending or descending options.
- Filtering: Apply conditions to filter rows based on specified criteria.
- Custom Transformations: Apply user-defined lambda functions for complex transformations.
- Column Addition: Add values to existing columns and perform arithmetic operations.
- Aggregation: Aggregate data by summing, averaging, or counting grouped values.

Visualization

- Bar Charts: Generate bar charts with customizable x and y axes.
- Pie Charts: Create pie charts with labels and values for visualization.
- Word Clouds: Visualize text data using word clouds.
- Line Charts: Plot line charts for trend analysis.
- Box-and-Whisker Plots: Create box plots to analyze data distributions.
- Gantt Charts: Visualize project timelines with Gantt charts.
- Heat Maps: Generate heat maps to represent data density.
- Histograms: Plot histograms with adjustable bin sizes.
- Tree Maps: Visualize hierarchical data using tree maps.

Report Generation

Cross-Platform

  - Runs on Linux, macOS, and Windows and Docker Environments

Table of Contents


Installation

Requirements

  • Python 3.7+
  • Pip (Python package manager)
  • Docker (Optional, for containerized execution)

Install via pip

pip install TidyDataCLI

Install from Source

  1. Clone the repository:
    git clone https://github.com/Siam3h/tidydatacli.git
    
  2. Navigate to the directory:
    cd tidydatacli
    
  3. Install the package:
    pip install .
    

Running with Docker

For a containerized approach:

  1. Pull the Docker image:
    docker pull tidydatacli
    
  2. Run TidyDataCLI via Docker:
    docker run -v $(pwd):/data tidydatacli tidydata <command> --input /data/input.csv --output /data/output.csv
    

Usage

Once installed, TidyDataCLI can be invoked using the following syntax:

tidydata <command> [options]

Example Commands

Cleaning Data:

tidydata clean --input data.csv --output cleaned_data.csv --remove_duplicates --clean_columns

Transforming Data:

tidydata transform --input data.csv --output transformed.csv --sort column1 --filter "age > 30"

Visualizing Data:

tidydata visualize --input data.csv --type bar --x category --y sales --output bar_chart.png

Generating Reports:

tidydata report --input data.csv --output report.pdf --format pdf --summary

Commands Overview

1. clean

Clean your dataset by removing duplicates, trimming spaces, or performing regex-based cleaning.

2. transform

Apply transformations such as sorting, filtering, adding columns, and custom lambda functions.

3. visualize

Create visual representations of your data, such as bar charts, pie charts, and word clouds.

4. report

Generate reports in text or PDF format with customizable summaries or detailed outputs.

Running with Docker

To avoid dependency management, you can use Docker:

docker run -v $(pwd):/data tidydatacli tidydata clean --input /data/input.csv --output /data/output.csv

Error Handling

Error messages are displayed for common issues like file not found, invalid columns, or missing options.

Example error:

Error: Input file 'non_existent_file.csv' not found.

Contributing

We welcome contributions!

  1. Fork the repository.
  2. Create a new branch.
  3. Make your changes and submit a pull request.

Find issues or suggestions? Please open an issue on GitHub.

License

TidyDataCLI is licensed under the MIT License. See the LICENSE file for more details.

Contact

For any questions or issues, please contact Siama at siamaphilbert@outlook.com.

Metadata

Release files for TidyDataCLI 0.2.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for TidyDataCLI 0.2.8
File Size Uploaded
tidydatacli-0.2.8.tar.gz 18.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for TidyDataCLI 0.2.8
File Interpreter ABI Platform
TidyDataCLI-0.2.8-py3-none-any.whl Python 3 none any Details

Total release size: 43.1 kB

Release files / tidydatacli-0.2.8.tar.gz

Download URL tidydatacli-0.2.8.tar.gz
Size 18.4 kB
Tags Source
SHA-256 checksum
How to use checksums
5aff09cfe0585e0f8eb4b817d034d5b0520d3ee0493c48504bce549f07144e89
BLAKE2b-256 checksum
How to use checksums
d69d4d519947aa1de6ff149054360cd13f8e9776267a65033036451f781d75ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.19

Release files / TidyDataCLI-0.2.8-py3-none-any.whl

Download URL TidyDataCLI-0.2.8-py3-none-any.whl
Size 24.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
46403bb02d777a6d38ba81aefb533be1c61fca81d747b199484d3e535962a532
BLAKE2b-256 checksum
How to use checksums
2e41d22b5c9ecbbfa216250b8a4caa993a0557dc7dcc8326987548a61ad1effe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.19

Release history Release notifications | RSS feed

This release

0.2.8 This release

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.3

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page