monitor.http-check-result
Classify one HTTP probe as up, degraded or down, with a reason and message, from status, body and latency.
classify_http_check in Python
1.0.0
py rs ts
39 tests
http.retry-after
Seconds to wait from an HTTP Retry-After header (delay-seconds or an HTTP date), or null if missing or malformed.
retry_after_seconds in Python
1.0.0
py rs ts
23 tests
monitor.status-code-summary
Count HTTP status codes by class (1xx to 5xx) and give the server error and client error rates in basis points.
summarise_status_codes in Python
1.0.0
py rs ts
12 tests
monitor.parse-access-log
Parse one Apache/NCSA Common or Combined Log Format access log line; null for a line in neither format.
parse_access_log in Python
1.0.0
py rs ts
21 tests
auth.bearer-token
The token from an HTTP Authorization header of the form "Bearer <token>" (RFC 6750), or null if it has none.
parse_bearer_token in Python
1.0.0
py rs ts
18 tests
monitor.cert-expiry
How long a TLS certificate has left before its notAfter, and whether that is ok, a warning, critical or expired.
cert_expiry in Python
1.0.0
py rs ts
15 tests
monitor.cert-check
A TLS certificate's expiry state as a check status: ok and warning are up, critical is degraded, expired is down.
cert_check in Python
1.0.0
py rs ts
8 tests
construction.valuation
Interim valuation: gross value to date, retention, previous payments, amount due, VAT or reverse charge, and CIS.
interim_valuation in Python
1.0.0
py rs ts
16 tests
monitor.heartbeat-check
A heartbeat's state as a check status for a status page: up, late as degraded, down as down, new as nothing yet.
heartbeat_check in Python
1.0.0
py rs ts
8 tests
finance.credit-note.calculate
Credit note against an original invoice, by units or by amount, with VAT at the original tax point's rates.
calculate_credit_note in Python
1.0.0
py rs ts
21 tests
invest.bond-yield Unreviewed
Current yield and yield to maturity of a fixed-coupon bond from its clean price, as Excel's YIELD defines it.
bond_yield in Python
1.0.2
py rs ts
27 tests
invest.time-weighted-return Unreviewed
Time-weighted return from valuations taken at each external cash flow, geometrically linked exactly.
time_weighted_return in Python
1.0.1
py rs ts
22 tests
construction.cis-deduction
Construction Industry Scheme deduction (0, 20 or 30%) on the labour part of a subcontractor payment.
cis_deduction in Python
1.0.2
py rs ts
24 tests
construction.payment-notice-dates
Construction Act default dates: payment due, payment notice, final date for payment and pay-less notice.
payment_notice_dates in Python
1.0.2
py rs ts
21 tests
charity.gift-aid-eligibility
Whether a UK donation qualifies for Gift Aid: declaration, enough tax paid, and the donor benefit limits.
gift_aid_eligibility in Python
1.0.2
py rs ts
25 tests
validation.uk-company-number
Check a Companies House company number's format and prefix (SC, NI, OC, LP...) and zero-pad it to eight characters.
validate_uk_company_number in Python
2.0.1
py rs ts
18 tests
charity.gift-aid
Gift Aid a UK charity can claim on a donation: basic rate tax grossed up, 25p per £1 at 20%.
gift_aid in Python
1.0.2
py rs ts
15 tests
construction.vat-reverse-charge
Whether the UK VAT domestic reverse charge applies to a construction supply, and the invoice wording.
domestic_reverse_charge in Python
1.0.2
py rs ts
24 tests
monitor.burn-rate-alert
Multiwindow, multi-burn-rate SLO alerting: which rules fire, from event counts per window (Google SRE workbook).
burn_rate_alert in Python
2.0.0
py rs ts
30 tests
validation.uk-utr
Check an HMRC Unique Taxpayer Reference's modulus 11 check digit, accepting the K and spacing people type.
validate_uk_utr in Python
2.0.1
py rs ts
18 tests
charts.shape
SVG path strings for lines, areas, steps, monotone curves, bars, arcs and pie slices, identical in every language.
A group of 7: line_path, area_path, step_path, monotone_curve, bar_rects, arc_path, pie_angles
1.0.1
py rs ts
70 tests
energy.price-cap
Ofgem energy price cap unit rate and daily standing charge for a fuel and payment method on a date (GB average).
price_cap in Python
1.0.2
py rs ts
19 tests
finance.uk-bank-rate
Bank of England Bank Rate (base rate) in force on a date, from the Bank's official history since 2001.
uk_bank_rate in Python
1.0.1
py rs ts
14 tests
form.date-parts
Check a date typed into day, month and year boxes, with GOV.UK's error messages and the boxes to mark in error.
validate_date_parts in Python
1.0.1
py rs ts
49 tests
logistics.sscc
Build an 18-digit SSCC pallet label number from extension digit, GS1 company prefix and serial, with its check digit.
build_sscc in Python
1.1.0
py rs ts
16 tests
validation.gtin
Check an EAN-8, UPC-A, EAN-13 or GTIN-14 barcode number against the GS1 mod-10 check digit.
validate_gtin in Python
1.1.0
py rs ts
19 tests
auth.password-policy
Check a new password against a named policy (NIST SP 800-63B-4 by default): length, common passwords, name and email.
A group of 2: password_policy, check_password
1.0.1
py rs ts
31 tests
banking.faster-payments-limit
Whether a Faster Payment fits the scheme maximum, the bank's per-payment limit and what is left of its daily limit.
faster_payments_check in Python
1.0.1
py rs ts
24 tests
education.student-loan-repayment
A graduate's student or postgraduate loan repayment for a tax year, as Self Assessment works it out.
student_loan_repayment in Python
1.0.1
py rs ts
21 tests
energy.carbon-emissions
kgCO2e from kWh or litres of a fuel, using the UK government GHG conversion factors for the year.
carbon_emissions in Python
1.0.1
py rs ts
17 tests
retail.oss-vat
EU distance-selling VAT: which member state's standard rate applies under OSS and the EUR 10,000 threshold, and the VAT.
oss_vat in Python
1.0.1
py rs ts
28 tests
validation.nhs-number
Check an NHS number's modulus 11 check digit and normalise it to ten digits.
validate_nhs_number in Python
2.0.0
py rs ts
17 tests
validation.phone-e164
Normalise a phone number to E.164 (+447700900123) using a default country's trunk and dialling prefixes.
validate_phone_e164 in Python
2.0.0
py rs ts
31 tests
charity.reclaim-batch
Gift Aid claim totals for a period from donation records: donor lines, aggregated small gifts, tax due.
gift_aid_claim_batch in Python
1.0.1
py rs ts
12 tests
education.attendance-rate
Pupil attendance and absence rates in basis points, with the DfE persistent and severe absence flags.
attendance_rate in Python
1.0.1
py rs ts
19 tests
fleet.emissions
Vehicle greenhouse gas emissions (grams CO2e) from fuel used or distance, using UK government DESNZ conversion factors.
fleet_emissions in Python
1.0.1
py rs ts
23 tests
fleet.mileage-allowance
HMRC approved mileage allowance payments for an employee's own vehicle: tax-free amount, taxable excess or relief.
mileage_allowance in Python
1.0.2
py rs ts
23 tests
geo.bounding-box
Latitude/longitude bounding box that contains every point within a distance of a centre point.
bounding_box in Python
2.0.0
py rs ts
15 tests
agri.stocking-rate
Stocking rate: livestock units and LU per hectare from animal numbers, by a published LU coefficient table.
stocking_rate in Python
1.0.1
py rs ts
17 tests
education.school-year-group
School year group from date of birth on a date, by UK nation: Reception to Year 13, P1 to S6, P1 to Year 14.
school_year_group in Python
1.0.1
py rs ts
22 tests
energy.climate-change-levy
Climate Change Levy on a business supply of electricity, gas, LPG or solid fuel, at the main rate in force on the date.
climate_change_levy in Python
1.0.2
py rs ts
20 tests
finance.late-payment-interest
UK statutory late payment interest (8% over Bank Rate) and fixed compensation under the Late Payment Act 1998.
late_payment_interest in Python
1.0.1
py rs ts
18 tests
hospitality.tourist-tax
Visitor levy (tourist tax) on an overnight stay: Edinburgh's 5%, Cardiff's per person per night, or a caller's own rule.
tourist_tax in Python
1.0.1
py rs ts
30 tests
math.atan
Arctangent in radians from + - * / only (fdlibm's method), so every language returns the same double.
atan in Python
1.0.1
py rs ts
22 tests
retail.price-per-unit
Unit price for shelf-edge labels: price per kg, per 100 g, per litre, per 100 ml, per metre or per item.
unit_price in Python
1.0.1
py rs ts
27 tests
validation.uk-ni-number
Check a UK National Insurance number's format and HMRC's disallowed prefix letters, and normalise it.
validate_uk_ni_number in Python
2.0.0
py rs ts
22 tests
agri.field-area
Field area in square metres, hectares and acres from a boundary polygon of latitude/longitude points.
field_area in Python
1.0.0
py rs ts
14 tests
agri.growing-degree-days
Growing degree days (thermal time) from daily min/max temperatures, a base and an optional upper cap.
growing_degree_days in Python
1.0.0
py rs ts
18 tests
auth.access-token
Issue an API's HS256 access token, read one from an Authorization header, and refuse revoked or superseded ones.
A group of 3: issue_access_token, read_access_token, confirm_access_token
1.0.0
py rs ts
33 tests
auth.jwt
Sign, verify and decode HS256 JSON Web Tokens (RFC 7519): signature, algorithm and exp/nbf/iat checked with leeway.
A group of 3: sign_jwt, verify_jwt, decode_jwt
1.0.0
py rs ts
54 tests
banking.overdraft-interest
Overdraft interest for a statement period from daily balances, with an interest-free buffer.
overdraft_interest in Python
1.0.0
py rs ts
15 tests
charity.gasds
Gift Aid Small Donations Scheme top-up for a tax year: the £8,000 limit, the matching rule and community buildings.
gasds in Python
1.0.2
py rs ts
21 tests
charity.higher-rate-relief
A Gift Aid donor's extra tax relief at higher, intermediate, additional and top rates, by extending the tax bands.
higher_rate_relief in Python
1.0.0
py rs ts
16 tests
charity.payroll-giving
UK Payroll Giving for one pay period: the donation comes off pay before PAYE, and the tax it saves the employee.
payroll_giving in Python
1.0.0
py rs ts
12 tests
charts.format
Axis and label text for charts: tick numbers, SI prefixes (1.2k, 3.4M), percentages, dates and money.
A group of 5: format_tick, format_si, format_percent, format_date, format_money_tick
1.0.0
py rs ts
61 tests
charts.interpolate-color
The colour at a point along a sequential or diverging ramp, mixed in OKLab so steps look even; hex in, hex out.
interpolate_color in Python
1.0.0
py rs ts
19 tests
charts.palette
A categorical palette of n colour-blind-safe colours for chart series: Okabe-Ito or Paul Tol's bright scheme.
palette in Python
1.0.0
py rs ts
12 tests
construction.brick-count
Bricks and mortar for a wall, openings subtracted, for UK standard 215 x 102.5 x 65 mm bricks with 10 mm joints.
brick_count in Python
1.0.0
py rs ts
17 tests
crypto.hmac-sha256
HMAC-SHA256 of a message under a secret key (RFC 2104, RFC 4231), in pure code that also runs in the browser.
hmac_sha256 in Python
1.0.0
py rs ts
13 tests
crypto.pbkdf2-sha256
PBKDF2 with HMAC-SHA256 (RFC 8018): derive a key from a password and salt, slowly, fast enough for a login request.
pbkdf2_sha256 in Python
1.0.0
py rs ts
14 tests
crypto.sha256
The SHA-256 digest of a byte string (FIPS 180-4), in pure code that also runs in the browser.
sha256 in Python
1.0.0
py rs ts
13 tests
dates.age
Age in whole years on a given date, with 29 February birthdays ageing on 1 March in other years.
age in Python
1.0.0
py rs ts
18 tests
education.degree-classification
UK honours degree class (First, 2:1, 2:2, Third) from module marks and credits, weighted by level.
degree_classification in Python
1.0.0
py rs ts
23 tests
encoding.base64
Bytes to base64 and base64url text and back (RFC 4648), with strict decoding, identically in every language.
A group of 4: base64_encode, base64_decode, base64_url_encode, base64_url_decode
1.0.0
py rs ts
46 tests
encoding.hex
Bytes to lowercase hexadecimal text and back (RFC 4648 base16), strictly, identically in every language.
A group of 2: hex_encode, hex_decode
1.0.0
py rs ts
25 tests
encoding.utf8
Text to UTF-8 bytes and strictly back (RFC 3629), so hashing and signing see the same bytes in every language.
A group of 2: utf8_encode, utf8_decode
1.0.0
py rs ts
25 tests
energy.gas-kwh
Convert gas meter units (cubic metres or hundreds of cubic feet) to kWh with the calorific value and 1.02264 correction.
gas_kwh in Python
1.0.0
py rs ts
16 tests
energy.meter-advance
Units consumed between two meter reads, counting the meter rolling over past all nines once.
meter_advance in Python
1.0.0
py rs ts
13 tests
energy.water-bill
Metered water and sewerage bill from two reads: volumetric charges, return to sewer, standing and surface water charges.
water_bill in Python
1.0.0
py rs ts
14 tests
form.character-count
The GOV.UK character count message for a text box: characters or words left or over a limit, with a threshold.
character_count in Python
1.0.1
py rs ts
32 tests
inventory.pallet-fit
How many cartons fit per layer and per pallet (UK 1200x1000 or EUR 1200x800), within a height and weight limit.
pallet_fit in Python
1.0.0
py rs ts
17 tests
inventory.safety-stock
Safety stock in whole units, by service level and demand variability (z-score) or by max-minus-average.
safety_stock in Python
1.0.0
py rs ts
22 tests
logistics.container-fit
How many identical cartons fit in a 20ft, 40ft or 40ft high-cube container or a 13.6 m trailer, by space and by weight.
container_fit in Python
1.0.0
py rs ts
16 tests
logistics.delivery-date
Estimated dispatch and delivery dates from order time, dispatch cut-off, service days, weekends and UK bank holidays.
delivery_date in Python
1.0.0
py rs ts
26 tests
logistics.hs-code-validate
Check the format of a commodity code: 6-digit HS, 8-digit CN or 10-digit TARIC/UK code, with chapter and heading checks.
validate_hs_code in Python
1.0.0
py rs ts
16 tests
monitor.alert-state
Step an alert through inactive, pending, firing and resolved, and say which notification to send.
next_alert_state in Python
1.0.0
py rs ts
25 tests
monitor.burn-rate
How fast an SLO's error budget is burning: the error rate as a multiple of the rate the SLO allows, in thousandths.
burn_rate in Python
1.0.0
py rs ts
17 tests
monitor.error-budget
How much of an SLO's error budget is allowed, used and left, from good and bad event counts or seconds.
error_budget in Python
1.0.0
py rs ts
19 tests
monitor.mttr
MTTR, MTBF, downtime and incident counts for a reporting window, from a list of incidents.
reliability_stats in Python
1.0.0
py rs ts
18 tests
net.ip-classify
Classify an IPv4 or IPv6 address as loopback, private, link-local, multicast, documentation, CGNAT or global.
classify_ip in Python
1.0.0
py rs ts
34 tests
net.port
Check a TCP/UDP port number and name the IANA service registered on it, with its system/user/dynamic range.
A group of 2: is_port, port_service
1.0.0
py rs ts
30 tests
react.form.button React ^19 · TypeScript only
A form button in primary, secondary or warning style that stays focusable while loading (GOV.UK button).
Not available in Python
1.0.1
ts
13 tests
react.form.date-input React ^19 · TypeScript only
Day, month and year boxes under one legend, with hint, error message and the boxes in error marked (GOV.UK date input).
Not available in Python
1.0.1
ts
14 tests
react.form.error-summary React ^19 · TypeScript only
A "There is a problem" box linking to each field in error, focused on arrival, built from a validator's fields (GOV.UK).
Not available in Python
1.0.1
ts
21 tests
react.form.fieldset React ^19 · TypeScript only
Group related inputs under a legend, with a hint and error message described to the whole group (GOV.UK fieldset).
Not available in Python
1.0.1
ts
10 tests
react.form.form-field React ^19 · TypeScript only
Wire a label, hint and error message to one form control by id, the accessible way (GOV.UK form group pattern).
Not available in Python
1.0.1
ts
19 tests
react.form.password-field React ^19 · TypeScript only
A password input with a Show/Hide button and an optional live checklist of a password policy (GOV.UK password input).
Not available in Python
1.0.1
ts
22 tests
react.form.radio-group React ^19 · TypeScript only
Choose exactly one of several radios, with item hints, an "or" divider and inline yes/no (GOV.UK radios).
Not available in Python
1.0.1
ts
14 tests
react.form.styles React ^19 · TypeScript only
An optional stylesheet for the react.form elements' caps-* classes, themed by --caps-form-* custom properties.
Not available in Python
1.0.1
ts
21 tests
react.form.textarea React ^19 · TypeScript only
A labelled multi-line text box with hint, error and an optional live character or word count (GOV.UK).
Not available in Python
1.0.1
ts
16 tests
retail.basket-total
Total a basket: line prices, promotions, a basket discount, VAT per line and delivery, into one checked total.
basket_total in Python
1.0.0
py rs ts
10 tests
subscriptions.ltv-cac
Customer lifetime value, LTV to CAC ratio and CAC payback months from ARPA, gross margin, churn and CAC.
ltv_cac in Python
1.0.0
py rs ts
14 tests
subscriptions.usage-tiered
Price metered usage against tiers, graduated or volume, with an optional flat fee per tier.
price_usage in Python
1.0.0
py rs ts
25 tests
time.iso-to-unix
An RFC 3339 timestamp with a Z or offset, such as 2026-09-26T13:00:00+01:00, to Unix time in whole seconds.
iso_to_unix in Python
1.0.0
py rs ts
20 tests
todo.export-csv
Write todos as a CSV file (RFC 4180) with one column per field, for backups, spreadsheets and other apps.
export_csv in Python
1.0.0
py rs ts
14 tests
todo.import-csv
Read todos from a CSV file (RFC 4180) as todo.export-csv writes it, checking every row, with row-numbered errors.
A group of 2: import_csv, validate_todo_csv
1.1.0
py rs ts
59 tests
units.convert
Convert length, mass, area, volume, temperature and energy between units, exactly, as decimal text.
convert_units in Python
1.0.0
py rs ts
31 tests
validation.bic
Check the format of a SWIFT/BIC code (8 or 11 characters) and split it into its parts.
validate_bic in Python
1.0.0
py rs ts
15 tests
validation.isbn
Check an ISBN-10 or ISBN-13 and convert between them; the normalised form is always the ISBN-13.
validate_isbn in Python
1.0.0
py rs ts
19 tests
validation.lei
Check a 20-character Legal Entity Identifier against its ISO 17442 / ISO 7064 MOD 97-10 check digits.
validate_lei in Python
1.0.0
py rs ts
14 tests