{"id":13486210,"url":"https://github.com/leinardi/mypy-pycharm","last_synced_at":"2025-04-04T03:09:04.339Z","repository":{"id":43192604,"uuid":"146940125","full_name":"leinardi/mypy-pycharm","owner":"leinardi","description":"A plugin providing both real-time and on-demand scanning of Python files with Mypy from within PyCharm/IDEA.","archived":false,"fork":false,"pushed_at":"2024-10-05T08:02:42.000Z","size":2586,"stargazers_count":203,"open_issues_count":61,"forks_count":31,"subscribers_count":6,"default_branch":"release","last_synced_at":"2025-03-28T02:16:09.604Z","etag":null,"topics":["mypy","pycharm","pycharm-plugin","python"],"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/leinardi.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-08-31T20:36:35.000Z","updated_at":"2025-02-22T12:32:05.000Z","dependencies_parsed_at":"2024-01-16T09:00:43.507Z","dependency_job_id":"1b1d38ab-518b-4b12-bcfa-864de9aa6b3d","html_url":"https://github.com/leinardi/mypy-pycharm","commit_stats":{"total_commits":127,"total_committers":9,"mean_commits":14.11111111111111,"dds":"0.22834645669291342","last_synced_commit":"5610b7632a8390ba991ef5f11dfd7b46daf5c672"},"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leinardi%2Fmypy-pycharm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leinardi%2Fmypy-pycharm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leinardi%2Fmypy-pycharm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leinardi%2Fmypy-pycharm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/leinardi","download_url":"https://codeload.github.com/leinardi/mypy-pycharm/tar.gz/refs/heads/release","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247112765,"owners_count":20885606,"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","pycharm-plugin","python"],"created_at":"2024-07-31T18:00:41.628Z","updated_at":"2025-04-04T03:09:04.318Z","avatar_url":"https://github.com/leinardi.png","language":"Java","funding_links":[],"categories":["Java"],"sub_categories":[],"readme":"# mypy-pycharm\n[![GitHub (pre-)release](https://img.shields.io/github/release/leinardi/mypy-pycharm/all.svg?style=plastic)](https://github.com/leinardi/mypy-pycharm/releases)\n[![Travis](https://img.shields.io/travis/leinardi/mypy-pycharm/master.svg?style=plastic)](https://travis-ci.org/leinardi/mypy-pycharm)\n[![GitHub license](https://img.shields.io/github/license/leinardi/mypy-pycharm.svg?style=plastic)](https://github.com/leinardi/mypy-pycharm/blob/master/LICENSE) \n[![Stars](https://img.shields.io/github/stars/leinardi/mypy-pycharm.svg?style=social\u0026label=Stars)](https://github.com/leinardi/mypy-pycharm/stargazers) \n\nThis plugin provides both real-time and on-demand scanning of Python files with Mypy from within PyCharm/IDEA.\n\nMypy is a Python source code analyzer which looks for programming errors,\nhelps to enforce a coding standard and sniffs for some code smells \n(as defined in Martin Fowler's Refactoring book).\n\n![mypy plugin screenshot](https://github.com/leinardi/mypy-pycharm/blob/master/art/mypy-pycharm.png)\n\n## Installation steps\n1. In the **Settings/Preferences** dialog (\u003ckbd\u003eCTRL\u003c/kbd\u003e+\u003ckbd\u003eAlt\u003c/kbd\u003e+\u003ckbd\u003eS\u003c/kbd\u003e), click **Plugins**. The [Plugins page](https://www.jetbrains.com/help/pycharm/plugins-settings.html) opens.\n2. Click **Browse repositories**.\n3. In the [Browse Repositories dialog](https://www.jetbrains.com/help/pycharm/browse-repositories-dialog.html) that opens, right-click on the plugin named **Mypy** and select **Download and Install**.\n4. Confirm your intention to download and install the selected plugin.\n5. Click **Close**.\n6. Click **OK** in the **Settings** dialog and restart PyCharm for the changes to take effect.\n\n## Configuration\n\nThe only configuration needed is to set the path to Mypy executable, and only if is not already\ninside the PATH environment variable.\n\nTo reach the Plugin configuration screen you can open **Settings/Preferences** dialog (\u003ckbd\u003eCTRL\u003c/kbd\u003e+\u003ckbd\u003eAlt\u003c/kbd\u003e+\u003ckbd\u003eS\u003c/kbd\u003e), click **Other Settings**  and then **Mypy** or simply click the gear icon from the side bar of the Mypy tool window.\n\nTo change the path to your Mypy executable you can either type the path directly or use \nthe Browse button to open a file selection dialog.\n\nOnce you changed the path you should press the Test button to check if the plugin is able to run\nthe executable.\n\n![plugin settings screenshot](https://github.com/leinardi/mypy-pycharm/blob/master/art/mypy-settings.png)\n\n### Inspection severity\n\nBy default, Mypy message severity is set to Warning. It is possible to change the severity level\nby going to **Settings/Preferences** dialog (\u003ckbd\u003eCTRL\u003c/kbd\u003e+\u003ckbd\u003eAlt\u003c/kbd\u003e+\u003ckbd\u003eS\u003c/kbd\u003e) -\u003e **Editor** -\u003e **Inspections** -\u003e **Mypy** -\u003e **Severity**:\n\n![plugin inspection severity screenshot](https://github.com/leinardi/mypy-pycharm/blob/master/art/mypy-inspection-severity.png)\n\n## Usage\n\n![plugin actions screenshot](https://github.com/leinardi/mypy-pycharm/blob/master/art/actions1.png)\n![plugin actions screenshot](https://github.com/leinardi/mypy-pycharm/blob/master/art/actions2.png)\n\n## FAQ\n### When I click \"Check Project/Module/Changes\" I only get one error for one file, why?\nIt is a [know issue](https://github.com/python/mypy/issues/3850) of `mypy`: if the validation encounters a blocking error it just bails out completely ignoring the rest of the files. The biggest problem for the plugin is that currently there is no way to know if the check ended normally or because it encountered a blocking error (in the issue ticket there was a suggestion of using `--verbose` but it does not work, for exampble, for `duplicate module naned` errors).\n\n### How can I prevent the code inspection to run on a specific folder?\n\nThe easiest way to ignore a specific folder is to mark it as Excluded from PyCharm/IDEA:\n\n1. Open PyCharm/IDEA Settings -\u003e *your project* -\u003e Project structure\n2. Select the directory you want to exclude\n3. Click the Excluded button (red folder icon)\n\nMore info [here](https://www.jetbrains.com/help/pycharm/configuring-folders-within-a-content-root.html#mark). \n\n### The name of the plugin is `mypy-pycharm`, can I use it also with IntelliJ IDEA?\n\nThis plugin officially supports only PyCharm, but it should work also on IntelliJ IDEA\nif you have the [Python Community Edition](https://plugins.jetbrains.com/plugin/7322-python-community-edition)\nplugin installed. If it does not work, feel free to open a bug on the [issue tracker](https://github.com/leinardi/mypy-pycharm/issues).\n\n### I like this plugin, how can I support it?\n\nThe best way to support this plugin is to rate it on the [JetBrains Plugin Repository page](https://plugins.jetbrains.com/plugin/11086-mypy) and to star this project on GitHub.\nFeedback is always welcome: if you found a bug or would like to suggest a feature,\nfeel free to open an issue on the [issue tracker](https://github.com/leinardi/mypy-pycharm/issues). If your feedback doesn't fall in the previous categories,\nyou can always leave a comment on the [Plugin Repository page](https://plugins.jetbrains.com/plugin/11086-mypy).\n\n## Acknowledgements\n_If I have seen further it is by standing on the shoulders of Giants - Isaac Newton_\n\nA huge thanks:\n- to the project [CheckStyle-IDEA](https://github.com/jshiell/checkstyle-idea), \nwhich code and architecture I have heavily used when developing this plugin.\n- to @intgr, for [the contribution to this project](https://github.com/leinardi/mypy-pycharm/pulls?q=is%3Apr+author%3Aintgr)\n  \n## License\n\n```\nCopyright 2021 Roberto Leinardi.\n\nLicensed to the Apache Software Foundation (ASF) under one or more contributor\nlicense agreements.  See the NOTICE file distributed with this work for\nadditional information regarding copyright ownership.  The ASF licenses this\nfile to you under the Apache License, Version 2.0 (the \"License\"); you may not\nuse this file except in compliance with the License.  You may obtain a copy of\nthe License at\n\n  http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\nWARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the\nLicense for the specific language governing permissions and limitations under\nthe License.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleinardi%2Fmypy-pycharm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleinardi%2Fmypy-pycharm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleinardi%2Fmypy-pycharm/lists"}