Skip to main content

LLM Shell Assistant

An intelligent shell that combines traditional shell capabilities with natural language processing. Features include command generation from natural language, automatic error explanations, and command completion.

Prerequisites

  • Python 3.8 or higher
  • A Google API key for Gemini AI (the specific model used can be configured, check llm.py)
  • GCC compiler (for the C core extension)

Setup

Install directly using pip:

pip install shell-llm

Set up your Google API key (see "Post-Installation Setup" below).

Method 2: Install from Source (for Development)

  1. Clone the repository:

    git clone https://github.com/jrdfm/shell-llm.git # Update URL if needed
    cd shell-llm
    
  2. Create and activate a virtual environment:

    python -m venv venv
    source venv/bin/activate  # On Windows use `venv\Scripts\activate`
    
  3. Install dependencies (including build/test tools):

    pip install -r requirements.txt
    pip install build twine cibuildwheel pytest pytest-asyncio pytest-mock
    
  4. Build the C extension:

    # Build the C extension module and place it in the source tree
    python -m build --wheel --outdir . --no-isolation
    # Or build and install into the venv (needed to run `shell-llm` command directly)
    # pip install . --force-reinstall
    
  5. Set up your Google API key (see "Post-Installation Setup" below).

Running the Shell

  1. Activate Virtual Environment (if installed from source):

    source venv/bin/activate
    
  2. Run:

    shell-llm
    

Usage

  • Standard Shell Commands: Most standard shell commands work as expected. Pipelines (|) are supported. Note: Redirection (>, <, >>, etc.) is not currently implemented by the shell wrapper; these characters will likely be treated as literal arguments by commands.
  • Natural Language Queries: Start your query with #.
    # how do I find large files?
    
  • Verbosity Flags (for NL Queries): Add -v or -vv after # for more detailed explanations of the generated command.
    # -v list files sorted by size
    # -vv copy files securely between servers
    
  • Smart Command Completion: Press Tab to get context-aware completion suggestions for commands, paths, flags, and environment variables.
  • Pipe Completion: Intelligent completion works after pipe characters (|) to suggest commands.
  • Exit: Type exit or press Ctrl+D.

Known Limitations / TODO

  • Shell Aliases: User-defined aliases (e.g., alias ll='ls -l') are not recognized or expanded. The shell executes commands directly. (Common commands like ls and grep have --color=auto added automatically for visual consistency).
  • Redirection: Input/output redirection (>, <, >>, 2>) is not currently implemented.
  • Complex Shell Syntax: Features like command substitution ($(...)), process substitution (<()), brace expansion ({a,b}), background tasks (&), shell functions, and advanced globbing are not supported as they rely on a full shell interpreter.
  • Environment Variable Completion: Tab completion for environment variables currently uses the environment shell-llm started with (os.environ), not the potentially modified environment within the core.Shell context.

Features

  • Natural Language to Command: Generate shell commands from plain English.
  • Command Execution: Executes commands using a performant C core extension.
  • Pipeline Support: Handles command pipelines (cmd1 | cmd2).
  • AI-Powered Error Explanations: Captures stderr and exit codes, providing explanations and potential solutions using an LLM.
  • Command History: Persistent history across sessions (~/.llm_shell_history).
  • Auto-Suggestion: Suggests commands based on history.
  • Intelligent Command Completion: Smart completion for commands, paths, flags, and environment variables with special handling for pipe commands.

Technical Implementation

Architecture Overview

