Skip to main content

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)

Source distribution for fmind 0.1.0
File Size Uploaded
fmind-0.1.0.tar.gz 10.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fmind 0.1.0
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

2.0.2

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.0.0

2 release files

0.2.0

2 release files

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page