PlateKit India Pro · the India commercial bundle on PlateKit
Indian ANPR deployments fail on three things — HSRP holograms, multi-line truck plates, and the
Vahan registry. India Pro solves all three, out of the box, on top of PlateKit. It is not a separate
engine: it is the India-specific commercial bundle that switches PlateKit into
region="in" with the india-pro profile — loading HSRP fine-tune weights
for AIS-159 plates, stitching multi-line truck plates, stripping Devanagari / Tamil / Kannada /
Telugu overlays before parsing, and shipping the authenticated Masters India Vahan
connector across all 36 state and UT codes. Bundled into every paid PlateKit Commercial tier — with
INR billing, OEM authorisation letters, and an India support SLA.
from platekit import ANPR anpr = ANPR(region="in", profile="india-pro") for e in anpr.read("truck_rear.jpg"): print(e.normalized_text, e.layout) # 'MH12AB1234' 'multi_line'
01 — Who it's for
Indian plates are not a generic region. HSRP holograms, 10–12 digit laser PINs, BH-series formats, multi-line truck plates, painted Devanagari overlays, 36 state and UT codes, and the Vahan registry behind it all. India Pro is the bundle that gives a PlateKit deployment every one of those out of the box — for the integrators, operators, and agencies who have to win and run the work.
— Buyer · 01 · System integrators
Bidding ANPR, ITMS, e-Challan and MLFF tolling RFPs. Need an OEM authorisation letter naming them as authorised SI, plus an engine that reads HSRP and state-RTO formats on day one.
— Buyer · 02 · Tolling & highways
Free-flow and barrier lanes where every commercial vehicle plate runs over two or three lines. Need multi-line stitching and Vahan enrichment for the owner / class / fuel record behind the plate.
— Buyer · 03 · Police & enforcement
e-Challan evidence pipelines that must read HSRP plates reliably and resolve them against the Vahan registry. Out-of-state vehicles flagged, not silently dropped.
— Buyer · 04 · Parking operators
State-RTO-aware parking zones inside a single state. Want stricter validation than the all-India default and a clean way to surface out-of-zone plates without dropping reads.
02 — What India Pro adds over base PlateKit
India Pro is a delta over the open-source PlateKit core. PlateKit ships the formats — the
India region pack, the HSRP / GSTIN / PAN format validators, and the Vahan Protocol.
India Pro turns the region pack on, loads the HSRP fine-tune profile, and ships the
integrations the core deliberately leaves out. Six capability beats, each one a reason a
generic ANPR vendor loses the India job.
For every post-2019 vehicle
The india-pro profile loads HSRP fine-tune weights on top of the IN region pack, so the model card reports ['IN', 'IN-HSRP']. Validate the laser-etched 10–12 digit PIN with is_hsrp_pin() and confirm it against the plate with hsrp_matches_plate().
For all-India coverage
The India region pack covers all 36 current state / UT codes plus legacy codes (TS, OR, UA, DN, JK pre-2019), the BH (Bharat) series, and military, diplomatic, temporary, trade-certificate and vintage plate shapes. region="auto" also picks it from the first frame.
For trucks & motorcycles
Commercial-vehicle plates that run over two or three lines are stitched into one canonical read. event.layout reports single_line, multi_line or square_motorcycle; pass layout_hint="multi_line" to skip single-line detection at truck-only sites.
For bilingual plate overlays
The cleanup step strips painted frame phrases (भारत, ARMY), state-name overlays, and the hot-stamped IND HSRP prefix before parsing. Script-agnostic — Tamil, Kannada and Telugu overlays are handled the same way. strict_strip_overlays removes them earlier when needed.
For owner / class / fuel enrichment
MastersIndiaVahanClient implements the open-source VahanClient Protocol against the Masters India RC-search endpoint: bearer auth, the vendor JSON envelope, the DD-MM-YYYY / DD/MM/YYYY / YYYY-MM-DD date quirks, and exponential-backoff retry on 429 / 5xx. NETC FASTag, IIB and e-Challan connectors are on the roadmap.
For Indian tenders & procurement
Bundled into the PlateKit Commercial licence. GST-compliant invoicing, an OEM authorisation letter on company letterhead for tenders, and an India support SLA available on request.
India Pro is a delta package: it ships the HSRP profile and the authenticated connectors. The format validators, the India region pack, and the rate-limiting Vahan wrapper live in the open-source PlateKit core. For every non-India topic — install, full CLI, FastAPI service, Docker, audit-chain hand-off — see PlateKit.
03 — How to use
India Pro installs from the private repo into the same virtual environment as PlateKit — never a
shared one. On licence activation, the Licensor adds your named contacts as read-only collaborators.
A metadata-only stub on public PyPI deliberately errors at install with licence-acquisition
instructions, so an accidental pip install platekit-india-pro never silently breaks a build.
# Install into the SAME venv as PlateKit (read-only repo access on licence activation). cd platekit-india-pro .\.venv\Scripts\Activate.ps1 pip install "git+ssh://git@github.com/icycastle/platekit-india-pro.git@v0.1.0" # Verify: python -c "import platekit_india_pro; print(platekit_india_pro.__version__)" # 0.1.0 # Enable the India HSRP profile on the standard PlateKit pipeline: python -c "from platekit import ANPR; print(ANPR(region='in', profile='india-pro').model_card.region_packs)" # ['IN', 'IN-HSRP']
# Install into the SAME venv as PlateKit (read-only repo access on licence activation). cd platekit-india-pro source .venv/bin/activate pip install "git+ssh://git@github.com/icycastle/platekit-india-pro.git@v0.1.0" # Verify: python -c "import platekit_india_pro; print(platekit_india_pro.__version__)" # 0.1.0 # Enable the India HSRP profile on the standard PlateKit pipeline: python -c "from platekit import ANPR; print(ANPR(region='in', profile='india-pro').model_card.region_packs)" # ['IN', 'IN-HSRP']
# Authenticated Vahan RC lookup. Credentials come from Masters India — # India Pro ships the connector, never the credentials. import os from platekit_india_pro import MastersIndiaVahanClient from platekit.india_vahan import RateLimitedVahanClient client = MastersIndiaVahanClient(api_key=os.environ["MASTERS_INDIA_KEY"]) limited = RateLimitedVahanClient(client, requests_per_second=10) # OSS wrapper honours the vendor cap record = limited.fetch("MH12AB1234") if record is None: ... # plate not in registry (vendor 404 / RECORD_NOT_FOUND) else: print(record.owner_name, record.vehicle_class, record.fuel_type) send_to_audit_chain(record) # your host product owns the Ed25519 chain
The Masters India client raises a clean exception hierarchy: MastersIndiaAuthError
(401 / 403 — credentials missing or revoked), MastersIndiaTransientError
(429 / 5xx / network errors after retries exhaust), and MastersIndiaResponseError
(other 4xx, non-JSON body, unexpected envelope). Swapping aggregators is a single line — every
connector implements the same VahanClient Protocol.
04 — Connectors
The open-source PlateKit core ships the Vahan Protocol, the rate-limiting wrapper, and
the response normaliser. India Pro ships the authenticated REST clients that plug behind that
Protocol — the per-vendor auth, retry logic, and JSON-envelope quirks that carry vendor SLAs and
cannot live in the open core. One connector is shipped today; five more are scheduled.
| Connector | Class · what it does | Status |
|---|---|---|
| Vahan · Masters India | MastersIndiaVahanClient — authenticated RC lookup, retry, envelope mapping | shipped · v0.1.0 |
| Vahan · Surepass | SurepassVahanClient — authenticated RC lookup via Surepass | planned · v0.2.0 |
| Vahan · Signzy | SignzyVahanClient — authenticated RC lookup via Signzy | planned · v0.2.0 |
| NETC FASTag | NETCClient — NPCI NETC FASTag transaction polling and tag lookup | planned · v0.3.0 |
| IIB motor-policy | IIBClient — Insurance Information Bureau motor-policy lookup | planned · v0.3.0 |
| e-Challan submission | EChallanSubmitter — submit violation evidence to state e-Challan portals | planned · v0.4.0 |
India Pro does not broker credentials. You apply directly to Masters India / Surepass / Signzy (Vahan), and to your acquirer / NPCI (NETC sponsor-bank). For IIB: the connector is deployed by or on behalf of a licenced insurer or IRDAI-registered data fiduciary — SIs typically integrate on behalf of a licenced end-customer rather than holding the IRDAI licence themselves. The proprietary value in the bundle is the glue — authenticated retry-aware clients with each vendor's quirks encoded — not the credentials.
05 — Relationship to PlateKit
India Pro embeds the PlateKit SDK unchanged. The detect / OCR / track / aggregate / sink pipeline, the FastAPI service, the CLI, the model zoo and the region-pack machinery are all PlateKit. India Pro is the configuration and the connectors that make a PlateKit deployment India-ready — and the commercial wrapper that makes it tender-ready.
PlateKit core ships the formats
India Pro bundles the rest
India Pro has no audit chain of its own — it produces PlateRead and
VahanRecord events that your host product (Hearth, YardSight, Curb, Eyrie, or your own
application) appends to its own Ed25519-signed chain. Read the engine page first:
PlateKit — the production Python ANPR SDK →
06 — How to engage
India Pro is bundled with paid PlateKit Commercial tiers — contact us with your legal entity, GSTIN and PAN to receive access details. Recognition-rate figures for HSRP plates on our internal Indian-driver test set are available on request under NDA.
Get started
HSRP fine-tune, 36 state and UT codes, multi-line truck plates, Devanagari-aware OCR, and the authenticated Masters India Vahan connector — bundled with every paid PlateKit Commercial tier.