Skip to main content

SlopCheck-CLI

Zero GPU. Zero API keys. Zero mercy for "delving into a multifaceted journey."

PyPI License: MIT Python Deps Status


What is this thing?

Your writing sounds like it was "delving" into a "tapestry" of "multifaceted" ideas and "testament"-ing its way to a conclusion? SlopCheck knows.

It's a fully offline, zero-dependency AI-prose detector that reads your text the way a tired English teacher reads a suspicious essay, then hands back a cold, hard score.

No GPU. No API key. No cloud. No excuses.

Why developers actually like it

The Old Way The SlopCheck Way
Pay for a cloud "AI detector" Runs 100% on your CPU, offline
Wait on network round-trips Instant, local, stdlib-only
Black-box "trust me" score 5 transparent heuristic signals
Manual review before merge Drop it in your CI, block the slop

Get it running (30 seconds, we timed it)

pip install slopcheck-cli

Point it at a file:

slopcheck doc.txt --explain

Or pipe anything into its mouth:

echo "delving into multifaceted layers" | slopcheck -

Sample verdict

slopcheck: stdin
Score: 45/100  (medium AI-signal density)

Phrase matches         5/40
Sentence rhythm        15/20
Punctuation             10/15
Paragraph uniformity   10/15
Lexical diversity        5/10

Flagged spans:
  L1: "...delving into this multifaceted ecosystem..."

  Heuristic estimate, not proof. False positives happen
    on formal/corporate writing and non-native English styles.

How Sniffy actually smells the slop

Five independent signals, no ML, no black box:

  • 📖 Phrase matcher: greedy scan against a weighted bank of known AI clichés
  • 🎵 Sentence rhythm: flags suspiciously uniform sentence lengths (real humans ramble)
  • ✒️ Punctuation signature: em-dash, colon, and parenthesis frequency checked against a bot-like baseline
  • 📐 Paragraph uniformity: every paragraph exactly the same size? Suspicious.
  • 🔤 Lexical diversity: Type-Token Ratio checks if your vocabulary is actually alive

CLI cheat sheet

slopcheck <file|->     # target file, or "-" for stdin
  --json                # machine-readable output
  --explain              # show flagged spans + context
  --no-color              # for your soulless CI logs

Use it as a library too

from slopcheck import scorer

result = scorer.score("Text to evaluate")
print(result.score, result.signals)

CI gatekeeper mode

SlopCheck exits with code 1 on high-risk documents, so wire it straight into pre-commit or CI and let Sniffy guard the gate.

- name: Block the slop
  run: slopcheck docs/*.md --no-color

Under the hood

slopcheck/
├── cli.py            → argument parsing & runner
├── scorer.py          → orchestrates all 5 signals
├── render.py           → console + JSON formatting
├── signals/
│   ├── phrases.py        → AI-cliché matcher
│   ├── rhythm.py           → sentence-length variance
│   ├── punctuation.py       → em-dash / colon frequency
│   ├── structure.py          → paragraph uniformity
│   └── lexical.py             → TTR vocabulary scorer
└── data/phrase_bank.json    → the naughty-phrase database

Contributing

Found new slop in the wild? Sniffy accepts submissions. See CONTRIBUTING.md.

License

MIT: free as in "delving into the multifaceted world of open source."


SlopCheck · sniffing out the tapestry, one testament at a time 🐾

Metadata

Release files for slopcheck-cli 0.1.4

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

Source distribution (sdist)

Source distribution for slopcheck-cli 0.1.4
File Size Uploaded Provenance
slopcheck_cli-0.1.4.tar.gz 23.1 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for slopcheck-cli 0.1.4
File Interpreter ABI Platform
slopcheck_cli-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 40.1 kB

Release files / slopcheck_cli-0.1.4.tar.gz

Download URL slopcheck_cli-0.1.4.tar.gz
Size 23.1 kB
Tags Source
SHA-256 checksum
How to use checksums
e938e9978e4c8b58daa266231dd3e4baeb38b943fa49e4ec1e49d106eeba0f9f
BLAKE2b-256 checksum
How to use checksums
f94cd4a37a698d638b8ea6364ddb6400b18af20ff3004c8521be9c9e2212221b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.0

Release files / slopcheck_cli-0.1.4-py3-none-any.whl

Download URL slopcheck_cli-0.1.4-py3-none-any.whl
Size 17.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e78bd25804346715bbf584f3ea4809638bf75bed21f3201e1017dfef4add7881
BLAKE2b-256 checksum
How to use checksums
15d6586c7d7e946ccd72512f9d0a835ad51d795c16331a644ccb906da1fc7c4a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.0

Security for slopcheck-cli 0.1.4

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.

Release history Release notifications | RSS feed

This release

0.1.4 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