Deep Diamond ships six modules and a README that stops before the coordinates
A fast Clojure Tensor & Deep Learning library
At a glance
- What is it?
- uncomplicate/deep-diamond is a Clojure tensor and neural network library whose top-level listing says far more than its 93 word README: six modules split the work, two example projects sit under examples/, and the install section points at Clojars without naming an artifact, a version, or the two repositories it expects you to add.
- Who is it for?
- Deep Diamond makes sense for a Clojure developer who already wants tensor work backed by native CPU and GPU libraries: the module split shows the backends were separated on purpose, and the two example projects give you something to read. Before depending on it, open examples/hello-world-aot/project.clj to get the two repository URLs, and confirm the Clojars coordinates and version yourself, because neither the README nor the release history supplies them.
- Can I use it commercially?
- Yes, with conditions. EPL-1.0 is a weak copyleft licence: you can use it inside commercial and closed-source software, but if you distribute changes to its own files, you must publish those changes under the same licence.
- Is it still maintained?
- Yes. The repository last received commits 53 days ago.
- What is it written in?
- Mainly Clojure, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 11, 2026, and from our analysis. They are not legal advice.
Editorial analysis
The Clojars line names no artifact and no version
The install section of the README is one line long. A heading reads It's in the Clojars!, and the next line reads or. Nothing follows. There is no group id, no artifact name, no version string, and no Clojars URL anywhere in the file, and the word or shows the author moving on before the first route is finished. The repository has no GitHub releases either, so no tag and no release note fills the gap from the other side. What remains on the repository page is interest rather than packaging: 468 stars, 19 forks, 2 open issues. Those numbers say people have found the project; they say nothing about which build of it you would pull into a project.clj. A reader who starts at the top of the file gets, in order, a book subscription link, a Patreon appeal, one sentence about what the library is, and then a heading that stops one word before the coordinates begin. The heading also spells Clojars without its final s, which matters less than the missing line beneath it but does confirm how little of this section was written.
Two Maven Central repositories, defined only inside an example file
The second route is the only one with a concrete file attached to it, and that file is not documentation. The text says you also need to add 2 maven central repositories to your project, then points at a sample application inside this repository, examples/hello-world-aot/project.clj, reached through a GitHub link to the master branch. So the authoritative list of the two hosts lives one directory below examples/, in a project file written to demonstrate the library rather than to document it. Anyone wiring up a build has to open an example to learn which two artifact repositories to trust, and the README will not restate them anywhere. Because the link points at master rather than at a tag, the configuration you copy can change underneath you with no version marker telling you which one you received. The same file also carries the funding appeal, because the line above it invites readers to adopt a pet function and become a patron, linking dragan.rocks/articles/18/Patreon-Announcement-Adopt-a-Function and patreon.com/draganrocks. Two commercial asks and one build instruction share a single short section, which is close to the ratio the documentation keeps.
Six top-level modules and no sentence mapping them to a device
Twelve entries sit at the top level, and six of them are library modules: deep-diamond-base/, deep-diamond-cuda/, deep-diamond-dnnl/, deep-diamond-bnns/, deep-diamond-aot/ and deep-diamond-test/. The project description and the single technical sentence in the README both promise fast tensors and neural network computations built on highly optimized native libraries for both CPU and GPU. No line connects that promise to a module name. Nothing states that cuda is the GPU path, nothing states whether dnnl or bnns serve the CPU, and nothing explains what aot expands to or when a user would want it. Those four abbreviations appear nowhere except in these directory names, so the listing is the only documentation they have. What a reader can take from the structure is that the backend work was split rather than fused, which is a real design signal, and that resolving the split means opening each module's own source. The presence of deep-diamond-test/ as a top-level entry beside the library modules, rather than under a build or tooling directory, says something about how the tests are packaged, and nothing at all about how to run them.
Two hello-world examples where only the AOT one is named
The examples directory holds two projects, examples/hello-world/ and examples/hello-world-aot/. Only the AOT one is ever named, and it is named for a single purpose: to show where the two Maven Central repositories are configured. The plain hello-world/ project is never mentioned in the README. That is the entire getting-started surface of the project, and it is undescribed. No sentence states which Clojure version the library targets, what a build looks like, what the example prints, or how the compiled variant differs in use from the interpreted one beyond the three characters in its directory name. The top-level deep-diamond-aot/ module suggests the library has an ahead-of-time compilation path, and the example pair suggests both are meant to run, but nothing connects the module to the example or tells a user which one to copy. Two directories with nearly identical names and no stated rule for choosing between them is exactly the kind of gap that gets filled by guesswork inside a project.clj.
The copyright range stops in 2025 while master moved in 2026
The LICENSE file states Copyright 2019-2025 Dragan Djuric, and the README repeats the same range under its own License heading. The default branch is master, and the repository's last push to it is recorded as 2026-08-19. The two facts do not line up: the copyright line stops roughly a year before the most recent commit reached the branch, and nothing in the file says whether 2025 is a deliberate end date, an oversight, or a header nobody has touched since. The grant itself is unaffected, since the license travels with the code rather than with the notice, so the mismatch is cosmetic rather than legal. It still matters to anyone who copies the notice into their own distribution and carries a stale year range forward with it. The metadata on the repository index page records the license as EPL-1.0, which is narrower than the language written in both the LICENSE file and the README, where the Eclipse Public License is offered as version 1.0 or, at your option, any later version. So the repository carries two different license statements, one from its index page and one from the text a reader actually downloads, and the copy on the index page is the stricter of the two even though the file on disk grants the wider choice.
The declared homepage is a subscription book catalogue
The repository's declared homepage is https://aiprobook.com, and the first line of the README is a link reading New books available for subscription that points at that address. The second line before the project heading reads Adopt your pet function and become a patron. So the two things a reader meets before the name Deep Diamond are a commercial book catalogue and a funding appeal. The one technical statement in the file describes a Clojure library for fast tensors and neural network related computations based on highly optimized native libraries and computation routines for both CPU and GPU, and that sentence is the whole of the technical content. The README runs to 93 words, so there is no API reference, no data type list, no backend comparison table, and no explanation of what the tensor abstraction looks like from Clojure. A visitor who arrives looking for a tensor library and expects to find usage documentation finds a subscription link and a one-sentence summary instead. For a project with 468 stars and 19 forks, that gap between the interest and the documentation is the most striking thing about it.
No build command, no test command, an empty topic list
Four of the twelve top-level entries are not modules: .github/, .gitignore, LICENSE and README.md. The .github/ directory is present, and nothing anywhere in the README explains what sits inside it or how the project builds, tests, or cuts a release, which sits awkwardly beside a section promising the artifact is already on Clojars. There is no build command and no test command to copy. The topic list attached to the repository is empty, so none of the module names, the Clojure runtime, or the backend abbreviations are indexed as topics; the only place the word cuda appears in the project's public metadata is the directory name deep-diamond-cuda/. The .gitignore entry is unremarkable and the LICENSE entry is covered above, which leaves two library examples and one README carrying the whole public description of the project. Neither hello-world directory has a build script named in the README either, and the file list for the repository stops at the top level, so nothing here says what a successful first run should look like. Taken together, the listing describes a repository whose internal structure is careful and modular and whose external documentation is a single sentence, two commercial links, and a heading that stops before the coordinates begin.
Editorial conclusion
Deep Diamond makes sense for a Clojure developer who already wants tensor work backed by native CPU and GPU libraries: the module split shows the backends were separated on purpose, and the two example projects give you something to read. Before depending on it, open examples/hello-world-aot/project.clj to get the two repository URLs, and confirm the Clojars coordinates and version yourself, because neither the README nor the release history supplies them. If you need an API reference, a pinned version, or a build you can run from this repository alone, this one does not offer it, and the copyright range that ends in 2025 is a fair sign that the documentation moves more slowly than the code.
Frequently asked questions
What is uncomplicate/deep-diamond used for?
Deep Diamond is a Clojure library for fast tensors and neural network related computations, built on top of native CPU and GPU libraries. It is distributed under the Eclipse Public License 1.0 or any later version at your option.
How do I add Deep Diamond to a Clojure project?
The README points at Clojars without naming an artifact or a version. The alternative route asks you to add 2 maven central repositories to your project, as shown in examples/hello-world-aot/project.clj inside the repository.
Which Deep Diamond module handles the GPU?
The tree carries deep-diamond-base, deep-diamond-cuda, deep-diamond-dnnl, deep-diamond-bnns, deep-diamond-aot and deep-diamond-test. No line in the README maps any of those modules to a CPU or a GPU, and none of the four abbreviations is expanded anywhere.
Does Deep Diamond have tagged releases?
No. The repository has no GitHub releases, and the README gives no version string, so nothing inside the project pins a build for you to depend on.
What license is Deep Diamond under?
The LICENSE file and the README both state the Eclipse Public License, version 1.0 or, at your option, any later version, with copyright for 2019-2025 Dragan Djuric. The repository index page lists the license as EPL-1.0.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/uncomplicate-deep-diamond)