Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
    • Switch to GitLab Next
  • Sign in / Register
F
flake8
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 40
    • Issues 40
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
    • Iterations
  • Merge Requests 8
    • Merge Requests 8
  • Requirements
    • Requirements
    • List
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Operations
    • Operations
    • Incidents
    • Environments
  • Analytics
    • Analytics
    • CI / CD
    • Code Review
    • Insights
    • Issue
    • Repository
    • Value Stream
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • PyCQA
  • flake8
  • Issues
  • #357

Closed
Open
Opened Jul 31, 2017 by Carl Meyer@carljmContributor

support for "local plugins" (configured explicitly instead of via entry points)

We have a number of repo-specific lint rules we'd like to apply. It's important that engineers working in the repo can add or update lint rules with low friction, so we want the plugin code in the same repo that is being checked. It's possible to achieve this by adding a setup.py to a flake8 plugin subdirectory and modifying requirements files to separately editable-install it, but it's a bit unpleasant: generates egg-info metadata that has to be committed or ignored, takes extra time on pip install because editable installs are always reinstalled, requires a full directory with at least three files in it, where otherwise you'd probably just need a single module.

It would be really nice to have a way to configure a plugin purely in setup.cfg, without having to involve setuptools at all. Pytest is an example of a project that uses setuptools entry points, but also provides a way to configure local plugins without the use of setuptools.

Assignee
Assign to
3.5.0
Milestone
3.5.0 (Past due)
Assign milestone
Time tracking
None
Due date
None
Reference: pycqa/flake8#357