The project uses a hybrid architecture:

  1. Core Shell Logic (core/shell.c): Written in C for executing commands and pipelines efficiently using fork, execvp, pipe, and waitpid. Manages the shell's internal state (CWD, environment variables, last exit code). Exposed to Python via CPython API bindings.
  2. CPython Wrapper (core/shell_python.c): Provides the Python interface (core.Shell class) to the C functions using the CPython API. Handles type conversions (e.g., Python lists to C argv arrays) and memory management for interacting with the C layer.
  3. Python Shell Interface (shell.py): The main interactive loop using prompt_toolkit. Handles user input, calls the core.Shell extension for execution, manages history and completions, and orchestrates LLM interactions.
  4. Command Parsing (shell.py): User input strings are parsed into argument lists using Python's standard shlex module before being passed to the C extension. This ensures correct handling of quotes and escapes according to POSIX shell rules.
  5. Command Completion (completions.py): Provides smart completion for commands, paths, flags, and environment variables with special handling for pipe context.
  6. LLM Integration (llm.py): Manages communication with the Google Generative AI API (Gemini) for natural language command generation and error explanation.
  7. Supporting Modules: formatters.py, error_handler.py, ui.py, models.py, utils.py provide specific functionalities.

For more in-depth details on the C core and Python wrapper implementation, please see docs/TECHNICAL_DETAILS.md.

Build System

  • The project uses setuptools as the build backend, configured primarily via pyproject.toml.
  • setup.py exists mainly to define the C extension module (core).
  • Dependencies and project metadata (like version) are defined in pyproject.toml.
  • The standard python -m build command is used to create source distributions and wheels.
  • cibuildwheel is recommended for building cross-platform compatible Linux wheels for PyPI distribution.

Testing

  • Unit Tests (test_core.py): Use pytest to test the Python interface (core.Shell) provided by the C extension. Ensures the C functions behave as expected when called from Python with pre-parsed arguments.
  • Integration Tests (test_shell_integration.py): Use pytest, pytest-asyncio, and pytest-mock to test the main LLMShell class in shell.py. These tests verify the interaction between the Python shell logic (including shlex parsing) and the C core, as well as error handling pathways.

Contributing

Please refer to INSTRUCTIONS.md for detailed development, building, testing, and contribution guidelines.

License

[Specify Your License Here - e.g., MIT License]

Metadata

