Day 026 / Frappe / Naming Patterns

Naming Series Tester

View source ↗Scroll to explore ↓
Naming Series Tester project cover
/ Overview

A dependency-free Python CLI that validates a focused subset of Frappe-style naming patterns and previews deterministic document names without consuming a real counter.

NameNaming Series Tester

ClientIndependent daily build

IndustriesDeveloper and operations tooling

DateDay 026 · September 25, 2026

/ Challenge

Naming patterns combine literals, dates, document fields and padded counters. A small typo or missing sample field can make a proposed series difficult to review before it reaches a real Frappe site.

/ Provided services

Clear thinking.
Practical delivery.

01

Pattern review

Separates literals, date tokens, field placeholders and one counter group so unsupported or incomplete syntax fails clearly.

02

Deterministic preview

Uses an explicit date, starting number and preview count to produce repeatable sample names without consuming a production sequence.

03

Safety boundary

Accepts only compact sample values, limits output size and reports field names without retaining a live site configuration.

Naming Series Tester feature visual
/ Solution

Naming Series Tester tokenizes an explicit pattern subset, validates one bounded counter group, substitutes a chosen date and safe sample fields, then previews names in text or JSON. It never connects to Frappe, reads the current series value, reserves a name or changes a document.

/ Impact

Focused pattern validation

Deterministic date and counter previews

Safe sample-field boundaries

Text and JSON output

No live counter or document mutation

Eleven passing standard-library tests

/ Tech stack

Python standard library

Argparse, regular expressions, dataclasses, datetime and JSON provide the complete dependency-free CLI.

Frappe naming concepts

Models a deliberately limited preview subset for literals, dates, fields and padded counters rather than claiming full framework compatibility.

Unittest

Eleven tests cover rendering, token validation, missing fields, unsafe values, counter capacity, output bounds and privacy-conscious JSON.

Next project

Role Matrix

View case study ↗