{"id":13801060,"url":"https://github.com/dropbox/mypy-PyCharm-plugin","last_synced_at":"2025-05-13T11:30:48.888Z","repository":{"id":49202190,"uuid":"135301168","full_name":"dropbox/mypy-PyCharm-plugin","owner":"dropbox","description":"A simple plugin that allows running mypy from PyCharm and navigate between errors","archived":false,"fork":false,"pushed_at":"2021-06-23T20:37:47.000Z","size":1060,"stargazers_count":316,"open_issues_count":19,"forks_count":14,"subscribers_count":20,"default_branch":"master","last_synced_at":"2025-04-09T13:06:34.289Z","etag":null,"topics":["mypy","pycharm","python","type-checking","types","typing"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dropbox.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-05-29T13:34:52.000Z","updated_at":"2025-03-11T17:34:27.000Z","dependencies_parsed_at":"2022-09-01T16:10:08.640Z","dependency_job_id":null,"html_url":"https://github.com/dropbox/mypy-PyCharm-plugin","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dropbox%2Fmypy-PyCharm-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dropbox%2Fmypy-PyCharm-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dropbox%2Fmypy-PyCharm-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dropbox%2Fmypy-PyCharm-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dropbox","download_url":"https://codeload.github.com/dropbox/mypy-PyCharm-plugin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253932764,"owners_count":21986445,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["mypy","pycharm","python","type-checking","types","typing"],"created_at":"2024-08-04T00:01:19.128Z","updated_at":"2025-05-13T11:30:48.100Z","avatar_url":"https://github.com/dropbox.png","language":"Java","readme":"\u003cimg src=\"http://mypy-lang.org/static/mypy_light.svg\" alt=\"mypy logo\" width=\"300px\"/\u003e\n\n# mypy-PyCharm-plugin\n\nThe plugin provides a simple terminal to run fast mypy daemon\nfrom PyCharm with a single click or hotkey and easily navigate\nthrough type checking results. The idea of the mypy terminal is\ndifferent from the normal PyCharm type checking that highlights\nthe errors in a current file. The mypy terminal shows errors in\nall files in your project (even in those not currently open).\nAlso mypy provides a bit stricter type checking and is tunable\nby various flags and config settings.\n\n![mypy plugin screenshot](https://github.com/dropbox/mypy-PyCharm-plugin/blob/master/mypy-mypy.png)\n\n## Installation\n\nThe plugin can be installed directly from\n[JetBrains plugin repository](https://plugins.jetbrains.com/plugin/13348-mypy-official-/)\n\n## Installing developer build\n\nRequirements for building the plugin:\n\n* [Oracle JDK 8](https://www.oracle.com/javadownload)\n    * Either `javac` should be available on your `PATH` or `JAVA_HOME`\n      environment variable should contain your JDK installation path\n\nRequirements for running the plugin:\n\n* [Mypy](https://github.com/python/mypy)\n    * The plugin runs the `mypy` executable to check types\n\nInstallation steps:\n\n1. Clone the GitHub repository.\n\n2. Open the cloned directory in your terminal and build it using this\n   shell command:\n\n       ./gradlew clean buildPlugin\n       \n   or on Windows:\n   \n       gradlew clean buildPlugin\n   \n   The plugin file `mypy-PyCharm-plugin.zip` will be built in\n   `build/distributions`.\n    \n3. In PyCharm go to Preferences -\u003e Plugins -\u003e Install plugins from disk\n   -\u003e Select the plugin file -\u003e Restart PyCharm when prompted.\n   \n4. After restart you should find the plugin in View -\u003e Tool windows\n   -\u003e Mypy terminal.\n\n## Configuration\n\nNormally, plugin should not require any configuration steps. However,\nsometimes plugin cannot find `dmypy` command because it doesn't have\nthe full environment. If the plugin says something like `dmypy command not found`\nwhen you try to run mypy, then this is likely the cause. In this case right click\nin mypy terminal in PyCharm -\u003e Configure plugin. Then enter the path where\nmypy is installed as PATH suffix. If you are using a virtual environment, this\nwill look like `/my/project/bin` (or `C:\\my\\project\\Scripts` if you are on Windows).\nIf necessary, you can also configure mypy command to use your custom `.ini` file\nand flags.\n\n## Usage\n\nYou can pin the terminal to either side of PyCharm window: click\non window toolbar → Move. The current default is bottom, which\nworks best if you typically have only a few errors. If you are\nworking on legacy code with many mypy errors, you may want to use\nthe ‘left’ or ‘right’ setting. Finally, if you have multiple\nmonitors you might find the floating mode convenient.\n\nCurrently supported features and keyboard shortcuts:\n\n- Show/hide mypy terminal:  `Ctrl + Shift + X`\n- Run mypy type checking:  `Ctrl + Shift + M` or click Run\n- Go to error: click on error line, or use `Ctrl + Shift + \u003carrows\u003e`\n  to navigate between errors\n- Copy current error: right click → Copy error text,\n  or `Ctrl + Shift + C`\n- Collapse/expand errors: click on file name in the mypy terminal,\n  or `Ctrl + Shift + Enter` when a file name is selected\n- Sometimes mypy shows links to online documentation; to follow\n  links use `Alt + \u003cclick\u003e`\n\n## Contributing\n\nExternal contributions to the project should be subject to\nDropbox Contributor License Agreement (CLA).\n\n1. Open the repository in IntelliJ 2019.1 or newer via\n   File -\u003e Open. IntelliJ will import it as a Gradle project.\n\n2. Set up a project JDK via File -\u003e Project Structure -\u003e Project\n   -\u003e Project SDK. JDK 8 or newer is required.\n\n3. Build and run the plugin via a Gradle task `runIde` available\n   as View -\u003e Tool Windows -\u003e Gradle -\u003e Tasks -\u003e intellij -\u003e runIde.\n\n--------------------------------\nCopyright (c) 2018 Dropbox, Inc.\n","funding_links":[],"categories":["Integrations"],"sub_categories":["Mypy plugins"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdropbox%2Fmypy-PyCharm-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdropbox%2Fmypy-PyCharm-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdropbox%2Fmypy-PyCharm-plugin/lists"}