Installation¶
noodlelab comes in eight tiers. Each tier includes the tiers it builds on (Maths on Basic, Science on Maths), except that Engineering, Geospatial and Machine learning each build on Science only and do not include one another; Full includes all three. Pick the smallest one that has what you need:
Tier |
Install |
Adds |
Examples it runs |
|---|---|---|---|
Library |
|
The verifiable-science library without the editor: physical units (Pint), measurement uncertainty (GUM, with Monte Carlo checks), requirements with margins, checks, provenance records and the audit ( |
1, 2, 9 (headless) |
Basic |
|
The editor in the browser: inputs, math on numbers, text, repeat/sweep/optimize zones, requirements, checks, units, uncertainty and PDF reports. ( |
1, 2, 9 |
Maths |
|
Arrays, XY plots, histograms and heatmaps, fitting (statistics, polynomial, linear, curve fit, calibration), calculus (interpolate, integrate, differentiate), matrices with units (solve A x = b, eigenvalues, natural frequencies), Fourier transforms, and symbolic maths with SymPy, including systems of equations. |
1–3, 9, 13, 15, 16 |
Science |
|
Tables (load, filter, group, join, pivot), statistical tests, signal processing (filters, FFT, PSD, peaks), time series, study designs and sensitivity analysis, charts of tables. |
1–17, 21, 23, 29 |
Engineering |
|
Materials, section properties, beams, stresses, buckling and safety factors, heat transfer, pipe flow, control systems in the manner of MATLAB’s Control System Toolbox (transfer functions, state space, PID, feedback, step and impulse responses, Bode, Nyquist, root locus, margins, pole placement, LQR), dB budgets and decision matrices. |
the above and 24, 25, 28 |
Geospatial |
|
Science plus vector data with GeoPandas, rasters, terrain, interpolation, zonal statistics, GPS tracks and maps. |
1–23, 29 |
Machine learning |
|
Science plus models of tables with scikit-learn, XGBoost and LightGBM: regression and classification, Gaussian processes that give each prediction its uncertainty, cross-validation, permutation importance, learning curves, conformal prediction intervals, PCA and clustering. Models remember the units of their columns, and metrics come out in the target’s unit, ready for a requirement. |
1–17, 21, 23, 26, 27, 29 |
Full |
|
Every pack, so every example runs, plus remote storage (fsspec). |
all 29 |
You can run a tier with uv without installing it first, install it as a tool, or add it to an existing environment with pip:
uvx "noodlelab[maths]" . # run once, in this folder
uv tool install "noodlelab[engineering]" # install the `noodlelab` command
pip install "noodlelab[science]" # into the current environment
docker run -p 8000:8000 ghcr.io/nkalis/noodlelab:geo # a tier as a container image
Run noodlelab tiers to see which tier is installed, and which packs are missing and why. In the editor, examples you can’t run yet say which tier they need. The admin portal’s System tab shows the same list.
Every node, sorted by tier and pack:
Library (and Basic, which adds the editor)
core: Number, Integer, Text, Boolean, File Path, Read Text File, Math, Compare, Map Range, Value To Class, Format Text/Values, Join Text, Save Text File, Viewer, Describe Data, Repeat, Sweep and Optimize zonesreport: New Report, Add Heading, Text, List, Note, Value, Key Values, Table, Figure, Image, Equation, Requirements, Compliance Matrix, Data Sources, Run Details, Page Break, Render PDFrequirements: Requirements, Load/Merge Requirements, Requirement Value, Verify Requirement, Check Candidateschecks: Expect Value, Expect In Range, Expect Table, Expect Conserved, Expect Limit, Expect Convergedunits: Quantity, Make Quantity, Convert Units, Magnitude, Quantity Math, and the array versionsuncertainty: Measurement, Add Uncertainty (Type B), Mean of Repeats (Type A), Value and Uncertainty, Expanded Uncertainty, Uncertainty Budget, Monte Carlo
Maths
maths: Linspace, Array Math, Apply Function, Add Noise, Clip Values, Cumulative Sum, XY Plot, Histogram Plot, Heatmap, Save Figure, Statistics, Polynomial Fit, Linear Regression, Curve Fit, Inverse Prediction, Interpolate, Integrate, Derivative; Matrix, Identity/Diagonal Matrix, Transpose, Matrix Multiply, Inverse, Determinant, Element, Solve Linear System, Eigenvalues, Natural Frequencies; Fourier Transform, Inverse Fourier Transform, Power Spectrumsymbolic: Expression, Equation, Equations, Simplify, Substitute, Differentiate, Integrate, Solve, Solve System, Linear System, Solve Numerically, Solve ODE, Values, Set Value, Evaluate, Evaluate Matrix, Evaluate Over Range, Iterate, Expression To Math
Science
science: Load/Save CSV, Make Table, Get Column, Filter/Sort Rows, Select/Rename Columns, Add Column, Group Summary, Join Tables, Pivot Table, Parse Dates and more; Compare Groups, Two-Way ANOVA, Correlation Matrix, Detect Outliers, Bootstrap CI, Trend Test; Savitzky-Golay, Butterworth, Detrend, FFT, Welch PSD, Find Peaks, Envelope, Signal Statistics; Resample, Rolling Window, Climatology; Grid/Random/Latin Hypercube/Morris/Sobol/Files designs and Sensitivity Analysis; Bar Chart, Box Plot, Scatter Plot, Time Series Plot, Residual Plot
Engineering
engineering: Material, Material Table, Section Properties, Beam, Bending/Axial/Von Mises Stress, Euler Buckling, Safety Factor, Thermal Expansion, Wall/Pipe Conduction, Convection, Reynolds Number, Pipe Pressure Drop, To dB, From dB, dB Budget, Tolerance Stack-Up, Compare to Test, Decision Matrix, Pareto Front; Transfer Function (and from an expression), Zero-Pole-Gain, State Space, PID Controller, First/Second-Order System, Mass-Spring-Damper, Series, Parallel, Feedback, Convert System, Discretize, Minimal Realisation, Step/Impulse/Initial Response, Simulate, Bode Plot, Nyquist Plot, Stability Margins, Pole-Zero Map, Root Locus, DC Gain, Controllability & Observability, Pole Placement, LQR
Geospatial
geo: Read/Save Vector File, Points From Table, Reproject, Clip, Buffer, Dissolve, Spatial Join, Distance To Nearest, Count In Polygons, Measure, Centroids; Read Raster/ASCII Grid, Save GeoTIFF, Raster Math, Normalized Difference, Slope & Aspect, Hillshade, Classify, IDW Interpolation, Zonal Statistics and more; Track Statistics, Gutenberg-Richter, Map Plot
Machine learning
ml: Practice Data, Train/Test Split; Linear Model, Logistic Regression, Random Forest, Gradient Boosting, k-Nearest Neighbours, Support Vector Machine, Gaussian Process, XGBoost, LightGBM; Predict, Evaluate Model, Cross-Validate, Permutation Importance, Learning Curve; Prediction Interval; Principal Components, Cluster, Detect Anomalies
Updating¶
A server started with noodlelab serve looks for new versions itself: an admin updates it from
the editor (File → Check for updates…), and it restarts into the new version. From a
terminal, noodlelab update does the same (--check only says what is new). See
Updates, also for Docker.
Adding more later¶
Install a bigger tier over the one you have, or add a node pack from PyPI next to it:
uv tool install --reinstall "noodlelab[geo]" # a uv tool: switch tiers
uv tool install "noodlelab[maths]" --with my-noodle-pack # a uv tool: add a third-party pack
uvx --with my-noodle-pack "noodlelab[maths]" . # just this once
pip install "noodlelab[geo]" my-noodle-pack # pip: add to the environment
Remote storage has its own extras, which work with any tier: s3, gcs, azure and sftp, for example "noodlelab[science,s3]". Nodes from others come as plugins: noodlelab plugins add <name or git URL> installs one and the plugins it requires. See Plugins.