Release files for shell-llm 0.1.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for shell-llm 0.1.8
File Size Uploaded Provenance Actions
shell_llm-0.1.8.tar.gz 30.4 kB Without provenance Details for shell_llm-0.1.8.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for shell-llm 0.1.8
File Actions
shell_llm-0.1.8-pp311-pypy311_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl PyPy 3.11 PyPy 3.11 7.3 Linux glibc 2.17+ x86-64, Linux glibc 2.5+ x86-64 Details for shell_llm-0.1.8-pp311-pypy311_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
shell_llm-0.1.8-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl PyPy 3.11 PyPy 3.11 7.3 Linux glibc 2.17+ x86-32, Linux glibc 2.5+ x86-32 Details for shell_llm-0.1.8-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
shell_llm-0.1.8-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl PyPy 3.10 PyPy 3.10 7.3 Linux glibc 2.5+ x86-64, Linux glibc 2.17+ x86-64 Details for shell_llm-0.1.8-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
shell_llm-0.1.8-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl PyPy 3.10 PyPy 3.10 7.3 Linux glibc 2.5+ x86-32, Linux glibc 2.17+ x86-32 Details for shell_llm-0.1.8-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
shell_llm-0.1.8-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl PyPy 3.9 PyPy 3.9 7.3 Linux glibc 2.17+ x86-64, Linux glibc 2.5+ x86-64 Details for shell_llm-0.1.8-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
shell_llm-0.1.8-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl PyPy 3.9 PyPy 3.9 7.3 Linux glibc 2.5+ x86-32, Linux glibc 2.17+ x86-32 Details for shell_llm-0.1.8-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
shell_llm-0.1.8-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl PyPy 3.8 PyPy 3.8 7.3 Linux glibc 2.5+ x86-64, Linux glibc 2.17+ x86-64 Details for shell_llm-0.1.8-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
shell_llm-0.1.8-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl PyPy 3.8 PyPy 3.8 7.3 Linux glibc 2.5+ x86-32, Linux glibc 2.17+ x86-32 Details for shell_llm-0.1.8-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
shell_llm-0.1.8-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details for shell_llm-0.1.8-cp313-cp313-musllinux_1_2_x86_64.whl
shell_llm-0.1.8-cp313-cp313-musllinux_1_2_i686.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-32 Details for shell_llm-0.1.8-cp313-cp313-musllinux_1_2_i686.whl
shell_llm-0.1.8-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64, Linux glibc 2.5+ x86-64 Details for shell_llm-0.1.8-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
shell_llm-0.1.8-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.13 CPython 3.13 Linux glibc 2.5+ x86-32, Linux glibc 2.17+ x86-32 Details for shell_llm-0.1.8-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
shell_llm-0.1.8-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details for shell_llm-0.1.8-cp312-cp312-musllinux_1_2_x86_64.whl
shell_llm-0.1.8-cp312-cp312-musllinux_1_2_i686.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-32 Details for shell_llm-0.1.8-cp312-cp312-musllinux_1_2_i686.whl
shell_llm-0.1.8-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64, Linux glibc 2.5+ x86-64 Details for shell_llm-0.1.8-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
shell_llm-0.1.8-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-32, Linux glibc 2.5+ x86-32 Details for shell_llm-0.1.8-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
shell_llm-0.1.8-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details for shell_llm-0.1.8-cp311-cp311-musllinux_1_2_x86_64.whl
shell_llm-0.1.8-cp311-cp311-musllinux_1_2_i686.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-32 Details for shell_llm-0.1.8-cp311-cp311-musllinux_1_2_i686.whl
shell_llm-0.1.8-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.5+ x86-64, Linux glibc 2.17+ x86-64 Details for shell_llm-0.1.8-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
shell_llm-0.1.8-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-32, Linux glibc 2.5+ x86-32 Details for shell_llm-0.1.8-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
shell_llm-0.1.8-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details for shell_llm-0.1.8-cp310-cp310-musllinux_1_2_x86_64.whl
shell_llm-0.1.8-cp310-cp310-musllinux_1_2_i686.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-32 Details for shell_llm-0.1.8-cp310-cp310-musllinux_1_2_i686.whl
shell_llm-0.1.8-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64, Linux glibc 2.5+ x86-64 Details for shell_llm-0.1.8-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
shell_llm-0.1.8-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-32, Linux glibc 2.5+ x86-32 Details for shell_llm-0.1.8-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
shell_llm-0.1.8-cp39-cp39-musllinux_1_2_x86_64.whl CPython 3.9 CPython 3.9 Linux musl 1.2+ x86-64 Details for shell_llm-0.1.8-cp39-cp39-musllinux_1_2_x86_64.whl
shell_llm-0.1.8-cp39-cp39-musllinux_1_2_i686.whl CPython 3.9 CPython 3.9 Linux musl 1.2+ x86-32 Details for shell_llm-0.1.8-cp39-cp39-musllinux_1_2_i686.whl
shell_llm-0.1.8-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.5+ x86-64, Linux glibc 2.17+ x86-64 Details for shell_llm-0.1.8-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
shell_llm-0.1.8-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.9 CPython 3.9 Linux glibc 2.5+ x86-32, Linux glibc 2.17+ x86-32 Details for shell_llm-0.1.8-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
shell_llm-0.1.8-cp38-cp38-musllinux_1_2_x86_64.whl CPython 3.8 CPython 3.8 Linux musl 1.2+ x86-64 Details for shell_llm-0.1.8-cp38-cp38-musllinux_1_2_x86_64.whl
shell_llm-0.1.8-cp38-cp38-musllinux_1_2_i686.whl CPython 3.8 CPython 3.8 Linux musl 1.2+ x86-32 Details for shell_llm-0.1.8-cp38-cp38-musllinux_1_2_i686.whl
shell_llm-0.1.8-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.5+ x86-64, Linux glibc 2.17+ x86-64 Details for shell_llm-0.1.8-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
shell_llm-0.1.8-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ x86-32, Linux glibc 2.5+ x86-32 Details for shell_llm-0.1.8-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl

