Overview
View as MarkdownNeutron for Julia provides a typed Nucleus client and integrations with the Julia scientific-computing ecosystem — DifferentialEquations.jl, Flux.jl, CUDA.jl, and Makie.jl. It connects over the PostgreSQL wire protocol via LibPQ.jl.
- Nucleus client — the typed client for all 14 data models, plus transactions.
- Ecosystem extensions — DataFrames, DifferentialEquations, Flux, CUDA, Makie bridges.
Quick Start
using NeutronJulia
# Connect to Nucleus
client = NeutronJulia.connect("postgres://localhost:5432/mydb")
# SQL queries
rows = query(sql(client), "SELECT * FROM users WHERE active = true")
# Key-Value
set!(kv(client), "session:abc", "user_42")
val = get(kv(client), "session:abc")
# Vector search
results = search(vector(client), "embeddings", [0.1, 0.2, 0.3]; k=10, metric=Cosine)
close(client)
Transport: LibPQ.jl (PostgreSQL wire protocol). Min Julia: 1.9.
Connection Pool
pool = ConnectionPool("postgres://localhost:5432/mydb", size=4)
with_pool(pool) do client
rows = query(sql(client), "SELECT * FROM users")
set!(kv(client), "cache:result", JSON3.write(rows))
end
# Pool stats
idle_count(pool) # Available connections
close(pool)
Project Structure
julia/
├── Project.toml # Package manifest
├── src/
│ ├── NeutronJulia.jl # Main module (exports all 14 models)
│ ├── client.jl # Connection management
│ ├── pool.jl # Connection pooling
│ └── model/ # Data model accessors
│ ├── sql.jl
│ ├── kv.jl
│ ├── vector.jl
│ └── ... # 14 model files
├── ext/ # Ecosystem extensions
│ ├── NeutronJuliaDataFramesExt.jl
│ ├── NeutronJuliaDiffEqExt.jl
│ ├── NeutronJuliaMTKExt.jl
│ ├── NeutronJuliaGraphsExt.jl
│ ├── NeutronJuliaFluxExt.jl
│ ├── NeutronJuliaCUDAExt.jl
│ └── NeutronJuliaMakieExt.jl
└── test/