Last update on 2017-11-22
Clojure常用包收集。
- Clojure标准库
- diff-match-patch-clj 基于google-diff-match-patch的文本对比工具包
- hiccup及Hiccups:HTML的Clojure/ClojureScript DSL
- hickory将HTML解析为Clojure数据结构
- jsoup Java的HTML解析器,支持CSS选择器
- clojail 沙盒环境Clojure REPL,这个项目似乎很久没更新了
- lib-noir 包含许多Web项目工具包,其中的
noir.response
,noir.session
,noir.util.middleware
等用起来都是很方便的。 - clj-http 基于Apache Java Http客户端API的Clojure工具包
- http-kit HTTP的Ring服务器/客户端,支持WebSocket。客户端只实现的clj-http的部分功能
- cheshire Json工具包,支持Json与字节流间的转换、自定义时间格式等。
- sente 异步Websocket通信包
- 邮件方面:若只是发送SMTP邮件,Java的commons-email是不错的选择;或者用
- Clojure-mail用来解析IMAP邮件,它相当于一个客户端程序;
- mailer可用于发送复杂格式的邮件。
- timbre Clojure/ClojureScript流行的日志库
- nginx-clojure让nginx执行Clojure的ring handler。文档页有编译安装说明,日志注意事项等
- org.clojure/tools.cli是个用于解析命令行参数的工具包
- oauth
- clj-oauth oauth consumer
- clauth及clj-oauth-serveroauth2 provider的Clojure实现。许久没更新了。
- quartzite 基于Quartz的定时任务包
- pandect 提供MDx, SHAx等Hash函数
- nippy 数据序列化,支持加密
- aleph是封装在Netty上的TCP/UDP/HTTP异步通信包。同一作者还有下面的工具包:
- gloss 在aleph中,这个包用于定义通信协议,即字节包的格式,以及提供序列化与与反序列化功能。
- byte-streams 数据在各种表现形式间的相互转换
- potemkin 可以参考里面一些方法的实现,比如
fast-memoize
和fast-bound-fn
- core.matrix 矩阵计算
- konserve Clojure/ClojureScript实现的key-value数据库
- csv文件处理:data.csv及clojure-csv
- docjure 生成与编辑excel文件
- 生成二维码的工具包QRGen
- 图像处理的工具比较少。有通过JNI调用imagemagick包的JMagick和通过shell调用的im4java。性能要求不高时,通过shell(clojure.java.shell或conch)调用imagemagick命令更直接方便,效果也最好。
- conch命令行工具包,比Clojure自带的shell工具多了异常处理
- 关系型数据库连接池:Java的HikariCP及Clojure封装后的hikari-cp for clojure。但Java版的已经很简单了,没多少必再引入后者。
- UAdetector User-Agent识别
- tower Clojure/ClojureScript国际化
- carmine Redis的Clojure客户端
- Onyx 分布式数据处理
- cascalog 大数据处理,Storm原作者的新作
- Parkour 让你可用Clojure写Hadoop的MapReduce
- Dire 可以为Clojure函数添加hook,前置/后置条件检查、异常处理函数
- Marginalia 生成源码与注释对照的文档
- Modern clojurescript ClojureScript的在线课程
- kibit Clojure代码静态分析工具
- slamhound 自动require/import依赖的ns或Java类
- clj-time JodaTime 的Clojure封装。个人觉得Java8出来后,用Java8的日期时间类更易于理解
- friend 是供Clojure Ring项目的授权处理包
- buddy 提供安全相关的工具,也提供Ring的授权中间件
- glow Clojure源码高亮。只能高亮Clojure代码,可生成命令行高亮
- munge-tout 用于Clojure数据与Java对象的相互转换
- Hoplon Clojure/ClojureScript Web框架
- prone 为Ring项目开发提供更好的异常报告
- bouncer 是用于校验数据合法性的DSL。可用于API服务器检查用户输入的数据
- tupelo 为clojure.core补充各类小工具,让Clojure开发更顺手
- medley 是另一个为clojure.core提供各种小方法的工具包
- elastish ElasticSearch的Clojure客户端
- inlein 用Clojure写脚本
- Criterium Clojure性能分析工具包
- clj-gatlign 用于对压力测试。测试完成后会自动生成html报告页
- test-check 批量测试随机生成的输入,这里 有例子
- Cuerdas含有许多字符串处理函数
- 代码有更新时自动重新测试的leinigen插件:prism 及 lein-test-refresh
- A/B测试:touchstone
- metrics-clojure 是Clojure的metrics封装,提供代码运行时指标。文档
- nomad Clojure配置文件(edn) 管理
- alda 用Clojure编写乐曲。类似的还有overtone
- quil Clojure/ClojureScript的绘图工具包
- ns-graph 将项目里ns的依赖关系用图形展示出来
- monger Clojure MongoDB client
- clj-ml 基于Weka的机器学习工具包
- hara.security Clojure的JCE工具包,即常说的对称/非对称加解密
- Pegasus 网页爬虫
- Perseverance 为函数封装灵活的重试策略,让你的操作更可靠
- replikativ 保证最终一致性的高可用分布式数据库
- environ 在Clojure项目里使用环境变量
- maxiphobe Clojure的优先级队列数据结构
- neko Clojure开发Android程序之工具
- plumbing 函数编写的瑞士军刀
- mount and mount-lite 类似于Component的状态管理机制
- gTufte clojure之性能监测工具包
- lein-codeindex 生成etags或ctags
- re-learn 为前端应用(reagent)添加tutorial
- lambdaroyal-memory 基于STM的内存数据库,支持持久化
- phzr HTML5游戏前端框架
- Neanderthal 矩阵计算,示例
- fn-fx JavaFX wrapper
- specter 处理Clojure数据结构
- The Pedestal Server-side Libraries
- ClojureScript macros for convenient native Javascript object access.
- Conwip Modules helps automate dynamically loading ClojureScript modules
- A Constraint Programming library for Clojure Ref
- A Clojure implementation of the Dancing Links algorithm
- Machine learning in Clojure
- One Time Password (TOTP and HOTP) library for Clojure.
- cljs-http: An (async) ClojureScript HTTP library
- bidi: Bidirectional URI routing
- think.hdf5 读取python的hdf5格式文件
- system-viz is a simple library to visualize system
- RestQL makes fetching information from multiple services easy and efficient.
- Tick a Clojure(Script) library for time, replacing clj-time and cljs-time
- clj-async-profiler a Clojure wrapper around async-profiler, you can profile code fragments inside your REPL with clj-async-profiler.
- etaoin 代替Selenium的纯Clojure实现