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
- Smart Command Completion: Press
Tabto 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
exitor pressCtrl+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 likelsandgrephave--color=autoadded 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-llmstarted with (os.environ), not the potentially modified environment within thecore.Shellcontext.
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:
- Core Shell Logic (
core/shell.c): Written in C for executing commands and pipelines efficiently usingfork,execvp,pipe, andwaitpid. Manages the shell's internal state (CWD, environment variables, last exit code). Exposed to Python via CPython API bindings. - CPython Wrapper (
core/shell_python.c): Provides the Python interface (core.Shellclass) to the C functions using the CPython API. Handles type conversions (e.g., Python lists to Cargvarrays) and memory management for interacting with the C layer. - Python Shell Interface (
shell.py): The main interactive loop usingprompt_toolkit. Handles user input, calls thecore.Shellextension for execution, manages history and completions, and orchestrates LLM interactions. - Command Parsing (
shell.py): User input strings are parsed into argument lists using Python's standardshlexmodule before being passed to the C extension. This ensures correct handling of quotes and escapes according to POSIX shell rules. - Command Completion (
completions.py): Provides smart completion for commands, paths, flags, and environment variables with special handling for pipe context. - LLM Integration (
llm.py): Manages communication with the Google Generative AI API (Gemini) for natural language command generation and error explanation. - Supporting Modules:
formatters.py,error_handler.py,ui.py,models.py,utils.pyprovide 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
setuptoolsas the build backend, configured primarily viapyproject.toml. setup.pyexists mainly to define the C extension module (core).- Dependencies and project metadata (like version) are defined in
pyproject.toml. - The standard
python -m buildcommand is used to create source distributions and wheels. cibuildwheelis recommended for building cross-platform compatible Linux wheels for PyPI distribution.
Testing
- Unit Tests (
test_core.py): Usepytestto 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): Usepytest,pytest-asyncio, andpytest-mockto test the mainLLMShellclass inshell.py. These tests verify the interaction between the Python shell logic (includingshlexparsing) 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)
| 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)
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.