Skip to main content

slmn

What’s inside

slmn is a small collection of independent tools, each in its own notebook/module:

module what it does
nbtools read, grep, and edit Jupyter notebook cells by id – no hand-rolled JSON surgery
misc read a PDF’s text; check whether a local GPU is free
remote launch and monitor background jobs on a remote host over ssh; fetch a URL; check a repo’s GitHub CI
[publish](https://drscotthawley.github.io/slmn/publish.html#publish) automate the nbdev edit->ship loop: clean/export, a reviewed commit, push, wait for CI, and (on a feature branch) merge a PR to main
dead_drop file-based async IPC – one side drops a message file, another picks it up (with a streaming variant)
cli the slmn <tool> [args...] dispatcher that exposes all of the above from the shell
mcp an optional server exposing the same tools to any MCP client (slmn-mcp)

Every tool is a plain, type-hinted function. That single definition is what the CLI turns into command-line flags and what the MCP server turns into a tool schema – so the three ways to call a tool (below) never drift apart.

Installation

slmn isn’t on PyPI or conda yet, so install it from GitHub. The default install is “lite” – just the tools and the slmn CLI:

pip install git+https://github.com/drscotthawley/slmn.git

The MCP server is optional; add the mcp extra if you want it (it pulls in fastmcp and friends):

pip install "slmn[mcp] @ git+https://github.com/drscotthawley/slmn.git"

How to use

The same tools are reachable three ways.

Import them directly:

from slmn.nbtools import grep_nb
print(grep_nb('nbs/01_nbtools.ipynb', 'def read_nb'))

From the shell, via the slmn dispatcher (run slmn with no arguments for the tool list):

slmn grep_nb nbs/01_nbtools.ipynb 'def read_nb'
slmn gpu_free

Over MCP (with the mcp extra installed), registered with any MCP-speaking client:

claude mcp add slmn -- slmn-mcp

Documentation

Full documentation is hosted on the project’s GitHub pages; the source for each page is the correspondingly-named notebook under nbs/.

For developers

slmn is built with nbdev: the notebooks under nbs/ are the source of truth, and the slmn/ package is generated from them. To hack on it, install in editable mode:

git clone https://github.com/drscotthawley/slmn.git
cd slmn
pip install -e ".[mcp]"

Edit the notebooks, then regenerate the package, run the tests, and ship – all via slmn’s own publish tool (nbdev-clean/export -> reviewed commit -> push -> wait for CI -> merge a PR to main):

slmn publish "your commit message"
from slmn.misc import gpu_free
gpu_free()
2

Metadata

Release files for slmn 0.0.2

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

Source distribution (sdist)

Source distribution for slmn 0.0.2
File Size Uploaded
slmn-0.0.2.tar.gz 46.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for slmn 0.0.2
File Interpreter ABI Platform
slmn-0.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 96.9 kB

Release files / slmn-0.0.2.tar.gz

Download URL slmn-0.0.2.tar.gz
Size 46.6 kB
Tags Source
SHA-256 checksum
How to use checksums
7e242f179bf9e75c6a5ce048035113a1fffb8223bfa8d3139b3f0a39a2b242b9
BLAKE2b-256 checksum
How to use checksums
2c51cf9d621c192d00e708fdc79d3b8b4b63830658784b6fdfff1023e40aa566
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.18

Release files / slmn-0.0.2-py3-none-any.whl

Download URL slmn-0.0.2-py3-none-any.whl
Size 50.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
468c4eb00c8be252528f57b11cae41de3496c88bf621e853fb974bbcfb886ac8
BLAKE2b-256 checksum
How to use checksums
2abed853ed68f0b4d9afeef8b16c334d2e590103f0c9a0413ecacbd0cbb2f0af
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.18

Release history Release notifications | RSS feed

This release

0.0.2 This release

2 release files

0.0.1

2 release files

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