IsoFind Editions and Modules
IsoFind covers a wide spectrum, from hydrogeochemistry to environmental tracers, from petroleum geology to raw material traceability. Nobody uses all of it. Rather than freezing business divisions into separate versions, the software is built around a catalogue of modules: the binary carries them, the licence opens them, and the interface adjusts to what is actually available.
Two binaries
One repository, one codebase, two build profiles. These are the only two profiles that produce an executable; everything else in the editions.toml file describes modules and offers, not pieces of software.
| Binary | What it carries | Audience |
|---|---|---|
| IsoFind Pro | The whole catalogue is compiled into the binary. What opens then depends on the licence. | Consultancies, reference laboratories, industry |
| IsoFind Essential | A reduced scope compiled in. Modules left out are not in the binary at all, and no licence can open them. | Teaching, evaluation, restricted-use workstations |
What a module is
A module is the unit of the catalogue. It declares what it brings: its Python modules, its third-party packages, its data folders and its pages. The catalogue holds around sixty of them, and a manifest written at build time fixes what the binary carries.
At runtime that manifest is authoritative on both sides. The server refuses the route of a page whose module is not open, and the interface removes the matching entry from the sidebar. The two checks are independent: the second makes the interface honest, the first makes the closure effective.
| What a module declares | Effect |
|---|---|
| Python modules | Compiled into the binary, or explicitly left out at build time. |
| Third-party packages | Bundled only if an open module depends on them. |
| Data folders | Reference databases, templates, resources belonging to the module. |
| Pages | Templates served by the server. A page whose module is closed returns a 404. |
What the licence opens
On Pro, everything is compiled but nothing opens by default beyond what the edition grants. The licence file carries a list of modules; when it is absent, nothing opens. That list is then cross-checked against what the binary actually carries: a line added by hand to the file at best opens a menu onto code that is not there, and the server refuses the route anyway.
The offers
Modules are not sold one by one. They are gathered into offers, which are lists of modules carried by the licence. An offer is not a piece of software: it is not downloaded, it is added to an existing licence.
| Offer | Domain | Status |
|---|---|---|
| IsoStrata | Boreholes, stratigraphic layers, vadose and saturated flow | Available |
| IsoPetrus | Petroleum geochemistry, PAHs, BTEX, biomarkers | Available |
| IsoSupply | Supply chains, origin attribution for raw materials | Available |
| IsoStream | Flux tracking and temporal monitoring | Planned |
| IsoDef | Defence and forensic use | Planned |
Offers marked as planned can appear on a licence issued ahead of time. That is a legitimate move, but it is made knowingly: until the matching modules are in the catalogue, the licence names them without opening anything.
Seeing what is open on your machine
This section only appears if your licence or an installed add-on opens modules beyond those of your edition. Modules are grouped by the offer that opened them, and each group as well as each module carries a switch that shows or hides its pages in the sidebar.
An offer only forms a group when it is entirely open. Modules that no open offer claims are filed under the add-on that brings them, or under "À la carte": a licence can name modules without going through an offer, and saying so is better than forcing them under an offer you did not buy.
See also preferences configuration for the detail of that window, and the Diagnostic section which reports the state of the machine's dependencies.
Add-ons
The whole catalogue is compiled into Pro, but that will not hold indefinitely. Some modules are heavy, others sensitive, and there is no reason to ship them to everyone. Those will be distributed separately, as installable add-ons.
| Point | How it works |
|---|---|
| Descriptor | A file declares the add-on's identifier, its version, the modules it brings, its pages and its contributions. |
| Signature | The same key infrastructure as extensions, and it covers the files, not only the descriptor. |
| Licence | An installed add-on opens nothing by itself: the licence still has to name its modules. |
| Loading | Order-independent: an add-on never depends on when it loads relative to the others. |
| Heavy computation | An add-on can bring its own computation process, launched and relayed by the IsoFind server. |
The first planned add-on is Kinos, the reactive isotope transport engine. It is the textbook case of something that should not ship by default: heavy, specialised, and useful to a minority of installations.
The ISOF format does not depend on any of this
An ISOF file opens for reading whatever the binary and the modules of the machine opening it. Data that a closed module would have interpreted stays in the file and stays readable; what is missing is the interpretation tool, not the data.
| Situation | Behaviour |
|---|---|
| Signed ISOF opened on a machine with no laboratory certificate | Full reading, signature verified and shown. Signing needs a certificate, verifying does not. |
| ISOF carrying a simulation, opened without the matching module | Samples and measurements read normally, the simulation volume is flagged and not rendered. |
| ISOF produced by Pro, opened in Essential | Full reading. Missing views are flagged with their reason rather than hidden. |
| Export from a machine with a reduced scope | What was not produced is not written. The file stays valid, it is simply less rich. |
What depends on no edition
The product's guarantees are not negotiated per module. They hold everywhere, including on a machine with the smallest scope.
- Offline operation: no edition needs an internet connection to work.
- Data sovereignty: files stay on the machine, nothing is sent back.
- Licences verified locally, with no network call.
- A common ISOF format, portable between binaries and across major versions.
- The Python isof library published on PyPI: reading and verification available as open source, independently of any licence.
Roadmap
The milestones below are indicative and non-contractual. The order depends on feedback from use more than on a calendar.
| Subject | Milestone | Content |
|---|---|---|
| IsoFind Pro and Essential | Shipping | Both binaries, full catalogue on the Pro side |
| IsoStream and IsoDef offers | Short to medium term | Modules still to write, licences already issuable |
| First add-on | Medium term | Kinos, the reactive isotope transport engine |
| Third-party add-ons | Not planned | The mechanism allows it; who signs a third-party add-on is still an open question |
Contributing
A business need that falls into none of the offers is a useful signal. The split into modules is not frozen, and an offer is made of lists rather than code: adding a grouping costs little, provided the demand is clear and the separation between modules holds.
The usual channels stay open: the site contact form, the published addresses, and the public repository for technical matters.
Going further
- Preferences configuration: the Modules section and the Diagnostic section.
- Activating a licence: this is what opens modules.
- Plugins: extensions, not to be confused with add-ons.
- IsoFind API: routes follow the open modules.