Web, Databases & Other Domains

Frameworks: Genie.jl (full-stack MVC, Stipple for reactive UIs), Oxygen.jl (lightweight API framework), HTTP.jl (client/server), Bonito.jl (interactive web apps, used by WGLMakie), Dash.jl (Plotly Dash), WebSockets in HTTP.jl.

40.1 Web development

Frameworks: Genie.jl (full-stack MVC, Stipple for reactive UIs), Oxygen.jl (lightweight API framework), HTTP.jl (client/server), Bonito.jl (interactive web apps, used by WGLMakie), Dash.jl (Plotly Dash), WebSockets in HTTP.jl.

using Oxygen, HTTP
@get "/hello/{name}" function(req, name::String)
    return Dict("message" => "Hello, $name!")
end
@post "/echo" req -> json(req)
serve(port=8080)

40.2 Databases

Also MySQL.jl, ODBC.jl, Redis.jl, Mongoc.jl, FunSQL.jl (composable SQL), Octo.jl.

using SQLite, DBInterface, DataFrames
db = SQLite.DB("test.db")
SQLite.load!(df, db, "people")
DBInterface.execute(db, "SELECT * FROM people WHERE age > ?", [26]) |> DataFrame

using LibPQ                # PostgreSQL
conn = LibPQ.Connection("dbname=mydb user=me")
result = execute(conn, "SELECT 1") |> DataFrame

using DuckDB
con = DBInterface.connect(DuckDB.DB, ":memory:")
DBInterface.execute(con, "SELECT * FROM 'data.parquet' LIMIT 5") |> DataFrame

40.3 Other notable domains

Images.jl, ImageFiltering.jl, FileIO.jl Graphs.jl, MetaGraphsNext.jl, GraphNeuralNetworks.jl

GeoDataFrames.jl, Rasters.jl, ArchGDAL.jl QuantLib-style libs, MarketData.jl, TimeSeries.jl

BioJulia (BioSequences.jl, FASTX.jl, BioAlignments.jl) JuliaAstro (FITSIO.jl, AstroLib.jl) Yao.jl, QuantumOptics.jl, ITensors.jl

ControlSystems.jl, RigidBodyDynamics.jl, ModelingToolkitStandardLibrary DSP.jl, FFTW.jl WAV.jl, SampledSignals.jl GameZero.jl, Raylib.jl PowerModels.jl, PowerSimulations.jl

Symbolics.jl, SymPy.jl, Oscar.jl (computer algebra) PromptingTools.jl, Transformers.jl