Skip to main content

authorecon

Four checks that run before research output leaves your hands. No dependencies, each one exits non-zero when it finds something, so they gate a build or a send.

pip install authorecon

submission-scrub

Refuses to let a file reach a human with agent artifacts still in it.

submission-scrub paper.tex
submission-scrub --dir submission/

It looks where prose review does not: LaTeX % comments, HTML and markdown comments, code comments, and instruction-shaped sentences addressed to the author rather than the reader. Reading a file over is not a check.

This exists because a .tex formatted with AI assistance was submitted to a journal with the assistant's own instructions still in the source. The file read fine. Nobody scrolled the comments. The editor issued a one-year ban.

slop-scan

Finds the structural habits that make prose read as machine-written.

slop-scan paper.md
slop-scan --strict draft.md      # fail on any hit, not only blocking ones

The usual advice is to grep for a word list — delve, tapestry, leverage. That catches the vocabulary and misses the writing. What actually reads as generated is structural: the contrastive pair that asserts a thing by denying its opposite, the announced candour that tells the reader a sentence is honest instead of being honest, the triad padded from two real items to three, the paragraph that ends by restating itself, em dashes three to a paragraph.

None of those contain a flagged word. All of them survive a word-list scan. So this looks for shapes. Hits are a reading list rather than an edit — a genuine contrast is a genuine contrast — and the blocking classes are the ones that have never once been right.

software-inventory

Reports which of your repositories are in a state anyone could actually cite.

software-inventory ~/code/project-a ~/code/project-b --json out.json
software-inventory . --markdown

Per tree: remote, branch, licence, citation metadata, entry points, and every module with its first docstring line. Then the gaps as a list. A tree with no licence cannot be reused by someone who read the paper it belongs to; a module with no docstring cannot be understood without reading it.

It reads the working copy rather than the remote, which is how it caught a repository whose licence existed on GitHub while the code did not exist there at all.

zenodo-precheck

Refuses to deposit something already deposited.

zenodo-precheck "A Title You Are About To Deposit"
zenodo-precheck --all-drafts papers/
zenodo-precheck --software ./my-repo --related 10.5281/zenodo.1234567

Set ZENODO_TOKEN to include your own unpublished drafts, which no public search can see.

The title mode catches a record you forgot you made. The --software mode answers a different question: it lists the files attached to every related record, looks inside any archive among them, and compares that against what your repository actually tracks. A title check answers has this name been used. It cannot answer has this content been deposited, and for software the second question is the one that matters — source is routinely published as a zip attached to a paper, under a name that resembles nothing.

Both failures these guard against happened, a few hours apart, to the author.

Licence

MIT.

Metadata

Release files for authorecon 1.1.0

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

Source distribution (sdist)

Source distribution for authorecon 1.1.0
File Size Uploaded
authorecon-1.1.0.tar.gz 79.6 kB Details

Built distribution (wheel)

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

Total release size: 172.1 kB

Release files / authorecon-1.1.0.tar.gz

Download URL authorecon-1.1.0.tar.gz
Size 79.6 kB
Tags Source
SHA-256 checksum
How to use checksums
0e54ae8f1a90eeaf540ef1c6d23a79f08adc294be8e82805d76b5196a2bb6420
BLAKE2b-256 checksum
How to use checksums
74601af537c48c5df05dec43f70eb2d6c78aaaf42998a7eb569da5eb823afdc0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / authorecon-1.1.0-py3-none-any.whl

Download URL authorecon-1.1.0-py3-none-any.whl
Size 92.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
197099da3ba268cfd846508560d2dbf8e55dc3e6f2f2b13188501efd351ba17d
BLAKE2b-256 checksum
How to use checksums
96d5138edc3c6198e5bf550f2719cc275095116d990eb39c6de195eb67682a3d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files

1.0.0

2 release files

0.2.0

2 release files

0.1.0

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