Skip to main content

A comprehensive command-line statistics learning tool with step-by-step explanations

Project description

Statistics Toolkit CLI ๐Ÿ“Š

A comprehensive command-line statistics learning and analysis tool with step-by-step explanations

Python 3.8+ License: MIT GitHub issues

๐ŸŽฏ Overview

Transform your terminal into a comprehensive statistics education platform! This toolkit provides step-by-step explanations for statistical concepts, making it perfect for students, educators, and anyone who wants to understand the "why" behind statistical calculations.

โœจ Features

  • ๐Ÿ“ˆ Descriptive Statistics: Mean, median, mode, variance, standard deviation, five-number summary, outlier detection
  • ๐Ÿงช Hypothesis Testing: One-sample and two-sample t-tests with complete explanations
  • ๐Ÿ“Š Data Visualization: Histograms, box plots, scatter plots with statistical overlays
  • ๐Ÿ’พ Data Management: CSV import/export, save/load datasets
  • ๐ŸŽ“ Educational Focus: Every calculation shows mathematical steps and reasoning
  • ๐Ÿ–ฅ๏ธ Interactive CLI: User-friendly menu-driven interface

๐Ÿš€ Quick Start

Installation

# Clone the repository
git clone https://github.com/connorodea/statistics-toolkit-cli.git
cd statistics-toolkit-cli

# Install dependencies
pip install -r requirements.txt

# Run the toolkit
python stats_cli.py

One-Line Setup

curl -sSL https://raw.githubusercontent.com/connorodea/statistics-toolkit-cli/main/setup_stats_toolkit.sh | bash

๐Ÿ“– Usage Examples

Interactive Menu

python stats_cli.py

Sample Data Demo

python stats_cli.py --demo

Quick Analysis

Enter values: 85 92 78 88 95 82 79 91 87 84

=== MEASURES OF CENTER ===
Sample size: n = 10
MEAN CALCULATION:
xฬ„ = ฮฃx/n = 861/10 = 86.1000

MEDIAN CALCULATION:
Sorted data: [78 79 82 84 85 87 88 91 92 95]
n is even: median = (85 + 87)/2 = 86.0000

๐ŸŽ“ Educational Philosophy

This toolkit is designed for learning statistics, not just computing answers. Every calculation shows:

  • ๐Ÿ“ The formula being used
  • ๐Ÿ”ข Step-by-step substitution of values
  • ๐Ÿ“Š Intermediate calculations
  • ๐Ÿ’ก Interpretation of results
  • โœ… Assumption checking

๐Ÿ“ Project Structure

statistics-toolkit-cli/
โ”œโ”€โ”€ stats_cli.py              # Main application
โ”œโ”€โ”€ requirements.txt          # Python dependencies
โ”œโ”€โ”€ setup.py                  # Package installation
โ”œโ”€โ”€ Makefile                  # Development commands
โ”œโ”€โ”€ examples/
โ”‚   โ”œโ”€โ”€ data/                 # Sample CSV datasets
โ”‚   โ””โ”€โ”€ create_sample_data.py # Generate sample data
โ”œโ”€โ”€ tests/
โ”‚   โ””โ”€โ”€ test_basic.py         # Unit tests
โ””โ”€โ”€ docs/                     # Documentation

๐Ÿ› ๏ธ Development

Setup Development Environment

# Clone and setup
git clone https://github.com/connorodea/statistics-toolkit-cli.git
cd statistics-toolkit-cli

# Create virtual environment
python3 -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

# Install as editable package
pip install -e .

Available Commands

make run          # Run the CLI tool
make demo         # Run sample data demo
make test         # Run tests
make sample-data  # Generate sample datasets
make clean        # Clean build artifacts
make help         # Show all commands

Running Tests

python -m pytest tests/ -v
# or
make test

๐Ÿ“Š Sample Datasets

The toolkit includes sample datasets for practice:

  • test_scores.csv - Student academic performance data
  • sales_data.csv - Business sales and advertising data
  • study_vs_scores.csv - Study time vs exam performance

Generate fresh sample data:

make sample-data

๐Ÿค Contributing

Contributions are welcome! Here's how to get started:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes
  4. Add tests for new functionality
  5. Run tests: make test
  6. Commit your changes: git commit -m 'Add amazing feature'
  7. Push to the branch: git push origin feature/amazing-feature
  8. Open a Pull Request

Development Guidelines

  • Follow PEP 8 style guidelines
  • Add docstrings to new functions
  • Include tests for new features
  • Update README if adding major features
  • Maintain the educational focus of explanations

๐Ÿ› Issues & Support

๐Ÿ“š Documentation

๐Ÿ† Inspiration

Originally inspired by TI-84 calculator programs, this toolkit brings the same step-by-step educational approach to modern Python development, making statistics accessible and understandable for everyone.

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ™ Acknowledgments

  • Built for statistics education and learning
  • Inspired by the need for transparent statistical calculations
  • Designed to complement traditional statistics textbooks and courses

Made with โค๏ธ for statistics education

GitHub stars GitHub forks

๐Ÿ“ฆ PyPI Package Installation

Once published to PyPI, install with:

pip install statistics-toolkit-cli

Then use anywhere:

statstoolkit
# or  
stats-cli

๐Ÿ—๏ธ Building the Package

# Build for PyPI
make build

# Test locally
python -m statistics_toolkit_cli.cli --demo

# Check package
make package-info

๐Ÿš€ Publishing to PyPI

# Publish to Test PyPI first
bash scripts/publish_to_pypi.sh  # Choose option 1

# Test installation
pip install --index-url https://test.pypi.org/simple/ statistics-toolkit-cli

# Then publish to real PyPI
bash scripts/publish_to_pypi.sh  # Choose option 2

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

statistics_toolkit_cli-1.0.0.tar.gz (20.1 kB view details)

Uploaded Source

Built Distribution

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

statistics_toolkit_cli-1.0.0-py3-none-any.whl (16.5 kB view details)

Uploaded Python 3

File details

Details for the file statistics_toolkit_cli-1.0.0.tar.gz.

File metadata

  • Download URL: statistics_toolkit_cli-1.0.0.tar.gz
  • Upload date:
  • Size: 20.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for statistics_toolkit_cli-1.0.0.tar.gz
Algorithm Hash digest
SHA256 86559ce4e9f405611c426e8b11d74d0d970891641824b306142894592037a05e
MD5 92d49d86007b9b56e6141aa01feb40e3
BLAKE2b-256 c0cfcb0149acd87825a808f2db20db35bb12d021eb85c66b04f9a3a02b973e3d

See more details on using hashes here.

File details

Details for the file statistics_toolkit_cli-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for statistics_toolkit_cli-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8a70cdde22e115737fc774db614f5a5ad87dcdfd70597f39060872d669ab3917
MD5 ea53d6d7a5de111946764905fc5ca5a5
BLAKE2b-256 b4de2a8ba02b09550ff4240aacd719bb9fefd03ad2cc25ba6511d9d72df01e0c

See more details on using hashes here.

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