Skip to content

πŸ“Š A comprehensive command-line statistics learning tool with step-by-step explanations

License

connorodea/statistics-toolkit-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

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

About

πŸ“Š A comprehensive command-line statistics learning tool with step-by-step explanations

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published