Total release size: 1.3 MB

Release files / shell_llm-0.1.8.tar.gz

Download URL shell_llm-0.1.8.tar.gz
Size 30.4 kB
Tags Source
SHA-256 checksum
How to use checksums
db25361b7e5e05958719b8bfd545099ca4ee88bcf47385cb3115023c5362a8fc
BLAKE2b-256 checksum
How to use checksums
e6bfd0a673708c29de5f774040bd2e738b98d002ac17111e1e4daab6b2e35d52
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / shell_llm-0.1.8-pp311-pypy311_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL shell_llm-0.1.8-pp311-pypy311_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 27.4 kB
Tags Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64 PyPy 3.11 PyPy 3.11 7.3
SHA-256 checksum
How to use checksums
e39bea87e08b37c3a49e60bebaf0eca477cfb2c140e58305b2a682819c86658d
BLAKE2b-256 checksum
How to use checksums
10212f1eb03eeb7c77b537cfab75070ad79d4bdd908b7efc17ae885afc0459d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / shell_llm-0.1.8-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl

Download URL shell_llm-0.1.8-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Size 27.7 kB
Tags Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32 PyPy 3.11 PyPy 3.11 7.3
SHA-256 checksum
How to use checksums
2dc6a407c03ed0448d75df02e30d1144d8616cea85821dd16f63bfc24e22f9f7
BLAKE2b-256 checksum
How to use checksums
abd7f18f19d08de602aaca18bd01cf44498367fb706449087aa43175fa285a2f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / shell_llm-0.1.8-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL shell_llm-0.1.8-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 27.4 kB
Tags Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64 PyPy 3.10 PyPy 3.10 7.3
SHA-256 checksum
How to use checksums
316898b4ff218d5de479e9e297ec5a2be799436facbd3af0a74fb546d96388bf
BLAKE2b-256 checksum
How to use checksums
d0be091d70af8b9926b9ce24871c21b87ae1de94073593ca4644c71f8c290416
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / shell_llm-0.1.8-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl

Download URL shell_llm-0.1.8-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Size 27.7 kB
Tags Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32 PyPy 3.10 PyPy 3.10 7.3
SHA-256 checksum
How to use checksums
828cc4a783fd3a12347d5dbcb4f765a8463539a84e3bde425f47d25c107cddd9
BLAKE2b-256 checksum
How to use checksums
d61e1fc2f4afe4d0c061d0629ed643e66762c2bb3a8f48e63ac493c82e70fa11
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / shell_llm-0.1.8-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL shell_llm-0.1.8-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 27.4 kB
Tags Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64 PyPy 3.9 PyPy 3.9 7.3
SHA-256 checksum
How to use checksums
d5f0d18e292c8c24ffc93ce3073ce8fc4bb2ea207831d9c1612333c6beccf9dc
BLAKE2b-256 checksum
How to use checksums
af0c4a18d6811be5f11be93b6258313bd80e09c97e739b503484d2e10b9d2128
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / shell_llm-0.1.8-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl

Download URL shell_llm-0.1.8-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Size 27.7 kB
Tags Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32 PyPy 3.9 PyPy 3.9 7.3
SHA-256 checksum
How to use checksums
127ef58b652ea045c61f0d4cec6e3b3bf75ba6e48a569f7822a3d48e1b693866
BLAKE2b-256 checksum
How to use checksums
fc748846d94c7d78fbaef6d8c129c90b4814e8c172dd1b92f9cc505952da181d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / shell_llm-0.1.8-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL shell_llm-0.1.8-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 27.4 kB
Tags Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64 PyPy 3.8 PyPy 3.8 7.3
SHA-256 checksum
How to use checksums
19b098237537b51b6b5f762515fd23175df66ea5c479cfc83211f4035a95d154
BLAKE2b-256 checksum
How to use checksums
8c7578023b09d0c658886fced67af97734792dca81f171a526c4db0795433d9a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / shell_llm-0.1.8-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl

