One guide to five toolkits: a financial modelling engine, a document library builder, a research library pipeline, a prenatal-care data toolkit and an AI-first interpreter repo.
Open-source tools · How-to · Toolkits
How to use five open toolkits: finance models, documents, care audits
Revised
· v1.0.0 · what changed
Code: github.com/herrrickshaw/financial-analysis-toolkit-public
Watch the walkthrough
Watch on YouTube: youtu.be/a2FNZ8Sdcy4
What it is for
The financial-analysis-toolkit-public repo ships finmodel, a command-line engine for three-statement models, discounted cash flow (DCF), leveraged buyout (LBO) and comparable-company analysis. It needs only openpyxl at runtime.
The other four are linked below. data-library-toolkit turns a pile of documents in cloud storage into searchable markdown tracked in a small DuckDB catalog. research-toolkit is the pipeline behind a large PDF-to-markdown backfill with Zotero. prenatal-care-toolkit (pctk) de-identifies ultrasound files, flags birth-ratio anomalies, audits form compliance and computes sex-neutral biometry. interpreter_toolkit is a repo you drive by handing it to an AI assistant.
Financial outputs use case-study data and are illustrative. Nothing here is investment advice or clinical advice.
Who it is for
- Finance students and analysts who want auditable models whose balance sheet balances
- People with thousands of scattered documents to make searchable
- Public-health data teams working on compliance audits, using synthetic data first
- Investment decisions. The financial figures are illustrative
- Clinical care decisions. pctk is a research and audit tool, not a diagnostic device
- Real patient data outside an approved, governed setting
- Anyone expecting code from interpreter_toolkit: at the time of the demo it held only documents
What you need
| Requirement | Why | How to get it |
|---|---|---|
| Python 3.10 or newer (financial toolkit) | finmodel requires it. The other toolkits list their own versions | python.org or your package manager |
| openpyxl | the only runtime dependency of finmodel. pytest is optional, for the tests | installed by pip install -e . |
| rclone, plus DuckDB, PyMuPDF and other packages (data library) | discovers and copies documents across cloud storage and converts them | pip install -r requirements.txt; brew install rclone; rclone config |
| LibreOffice (optional, data library) | converts old .doc, .ppt and .xls files | brew install --cask libreoffice |
| Zotero with its local API on (research toolkit) | imports into a Zotero library | Zotero, Settings, Advanced, Config Editor, set the localAPI option to true |
| numpy, pillow, pandas, pydicom (prenatal toolkit) | core dependencies of pctk | pip install -e . . OCR is optional (easyocr or pytesseract) |
| API keys | none of the five toolkits needs one in the demo | nothing to set up |
Get the code and an AI assistant
You do not have to be a programmer. Get the repository, give it to an AI assistant, and ask in plain language. Any of these routes works:
| Tool | What you need | Best for |
|---|---|---|
| GitHub | Free account to fork or star; git to clone, or the green Code button, then Download ZIP, or open in Codespaces | Getting the code and keeping up with updates |
| Claude Code | Claude subscription or API key; run claude inside the cloned folder | Letting the AI read and run the whole repo |
| Gemini CLI | Google account; run gemini inside the cloned folder | The same hands-on workflow with Gemini |
| Claude.ai, Gemini or ChatGPT in the browser | A chat account; upload README.md and the files you care about (or paste the output of git ls-files) | Understanding the project and asking questions without installing anything |
| Other tools (Copilot Chat, Cursor, Codex CLI) | Open the cloned folder in the tool and point it at README.md first | Editing and extending the code |
git clone https://github.com/herrrickshaw/financial-analysis-toolkit-public.git
cd financial-analysis-toolkit-public
claude # or: gemini
Install
- Financial toolkit: clone, create a virtual environment and install with the test extra
git clone https://github.com/herrrickshaw/financial-analysis-toolkit-public.git cd financial-analysis-toolkit-public python3 -m venv .venv && source .venv/bin/activate pip install -e '.[test]' finmodel --version - Data library toolkit
git clone https://github.com/herrrickshaw/data-library-toolkit.git cd data-library-toolkit pip install -r requirements.txt - Research toolkit: scripts only, set your rclone remote
git clone https://github.com/herrrickshaw/research-toolkit.git export RCLONE_REMOTE=dropbox: - Prenatal care toolkit
git clone https://github.com/herrrickshaw/prenatal-care-toolkit.git cd prenatal-care-toolkit pip install -e . - Interpreter toolkit: clone, then start your AI assistant inside the folder
git clone https://github.com/herrrickshaw/interpreter_toolkit.git cd interpreter_toolkit claude # or: gemini
Quick start: commands and what you should see
Financial: three-statement model
finmodel three-statement examples/cfi_three_statement.json --table all
A table in USD 000. Revenue grows from 142,341 (2023) to 220,745 (2028), and the Balance Sheet Check row reads 0.000 in every year.
Financial: DCF with a sensitivity grid
finmodel dcf examples/cfi_dcf.json --sensitivity
EV=462,983, equity per share 33.63, upside 34.5%, IRR 26.3%, at a 12% discount rate and 3% perpetual growth, plus a WACC-by-growth grid.
Financial: LBO and comparable companies
finmodel lbo examples/lbo_asm.json
finmodel comps examples/comps_stld.json
Sponsor IRR 30.7%, MOIC 3.81x, balanced=True; comps EV/EBITDA median 9.11x. Figures are CFI case-study data, illustrative only.
Data library: discover, convert, check status (demo used a local folder as the rclone remote)
DLT_RCLONE_REMOTES=./docs/ python -m dlt.cli discover && python -m dlt.cli convert && python -m dlt.cli status
4 documents found (docx, pptx, xlsx, pdf), 4 converted, 0 failed, catalog: 4 documents, 4 processed, 0 remaining. The files were synthetic.
Research toolkit: status of a real run (aggregate counts only)
python3 pdf_to_markdown.py --status
54,498 catalog documents, all processed, 44,455 converted. The rest were failures or skips, for example 5,732 archive_not_persisted, 2,573 empty_extraction and 1,587 convert_failed. 466 documents (1.0%) were near-empty, likely scans with no OCR.
Prenatal toolkit: de-identify a synthetic ultrasound file
python examples/make_sample_data.py
pctk deid-dicom data/sample_ultrasound.dcm data/clean.dcm -v
'wrote data/clean.dcm (19 actions)': UIDs remapped, dates shifted, names dummied or blanked, PatientSex blanked, private tags removed. Without an OCR backend, burned-in text falls back to blanking the margin bands.
Prenatal toolkit: birth-ratio anomaly check, compliance audit and biometry
pctk srb data/births.csv --group district
pctk compliance data/forms.csv data/registrations.csv
pctk biometry --bpd 46 --hc 170 --ac 150 --fl 30
On fictional districts, 2 of 8 units flagged at alpha=0.01. Compliance: 7 records, 7 findings (4 high, 1 medium, 2 low). Biometry: composite gestational age 19.75 weeks and estimated weight 312 g. All data is synthetic.
Ways to use it
| Method | How it works |
|---|---|
| Command line | finmodel (financial), python -m dlt.cli (data library), pctk (prenatal care) and plain scripts (research toolkit). |
| Excel output | Add --xlsx out/model.xlsx to a finmodel run for a live-formula workbook. |
| Python library | finmodel is a Python package, and the other toolkits are importable modules. |
| Via an AI assistant | Especially interpreter_toolkit: start claude or gemini in the folder and ask it to explain, run or adapt the repo. |
Sample prompts for your AI assistant
Copy, paste and edit the parts in [brackets].
- Read the README of finmodel and tell me which engine fits [a company valuation / a buyout / a peer comparison].
- Copy examples/cfi_dcf.json, change the discount rate to [10]% and the growth to [2.5]%, run it and explain what changed.
- Run dcf-diagnostics on my DCF input and tell me whether the tax shield is double counted.
- Explain the three stages of data-library-toolkit and what I must configure in .env before running discover.
- Look at dlt/catalog.py. Why does 'analyze' fail in read-only mode, and what is the smallest fix?
- Explain what each pctk command does, and confirm from the code that nothing in it detects fetal sex.
- Read this repo and tell me what it does, how to run it, and how to adapt it to [my data]. Cite file and line, and tell me what to spot-check.
Limits and honest caveats
- Financial outputs are illustrative case-study data. Not investment advice.
- A DCF that uses levered tax double counts the interest shield. Run dcf-diagnostics first.
- Bad input paths in finmodel raise a raw Python traceback (FileNotFoundError), not a friendly message.
- Running pytest rewrites catalog/*.json timestamps in the financial toolkit repo. Run it on a copy, or git checkout afterwards.
- The 670-test run was done on the author's main repo with PYTHONPATH set; the public mirror ships the same engines and its dcf and lbo examples gave identical headline numbers.
- Data library: python -m dlt.cli analyze crashed in the demo (a CREATE statement was run on a read-only database). The workaround is to query the catalog yourself with DuckDB in read-write mode, or change connect() to skip schema creation for read-only connections.
- Data library: an empty DLT_CLOUD_DEST_FOLDER is meant to disable copy-back, yet the run still reported cloud-copied. This was not investigated. Zotero linking only sees the currently open library. Old .doc, .ppt and .xls files need LibreOffice.
- Research toolkit: the status shown was from a real run on a personal library, and its scripts write to a real Zotero library and cloud account, so the install and workflow steps were taken from the README and not run live. Zotero's connector API starts returning 500 after a few hundred calls; .rar and .7z files are unsupported, nested archives are not expanded, and scans need OCR.
- Prenatal toolkit: not clinical advice. It is a research and audit tool, not a diagnostic device. Never feed it real patient data outside an approved, governed setting. It deliberately has no fetal-sex detector. Do not add one (PCPNDT Act). Demo data was synthetic with fictional district names.
- Interpreter toolkit: at the time of the demo it had no runnable code, only README.md and HOW_TO_USE_WITH_AI.md. Ask the AI to cite file and line, and spot-check numbers.
Sources: READMEs and examples in github.com/herrrickshaw/financial-analysis-toolkit-public, data-library-toolkit, research-toolkit, prenatal-care-toolkit and interpreter_toolkit; demo run on 18 October 2026.
- v1.0.0 — 18 October 2026 — first published.
About this article: Researched, written and edited by Umashankar Triplicane Dwarakanathan, with AI research assistance; every figure is meant to trace to the primary source cited. See the Editorial Policy for how sourcing, AI use and corrections work.