Skip to main content

Anomx logo

The AI agent for coding, data analysis and anomaly detection.

PyPI - Version PyPI - Python Version

Anomx Terminal UI

Anomx

anomx is the installable Python foundation of Anomx. It ships both reusable time-series and anomaly-detection primitives and the anomx CLI agent for interactive anomaly investigation, data analysis, and platform-connected edge workflows.

The wider Anomx platform handles orchestration, workers, storage, connectors, audit trails, and human-in-the-loop review. This repository contains the portable modeling layer plus the operator-facing CLI agent that can run on any server, workstation, or laptop.

Goals

  • Provide clean primitives for time-series datasets, scorers, detectors, and models.
  • Support both batch and online anomaly detection workflows.
  • Keep outputs interpretable: scores, thresholds, timestamps, labels, and metadata.
  • Ship a practical CLI agent that is tuned for anomaly detection, time-series inspection, and data-quality analysis tasks.
  • Stay modular enough to power the Anomx platform without coupling the library to the platform's storage or orchestration layer.
  • Integrate with the broader time-series ecosystem, especially Darts, through optional adapters.

Installation

The package is structured for PyPI distribution:

pip install anomx

For local development:

git clone https://github.com/anomx/anomx.git
cd anomx
python -m pip install -e ".[dev]"

Optional extras:

pip install "anomx[darts]"     # Darts forecasting model adapters
pip install "anomx[docs]"      # Documentation tooling
pip install "anomx[platform]"  # Platform-facing IO and connector dependencies
pip install "anomx[release]"   # Build and PyPI publishing tooling

Python Quick Start

from anomx.datasets import make_sine_anomaly_dataset
from anomx.detectors import MovingAverageDetector
from anomx.models import NaiveSeasonalModel

dataset = make_sine_anomaly_dataset()

detector = MovingAverageDetector(window=24, threshold=3.0)
result = detector.fit_predict(dataset)
print(result.to_dataframe().tail())

model = NaiveSeasonalModel(season_length=24).fit(dataset)
forecast = model.predict(12)
print(forecast.to_dataframe())

Anomx CLI Agent

Installing the package also installs the anomx console command:

anomx

The CLI agent is meant to feel like a modern coding/data agent, but tuned for anomaly detection, time-series investigation, data quality problems, and operational analysis.

Useful startup examples:

anomx --version
anomx --print-home
anomx --provider openai --model gpt-5.5
anomx --provider anthropic --model claude-sonnet-4-6
anomx --provider kimi --model kimi-k3
anomx --ollama --model qwen3-coder:30b

Current CLI capabilities include:

  • A full-screen terminal UI with persisted transcripts and session history.
  • Tool blocks show the latest activity while running and a count-based summary when the agent moves on to text. Completed work folds into an expandable "Worked for ..." line, leaving the final answer visible. The Extended work visualization setting keeps the full transcript open.
  • Multiple model backends: OpenAI, Anthropic, Kimi, DESY Assistant, JSC Blablador, and local Ollama.
  • Five execution modes: Plan, Recommend (with a connected platform), Standard, Automatic, and Autonomous.
  • Connected-platform skills for integrations, storage browsing, acquisition, datasets, jobs, model training, findings, and systems, plus user-defined skills.
  • Tool-backed repository and data inspection, plus background Worker agents for focused parallel tasks.
  • A small inspectable home directory at ~/.anomx (or ANOMX_HOME) that stores config, auth metadata, skills, session transcripts, and a persistent private brain.

The CLI home structure looks like this:

~/.anomx/
  config.toml
  auth.json
  skills/<command>/SKILL.md
  skills/<command>/references/
  brain/INDEX.md
  session_index.jsonl
  sessions/YYYY/MM/DD/rollout-<timestamp>-<id>.jsonl

Platform Connection

When an Anomx Platform instance is available, the CLI can be connected directly from the agent UI using normal platform credentials. The platform issues a dedicated CLI-agent token, tracks the CLI host name and client version, and keeps the machine attached to the same organization context as the platform.