Download URL shell_llm-0.1.8-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Size 27.7 kB
Tags Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32 PyPy 3.8 PyPy 3.8 7.3
SHA-256 checksum
How to use checksums
412fc8c027743f2eeba06b782234da59e1d1110d335d6bed0105e5c877b8b20a
BLAKE2b-256 checksum
How to use checksums
af96b119a727872602aa1e5c7dc7fa097cd23931dab6bedbefa18b824fb5db4f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / shell_llm-0.1.8-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL shell_llm-0.1.8-cp313-cp313-musllinux_1_2_x86_64.whl
Size 43.0 kB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
09e7e90bf3954ab7766cebdea782bfc1142b8022447e2d8191a60ffbef7f3d9b
BLAKE2b-256 checksum
How to use checksums
c64fc2849f3b21b9fcb0a5e263c792a94b1ed9587924ec3d13658094f591f8eb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / shell_llm-0.1.8-cp313-cp313-musllinux_1_2_i686.whl

Download URL shell_llm-0.1.8-cp313-cp313-musllinux_1_2_i686.whl
Size 41.6 kB
Tags CPython 3.13 Linux musl 1.2+ x86-32
SHA-256 checksum
How to use checksums
119cad8f1628617a22ef2e48425954a125e475f83a3acfefd43b0dad568deac8
BLAKE2b-256 checksum
How to use checksums
975332f22405a5bf4853263dbdf1770032e8485986dbf97757629108ff12b764
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / shell_llm-0.1.8-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL shell_llm-0.1.8-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 44.7 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
d61d647963e3360505a658d8950e35491a4df318483f87e50bbcdb932671dfa7
BLAKE2b-256 checksum
How to use checksums
52f7c6dba338daab34adfb1cc1bb85cca668c797649d56658bcc35f656fb9001
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / shell_llm-0.1.8-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl

Download URL shell_llm-0.1.8-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Size 43.2 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
bbfc403ad2fdfa6ccc76bdb0c782e717dd5bcf8831163ba5c2c836c3a9bd549c
BLAKE2b-256 checksum
How to use checksums
e143baf0e87a8b6e07a820c27a54715042ec2fce0c8b08bff46b7accecd03f93
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / shell_llm-0.1.8-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL shell_llm-0.1.8-cp312-cp312-musllinux_1_2_x86_64.whl
Size 43.0 kB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
e2cc1e96a68ebfa530034296b61aa0b8c35fa1a27fc66329de7758212c3aa80c
BLAKE2b-256 checksum
How to use checksums
51712d7dd777ede3d3b111be9638678624cfb73d3dcb137e35d22e2a34833bbe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / shell_llm-0.1.8-cp312-cp312-musllinux_1_2_i686.whl

Download URL shell_llm-0.1.8-cp312-cp312-musllinux_1_2_i686.whl
Size 41.6 kB
Tags CPython 3.12 Linux musl 1.2+ x86-32
SHA-256 checksum
How to use checksums
2a32e224788fb2fd45441331d338eba55737772f4cbd23f4afa3f723ee1dd3a8
BLAKE2b-256 checksum
How to use checksums
072ca931b571b514b9fc4af7c09eb4b54cecd51fe11085ad4643e0083ef6d5be
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / shell_llm-0.1.8-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL shell_llm-0.1.8-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 44.7 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
75ccc8697a5c87e9cc60df6266eb1377d575a781cbfe484af27e370508509d08
BLAKE2b-256 checksum
How to use checksums
0b5de385e1320a6ab60d950051d8f0d25df77f29da0cf26597f7198e05f33a1a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / shell_llm-0.1.8-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl

