Urgent.News

What's breaking now, across thousands of outlets.

Tech

Kairos 1.0 — a schedule language where "3 business days before month-end" is an expression

Today I tagged 1.0 of Kairos , a schedule definition language I've been building — a small DSL where schedules like "3 business days before month-end" or "payday on the 25th, previous business day if it's a holiday" are single expressions. premise US { calendar-system: Gregorian; calendar: NYSE; tz: "America/New_York"; wkst: Sun } @US monthEnd |> roll(Preceding, on: bizDay) |> shift(-3, unit:…

Kairos 1.0 is a schedule definition language that allows users to express complex scheduling rules using single expressions. For example, the schedule "3 business days before month-end" can be represented as a single expression. The premise of Kairos includes a Gregorian calendar system, the New York Stock Exchange calendar, and the America/New_York timezone.

The language supports various scheduling concepts such as roll, shift, and specific time units like business days. Kairos resolves the issue of scheduling expressions not composing and not accounting for holidays, unlike Quartz and RRULE. The derived streams from Kairos can feed further definitions, making it a more flexible and powerful tool.

The reference implementation of Kairos runs client-side and has undergone rigorous testing, including doctests, to ensure stability across different environments. With its focus on closure and machine-readable annotations, Kairos aims to provide accurate and auditable scheduling results. The 1.0 release signifies that the language is frozen in terms of semantics, operators, grammar, and lexis.

The reference implementation is a prototype written in TypeScript with zero runtime dependencies. The documentation is available in both Japanese and English, with the Japanese documentation developed first and an English mirror of the spec, operator reference, and standard library guides. Developers can provide feedback and explore use cases that Kairos can handle through the official repository and website.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

I Built a Python CLI Toolbox Instead of Writing One-Off Scripts

Whenever I ask an AI assistant to do a small task, it writes a quick Python script for me. Convert an image. Compress a PDF. Convert a CSV to Excel.

  • Developer created Python CLI toolbox named Toolbox
  • Toolbox includes utilities for CSV to Excel conversion, image manipulation, PDF compression
  • Developer used Python's package manager uv for dependency management

Migrating from crontab: five everyday schedules, translated into Kairos

If you arrived from the Kairos 1.0 announcement , this is the hands-on one: take a crontab you already have and translate it.

  • Translate crontab schedules to Kairos language for non-fixed-time repeats
  • Define calendar system and time zone before creating Kairos schedules
  • Run translated schedules with one crontab line checking for points daily

My parser reported a parse error on a file that was never malformed

A build step that reads requirement tables out of a document reported this, every run: FAIL_MAP reason=parse reason=parse has an obvious reading.

  • Parser misidentified 256 well-formed rows as paragraphs
  • Reason code should indicate zero structured forms, not file malformation
  • Derived artifacts must be regenerated from committed state

How I Turned the SAM.gov Public Bulk Dataset Into a Searchable Contractor Database

Working with public government datasets often sounds straightforward until you actually try to turn them into something useful. That was my experience with the SAM.gov public bulk dataset .

  • Author created SAM.gov Public Contractor & NAICS Database Compiler tool
  • Tool processes raw SAM.gov dataset locally, bypassing API limits
  • Supports multiple filters and two output modes for contractor data

More from Sunday 13 September →