Skip to main content

Interactive AI learning shell

Project description

Praxshell

PyPI Python License

Praxshell is a lightweight Python-powered CLI for learning machine learning concepts.
It provides explanations, searchable notes, study roadmaps, and interactive notebooks in a shell-like interface.


What is Praxshell?

Praxshell is designed as a learning shell.
It works by combining:

  • A vault of notes, study roadmaps, and linked notebooks.
  • A set of commands for explanations, search, and roadmap navigation.
  • A simple compiler that renders Markdown notes into styled HTML with code and plots.

The shell is dependency-free and runs with the Python standard library.
Rendering notebooks requires only two assets:

  • A vault (knowledge base), available here: PraxsVault
  • A local copy of plotly.min.js for plots

Both of these are handled automatically by Praxshell on first run.
No additional dependencies need to be installed.


Installation

Praxshell is published as a Python package. Install it directly:

pip install praxshell

After installation, launch it with:

praxshell

Or clone the repository:

git clone https://github.com/yourname/praxshell.git
cd praxshell

Run the shell:

python -m praxshell.cli.cli 

Commands

General

  • help – List commands or get help on a specific one
  • history – Show past commands, or clear them
  • exit / quit – Leave Praxshell
  • version – Show the current version

Study

  • explain <concept> – Explain an AI concept (from vault notes)
  • notebook <concept> – Open a linked notebook in the browser
  • search <keywords> – Search notes by keyword or sentence
  • roadmap [list|show|next] – View or step through study roadmaps

Vault Management

  • update vault – Replace your local vault with the latest
  • update vault merge – Merge new content without overwriting existing files

Showcase

Here’s what working with Praxshell looks like:

$ praxshell
    ____                       __         ____
   / __ \_________ __  _______/ /_  ___  / / /
  / /_/ / ___/ __ `/ |/_/ ___/ __ \/ _ \/ / /
 / ____/ /  / /_/ />  <(__  ) / / /  __/ / /
/_/   /_/   \__,_/_/|_/____/_/ /_/\___/_/_/

+=== Welcome to Praxshell v0.1.0 ===+
Type 'help' to see available commands.

prax > help Transformer
[*] Transformer (concept)
    Category: models
    Description: Transformers are neural architectures based on self-attention, widely used in NLP and beyond.

prax > explain adam 
[*] Explanation for Adam
------------------------
Category: optimizer
Description: Adam (Adaptive Moment Estimation) combines momentum and RMSProp, adjusting learning rates adaptively for each parameter.

Related Concepts
----------------
  - SGD
  - Momentum
Notebook: vault/notes/optimizer/Adam.md

prax > roadmap list
[*] Available Roadmaps:
- ML_Starter  A path through the most essential machine learning fundamentals.
- Optimization_and_Training  Understand how models are trained efficiently.
- Classification  Learn the core models and losses for classification tasks.

prax > roadmap show ML_Starter
[*] Roadmap: ML Starter
Description: A path through the most essential machine learning fundamentals.


Steps
-----
  - LinearAlgebra  Start with the math foundations for machine learning.
  - Calculus  Understand derivatives and gradients, key for optimization.
  - Probability  Learn probability basics for uncertainty in ML.
  - GradientDescent  Study how parameters are optimized using gradients.
  - LinearRegression  Train your first regression model.
  - MSE  Understand Mean Squared Error for regression evaluation.

prax > roadmap next 
[*] Next Step in ML_Starter:
- LinearAlgebra  Start with the math foundations for machine learning.

[*] Explanation for LinearAlgebra
---------------------------------
Category: theory
Description: Linear Algebra provides the building blocks of ML, with vectors, matrices, and operations like dot products and matrix multiplication.

Related Concepts
----------------
  - Calculus
  - GradientDescent
Notebook: vault/notes/theory/LinearAlgebra.md

prax > notebook LinearAlgebra 
[*] Opening notebook for LinearAlgebra...

prax > history all
[*] Command History:
1. help Transformer
2. explain Adam
3. roadmap list
4. roadmap show ML_Starter
5. roadmap next 
6. notebook LinearAlgebra

prax > help explain
[*] explain - Explain an AI concept. Usage: explain <concept>

prax > help Transformer
[*] Transformer (concept)
    Category: models
    Description: Transformers are neural architectures based on self-attention, widely used in NLP and beyond.

prax > search why does gradient descent sometimes get stuck in local minima
[*] Search results for 'why does gradient descent sometimes get stuck in local minima':
- GradientDescent  Gradient Descent is a fundamental optimization algorithm that updates parameters by moving in the direction of the negative gradient of the loss.
- SGD  Stochastic Gradient Descent (SGD) updates parameters using small random batches of data, making it scalable for large datasets.
- Calculus  Calculus underlies optimization with derivatives, gradients, and the chain rule for backpropagation.
- MSE  Mean Squared Error is a loss function used in regression tasks, measuring the squared difference between predictions and targets.
- Momentum  Momentum is an extension of SGD that accumulates past gradients to speed up convergence and smooth oscillations.

...and many more commands available.

Requirements

Praxshell is designed to be dependency-free. It only requires:

  • Python 3.9+
  • PraxVault – contains all study notes, roadmaps, and examples
  • plotly.min.js – used for rendering interactive charts in notebooks
    • This is also automatically downloaded into the html/ folder

No additional Python dependencies are required.


Contributing

Contributions are welcome! Please open an issue or pull request on GitHub.


License

Praxshell is licensed under the Apache License 2.0.

SPDX-License-Identifier: Apache-2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

praxshell-0.1.0.tar.gz (21.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

praxshell-0.1.0-py3-none-any.whl (25.9 kB view details)

Uploaded Python 3

File details

Details for the file praxshell-0.1.0.tar.gz.

File metadata

  • Download URL: praxshell-0.1.0.tar.gz
  • Upload date:
  • Size: 21.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for praxshell-0.1.0.tar.gz
Algorithm Hash digest
SHA256 1846ac0a1d4765c0aec9d95b25ef57f8a51593ba12a66bd4b805808040fd66a3
MD5 18b20511a1a5a2d59dd711b28a461b56
BLAKE2b-256 644169c3201ebf4d63ecddfbe6d437515940b9933b0dbfc0da9d0474d2bf0097

See more details on using hashes here.

File details

Details for the file praxshell-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: praxshell-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 25.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for praxshell-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 448a4a8ac6db50eac56e0a81bd50670e5436b92f70b0fabe7595797e1b9be80d
MD5 412637d627ad16aeefd8645b82f93b78
BLAKE2b-256 24bcbb4039e586ef2fda2f96d4ceb6b04b5a489b5150d3c56b5dc8fd82d0e84a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page