For developers
Fit is a framework as much as an application. A new curve type, data loader, optimiser, objective, REST verb or whole analysis vertical is added by registration — a directory plus one entry on a project's unit search path. No framework file changes.
Using the program rather than changing it? The user guide is where that lives.
Generated from this build
These pages are generated from the registries the published build actually contains and from its sources, every time the site is published, so they cannot describe code that is no longer there.
- Architecture — the three processes, the client-to-server call chain, how a running fit reports progress, the view seam, every extension seam, and the anatomy of a module
- Extension points — one section per seam: what you write, where it goes in, and what is registered through it today
- Adding a curve type — the registration path, the curve classes, and curve types the user defines
- Adding a data loader
Written in the repository
- AGENTS.md — the invariants and the traps, for people and AI agents working on the code; read it first
- Architecture notes and the client and the server
- The module contract · writing a module · a complete working module in six files
- Adding a curve model · adding an argument axis
- Loss functions · minimizer comparison · no silent degradation
- Building from source · testing · findings
Everything explains itself
Whatever a user meets — a curve type, a menu command, a rule, a greyed entry — explains itself through one registry of explanations, each with a standing (canonical, convention, this software's choice, or unsettled), its limitations and its sources. The user guide on this site is generated from that registry; a module registers its own chapter the same way, and a completeness test fails the build for anything registered without one.
The REST API
The compute server describes itself: a running fit_server
assembles its own OpenAPI 3.0.3 document at /openapi.json and
renders it at /docs. It is not committed anywhere — what a
build serves is what that build does.
Related packages
- fitgrids — the grid components the window's tables are built on
- fitminimizers — downhill simplex optimisation, with simulated annealing
Contributing
This repository is published as a snapshot: each publication
replaces main with a single commit, so a pull request cannot be
merged directly. Open an issue or attach a patch — see
CONTRIBUTING.md.