{"id":30767699,"url":"https://github.com/sciml/scimlbase.jl","last_synced_at":"2026-04-11T15:13:52.650Z","repository":{"id":37034234,"uuid":"332960334","full_name":"SciML/SciMLBase.jl","owner":"SciML","description":"The Base interface of the SciML ecosystem","archived":false,"fork":false,"pushed_at":"2026-02-06T20:33:19.000Z","size":43337,"stargazers_count":165,"open_issues_count":103,"forks_count":116,"subscribers_count":9,"default_branch":"master","last_synced_at":"2026-02-06T21:18:40.099Z","etag":null,"topics":["dae","dde","differentialequations","julia","ode","ordinary-differential-equations","scientific-machine-learning","sciml","sde"],"latest_commit_sha":null,"homepage":"https://docs.sciml.ai/SciMLBase/stable","language":"Julia","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SciML.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"SciML"}},"created_at":"2021-01-26T03:30:55.000Z","updated_at":"2026-02-06T13:18:13.000Z","dependencies_parsed_at":"2025-12-19T00:03:44.486Z","dependency_job_id":null,"html_url":"https://github.com/SciML/SciMLBase.jl","commit_stats":{"total_commits":1872,"total_committers":97,"mean_commits":"19.298969072164947","dds":0.5966880341880342,"last_synced_commit":"17f45482531981c25274dd9f0a7d8b934bc0a50b"},"previous_names":[],"tags_count":468,"template":false,"template_full_name":null,"purl":"pkg:github/SciML/SciMLBase.jl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SciML%2FSciMLBase.jl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SciML%2FSciMLBase.jl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SciML%2FSciMLBase.jl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SciML%2FSciMLBase.jl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SciML","download_url":"https://codeload.github.com/SciML/SciMLBase.jl/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SciML%2FSciMLBase.jl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29204940,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-07T17:44:10.191Z","status":"ssl_error","status_checked_at":"2026-02-07T17:44:07.936Z","response_time":63,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dae","dde","differentialequations","julia","ode","ordinary-differential-equations","scientific-machine-learning","sciml","sde"],"created_at":"2025-09-04T20:08:09.656Z","updated_at":"2026-04-08T18:06:27.310Z","avatar_url":"https://github.com/SciML.png","language":"Julia","readme":"# SciMLBase\n\n[![Join the chat at https://julialang.zulipchat.com #sciml-bridged](https://img.shields.io/static/v1?label=Zulip\u0026message=chat\u0026color=9558b2\u0026labelColor=389826)](https://julialang.zulipchat.com/#narrow/stream/279055-sciml-bridged)\n[![Global Docs](https://img.shields.io/badge/docs-SciML-blue.svg)](https://docs.sciml.ai/SciMLBase/stable)\n\n[![codecov](https://codecov.io/gh/SciML/SciMLBase.jl/branch/master/graph/badge.svg)](https://codecov.io/gh/SciML/SciMLBase.jl)\n[![Build Status](https://github.com/SciML/SciMLBase.jl/workflows/CI/badge.svg)](https://github.com/SciML/SciMLBase.jl/actions?query=workflow%3ACI)\n\n[![ColPrac: Contributor's Guide on Collaborative Practices for Community Packages](https://img.shields.io/badge/ColPrac-Contributor%27s%20Guide-blueviolet)](https://github.com/SciML/ColPrac)\n[![SciML Code Style](https://img.shields.io/static/v1?label=code%20style\u0026message=SciML\u0026color=9558b2\u0026labelColor=389826)](https://github.com/SciML/SciMLStyle)\n\nSciMLBase.jl is the core interface definition of the SciML ecosystem. It is a\nlow dependency library made to be depended on by the downstream libraries to\nsupply the common interface and allow for interexchange of mathematical problems.\n\n## v3.0 Breaking Changes\n\n#### RecursiveArrayTools v4: Solution types are now AbstractArrays (#1297)\n\n**Most impactful change.** `AbstractVectorOfArray` (and thus `ODESolution`, `DDESolution`, `RODESolution`, `DAESolution`) now subtypes `AbstractArray`:\n\n- **`sol[i]` returns the `i`th scalar element** (column-major), not the `i`th timestep. Use `sol.u[i]` or `sol[:, i]` for timesteps.\n- **`length(sol)` returns total elements** (`prod(size(sol))`). Use `length(sol.u)` for number of timesteps.\n- **`iterate(sol)` iterates scalar elements**. Use `sol.u` for timestep iteration.\n- **`map(f, sol)` maps over elements**. Use `map(f, sol.u)` for timesteps.\n\n#### Ensemble RNG redesign (#1252)\n\n- `prob_func(prob, i, repeat)` → `prob_func(prob, ctx)` where `ctx::EnsembleContext`\n- `output_func(sol, i)` → `output_func(sol, ctx)`\n- `EnsembleContext` includes `sim_id`, `repeat`, `rng`, `sim_seed`, `worker_id`, `master_rng`\n- New `seed`/`rng`/`rng_func` kwargs on `solve()` for deterministic, thread-count-independent ensemble solves\n\n#### Removed deprecated APIs\n- `u_modified!` renamed to `derivative_discontinuity!` (#1289)\n- Removed `deprecated.jl`: old type aliases (`DEAlgorithm`, `DEProblem`, `DESolution`, etc.), constructors, deprecated accessors (#1291)\n- Removed backward compat shims in `remake.jl` and MLStyle extension (#1292)\n- Removed old iterators: `tuples`, `intervals`, `TimeChoiceIterator` (#1290)\n\n#### Simplified getproperty\n- Removed redundant `getproperty` overloads on solution abstract types (#1293)\n- Removed deprecated `getproperty` aliases (`.destats`, `.x`, `.lb`/`.ub`, `.minimizer`, `.minimum`) (#1294)\n\n#### Other breaking changes\n- Replaced Moshi with plain Julia structs for Clocks — 23% precompilation improvement (#1295)\n- `ODEFunction` uses `DEFAULT_SPECIALIZATION` (AutoSpecialize) for convenience constructors (#1300)\n- Propagate `interp`/`dense` to DiffEqArrays from solution callables (#1297)\n- `is_discrete_time_domain(nothing)` now returns `false` (#1306)\n\n#### Migration Guide\n\n| Old (v2) | New (v3) |\n|----------|----------|\n| `sol[i]` (timestep) | `sol.u[i]` or `sol[:, i]` |\n| `length(sol)` (timesteps) | `length(sol.u)` |\n| `for u in sol` | `for u in sol.u` |\n| `u_modified!(integrator, true)` | `derivative_discontinuity!(integrator, true)` |\n| `prob_func(prob, i, repeat)` | `prob_func(prob, ctx)` — use `ctx.sim_id`, `ctx.repeat` |\n| `output_func(sol, i)` | `output_func(sol, ctx)` |\n| `sol.destats` | `sol.stats` |\n| `ODEFunction{true}(f)` (FullSpecialize) | Now uses AutoSpecialize by default |\n\n## v2.0 Breaking Changes\n\nThe breaking changes in v2.0 are:\n\n  - `IntegralProblem` has moved to an interface with `IntegralFunction` and `BatchedIntegralFunction` which requires specifying `prototype`s for the values to be modified\n    instead of `nout` and `batch`. https://github.com/SciML/SciMLBase.jl/pull/497\n  - `ODEProblem` was made temporarily into a `mutable struct` to allow for EnzymeRules support. Using the mutation throws a warning that this is only experimental and should not be relied on.\n    https://github.com/SciML/SciMLBase.jl/pull/501\n  - `BVProblem` now has a new interface for `TwoPointBVProblem` which splits the bc terms for the two sides, forcing a true two-point BVProblem to allow for further specializations and to allow\n    for wrapping Fortran solvers in the interface. https://github.com/SciML/SciMLBase.jl/pull/477\n  - `SDEProblem` constructor was changed to remove an anti-pattern which required passing the diffusion function `g` twice, i.e. `SDEProblem(SDEFunction(f,g),g, ...)`.\n    Now this is simply `SDEProblem(SDEFunction(f,g),...)`. https://github.com/SciML/SciMLBase.jl/pull/489\n","funding_links":["https://github.com/sponsors/SciML"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsciml%2Fscimlbase.jl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsciml%2Fscimlbase.jl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsciml%2Fscimlbase.jl/lists"}