The agent's brain/ folder persists across sessions and synchronizes with the same user's cloud agent before and after each turn. It can hold notes, plans, and supporting files independently of the user's project. Offline edits remain local until the next successful sync. Concurrent edits preserve a conflict copy instead of silently overwriting changes. Keep credentials out of notes; sync is private to the connected account and bounded to 512 paths, 1 MiB per file, and 8 MiB total.

That makes anomx the practical edge entry point for working where the data lives first, then carrying that context back into the platform for visualization, findings, follow-up jobs, and broader analysis workflows.

Package Layout

src/anomx/
  agent/         Full-screen CLI agent, providers, skills, platform client
  data/          Connectors and sequence containers for local and edge workflows
  datasets/      TimeSeriesDataset, metadata, dataset loaders, transforms
  scorers/       Anomaly score contracts and scoring implementations
  detectors/     Batch and online anomaly detector contracts and implementations
  models/        Forecasting model contracts and baseline forecasters
  components/    Reusable component and offline pipeline abstractions
  integrations/  Optional adapters, including Darts

Darts Integration

For new flexible jobs, use the Darts-native Dataset, PyTorchModel, scorer and detector APIs and the host-provided WorkContext. See flexible jobs and ONNX training for a complete starter, backend channel loading, custom networks, and portable model publication.

pip install "anomx[ml]"
python examples/flexible_job_training.py

The default install stays lightweight. To use Darts models, install the optional extra and wrap any compatible Darts forecasting model:

from darts.models import ExponentialSmoothing

from anomx.datasets import make_sine_anomaly_dataset
from anomx.integrations import DartsForecastingModel

dataset = make_sine_anomaly_dataset()
model = DartsForecastingModel(ExponentialSmoothing())
forecast = model.fit(dataset).predict(24)

The intent is to let Anomx expose Darts-backed forecasting and anomaly workflows without making Darts a required dependency for every user.

Development

python -m pip install -e ".[dev]"
pytest
ruff check .
mypy src/anomx
python -m pip install -e ".[release]"
python -m build

Platform Context

Anomx prioritizes:

  • Signal over noise: surface only relevant insights.
  • Clarity over complexity: outputs should be interpretable.
  • Actionability: every insight should support a decision.

The platform is designed around modular pipelines, real-time and batch workers, heterogeneous data sources, and versioned entities such as datasets, channels, jobs, runs, findings, model artifacts, and node services. This package is the focused modeling and agent layer used by that larger system.

Status

This repository is in pre-alpha stage. Public APIs and CLI ergonomics should be treated as provisional until the first stable release.

Runs and workspaces

Use anomx.init(project="experiment") and anomx.log("loss", value) for portable, step-based execution tracking. See Runs and workspace editing for offline logging, platform delivery, hosted jobs, retries, and multi-file editing.

Metadata

Release files for anomx 0.2.77

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

Source distribution (sdist)

Source distribution for anomx 0.2.77
File Size Uploaded Provenance
anomx-0.2.77.tar.gz 1.0 MB Without provenance Details

Built distribution (wheel)

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

Total release size: 1.5 MB

Release files / anomx-0.2.77.tar.gz

Download URL anomx-0.2.77.tar.gz
Size 1.0 MB
Tags Source
SHA-256 checksum
How to use checksums
af077f156194528195bb6c5a515b53ad0e5f57a4e2a3152206c6c52d5cd39169
BLAKE2b-256 checksum
How to use checksums
43a2b4915881fa2e2984ffc76e598ff352532557cd02d236f11a47e3d95503e9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.5

Release files / anomx-0.2.77-py3-none-any.whl

Download URL anomx-0.2.77-py3-none-any.whl
Size 513.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4ce35de14601c79efdf9e90db7c41392a2271de811ce909e6940c11274bd1fa7
BLAKE2b-256 checksum
How to use checksums
6454fc1f3f98e9178aaaef2880c604ebad5ec8c86da585ad0a8eee98f20a82ea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.5

Security for anomx 0.2.77

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.

Release history Release notifications | RSS feed

This release

0.2.77 This release

2 release files No provenance

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