DMYPY(1)
π DMYPY(1) π
okay bestie so this is dmypy, which lives in the mypy family of tools β it's the daemon-mode client and honestly it's the one that will change your whole dev workflow, no cap π
β¨ NAME β¨
dmypy β the mypy daemon mode client π«Ά
β¨ SYNOPSIS β¨
dmypy [OPTIONS...] COMMAND] [COMMAND OPTIONS ...]
(yes the bracket situation is a little cursed, we're copying it exactly, don't @ me π)
β¨ DESCRIPTION β¨
So here's the vibe: mypy can run as a long-running daemon (a server process, basically), and that lets it do type checking so much faster. Why? Because the program state it cached from previous runs just chills in memory and doesn't have to get re-read from the file system every single time you run it. The server also uses finer-grained dependency tracking, which cuts down on the amount of work that needs doing. obsessed. π
If you've got a big codebase to check, running mypy through the mypy daemon can be 10 or more times faster than the regular command-line mypy tool. Especially if your workflow involves running mypy over and over after tiny little edits β which is honestly a really good idea anyway, because that way you find your errors sooner. main character behavior β¨
And dmypy? It's the command-line client that sends your type-checking requests to the server. That's its whole job, and it ate. π
β¨ COMMANDS β¨
start [--log-file FILE] [--timeout TIMEOUT] ARGS...
Start a mypy daemon.
It runs a brand new mypy daemon and passes your regular mypy flags straight to it. If you use --log-file, it directs the daemon's stdout/stderr to FILE. And --timeout specifies the server shutdown timeout, in seconds. π¦
stop
Stop a mypy daemon.
It politely asks the currently running mypy daemon to go away. so gentle, so respectful π«Ά
kill
Kill a mypy daemon.
This one just kills the process of the currently running mypy daemon. no asking. π
restart [--log-file FILE] [--timeout TIMEOUT] ARGS...
Restart a mypy daemon.
It stops the existing one and then runs a new mypy daemon, passing regular mypy flags to it. If --log-file is used, it directs daemon stdout/stderr to FILE. And --timeout specifies the server shutdown timeout in seconds. out with the old, in with the new π
status [-v]
Show a mypy daemon status.
If you toss in -v or --verbose, it prints detailed status. (vibe check: passed β¨)
daemon [--timeout TIMEOUT] ARGS...
Run a mypy daemon in the foreground, passing regular mypy flags to it.
--timeout specifies the server shutdown timeout in seconds.
check [-v] [--junit-xml JUNIT_XML] [--perf-stats-file PERF_STATS_FILE] FILE [FILE ...]
Check some files.
It tells the currently running mypy daemon to go check some files. Heads up though β this requires the daemon to already be running. π
-v,--verboseβ Print detailed status--junit-xml JUNIT_XMLβ Writejunit.xmlto the given file--perf-stats-file PERF_STATS_FILEβ Write telemetry information to the given file
recheck [-v] [--junit-xml JUNIT_XML] [--perf-stats-file PERF_STATS_FILE] [--update FILE [FILE ...]] [--remove FILE [FILE ...]]
Re-check the previous list of files, with optional modifications. This also requires the daemon to already be running, bestie.
-v,--verboseβ Print detailed status--junit-xml JUNIT_XMLβ Writejunit.xmlto the given file--perf-stats-file PERF_STATS_FILEβ Write telemetry information to the given file
run [-v] [--junit-xml JUNIT_XML] [--perf-stats-file PERF_STATS_FILE] [--timeout TIMEOUT] [--log-file FILE] ARGS...
Check some files, and it'll (re)start the daemon if necessary. the convenience of it all πΈ
-v,--verboseβ Print detailed status--junit-xml JUNIT_XMLβ Writejunit.xmlto the given file--perf-stats-file PERF_STATS_FILEβ Write telemetry information to the given file--timeout TIMEOUTβ Server shutdown timeout (in seconds)--log-file FILEβ Direct daemon stdout/stderr toFILE
hang
Hang for 100 seconds.
that's it. that's the command. 100 seconds of pure nothing. iconic, honestly ππ
β¨ OPTIONS β¨
-h,--helpβ Show a help message and exit. π--status-file STATUS_FILEβ Status file to retrieve daemon details to.-V,--versionβ Show program's version number and exit. β
β¨ SEE ALSO β¨
Full documentation is available online at: <https://mypy.readthedocs.io/en/latest/mypy_daemon.html> or locally at: /usr/share/doc/mypy/html <file:///usr/share/doc/mypy/html> (requires the mypy-doc package). go read it, iykyk π
β¨ Author β¨
Jukka Lehtosalo and contributors π
and that's the whole page bestie!! π¦ written up in the mypy docs, dated Aug 16, 2026 β slay, periodt, go type-check something πβ¨
π¦ where this page comes from
- ubuntu stonking: mypy 2.2.0-2 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms