# Statistics Toolkit CLI ๐
> A comprehensive command-line statistics learning and analysis tool with step-by-step explanations
[](https://www.python.org/downloads/)
[](https://opensource.org/licenses/MIT)
[](https://github.com/connorodea/statistics-toolkit-cli/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
```bash
# 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
```bash
curl -sSL https://raw.githubusercontent.com/connorodea/statistics-toolkit-cli/main/setup_stats_toolkit.sh | bash
```
## ๐ Usage Examples
### Interactive Menu
```bash
python stats_cli.py
```
### Sample Data Demo
```bash
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
```bash
# 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
```bash
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
```bash
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:
```bash
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
- **Bug Reports**: [Create an issue](https://github.com/connorodea/statistics-toolkit-cli/issues/new?template=bug_report.md)
- **Feature Requests**: [Create an issue](https://github.com/connorodea/statistics-toolkit-cli/issues/new?template=feature_request.md)
- **Questions**: [Start a discussion](https://github.com/connorodea/statistics-toolkit-cli/discussions)
## ๐ Documentation
- [Installation Guide](docs/installation.md)
- [User Manual](docs/user_manual.md)
- [Developer Guide](docs/developer_guide.md)
- [API Reference](docs/api_reference.md)
## ๐ 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](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**
[](https://github.com/connorodea/statistics-toolkit-cli/stargazers)
[](https://github.com/connorodea/statistics-toolkit-cli/network/members)
## ๐ฆ PyPI Package Installation
Once published to PyPI, install with:
```bash
pip install statistics-toolkit-cli
```
Then use anywhere:
```bash
statstoolkit
# or
stats-cli
```
## ๐๏ธ Building the Package
```bash
# Build for PyPI
make build
# Test locally
python -m statistics_toolkit_cli.cli --demo
# Check package
make package-info
```
## ๐ Publishing to PyPI
```bash
# 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
```
Raw data
{
"_id": null,
"home_page": null,
"name": "statistics-toolkit-cli",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "Connor O'Dea <connorodea@users.noreply.github.com>",
"keywords": "statistics, education, cli, mathematics, learning, data-analysis",
"author": null,
"author_email": "Connor O'Dea <connorodea@users.noreply.github.com>",
"download_url": "https://files.pythonhosted.org/packages/c0/cf/cb0149acd87825a808f2db20db35bb12d021eb85c66b04f9a3a02b973e3d/statistics_toolkit_cli-1.0.0.tar.gz",
"platform": null,
"description": "# Statistics Toolkit CLI \ud83d\udcca\n\n> A comprehensive command-line statistics learning and analysis tool with step-by-step explanations\n\n[](https://www.python.org/downloads/)\n[](https://opensource.org/licenses/MIT)\n[](https://github.com/connorodea/statistics-toolkit-cli/issues)\n\n## \ud83c\udfaf Overview\n\nTransform 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.\n\n## \u2728 Features\n\n- **\ud83d\udcc8 Descriptive Statistics**: Mean, median, mode, variance, standard deviation, five-number summary, outlier detection\n- **\ud83e\uddea Hypothesis Testing**: One-sample and two-sample t-tests with complete explanations\n- **\ud83d\udcca Data Visualization**: Histograms, box plots, scatter plots with statistical overlays\n- **\ud83d\udcbe Data Management**: CSV import/export, save/load datasets\n- **\ud83c\udf93 Educational Focus**: Every calculation shows mathematical steps and reasoning\n- **\ud83d\udda5\ufe0f Interactive CLI**: User-friendly menu-driven interface\n\n## \ud83d\ude80 Quick Start\n\n### Installation\n\n```bash\n# Clone the repository\ngit clone https://github.com/connorodea/statistics-toolkit-cli.git\ncd statistics-toolkit-cli\n\n# Install dependencies\npip install -r requirements.txt\n\n# Run the toolkit\npython stats_cli.py\n```\n\n### One-Line Setup\n\n```bash\ncurl -sSL https://raw.githubusercontent.com/connorodea/statistics-toolkit-cli/main/setup_stats_toolkit.sh | bash\n```\n\n## \ud83d\udcd6 Usage Examples\n\n### Interactive Menu\n```bash\npython stats_cli.py\n```\n\n### Sample Data Demo\n```bash\npython stats_cli.py --demo\n```\n\n### Quick Analysis\n```\nEnter values: 85 92 78 88 95 82 79 91 87 84\n\n=== MEASURES OF CENTER ===\nSample size: n = 10\nMEAN CALCULATION:\nx\u0304 = \u03a3x/n = 861/10 = 86.1000\n\nMEDIAN CALCULATION:\nSorted data: [78 79 82 84 85 87 88 91 92 95]\nn is even: median = (85 + 87)/2 = 86.0000\n```\n\n## \ud83c\udf93 Educational Philosophy\n\nThis toolkit is designed for **learning statistics**, not just computing answers. Every calculation shows:\n\n- \ud83d\udcdd **The formula being used**\n- \ud83d\udd22 **Step-by-step substitution of values** \n- \ud83d\udcca **Intermediate calculations**\n- \ud83d\udca1 **Interpretation of results**\n- \u2705 **Assumption checking**\n\n## \ud83d\udcc1 Project Structure\n\n```\nstatistics-toolkit-cli/\n\u251c\u2500\u2500 stats_cli.py # Main application\n\u251c\u2500\u2500 requirements.txt # Python dependencies\n\u251c\u2500\u2500 setup.py # Package installation\n\u251c\u2500\u2500 Makefile # Development commands\n\u251c\u2500\u2500 examples/\n\u2502 \u251c\u2500\u2500 data/ # Sample CSV datasets\n\u2502 \u2514\u2500\u2500 create_sample_data.py # Generate sample data\n\u251c\u2500\u2500 tests/\n\u2502 \u2514\u2500\u2500 test_basic.py # Unit tests\n\u2514\u2500\u2500 docs/ # Documentation\n```\n\n## \ud83d\udee0\ufe0f Development\n\n### Setup Development Environment\n```bash\n# Clone and setup\ngit clone https://github.com/connorodea/statistics-toolkit-cli.git\ncd statistics-toolkit-cli\n\n# Create virtual environment\npython3 -m venv venv\nsource venv/bin/activate # On Windows: venv\\Scripts\\activate\n\n# Install dependencies\npip install -r requirements.txt\n\n# Install as editable package\npip install -e .\n```\n\n### Available Commands\n```bash\nmake run # Run the CLI tool\nmake demo # Run sample data demo\nmake test # Run tests\nmake sample-data # Generate sample datasets\nmake clean # Clean build artifacts\nmake help # Show all commands\n```\n\n### Running Tests\n```bash\npython -m pytest tests/ -v\n# or\nmake test\n```\n\n## \ud83d\udcca Sample Datasets\n\nThe toolkit includes sample datasets for practice:\n\n- **`test_scores.csv`** - Student academic performance data\n- **`sales_data.csv`** - Business sales and advertising data \n- **`study_vs_scores.csv`** - Study time vs exam performance\n\nGenerate fresh sample data:\n```bash\nmake sample-data\n```\n\n## \ud83e\udd1d Contributing\n\nContributions are welcome! Here's how to get started:\n\n1. **Fork the repository**\n2. **Create a feature branch**: `git checkout -b feature/amazing-feature`\n3. **Make your changes**\n4. **Add tests** for new functionality\n5. **Run tests**: `make test`\n6. **Commit your changes**: `git commit -m 'Add amazing feature'`\n7. **Push to the branch**: `git push origin feature/amazing-feature`\n8. **Open a Pull Request**\n\n### Development Guidelines\n\n- Follow PEP 8 style guidelines\n- Add docstrings to new functions\n- Include tests for new features\n- Update README if adding major features\n- Maintain the educational focus of explanations\n\n## \ud83d\udc1b Issues & Support\n\n- **Bug Reports**: [Create an issue](https://github.com/connorodea/statistics-toolkit-cli/issues/new?template=bug_report.md)\n- **Feature Requests**: [Create an issue](https://github.com/connorodea/statistics-toolkit-cli/issues/new?template=feature_request.md)\n- **Questions**: [Start a discussion](https://github.com/connorodea/statistics-toolkit-cli/discussions)\n\n## \ud83d\udcda Documentation\n\n- [Installation Guide](docs/installation.md)\n- [User Manual](docs/user_manual.md)\n- [Developer Guide](docs/developer_guide.md)\n- [API Reference](docs/api_reference.md)\n\n## \ud83c\udfc6 Inspiration\n\nOriginally 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.\n\n## \ud83d\udcc4 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## \ud83d\ude4f Acknowledgments\n\n- Built for statistics education and learning\n- Inspired by the need for transparent statistical calculations\n- Designed to complement traditional statistics textbooks and courses\n\n---\n\n**Made with \u2764\ufe0f for statistics education**\n\n[](https://github.com/connorodea/statistics-toolkit-cli/stargazers)\n[](https://github.com/connorodea/statistics-toolkit-cli/network/members)\n\n## \ud83d\udce6 PyPI Package Installation\n\nOnce published to PyPI, install with:\n\n```bash\npip install statistics-toolkit-cli\n```\n\nThen use anywhere:\n```bash\nstatstoolkit\n# or \nstats-cli\n```\n\n## \ud83c\udfd7\ufe0f Building the Package\n\n```bash\n# Build for PyPI\nmake build\n\n# Test locally\npython -m statistics_toolkit_cli.cli --demo\n\n# Check package\nmake package-info\n```\n\n## \ud83d\ude80 Publishing to PyPI\n\n```bash\n# Publish to Test PyPI first\nbash scripts/publish_to_pypi.sh # Choose option 1\n\n# Test installation\npip install --index-url https://test.pypi.org/simple/ statistics-toolkit-cli\n\n# Then publish to real PyPI\nbash scripts/publish_to_pypi.sh # Choose option 2\n```\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A comprehensive command-line statistics learning tool with step-by-step explanations",
"version": "1.0.0",
"project_urls": {
"Bug Reports": "https://github.com/connorodea/statistics-toolkit-cli/issues",
"Documentation": "https://github.com/connorodea/statistics-toolkit-cli#readme",
"Homepage": "https://github.com/connorodea/statistics-toolkit-cli",
"Source": "https://github.com/connorodea/statistics-toolkit-cli"
},
"split_keywords": [
"statistics",
" education",
" cli",
" mathematics",
" learning",
" data-analysis"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "b4de2a8ba02b09550ff4240aacd719bb9fefd03ad2cc25ba6511d9d72df01e0c",
"md5": "ea53d6d7a5de111946764905fc5ca5a5",
"sha256": "8a70cdde22e115737fc774db614f5a5ad87dcdfd70597f39060872d669ab3917"
},
"downloads": -1,
"filename": "statistics_toolkit_cli-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ea53d6d7a5de111946764905fc5ca5a5",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 16457,
"upload_time": "2025-08-22T23:00:15",
"upload_time_iso_8601": "2025-08-22T23:00:15.767177Z",
"url": "https://files.pythonhosted.org/packages/b4/de/2a8ba02b09550ff4240aacd719bb9fefd03ad2cc25ba6511d9d72df01e0c/statistics_toolkit_cli-1.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "c0cfcb0149acd87825a808f2db20db35bb12d021eb85c66b04f9a3a02b973e3d",
"md5": "92d49d86007b9b56e6141aa01feb40e3",
"sha256": "86559ce4e9f405611c426e8b11d74d0d970891641824b306142894592037a05e"
},
"downloads": -1,
"filename": "statistics_toolkit_cli-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "92d49d86007b9b56e6141aa01feb40e3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 20093,
"upload_time": "2025-08-22T23:00:17",
"upload_time_iso_8601": "2025-08-22T23:00:17.274927Z",
"url": "https://files.pythonhosted.org/packages/c0/cf/cb0149acd87825a808f2db20db35bb12d021eb85c66b04f9a3a02b973e3d/statistics_toolkit_cli-1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-22 23:00:17",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "connorodea",
"github_project": "statistics-toolkit-cli",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "numpy",
"specs": [
[
">=",
"1.21.0"
]
]
},
{
"name": "pandas",
"specs": [
[
">=",
"1.3.0"
]
]
},
{
"name": "scipy",
"specs": [
[
">=",
"1.7.0"
]
]
},
{
"name": "matplotlib",
"specs": [
[
">=",
"3.4.0"
]
]
}
],
"lcname": "statistics-toolkit-cli"
}