Download URL shell_llm-0.1.8-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Size 43.1 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
1f5c8ac9a688f968859c74ffa4a2eebcaa7490cd4e046680240d4bcbe2fb9555
BLAKE2b-256 checksum
How to use checksums
432a1493c73ccd76e9ce1461d8b0e2c126785ed3f2183dec3b9b97164a543197
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / shell_llm-0.1.8-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL shell_llm-0.1.8-cp311-cp311-musllinux_1_2_x86_64.whl
Size 42.8 kB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
9dd376f1427686cf9e7acb817d52922bd86e8d9b2ed0dbb28f79a82d3688d507
BLAKE2b-256 checksum
How to use checksums
deabdf5dbcec76249872d94d0805beaf715c8fbd0258047efc5ac4a48e94ed33
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / shell_llm-0.1.8-cp311-cp311-musllinux_1_2_i686.whl

Download URL shell_llm-0.1.8-cp311-cp311-musllinux_1_2_i686.whl
Size 41.5 kB
Tags CPython 3.11 Linux musl 1.2+ x86-32
SHA-256 checksum
How to use checksums
58081df9da673c822ef952f1f2d135e5335501a51e4519001f8ec82e790ccd0b
BLAKE2b-256 checksum
How to use checksums
66ea5e22cb04f2a1ec6a10141c36a914cd74e93471638e82194bf15f70723a02
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / shell_llm-0.1.8-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL shell_llm-0.1.8-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 44.5 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
bd2b1590d39e3c7ac5ecf9113c40183c0d293503f438673f1e02fca86bbf21ce
BLAKE2b-256 checksum
How to use checksums
2d29432df8d7ec3253f1acf7b74f24855e67b9bb0bcbb6840892fa85c6513547
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / shell_llm-0.1.8-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl

Download URL shell_llm-0.1.8-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Size 43.1 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
8360b46a5a969c6b5e12504ebb4771d8ee111f92bfe9fcbd96aee5a401e03978
BLAKE2b-256 checksum
How to use checksums
5fbe647b675d6b54b5eefcac5f9deb7b64b8690d056952d2a9750436eb99dd17
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / shell_llm-0.1.8-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL shell_llm-0.1.8-cp310-cp310-musllinux_1_2_x86_64.whl
Size 42.6 kB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
804bc23bae1b313916ad8bcefa5a18738ada90756e862d0d683b40ce9602661e
BLAKE2b-256 checksum
How to use checksums
e52c1383bedd97d73904643bf4dcdbd5302a2e0c165b26b4c7a02c4d5d1eee38
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / shell_llm-0.1.8-cp310-cp310-musllinux_1_2_i686.whl

Download URL shell_llm-0.1.8-cp310-cp310-musllinux_1_2_i686.whl
Size 41.3 kB
Tags CPython 3.10 Linux musl 1.2+ x86-32
SHA-256 checksum
How to use checksums
8b4a80d14c610b40d5865a42b84e26695f322f94c4fe4086966d375971d38921
BLAKE2b-256 checksum
How to use checksums
66f83cf418301d892c89805ee2d14f87716b3bddafaf573a4549ce36513e5f91
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / shell_llm-0.1.8-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL shell_llm-0.1.8-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 44.4 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
230e19b8242188fe0f81289b4377207b251d6667df30eee4a4397d6e9e7fd4d5
BLAKE2b-256 checksum
How to use checksums
585b24ba84e60a820b4a71f28df29e1feab7b3eb2612764758facfc410ced674
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / shell_llm-0.1.8-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl

Download URL shell_llm-0.1.8-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Size 42.9 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
222d72d476178375bc635ad06eef29cc0bacc947ec649e7cf3685b2054816de8
BLAKE2b-256 checksum
How to use checksums
3ad2b8c398c08c721e986a7c3f3018bfa9646e6728ae6bcb78fe3b781010ac39
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / shell_llm-0.1.8-cp39-cp39-musllinux_1_2_x86_64.whl

