{"id":17350489,"url":"https://github.com/pilosus/kairos","last_synced_at":"2026-03-17T11:33:17.569Z","repository":{"id":177682381,"uuid":"660730932","full_name":"pilosus/kairos","owner":"pilosus","description":"Crontab parsing library that also speaks English","archived":false,"fork":false,"pushed_at":"2025-06-09T11:10:12.000Z","size":89,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-09T12:24:26.781Z","etag":null,"topics":["clojure","cron"],"latest_commit_sha":null,"homepage":"https://cljdoc.org/d/org.pilosus/kairos","language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pilosus.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"pilosus"}},"created_at":"2023-06-30T17:44:03.000Z","updated_at":"2025-06-09T11:10:15.000Z","dependencies_parsed_at":"2024-01-13T12:49:14.909Z","dependency_job_id":"3dbb3be2-7ede-428a-b781-b93af300a890","html_url":"https://github.com/pilosus/kairos","commit_stats":{"total_commits":32,"total_committers":2,"mean_commits":16.0,"dds":0.25,"last_synced_commit":"994c40b1b39295695a1b0170400230e92f14046a"},"previous_names":["pilosus/kairos"],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pilosus%2Fkairos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pilosus%2Fkairos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pilosus%2Fkairos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pilosus%2Fkairos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pilosus","download_url":"https://codeload.github.com/pilosus/kairos/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pilosus%2Fkairos/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":258891053,"owners_count":22773810,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["clojure","cron"],"created_at":"2024-10-15T17:07:08.100Z","updated_at":"2026-03-17T11:33:17.565Z","avatar_url":"https://github.com/pilosus.png","language":"Clojure","funding_links":["https://github.com/sponsors/pilosus"],"categories":[],"sub_categories":[],"readme":"# org.pilosus/kairos\n\n[![Clojars Project](https://img.shields.io/clojars/v/org.pilosus/kairos.svg)](https://clojars.org/org.pilosus/kairos)\n[![codecov](https://codecov.io/gh/pilosus/kairos/branch/main/graph/badge.svg?token=8OKTCKNq17)](https://codecov.io/gh/pilosus/kairos)\n\nCrontab parser for Clojure with plain-English cron explanations.\n\n- Supports [vixie-cron](https://man7.org/linux/man-pages/man5/crontab.5.html) syntax\n- Parses a `crontab` entry into a lazy sequence of `java.time.ZonedDateTime` objects in `UTC` timezone\n- Explains a `crontab` entry in plain English\n\n*Kairos* (καιρός) means the right, critical, or opportune moment.\n\n## Install\n\n[![Clojars Project](https://clojars.org/org.pilosus/kairos/latest-version.svg)](https://clojars.org/org.pilosus/kairos)\n\n## Usage\n\n```clojure\n(require '[org.pilosus.kairos :as kairos])\n\n;; 1. Generate a sequence of Date Time objects for a given crontab entry\n(kairos/cron-\u003edt \"0 10 3,7 Dec Mon\")\n\n;; (#object[java.time.ZonedDateTime 0x55eb9b05 \"2023-12-03T10:00Z[UTC]\"]\n;;  #object[java.time.ZonedDateTime 0x2ed291ba \"2023-12-04T10:00Z[UTC]\"]\n;;  ...\n;;  #object[java.time.ZonedDateTime 0x749adbda \"2024-12-30T10:00Z[UTC]\"])\n\n\n;; 2. Explain a crontab enrty in plain English\n(kairos/cron-\u003etext \"0 6,10-18/2,22 * * Mon-Fri\")\n\n;; at minute 0, past hour 6, every 2nd hour from 10 through 18, hour 22, on every day of week from Monday through Friday, in every month\n```\n\n## License\n\nSee [LICENSE](https://github.com/pilosus/kairos/tree/main/LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpilosus%2Fkairos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpilosus%2Fkairos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpilosus%2Fkairos/lists"}