Skip to main content

A new package designed to interpret user descriptions of system maintenance, backup routines, and dotfile management tasks, and convert them into structured commands or step-by-step procedures. It tak

Project description

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!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

natus_command-2025.12.21112934.tar.gz (6.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

natus_command-2025.12.21112934-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

File details

Details for the file natus_command-2025.12.21112934.tar.gz.

File metadata

  • Download URL: natus_command-2025.12.21112934.tar.gz
  • Upload date:
  • Size: 6.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.11

File hashes

Hashes for natus_command-2025.12.21112934.tar.gz
Algorithm Hash digest
SHA256 470f7d29706c4ceaa5477a1c4bec4e6ed9bd114915353fde3501bb99ef17facb
MD5 6d2996d559c51efcbd2b39be97e6fb72
BLAKE2b-256 8730add5694ddbfed0b0c5d33b29950a4fa37d1e7372531da8e42ba4a911bb2a

See more details on using hashes here.

File details

Details for the file natus_command-2025.12.21112934-py3-none-any.whl.

File metadata

File hashes

Hashes for natus_command-2025.12.21112934-py3-none-any.whl
Algorithm Hash digest
SHA256 b994ce9727727ca8c5b109ee9c713a7e8d529600c38afe51821d9373632ba210
MD5 70bcd6a2573be9e57a58451c47cb1ab6
BLAKE2b-256 8bd9b2c68869ad86d3649351a9ee32724d11484aa5b8b2b1084b12e0c6fb4275

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page