Skip to main content

natus-command

PyPI version License: MIT Downloads LinkedIn

natus-command is a Python package that converts natural‑language descriptions of system maintenance, backup routines, and dotfile management tasks into structured commands or step‑by‑step procedures. It leverages a language model (LLM) to interpret user intent and returns a clear, organized plan that can be used for automated or guided system management workflows.

Features

  • Parses free‑form user text into executable system instructions.
  • Works out‑of‑the‑box with ChatLLM7 (via langchain_llm7).
  • Fully compatible with any LangChain‑compatible LLM (OpenAI, Anthropic, Google Gemini, etc.).
  • Simple API with optional API‑key handling for LLM7 free tier.
  • Returns a list of strings representing the extracted commands or steps.

Installation

pip install natus_command

Quick Start

from natus_command import natus_command

user_input = """
I want to backup my home directory to /mnt/backup daily at 2 am,
and also sync my dotfiles from ~/dotfiles to GitHub.
"""

# Use the default LLM7 (requires an API key either in the environment or passed explicitly)
result = natus_command(user_input)

print(result)
# Example output:
# [
#   "0 2 * * * rsync -a ~/ /mnt/backup/",
#   "git -C ~/dotfiles push origin main"
# ]

Parameters

Parameter Type Description
user_input str The natural‑language description of the task(s) to be processed.
llm Optional[BaseChatModel] A LangChain LLM instance. If omitted, the package creates a ChatLLM7 instance automatically.
api_key Optional[str] API key for LLM7. If not supplied, the function looks for LLM7_API_KEY in the environment.

Using a Custom LLM

You can pass any LangChain‑compatible LLM instead of the default ChatLLM7.

OpenAI

from langchain_openai import ChatOpenAI
from natus_command import natus_command

llm = ChatOpenAI(model="gpt-4o-mini")
response = natus_command(user_input, llm=llm)

Anthropic

from langchain_anthropic import ChatAnthropic
from natus_command import natus_command

llm = ChatAnthropic(model_name="claude-3-haiku-20240307")
response = natus_command(user_input, llm=llm)

Google Gemini

from langchain_google_genai import ChatGoogleGenerativeAI
from natus_command import natus_command

llm = ChatGoogleGenerativeAI(model="gemini-1.5-flash")
response = natus_command(user_input, llm=llm)

API Key & Rate Limits

  • LLM7 free tier provides generous rate limits suitable for most use cases of this package.
  • To obtain a free LLM7 API key, register at https://token.llm7.io/
  • You can provide the key via the environment variable LLM7_API_KEY or directly:
response = natus_command(user_input, api_key="YOUR_LLM7_API_KEY")

If you need higher limits on LLM7, simply use your own paid key.

Contributing & Support

License

This project is licensed under the MIT License.


Happy automating!

Metadata

Release files for natus-command 2025.12.21112934

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

Source distribution (sdist)

Source distribution for natus-command 2025.12.21112934
File Size Uploaded
natus_command-2025.12.21112934.tar.gz 6.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for natus-command 2025.12.21112934
File Interpreter ABI Platform
natus_command-2025.12.21112934-py3-none-any.whl Python 3 none any Details

Total release size: 14.3 kB

Release files / natus_command-2025.12.21112934.tar.gz

Download URL natus_command-2025.12.21112934.tar.gz
Size 6.9 kB
Tags Source
SHA-256 checksum
How to use checksums
470f7d29706c4ceaa5477a1c4bec4e6ed9bd114915353fde3501bb99ef17facb
BLAKE2b-256 checksum
How to use checksums
8730add5694ddbfed0b0c5d33b29950a4fa37d1e7372531da8e42ba4a911bb2a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.11

Release files / natus_command-2025.12.21112934-py3-none-any.whl

Download URL natus_command-2025.12.21112934-py3-none-any.whl
Size 7.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b994ce9727727ca8c5b109ee9c713a7e8d529600c38afe51821d9373632ba210
BLAKE2b-256 checksum
How to use checksums
8bd9b2c68869ad86d3649351a9ee32724d11484aa5b8b2b1084b12e0c6fb4275
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.11

Release history Release notifications | RSS feed

This release

2025.12.21112934 This release

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