Software

Code is part of the argument.

A research repository should make it easier to understand what was computed, which assumptions were used, and how another person could inspect or repeat the calculation.

Software principles

What I want public code to provide.

Not every repository is a polished package, but its role should still be clear.

01

Traceability

The code should make it possible to trace a result back to a method and a set of assumptions.

02

Reviewability

Important numerical conventions should be visible rather than hidden behind a black box.

03

Reproducibility

Inputs, parameters, versions, tests, and validation material should be explicit when they matter.

Python Maintained

Topological data analysis

fast-ballmapper

Efficient cover construction for the Ball Mapper algorithm, with exact and approximate range query backends and reproducible performance experiments.

Rust Maintained

Bone image analysis

bone_morphometry

Region aware morphometry for trabecular bone images in three dimensions, including conventional measurements and advanced structural descriptors.

Python Research code

Bone strength modelling

boneStrengthPrediction

Scripts and experiments for structural and topological analysis related to apparent bone strength.

Julia Archive

Earlier topology research

tda-centrality

Code associated with earlier work on cycle centrality measures built from homology and the master’s thesis that preceded the published paper.

Python Experiment

Ball Mapper research

probabilistic_ball_mapper

Experimental work on probabilistic and approximate variants of Ball Mapper style constructions.

A note on maturity

Public does not always mean finished.

Some repositories are maintained software, some are active research code, and some are archives. The status shown above is meant to make that distinction visible rather than presenting every repository as equally mature.