All Projects → dropbox → Mypy Pycharm Plugin

dropbox / Mypy Pycharm Plugin

Licence: apache-2.0
A simple plugin that allows running mypy from PyCharm and navigate between errors

Programming Languages

python
139335 projects - #7 most used programming language
java
68154 projects - #9 most used programming language
types
53 projects

Projects that are alternatives of or similar to Mypy Pycharm Plugin

Objectmodel
Strong Dynamically Typed Object Modeling for JavaScript
Stars: ✭ 415 (+51.46%)
Mutual labels:  type-checking, typing
pybind11-stubgen
Generates stubs for python modules (targeted to C++ extensions compiled with pybind11)
Stars: ✭ 103 (-62.41%)
Mutual labels:  typing, pycharm
pyrser
A PEG Parsing Tool
Stars: ✭ 32 (-88.32%)
Mutual labels:  typing, type-checking
flake8-type-checking
Flake8 plugin for managing type-checking imports & forward references.
Stars: ✭ 38 (-86.13%)
Mutual labels:  typing
vue-typical
🐡 Vue Animated typing in ~400 bytes of JavaScript
Stars: ✭ 121 (-55.84%)
Mutual labels:  typing
Typon
A multi-featured typing practice tool that runs on a terminal emulator which can turn any text file into a typing game.
Stars: ✭ 53 (-80.66%)
Mutual labels:  typing
typical
Isomorphic, functional type-checking for Javascript
Stars: ✭ 17 (-93.8%)
Mutual labels:  type-checking
GLAU BCSC0002
This is the official repository for the course Object-Oriented Programming BCSC0002 for GLA University 2019
Stars: ✭ 46 (-83.21%)
Mutual labels:  pycharm
datatyping
Pythonic type checking
Stars: ✭ 37 (-86.5%)
Mutual labels:  typing
typey-type
Typey Type for Stenographers is a free typing app designed specifically to help steno students practise and rapidly master stenography.
Stars: ✭ 51 (-81.39%)
Mutual labels:  typing
infrared
✨🚀 Blazing fast, inferred static type checker for JavaScript.
Stars: ✭ 46 (-83.21%)
Mutual labels:  type-checking
pylint-pycharm
A plugin providing both real-time and on-demand scanning of Python files with PyLint from within PyCharm/IDEA.
Stars: ✭ 154 (-43.8%)
Mutual labels:  pycharm
pycharm-odoo-old
Odoo plugin for PyCharm
Stars: ✭ 57 (-79.2%)
Mutual labels:  pycharm
pycrunch-engine
NCrunch inspired tool for continuous testing Python
Stars: ✭ 38 (-86.13%)
Mutual labels:  pycharm
progge.rs
Program analysis playground for a simple, imperative language
Stars: ✭ 29 (-89.42%)
Mutual labels:  type-checking
readme-typing-svg
⚡ Dynamically generated, customizable SVG that gives the appearance of typing and deleting text. Typing SVGs can be used as a bio on your Github profile readme or repository.
Stars: ✭ 938 (+242.34%)
Mutual labels:  typing
Typer.js
Typing effect completely configurable in HTML.
Stars: ✭ 111 (-59.49%)
Mutual labels:  typing
typesentry
Python 2.7 & 3.5+ runtime type-checker
Stars: ✭ 19 (-93.07%)
Mutual labels:  typing
Typology
Swift type checking and semantic analysis for developer tools
Stars: ✭ 68 (-75.18%)
Mutual labels:  type-checking
GapStyle
The world-first* productivity-oriented color scheme for intelliJ and VSCode to fill the gap between programming languages and human.
Stars: ✭ 111 (-59.49%)
Mutual labels:  pycharm
mypy logo

mypy-PyCharm-plugin

The plugin provides a simple terminal to run fast mypy daemon from PyCharm with a single click or hotkey and easily navigate through type checking results. The idea of the mypy terminal is different from the normal PyCharm type checking that highlights the errors in a current file. The mypy terminal shows errors in all files in your project (even in those not currently open). Also mypy provides a bit stricter type checking and is tunable by various flags and config settings.

mypy plugin screenshot

Installation

The plugin can be installed directly from JetBrains plugin repository

Installing developer build

Requirements for building the plugin:

  • Oracle JDK 8
    • Either javac should be available on your PATH or JAVA_HOME environment variable should contain your JDK installation path

Requirements for running the plugin:

  • Mypy
    • The plugin runs the mypy executable to check types

Installation steps:

  1. Clone the GitHub repository.

  2. Open the cloned directory in your terminal and build it using this shell command:

    ./gradlew clean buildPlugin
    

    or on Windows:

    gradlew clean buildPlugin
    

    The plugin file mypy-PyCharm-plugin.zip will be built in build/distributions.

  3. In PyCharm go to Preferences -> Plugins -> Install plugins from disk -> Select the plugin file -> Restart PyCharm when prompted.

  4. After restart you should find the plugin in View -> Tool windows -> Mypy terminal.

Configuration

Normally, plugin should not require any configuration steps. However, sometimes plugin cannot find dmypy command because it doesn't have the full environment. If the plugin says something like dmypy command not found when you try to run mypy, then this is likely the cause. In this case right click in mypy terminal in PyCharm -> Configure plugin. Then enter the path where mypy is installed as PATH suffix. If you are using a virtual environment, this will look like /my/project/bin (or C:\my\project\Scripts if you are on Windows). If necessary, you can also configure mypy command to use your custom .ini file and flags.

Usage

You can pin the terminal to either side of PyCharm window: click on window toolbar → Move. The current default is bottom, which works best if you typically have only a few errors. If you are working on legacy code with many mypy errors, you may want to use the ‘left’ or ‘right’ setting. Finally, if you have multiple monitors you might find the floating mode convenient.

Currently supported features and keyboard shortcuts:

  • Show/hide mypy terminal: Ctrl + Shift + X
  • Run mypy type checking: Ctrl + Shift + M or click Run
  • Go to error: click on error line, or use Ctrl + Shift + <arrows> to navigate between errors
  • Copy current error: right click → Copy error text, or Ctrl + Shift + C
  • Collapse/expand errors: click on file name in the mypy terminal, or Ctrl + Shift + Enter when a file name is selected
  • Sometimes mypy shows links to online documentation; to follow links use Alt + <click>

Contributing

External contributions to the project should be subject to Dropbox Contributor License Agreement (CLA).

  1. Open the repository in IntelliJ 2019.1 or newer via File -> Open. IntelliJ will import it as a Gradle project.

  2. Set up a project JDK via File -> Project Structure -> Project -> Project SDK. JDK 8 or newer is required.

  3. Build and run the plugin via a Gradle task runIde available as View -> Tool Windows -> Gradle -> Tasks -> intellij -> runIde.


Copyright (c) 2018 Dropbox, Inc.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].