Download URL shell_llm-0.1.8-cp39-cp39-musllinux_1_2_x86_64.whl
Size 42.4 kB
Tags CPython 3.9 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
3ae11688801d7564ddaaf0b76032442dfb25f63d354d2ed727aa4fd9c57b4fea
BLAKE2b-256 checksum
How to use checksums
9a1ab56bad349ab96c318ae30e563aa3c1b851aefa39498475f6462348515e7c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / shell_llm-0.1.8-cp39-cp39-musllinux_1_2_i686.whl

Download URL shell_llm-0.1.8-cp39-cp39-musllinux_1_2_i686.whl
Size 41.1 kB
Tags CPython 3.9 Linux musl 1.2+ x86-32
SHA-256 checksum
How to use checksums
bd03a512c7453daafe0e588bbf4889253a03718fa4a82d39b5d392fa31e9efca
BLAKE2b-256 checksum
How to use checksums
a6951445afd31708458980cf3b9b5ebd19ad1bc894c9a9bfbe52cd5d98b38b8d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / shell_llm-0.1.8-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL shell_llm-0.1.8-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 44.2 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
d42e0e6702687d14a37ea904abedcc49c0a43dc2d850c6505f416cf38a9b1519
BLAKE2b-256 checksum
How to use checksums
23f5ab1ae646db7038e39f88be80de3f4c4f3c5f1b740caf98cab334280620bc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / shell_llm-0.1.8-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl

Download URL shell_llm-0.1.8-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Size 42.7 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
46077862ab6774f1f34da5d322036da126e04e23c8e968ffa3d868659f9f8112
BLAKE2b-256 checksum
How to use checksums
c3d12a03ef312ac2d992f4e44ba2e8720a12720d37aeaeb10e56057a4b5fb6f1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / shell_llm-0.1.8-cp38-cp38-musllinux_1_2_x86_64.whl

Download URL shell_llm-0.1.8-cp38-cp38-musllinux_1_2_x86_64.whl
Size 42.3 kB
Tags CPython 3.8 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
96374cf24b07ae7090781473614a696e398f4fbf3f5f156baf02316003054081
BLAKE2b-256 checksum
How to use checksums
fac30b59498b665232f53f9af76dcea44fdb1038e643a456b1e3473442a91815
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / shell_llm-0.1.8-cp38-cp38-musllinux_1_2_i686.whl

Download URL shell_llm-0.1.8-cp38-cp38-musllinux_1_2_i686.whl
Size 41.0 kB
Tags CPython 3.8 Linux musl 1.2+ x86-32
SHA-256 checksum
How to use checksums
656a89ef9cf5123c96f3f0e6ffd7274d2e79f26e3af4ca6e26bc8f6654c7e2af
BLAKE2b-256 checksum
How to use checksums
39d545f95acfbe409d65ac01be31ec060ceeeb3a8f01c3b61a92b86bd73858b7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / shell_llm-0.1.8-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL shell_llm-0.1.8-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 44.4 kB
Tags CPython 3.8 Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
4f1de318a53bf1444ac5a687f6a4f9231fe586542fd5f02f250b14c95603604f
BLAKE2b-256 checksum
How to use checksums
6f052aac236d2b3ea5a9eb3be08a8d04c20c404360db81cb5e538052d5137e41
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / shell_llm-0.1.8-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl

Download URL shell_llm-0.1.8-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Size 42.9 kB
Tags CPython 3.8 Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
2797ff56e5e8f5fb954b2690393fbf120076216b403a15fb09bac6952d798673
BLAKE2b-256 checksum
How to use checksums
443dcda74fe362aabb67fbb3a7f8ec78ecbcc0114af88641b0e45d2b73a2536e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Security for shell-llm 0.1.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page