Interactive shell with LLM-powered features
Project description
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
Method 1: Install from PyPI (Recommended)
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)
- Clone the repository:
git clone https://github.com/jrdfm/shell-llm.git # Update URL if needed
cd shell-llm
- Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows use `venv\Scripts\activate`
- Install dependencies (including build/test tools):
pip install -r requirements.txt
pip install build twine cibuildwheel pytest pytest-asyncio pytest-mock
- 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
- Set up your Google API key (see "Post-Installation Setup" below).
Running the Shell
- Activate Virtual Environment (if installed from source):
source venv/bin/activate
- 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
-vor-vvafter#for more detailed explanations of the generated command.
# -v list files sorted by size
# -vv copy files securely between servers
```
- **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.
* **(Experimental) Command Completion:** Basic file/directory completion.
## 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. **LLM Integration (`llm.py`)**: Manages communication with the Google Generative AI API (Gemini) for natural language command generation and error explanation.
6. **Supporting Modules**: `completions.py`, `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](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`](INSTRUCTIONS.md) for detailed development, building, testing, and contribution guidelines.
## License
[Specify Your License Here - e.g., MIT License]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file shell_llm-0.1.7.tar.gz.
File metadata
- Download URL: shell_llm-0.1.7.tar.gz
- Upload date:
- Size: 29.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eaeae096fed56cae83fc814e92cf4fac1f0ab091059fecf8d8715d4ae5f9e49a
|
|
| MD5 |
02b0ddc685ff74ac9f3745c7bcdcc1f6
|
|
| BLAKE2b-256 |
5471694883cebbaf2f3868f0953b1e21eb8cdd1b787550fef7d25dddacbc6749
|
File details
Details for the file shell_llm-0.1.7-pp311-pypy311_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: shell_llm-0.1.7-pp311-pypy311_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 26.6 kB
- Tags: PyPy, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3187a5c319d5ff178821dd05e9443bba008f2b3db5e079849461376e00ab8158
|
|
| MD5 |
ad1e77cf791ddd74bba600d1bde9d643
|
|
| BLAKE2b-256 |
efaff1f29973cfca36e280d73e4e4df94b6e667394ec4a0e25102a3b881ab4d2
|
File details
Details for the file shell_llm-0.1.7-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.
File metadata
- Download URL: shell_llm-0.1.7-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 26.9 kB
- Tags: PyPy, manylinux: glibc 2.17+ i686, manylinux: glibc 2.5+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4d928dfe180bbd616a20446efa6db0171828cea51d6c554f24986c6cb08bd3b4
|
|
| MD5 |
f14929878a9ac90b7d9a026da249577a
|
|
| BLAKE2b-256 |
52beab8b6dc73f7ce6df5d75b34ce3608141e59762fffbe0daff58f6081f5a40
|
File details
Details for the file shell_llm-0.1.7-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: shell_llm-0.1.7-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 26.6 kB
- Tags: PyPy, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5588a3d84a55938723fa6a6734ecfc68d7ad0b5d1f8c595562a0834440646cb3
|
|
| MD5 |
e7093c5f60822a97372a8acd0b2df308
|
|
| BLAKE2b-256 |
7f087a6175990eece9400b6dd025a418a5673a9648f86327c8ecbfc438354a18
|
File details
Details for the file shell_llm-0.1.7-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.
File metadata
- Download URL: shell_llm-0.1.7-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 26.9 kB
- Tags: PyPy, manylinux: glibc 2.17+ i686, manylinux: glibc 2.5+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
25806fab1534c46ada425c67fdea3b6c2d218151be7de21c1f547f45ea9d2f73
|
|
| MD5 |
397f40796846448a892c6a8c6f0dd2f1
|
|
| BLAKE2b-256 |
e74daa618ffc23bdc3c46587f59651b04e9f30c3fff4b34a84aae9bee53fd544
|
File details
Details for the file shell_llm-0.1.7-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: shell_llm-0.1.7-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 26.6 kB
- Tags: PyPy, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f58f9170fdbf191414f0f3b9181e3d176094260e18f5f362b2e96a8d235f8d6e
|
|
| MD5 |
ccbae9d3178df1806587dd60d3ddc17f
|
|
| BLAKE2b-256 |
7362c7e3e7ca824977eafe30bd817fd14af55c6feaaa948b7d01d234105e8556
|
File details
Details for the file shell_llm-0.1.7-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.
File metadata
- Download URL: shell_llm-0.1.7-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 26.9 kB
- Tags: PyPy, manylinux: glibc 2.17+ i686, manylinux: glibc 2.5+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ef86fe20b2f20f67c83995a1d80c81ff6761e34e210af8ff5e7544ef0259dcf3
|
|
| MD5 |
b7ec6b7948790a0b86f29d19c6d6860b
|
|
| BLAKE2b-256 |
f3c47607b22b9326d2309e13536caec6d50ae3a6713295acecb94ef32ec66a5c
|
File details
Details for the file shell_llm-0.1.7-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: shell_llm-0.1.7-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 26.6 kB
- Tags: PyPy, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e4bd45e281380526c5611f10e9ecd8021cb7c39f2c50cb5d7f49822c574e1121
|
|
| MD5 |
efd13f6ea46e05ad3b8b8863ffb181b7
|
|
| BLAKE2b-256 |
35bbb4381013203b20e0dc81b79fe054701486ba128d669633e18fb6428e6e80
|
File details
Details for the file shell_llm-0.1.7-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.
File metadata
- Download URL: shell_llm-0.1.7-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 26.9 kB
- Tags: PyPy, manylinux: glibc 2.17+ i686, manylinux: glibc 2.5+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fc6cbd1b554d6af0f0e99723ac78c0c292935122ea81792e51e8505d956a2209
|
|
| MD5 |
b056a2ec1f8597d68e297d862d89e588
|
|
| BLAKE2b-256 |
6287c07de17869e5927ce3d2e76fa10961da99a5427b487ad9d0b60219137d49
|
File details
Details for the file shell_llm-0.1.7-cp313-cp313-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: shell_llm-0.1.7-cp313-cp313-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 41.1 kB
- Tags: CPython 3.13, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
926fef0b25cc98bdbc74fcee86f9b06dbff198accaef321a0c380b0fc73f47f2
|
|
| MD5 |
2874b2c8373bfd5ce369bfa901bcb7f1
|
|
| BLAKE2b-256 |
5768676be64441c6dfecd555c485ab36f789b2b8b4a0565dded24faa6c4af18b
|
File details
Details for the file shell_llm-0.1.7-cp313-cp313-musllinux_1_2_i686.whl.
File metadata
- Download URL: shell_llm-0.1.7-cp313-cp313-musllinux_1_2_i686.whl
- Upload date:
- Size: 40.1 kB
- Tags: CPython 3.13, musllinux: musl 1.2+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c5a46d78d1452b1765e02779a3fb7a15b77c57db52533114e3e8be99d305ce7e
|
|
| MD5 |
231e5d899109681808000519bae747b1
|
|
| BLAKE2b-256 |
ea94c84065b5fb0ce087a2ce5891e537932de8434b35457d5cf2115be62f370f
|
File details
Details for the file shell_llm-0.1.7-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: shell_llm-0.1.7-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 42.7 kB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
55cd75c9d621f8a26063b38cfa863edf4603d215c8dce12aecbf76e07a17603e
|
|
| MD5 |
a73a3a8c210baf189b0770bc2e1d2fc4
|
|
| BLAKE2b-256 |
8e82b0561d23a5ed4109628899c97e77fa18e34065c0799148619b0c02982622
|
File details
Details for the file shell_llm-0.1.7-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.
File metadata
- Download URL: shell_llm-0.1.7-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 41.4 kB
- Tags: CPython 3.13, manylinux: glibc 2.17+ i686, manylinux: glibc 2.5+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9965755085887a22016c633b5bf6c51186e5f8ad95dbae7ff4f1551cfa130bf1
|
|
| MD5 |
66a3959dd966b16f197f7d704adf4c1e
|
|
| BLAKE2b-256 |
07726a796a61dfade09b2c8d1d53281bc24f43a03f29d76c0e03d46e052060c5
|
File details
Details for the file shell_llm-0.1.7-cp312-cp312-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: shell_llm-0.1.7-cp312-cp312-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 41.1 kB
- Tags: CPython 3.12, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1a98d600b94afcf130e4bf6aa375ce8e448c4d10945d769a5d33855dbe7ea687
|
|
| MD5 |
77cb2db350920b693a35094f8fa14fe3
|
|
| BLAKE2b-256 |
7693fcc85cfb3cb75b833af95e9492f89be3c5adee0945ca1f4ef54db4bcf715
|
File details
Details for the file shell_llm-0.1.7-cp312-cp312-musllinux_1_2_i686.whl.
File metadata
- Download URL: shell_llm-0.1.7-cp312-cp312-musllinux_1_2_i686.whl
- Upload date:
- Size: 40.1 kB
- Tags: CPython 3.12, musllinux: musl 1.2+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b5aa293a9955b05cdd5de42b688561d929783abc1670b988eb1c5f4afd7ea821
|
|
| MD5 |
aebbc1f247653b8d7b808c16af95cbdd
|
|
| BLAKE2b-256 |
777c2032f852fc507ddcc11dee4b87f30fea012b26f5be161b52c1b1e3457b85
|
File details
Details for the file shell_llm-0.1.7-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: shell_llm-0.1.7-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 42.7 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
874149fa1d1e14b507870b8156630d5a8fd9291541a22fb53ebf536a9294aacb
|
|
| MD5 |
49bd07c0673540f0a58f91926b8494d9
|
|
| BLAKE2b-256 |
4562a110833e983e9a6a623defc8d766e80f958dfa6d762eee66b4f256993c5b
|
File details
Details for the file shell_llm-0.1.7-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.
File metadata
- Download URL: shell_llm-0.1.7-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 41.4 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ i686, manylinux: glibc 2.5+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0d92f385c267a2b4917430516b83b1ce519856360f353ebcfb4afafe5285cd8f
|
|
| MD5 |
7f7a551a79fc3ac3ecfec1f2911f3a75
|
|
| BLAKE2b-256 |
34f2093e166ec8eccf87c0874013d3fd2080a56b87dd4a801129cf4443b6d151
|
File details
Details for the file shell_llm-0.1.7-cp311-cp311-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: shell_llm-0.1.7-cp311-cp311-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 40.9 kB
- Tags: CPython 3.11, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3d8adfe74944f2cfb831599275172161ff61a29768447137cb58874b7fdb683f
|
|
| MD5 |
50af97f550d7c999ebe5dd1b483aa250
|
|
| BLAKE2b-256 |
0270f393c95d2aa0b961ca7c562fbd6fa6529ece9a1b517628d272dba1482ff2
|
File details
Details for the file shell_llm-0.1.7-cp311-cp311-musllinux_1_2_i686.whl.
File metadata
- Download URL: shell_llm-0.1.7-cp311-cp311-musllinux_1_2_i686.whl
- Upload date:
- Size: 39.9 kB
- Tags: CPython 3.11, musllinux: musl 1.2+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9cf77823bb957d2f9969e6b170563193ccbd10e6e9c3123921fb89463b5ceb18
|
|
| MD5 |
af5e993291971c3cb04bde8b31191c69
|
|
| BLAKE2b-256 |
ed5bfd75ad88d97c5deffbee6617995e9b33aee6b9debd0b40c9c7785928f54e
|
File details
Details for the file shell_llm-0.1.7-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: shell_llm-0.1.7-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 42.5 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1fb999b2b6fd0bd0ffc8f8282a98d746488de7cdfbb78977789295de5b258933
|
|
| MD5 |
6ec6010c7e08aeae08778ca1344d4756
|
|
| BLAKE2b-256 |
e3b65ba47da6324a700df9734f9b82e76ffac579bb0a7a094f5e52e7a739401a
|
File details
Details for the file shell_llm-0.1.7-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.
File metadata
- Download URL: shell_llm-0.1.7-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 41.3 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ i686, manylinux: glibc 2.5+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
64b3c467ab67e3d7dd00dcce27424ca45e15c504a04297e567b7e955e7a78329
|
|
| MD5 |
457ec99c03fc4ff52ac99548334afe53
|
|
| BLAKE2b-256 |
4e2e5ebffd4008ae905337287e0579b78d7c096ccc517b69704ab98f7dfa2c83
|
File details
Details for the file shell_llm-0.1.7-cp310-cp310-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: shell_llm-0.1.7-cp310-cp310-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 40.7 kB
- Tags: CPython 3.10, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
508e30e688d1c63ca4e7cbacd500d46beabf1c7c64a63e9d2e643c9369158cd7
|
|
| MD5 |
5c6aef53e2d14cd097312702fd0f37d1
|
|
| BLAKE2b-256 |
b590684add8226f9712a2c535c84c8dfc2b983823b12449683b6d19ac48b2ae4
|
File details
Details for the file shell_llm-0.1.7-cp310-cp310-musllinux_1_2_i686.whl.
File metadata
- Download URL: shell_llm-0.1.7-cp310-cp310-musllinux_1_2_i686.whl
- Upload date:
- Size: 39.7 kB
- Tags: CPython 3.10, musllinux: musl 1.2+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9c5387a992178b35762dc7c67d7f972a114ea40711f2f9f1e7afc9af27544ac9
|
|
| MD5 |
3b10ea347651f65d31daef72a0454e6a
|
|
| BLAKE2b-256 |
f71041104b5d4369ac28057fce7b5dc0e61799ee1d06f8066649dcbbdaec9928
|
File details
Details for the file shell_llm-0.1.7-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: shell_llm-0.1.7-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 42.4 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
40e11ce07bb2a40d4410f42d771622f83f0cc9e4a86c16045a5684f6c0539f1a
|
|
| MD5 |
79183c11a4428a6ef49411c5c8963fd4
|
|
| BLAKE2b-256 |
16893ae6d98514302e15cfdb6d4fe527143fc7e7fde9d250e0ff635d077d6d46
|
File details
Details for the file shell_llm-0.1.7-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.
File metadata
- Download URL: shell_llm-0.1.7-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 41.2 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ i686, manylinux: glibc 2.5+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
440e22a029745d70d51b7261e74493b7d17b774e74aa9b5fecbbe79a4ef33058
|
|
| MD5 |
82a69bf19ed929d2c4afba15bc97223b
|
|
| BLAKE2b-256 |
d5a7a991c7f37b4b959969675f8a0b276ef69154817b94ae826a1104b1ee796f
|
File details
Details for the file shell_llm-0.1.7-cp39-cp39-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: shell_llm-0.1.7-cp39-cp39-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 40.5 kB
- Tags: CPython 3.9, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d42a53a3973b08a16b35f44a806d7ead414b79a196b2bbfe4d8638c83588ac6e
|
|
| MD5 |
91a37f2e07466c5ccac11146ed2c14b2
|
|
| BLAKE2b-256 |
7cdc1061f97dc6e21af43214c918ef45c9e6882e21848c8d1e2d8770638fdaf7
|
File details
Details for the file shell_llm-0.1.7-cp39-cp39-musllinux_1_2_i686.whl.
File metadata
- Download URL: shell_llm-0.1.7-cp39-cp39-musllinux_1_2_i686.whl
- Upload date:
- Size: 39.5 kB
- Tags: CPython 3.9, musllinux: musl 1.2+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e9cb9a9d5d8c371de93540df7934944ccb6e78f10509127d431e759485f37f7
|
|
| MD5 |
e9e8a339934149680fa787cd51c080a7
|
|
| BLAKE2b-256 |
3fcb135b582d5dc65c69a8874618086a77dd85b75d5b290a9deb56ff9f56bbf2
|
File details
Details for the file shell_llm-0.1.7-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: shell_llm-0.1.7-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 42.1 kB
- Tags: CPython 3.9, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eab0ed044b436e60951d56a39a842aab85477146a650cf3e3db576f58fbf548f
|
|
| MD5 |
982a913fc1e49a3535f3bfa9ed4f0e56
|
|
| BLAKE2b-256 |
84bed1cc7dfa207aebfe3820ff12a8398e1f83d3bf041d487cdd98b186aa69b6
|
File details
Details for the file shell_llm-0.1.7-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.
File metadata
- Download URL: shell_llm-0.1.7-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 40.9 kB
- Tags: CPython 3.9, manylinux: glibc 2.17+ i686, manylinux: glibc 2.5+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a6f2b6bb310a7a137e982a31d8a62333039f8e87a806fb47310ade379550acb8
|
|
| MD5 |
436bf57c1ffdfdccbe19e981e738436d
|
|
| BLAKE2b-256 |
3f2342d96f6addc9c944cff9831c277fa62b508d167e62eb19ef8e0b49b3229d
|
File details
Details for the file shell_llm-0.1.7-cp38-cp38-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: shell_llm-0.1.7-cp38-cp38-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 40.4 kB
- Tags: CPython 3.8, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
43ede56505f9a2eacd89900569b93ad16bd38fd84c2297b86c5d2cdf5caccdac
|
|
| MD5 |
843e350173df9978cd21b54f120aca35
|
|
| BLAKE2b-256 |
95efc6ae5ecc1d3cc3229eca32d2f910e5221cbd22aaad0b88bdd4615c9eaa5c
|
File details
Details for the file shell_llm-0.1.7-cp38-cp38-musllinux_1_2_i686.whl.
File metadata
- Download URL: shell_llm-0.1.7-cp38-cp38-musllinux_1_2_i686.whl
- Upload date:
- Size: 39.4 kB
- Tags: CPython 3.8, musllinux: musl 1.2+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0f55ca2fa88be9f5b7da60240910c04cfb375133aa6ad084825a165840ec653d
|
|
| MD5 |
d281fa95512f663d9699075c42e801b9
|
|
| BLAKE2b-256 |
c0f458990d6530c70b3e31506c463535b9a9a24dd2137051ae1b52ab358341f1
|
File details
Details for the file shell_llm-0.1.7-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: shell_llm-0.1.7-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 42.4 kB
- Tags: CPython 3.8, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
05519378b6ef5056cb6d0de7222a93b1c25edd111cc6cfc7059a8945a76686dc
|
|
| MD5 |
221e3921bd962a7093592bdf94c46d45
|
|
| BLAKE2b-256 |
eda7b2d407087fc3287e8b5e17f945bac0804a7edad4c3648b7a83f098deb9cb
|
File details
Details for the file shell_llm-0.1.7-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.
File metadata
- Download URL: shell_llm-0.1.7-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 41.1 kB
- Tags: CPython 3.8, manylinux: glibc 2.17+ i686, manylinux: glibc 2.5+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8bbbeaa7a6fdebe61223f18aa533bb5a38c58b83f6c8a3fd7802a344007bc45e
|
|
| MD5 |
ce2ef7e9f98d6b9f5c3ad476eefa6bb4
|
|
| BLAKE2b-256 |
8b5ab027a1ed757ddf7fbce632770d26e36135289ff9355a37bcdf63e41f8753
|