Holdings Pattern Detector

866 $a to named-group regular expressions
pymarc installed
Text size
🧬
No patterns detected yet
Paste holdings statements on the left or upload a .mrc file, then click Detect Patterns. The tool will cluster your statements by structure and generate a named-group regex for each pattern it finds.
MARC Serials Toolkit v0.6.0
Proof of concept — under active development. Check your output before loading it into the catalog.

Three tools for MARC serials holdings. The Holdings Workbench finds the patterns in your 866 statements, asks you to confirm what each part of a pattern means, and converts using them. The Converter turns textual 866 holdings statements into structured 853 caption/pattern and 863 enumeration/chronology fields. The Pattern Detector groups free-text holdings by their structure and generates a matching regular expression for each group.

No license is granted at this time; the repository is published for reference only while institutional intellectual property rights are reviewed. See NOTICE.md.

Portions derive from extract.py by Phani Chaitanya Pendyala (MIT). See THIRD-PARTY-NOTICES.md.

Questions: Matthew Codey, codey@usc.edu

What has changed

v0.6.0 2026-08-25
A new Holdings Workbench: find a pattern, say what it means, convert with it.
v0.5.2 2026-08-21
Holdings the converter cannot read are no longer deleted.
v0.5.1 2026-08-21
Holdings that use slashes between their ranges now produce patterns.
v0.5.0 2026-08-04
Corrected how 853s are numbered, and made previews appear on their own.
v0.4.0 2026-08-04
Rebuilt both interfaces for readability.
v0.3.0 2026-08-03
The converter learned a second holdings format and stopped guessing.
v0.2.0 2026-07-30
Pattern detector made usable on messy holdings.
v0.1.0 2026-07-24
First working version.