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
๐ฏ 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 datasales_data.csv- Business sales and advertising datastudy_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:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes
- Add tests for new functionality
- Run tests:
make test - Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - 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
- Bug Reports: Create an issue
- Feature Requests: Create an issue
- Questions: Start a discussion
๐ 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
๐ฆ 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
86559ce4e9f405611c426e8b11d74d0d970891641824b306142894592037a05e
|
|
| MD5 |
92d49d86007b9b56e6141aa01feb40e3
|
|
| BLAKE2b-256 |
c0cfcb0149acd87825a808f2db20db35bb12d021eb85c66b04f9a3a02b973e3d
|
File details
Details for the file statistics_toolkit_cli-1.0.0-py3-none-any.whl.
File metadata
- Download URL: statistics_toolkit_cli-1.0.0-py3-none-any.whl
- Upload date:
- Size: 16.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8a70cdde22e115737fc774db614f5a5ad87dcdfd70597f39060872d669ab3917
|
|
| MD5 |
ea53d6d7a5de111946764905fc5ca5a5
|
|
| BLAKE2b-256 |
b4de2a8ba02b09550ff4240aacd719bb9fefd03ad2cc25ba6511d9d72df01e0c
|