fmind
Read Médéric Hurier's (Fmind) portfolio from the terminal.
uvx fmind whoami
Why it stays small
Every command renders a document the website already publishes — the portfolio at /api/profile and, for fmind read, the Markdown source of an article at /articles/<slug>.md. Those are the same sources behind the site, the Atom feed, llms.txt and the MCP server.
This package therefore carries no copy of the portfolio and needs no release when the website changes: new articles, a renewed certification or a new engagement appear on the next run.
Responses are cached under ${XDG_CACHE_HOME:-~/.cache}/fmind/ for one hour, matching the endpoints' own Cache-Control. Once a cache exists the CLI also works offline, falling back to the stale copy when the network is unavailable.
Commands
| Command | Shows |
|---|---|
fmind whoami |
Name, current mission, contact, availability |
fmind about |
The biography |
fmind skills |
Core expertise, laid out like a usage screen |
fmind work |
Engagements, current one first |
fmind community |
Ambassador and advisory roles |
fmind cert [--verify] |
Certifications, the PhD, specializations |
fmind papers |
The doctorate and the peer-reviewed publications |
fmind project [--top 6] |
Open-source repositories and video series |
fmind sites |
Interactive tools published alongside the writing |
fmind article [--limit 6] |
The most recent writing |
fmind search <query> |
Articles matching every term, newest first |
fmind read <slug> [--raw] |
One article, rendered in the terminal |
fmind hire |
What can be booked right now |
Global options: --refresh to bypass the cache, --json to emit the raw section, --no-color for pipes, --version.
Reading
fmind search matches titles, summaries, tags and slugs; terms are ANDed, so each extra word narrows the result. --tag restricts to one of the site's own tags.
fmind search "agent security"
fmind search "" --tag MLOps --limit 3
fmind read takes a slug, or enough of one to be unambiguous, and prints the article. Use --raw for the Markdown source.
fmind read agentgateway # resolves to agentgateway-vs-litellm
fmind read mlops-adventure-continue --raw | glow -
Piping
--json turns every command into a data source, so the portfolio composes with the rest of the shell.
fmind --json article --limit 20 | jq -r '.[] | "\(.date[:10]) \(.title)"'
fmind --json search agent | jq -r '.[].url'
fmind --json cert --verify | jq -r '.[].title'
Install
uvx fmind whoami # zero install
uv tool install fmind # persistent
pipx install fmind # alternative
Point it at another origin with FMIND_PROFILE_URL — useful against a local mise run watch server of the website:
FMIND_PROFILE_URL=http://127.0.0.1:8080/api/profile fmind whoami
Article reads follow the same origin, so one variable moves the whole CLI.
Development
mise install # install the pinned toolchain
mise run install # sync the locked environment and install hooks
mise run format # ruff imports and format, dprint
mise run check # ruff, ty, actionlint, zizmor, gitleaks
mise run test # offline pytest with branch coverage
mise run smoke # exercise every command against the live site
mise run all # format, check, test, build — the gate CI runs
License
MIT — © 2026 Médéric Hurier (Fmind).
Release files for fmind 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| fmind-0.1.0.tar.gz | 10.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fmind-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 23.6 kB
Release files / fmind-0.1.0.tar.gz
| Download URL | fmind-0.1.0.tar.gz |
|---|---|
| Size | 10.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0741ceadb41300687c22c18f8311a26a4122bd472d10ee6f485eaad5e1139de9
|
|
BLAKE2b-256 checksum How to use checksums |
f55c8f92c6002f676b1143940ee412872c65878e63e05dc855740cffd3afd1c4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 12, 2026.
Transparency logRelease files / fmind-0.1.0-py3-none-any.whl
| Download URL | fmind-0.1.0-py3-none-any.whl |
|---|---|
| Size | 12.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fbba2d1dc21617ed39ee0cd4211764dbe228b7796f9a996bc16dbfd9fcdc7829
|
|
BLAKE2b-256 checksum How to use checksums |
ee2986afcff07c6b54c5c166ab00c514b84c3a90525ccd6b0e91185e55f088ea
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 12, 2026.
Transparency log