package sowilo
All checked builds passInstall
dune-project
Dependency
Authors
Maintainers
Sources
sha256=96d35ce03dfbebd2313657273e24c2e2d20f9e6c7825b8518b69bd1d6ed5870f
sha512=90c5053731d4108f37c19430e45456063e872b04b8a1bbad064c356e1b18e69222de8bfcf4ec14757e71f18164ec6e4630ba770dbcb1291665de5418827d1465
Description
Image processing operations expressed as Nx tensor computations. Geometric transforms, spatial filters, edge detection, morphological operations, and color space conversions, all compatible with Rune.grad and Rune.vmap.
README
modern scientific computing for OCaml
Raven is an ecosystem of OCaml libraries for numerical computing, machine learning, and data science. Everything you know from Python — NumPy, JAX, PyTorch, Matplotlib, Jupyter — rebuilt with type safety.
(* nx — n-dimensional arrays *)
let x = Nx.linspace float32 0. 10. 100
let y = Nx.sin x
(* rune — automatic differentiation *)
let grad_f = Rune.grad (fun x -> Rune.sum (Rune.mul x x)) x
(* brot — tokenization *)
let tokenizer = Brot.from_file "tokenizer.json" |> Result.get_ok
let ids = Brot.encode_ids tokenizer "The meaning of life is"
(* kaun — neural networks *)
let model = Kaun.Layer.sequential [
Kaun.Layer.linear ~in_features:768 ~out_features:128 ();
Kaun.Layer.relu ();
Kaun.Layer.linear ~in_features:128 ~out_features:10 ();
]
(* talon — dataframes *)
let df = Talon.create [
"name", Talon.Col.string_list [ "Alice"; "Bob"; "Charlie" ];
"score", Talon.Col.float64_list [ 85.5; 92.0; 78.5 ];
]
(* hugin — plotting *)
let () = Hugin.(figure () |> subplot |> Plotting.plot ~x ~y |> ignore; show ())Packages
Package | Like | What it does | |
|---|---|---|---|
NumPy | N-dimensional arrays with linear algebra operations | ||
ᚱ | JAX | Automatic differentiation and functional transformations | |
ᚲ | Flax | Neural networks and training | |
ᚨ | HF Tokenizers | Fast, HuggingFace-compatible tokenization | |
ᛃ | Polars | Fast and elegant dataframes with type-safe operations | |
ᛞ | Matplotlib | Publication-quality plotting | |
ᛈ | Jupyter + IPython | Interactive REPL and markdown notebooks | |
ᚠ | Gymnasium | Reinforcement learning environments | |
ᛋ | OpenCV | Differentiable computer vision |
Getting started
opam install ravenThis installs the full ecosystem. You can also install only what you need — e.g. opam install kaun for neural networks, or opam install nx for just arrays.
Add to your dune file:
(executable
(name main)
(libraries raven))See the installation guide for system dependencies and editor setup.
Support
Building a scientific computing ecosystem takes sustained effort. Sponsorships help us ship JIT compilation, distributed training, better developer tooling, and production deployment through MirageOS.
Thanks to our sponsors Ahrefs and Tarides.
License
Used by (1)
-
raven
>= "1.0.0~alpha3"
Conflicts
None
Build status
Results of building sowilo with each compiler on check.ci.ocaml.org, run of against opam-repository 7cdc698. All results for this package.
Each result links to its build log. To keep crawlers from overloading the site, build logs require a GitHub sign-in (see ocurrent/opam-health-check). On your first log, GitHub asks you to “Authorize opam-health-check”, the OCurrent app that runs these checks; it sees only your public profile, not your repositories. The sign-in lasts 30 days.
| Version | OCaml 4.11 | OCaml 4.14 | OCaml 5.2 | OCaml 5.4 | OCaml 5.5 |
|---|---|---|---|---|---|
| 1.0.0~alpha3 (this version) | n/a | n/a | good | good | good |
- good Package successfully built
- partial One of the dependencies failed to build
- bad Package failed to build
- n/a Package is not available in this environment
- internal Internal failure