I've just released ecbjure, a pure Clojure library for accessing European Central Bank (ECB) data — historical FX rates (42 currencies back to 1999), EURIBOR, €STR, HICP inflation, and the full ECB statistical catalogue via SDMX.
Design goals: • Only dependency: data.csv. All HTTP, ZIP, XML, and date handling uses the JDK directly. • The converter is a plain immutable map — no mutable state, no opaque objects. • Throws on missing dates (weekends/holidays) unless you explicitly opt in to a fallback strategy. No silent interpolation. • SDMX client covers ~100 ECB dataflows with predefined constants for common series.
com.github.clojure-finance/ecbjure {:mvn/version "0.1.4"}
GitHub: https://github.com/clojure-finance/ecbjure
cljdoc: https://cljdoc.org/d/com.github.clojure-finance/ecbjure/0.1.4
Feedback, issues, and PRs welcome.They have some potentially useful stuff, though sometimes also very strange conventions for missing dates, e.g. I remember it returning 0s or 1s on missing dates on some datasets. Not sure if that has improved since I've made use of it.
Thanks for the feedback! Just checked against the current implementation and live ECB data — ecbjure throws an explicit error if you query for a missing date (weekends/holidays) rather than returning 0s or 1s. The ECB CSV feed simply omits non-business days entirely, and we surface that as an exception so missing data is never silently wrong. If you request a date range (via the SDMX client), missing dates are just absent from the results — you get back only the dates that have data, with no gaps to fill. That said, if you need gap-free results when querying individual dates there's a :fallback option — pass {:fallback :before} to make-converter and missing dates resolve to the nearest prior observation (forward-fill). :nearest and :after are also available. I've just expanded the README with more explanations on this: https://github.com/clojure-finance/ecbjure Many thanks.
https://monkeyci.com - Build your code in Style v0.24.0 - Show extended job details in UI - Allow jobs to get results from other jobs in real time - Improved job logs (dropped loki for custom solution) - Allow jobs to expose ports (e.g for nREPL, killer feature!) - Various minor fixes See also https://www.monkeyci.com/blog/
https://github.com/routaverra/igor — constraint programming for Clojure Igor is a constraint programming library that shadows Clojure's core operators (+, =, and, every?, etc.) to produce constraint expressions that are first-class and data-oriented. You declare variables with domains, compose constraints using familiar Clojure syntax, and industrial solvers (Gecode, OR-Tools, etc.) return solutions as plain maps. It supports integer arithmetic, set algebra, universal quantification, extensional constraints (table, regular, cost-regular), and a full graph constraint library — paths, spanning trees, circuits, connectivity — all composable and all optimizable via maximize/minimize. See https://github.com/routaverra/igor?tab=readme-ov-file#igor-vs-corelogic
Clojure CLI 1.12.4.1618 is now available
• Fix clj -Ttools install-latest when tool has versions in both Mavena and Git
🚀 Hulunote v1.1.0 released Major update focused on AI + MCP workflows. New in this release: 🧠 MCP reflective reasoning — AI can think through note structures before acting 🔌 Hulunote MCP Server integration — batch organize notes with AI tools 🖱️ Drag-and-drop node movement — easier outline editing 💡 Syntax highlighting for code blocks 🎨 Major UI improvements Your notes are no longer just text — they become structured knowledge AI can operate on. ClojureScript + Rust + PostgreSQL GitHub ↓ https://github.com/hulunote/hulunote/releases
Woa, cool. I'm interested in this since Logseq is dropping support for org files.
Cool!
Thank you for your attention. Our future focus will be on deep integration with AI, such as AI-powered batch note-taking and information collection. @rgkirch 😄
We have just launched https://github.com/hulunote/openclaw-hulunote-assistant, allowing you to now create and organize notes via OpenClaw as well. 😄