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
Metadata
Release files for statistics-toolkit-cli 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| statistics_toolkit_cli-1.0.0.tar.gz | 20.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| statistics_toolkit_cli-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 36.5 kB
Release files / statistics_toolkit_cli-1.0.0.tar.gz
| Download URL | statistics_toolkit_cli-1.0.0.tar.gz |
|---|---|
| Size | 20.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
86559ce4e9f405611c426e8b11d74d0d970891641824b306142894592037a05e
|
|
BLAKE2b-256 checksum How to use checksums |
c0cfcb0149acd87825a808f2db20db35bb12d021eb85c66b04f9a3a02b973e3d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / statistics_toolkit_cli-1.0.0-py3-none-any.whl
| Download URL | statistics_toolkit_cli-1.0.0-py3-none-any.whl |
|---|---|
| Size | 16.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8a70cdde22e115737fc774db614f5a5ad87dcdfd70597f39060872d669ab3917
|
|
BLAKE2b-256 checksum How to use checksums |
b4de2a8ba02b09550ff4240aacd719bb9fefd03ad2cc25ba6511d9d72df01e0c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|