Skip to main content

A beginner-friendly CLI for preprocessing tabular ML datasets with replayable recipes.

Project description

wizcraft-banner

WizCraft - CLI tool that simplifies the process of data pre-processing | Product Hunt

License CI

Downloads

PyPI - Version

WizCraft - CLI-Based Dataset Preprocessing Tool

WizCraft is a beginner-friendly Command Line Interface (CLI) tool for preparing tabular datasets for machine learning. It helps you inspect a CSV, handle missing values, encode categorical columns, scale numeric features, save a cleaned dataset, and export replayable preprocessing recipes.

Try the tool online here

Check out the Contribution Guide if you want to contribute to this project

Table of Contents

Features

  • Load and preprocess your dataset effortlessly through a Command Line Interface (CLI).
  • View dataset statistics, null value counts, and perform data imputation.
  • Encode categorical variables using one-hot encoding.
  • Normalize and standardize numerical features for better model performance.
  • Download the preprocessed dataset with your desired modifications.
  • Save preprocessing recipes and replay them on future CSV files.

Getting Started

Installation

Install WizCraft from PyPI:

pip install wiz-craft

Start the interactive CLI with a CSV file:

wizcraft dataset.csv

You can also launch WizCraft and choose a CSV from the current directory:

wizcraft

WizCraft can still be used from Python:

from wizcraft.preprocess import Preprocess

wiz_obj = Preprocess(csv_file="dataset.csv")
wiz_obj.start()

Follow the on-screen prompts to select the target variable and perform preprocessing tasks.

Replay a saved recipe on another CSV:

wizcraft apply new-data.csv --recipe cleaned.recipe.json --out new-data-clean.csv

wizcraft-cli_welcome

Features Available

Data Description

data_description_preview

  1. View statistics and properties of numeric columns.
  2. Explore unique values and statistics of categorical columns.
  3. Display a snapshot of the dataset.

Handle Null Values

null_data_preview

  1. Show NULL value counts in each column.
  2. Remove specific columns or fill NULL values with mean, median, mode, or K-nearest neighbors.

Encode Categorical Values

one_hot_encode_preview

  1. Identify and list categorical columns.
  2. Perform one-hot encoding on categorical columns.

Feature Scaling

scaling_preview

  1. Normalize (Min-Max scaling) or standardize (Standard Scaler) numerical columns.

Save Preprocessed Dataset

save_preview

  1. Download the modified dataset with applied preprocessing steps.
  2. Save a replayable .recipe.json file for the same preprocessing flow.

Replayable Recipes

WizCraft can now save the preprocessing steps you perform interactively. A recipe is a small JSON file that can be applied again later:

wizcraft apply raw-data.csv --recipe cleaned.recipe.json --out cleaned-data.csv

Recipes currently support:

  • Removing columns
  • Filling null values with mean, median, mode, or K-nearest neighbors
  • One-hot encoding categorical columns
  • Normalizing or standardizing numeric columns

Future Works

  • Advanced Data Imputation Techniques: Adding support for advanced data imputation techniques, such as K-nearest neighbours (KNN) imputation.

  • Improved UI and UX using Rich

  • Undo/Redo Option for each step

  • Extension for NLP tasks (like tokenization, stemming)

  • Recipe export so users can save and replay preprocessing steps.

  • Non-interactive CLI commands for automation and notebooks.

  • User-Friendly Interface: Improving the user interface to provide more interactive and user-friendly features, such as progress bars, error handling, and clear instructions.

  • Using Curses for terminal Manipulation.

Roadmap

WizCraft is being rebuilt around two ideas: a friendly first-time CLI and repeatable preprocessing recipes. See ROADMAP.md for the current direction and good first issue ideas.

Contributing to the Project

Check out the Contribution Guide if you want to contribute to this project

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wiz_craft-1.2.0.tar.gz (14.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wiz_craft-1.2.0-py3-none-any.whl (16.9 kB view details)

Uploaded Python 3

File details

Details for the file wiz_craft-1.2.0.tar.gz.

File metadata

  • Download URL: wiz_craft-1.2.0.tar.gz
  • Upload date:
  • Size: 14.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for wiz_craft-1.2.0.tar.gz
Algorithm Hash digest
SHA256 ade7f64b98ea5ab64dd566750b3576fa63a34ecefce09fdd02b52a046649d711
MD5 937e20dfebd82b19915a5c40cc6fb938
BLAKE2b-256 7a27c1490b10b6b0be8e2b7e051748ba31fcab0eb8d41a50b5ea90c3a83ddce8

See more details on using hashes here.

Provenance

The following attestation bundles were made for wiz_craft-1.2.0.tar.gz:

Publisher: python-publish.yml on wiz-craft/wiz-craft

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file wiz_craft-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: wiz_craft-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 16.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for wiz_craft-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d3c105a47b4f463a7ceb4f88d6f5ac722388d185a49648218dd677f46fdd876d
MD5 9037dd89c3ade13e842b43753e3fafd4
BLAKE2b-256 75221b8fe6ee062007419a9adfc862f54ab7a6e46d96c9a291aeeee308013113

See more details on using hashes here.

Provenance

The following attestation bundles were made for wiz_craft-1.2.0-py3-none-any.whl:

Publisher: python-publish.yml on wiz-craft/wiz-craft

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page