python / python/mypy

Save extra step of enabling installed plugins

Open
#9,679 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature
Dominant language
Python
Stars
20.6k
Forks
3.3k
PR merge metrics
PR metrics pending

Description

Feature

mypy should enable installed plugins by default or limit the amount of toil required to enable plugins.

Pitch

Currently, enabling a plugin requires a multi-step process:

  1. Install the plugin.
  2. Create a config file.
  3. Enable the plugin.

I imagine instead a world where:

Plugins are enabled by default

In this world, the act of installing a plugin would register a hook or entry point allowing the plugin(s) to be activated by default. In this world, the three-step process becomes a one-step process (install the plugin). One could disable the plugin by uninstalling (or not installing it in the first place) or perhaps through an additional configuration option (that presumably very few users would need).

Plugins can be enabled through the command-line

In this world, the three-step process becomes a two-step process, installing the plugin and enabling it during execution. This approach would limit the need to create mypy.ini files for small repro scripts or other impermanent actions. It would also make it more explicit what plugins are being used for a given invocation. Otherwise, to create a mypy repro that uses a plugin, a user is required to create a file so must communicate the creation of that file (and likely also clean it up after).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names no files, tests, or entry points; start by tracing mypy's current plugin installation and configuration flow described in the three-step process. Compare the proposed automatic and command-line activation approaches, then clarify the desired behavior and configuration semantics. Done means the agreed approach reduces the setup required to use an installed plugin.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.