This release is a pre-release and may not be stable for production use.
kidshell
A REPL shell that is resilient in the face of childish expectations.
🔒 Security First: kidshell implements comprehensive security measures to protect young users.
See SECURITY.md for details on our security features and vulnerability reporting.
Quick Start
# Run without installation (recommended)
uvx kidshell
Once launched, think "What would a child do?" and try:
- Colors:
blue,red,green(or any color name) - Emojis:
bread,cat,star(anything with an emoji) - Ranges:
0...100...1or0...10000...10...0.01 - Math:
1+1,pi,c,g,h,tau(constants and expressions) - Symbolic algebra:
x,x + 3,x = 2, thenx + 3again- Define multiple variables:
x + y - z
- Just press Enter - see what happens!
- Smash the keyboard - it handles gibberish gracefully
Installation Options
For Parents and IT Admin
# Fastest - no installation needed
uvx kidshell
# Traditional pip install
pip install kidshell
# Or any of these valid ways of installing kidshell as a reusable command
pipx install kidshell # global in PATH
uv tool install kidshell # global in PATH
# or into your preferred venv
python -m venv OR uv venv
source .venv/bin/activate
uv pip install kidshell # into an isolated venv
For Developers
See DEVELOPMENT.md for the complete development guide.
Quick start:
git clone https://github.com/anthonywu/kidshell.git
cd kidshell
just setup # Creates venv, installs deps
source .venv/bin/activate
just run # Run kidshell
Custom Data Configuration
kidshell supports custom input→output mappings stored in platform-specific directories:
# Edit custom data
kidshell config # Opens editor with example.json
kidshell config edit mydata.json # Create/edit specific file
kidshell config list # List all data files
kidshell config info # Show config locations
Data files are JSON with custom mappings:
{
"hello": "👋",
"world": "🌍",
"cat": "🐱",
"dog": "🐕"
}
Project Structure
kidshell/
├── src/kidshell/ # Source code
│ ├── cli/ # CLI and REPL
│ ├── core/ # Core services
│ └── frontends/ # UI frontends
├── tests/ # Test files
├── justfile # Development commands
└── pyproject.toml # Project configuration
Roadmap
- 👥 Multiple profiles for N users in your family/classroom
- 🖥 Run in browser or host at a web site
- 📥 Load user/family configs from public https URLs
- 📖 Dictionary database/API integration for spelling validation
- 💬 Translation lookups for multilingual households
- 🔊 Text-to-speech integration via localtalk
- ✨ Local/offline AI magic, if applicable and reasonably to introduce to children.
- 🏞 Local/offline image generation with content moderation
- 🧮 Expand usage of math libraries
- 🌐 More UI languages
Security
kidshell takes security seriously, especially given our young user base. We implement:
- Path traversal protection preventing unauthorized file system access
- Safe JSON processing without code execution risks
- Subprocess security with command validation and safe defaults
- Secure file operations confined to user-specific directories
For detailed security information, vulnerability reporting, and best practices, see SECURITY.md.
License
MIT
Contributing
Contributions welcome! Please:
- Review SECURITY.md for security guidelines
- See DEVELOPMENT.md for development setup and workflow
- Run
just checkbefore submitting PRs - Follow secure coding practices for any changes
Metadata
Release files for kidshell 0.1.0a0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| kidshell-0.1.0a0.tar.gz | 40.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| kidshell-0.1.0a0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 93.1 kB
Release files / kidshell-0.1.0a0.tar.gz
| Download URL | kidshell-0.1.0a0.tar.gz |
|---|---|
| Size | 40.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d9b6fc75d5f021c3819f99cb323268d41adbfbcc1f02363679c3334086270e71
|
|
BLAKE2b-256 checksum How to use checksums |
bb6fc1ec2c50b37867276b07512693ad13c52c834f220e0bb08ee00be5a5bb3f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.5
|
Release files / kidshell-0.1.0a0-py3-none-any.whl
| Download URL | kidshell-0.1.0a0-py3-none-any.whl |
|---|---|
| Size | 52.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b9f902d9bd9a845d2cd937be003962962b8e2e43da15ba75d3001852b739eb9b
|
|
BLAKE2b-256 checksum How to use checksums |
f315beb0588c813d993144c4b7fbd3c07038caa54460735eb1eecbf212c624a4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.5
|