npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@yaegassy/coc-pysen

v0.1.7

Published

pysen-ls (pysen language server) extension for coc.nvim

Readme

coc-pysen

fork from a bonprosoft/pysen-vscode

pysen-ls (pysen language server) extension for coc.nvim.

Python linting, formatting made easy.

Note

Due to the nature of the tool, it may take some time for the formatter to complete its execution.

You may want to refrain from setting up automatic formatting when saving files.

Install

CocInstall:

:CocInstall @yaegassy/coc-pysen

scoped packages

vim-plug:

Plug 'yaegassy/coc-pysen', {'do': 'yarn install --frozen-lockfile'}

Require: pyproject.toml

To run linter and formatter in "pysen", you need pyproject.toml.

e.g. pyproject.toml:

[tool.pysen]
version = "0.10"

[tool.pysen.lint]
enable_black = true
enable_flake8 = true
enable_isort = true
enable_mypy = true
mypy_preset = "strict"
line_length = 88
py_version = "py37"
[[tool.pysen.lint.mypy_targets]]
  paths = ["."]

More Info:

Check the README of "pysen".

Detect: pysen-ls

coc-pysen detects and starts pysen-ls.

Priority to detect:

  1. pysen.pysenLsPath
  2. current python3 environment (e.g. pysen-ls in venv)
  3. builtin pysen-ls (Installation commands are also provided)

Bult-in install

coc-pysen allows you to create an extension-only "venv" and install "pysen-ls".

Also install flake8, mypy, black, and isort together.

You can also specify the version of each tool. (setting: pysen.bultin.flake8Version, pysen.bultin.mypyVersion, pysen.bultin.blackVersion, pysen.bultin.isortVersion)


The first time you use coc-pysen, if pysen-ls is not detected, you will be prompted to do a built-in installation.

You can also run the installation command manually.

:CocCommand pysen.installServer

Configuration options

  • pysen.enable: Enable coc-pysen extension, default: true
  • pysen.pysenLsPath: (Optional) The custom path to the pysen-ls (Absolute path)
  • pysen.bultin.flake8Version: (Optional) Version of flake8 for built-in install, e.g. "3.9.0", default: ""
  • pysen.bultin.mypyVersion: (Optional) Version of mypy for built-in install, e.g. "0.812", default: ""
  • pysen.bultin.blackVersion: (Optional) Version of black for built-in install, e.g. "20.8b1", default: ""
  • pysen.bultin.isortVersion: (Optional) Version of isort for built-in install, e.g. "5.8.0", default: ""
  • pysen.client.connectionMode: Controls the communication method to pysen-ls, valid options ["stdio", "tcp"], default: "stdio"
    • stdio: Use stdio to communicate with pysen-ls.
    • tcp: Use tcp to connect pysen-ls. You need to launch pysen-ls.
  • pysen.client.pythonPath: (Optional) Specifies the python path to use pysen, default: ""
  • pysen.client.tcpHost: Specifies the host name to connect pysen-ls server. This setting only works with connectionMode is 'tcp', default: 127.0.0.1
  • pysen.client.tcpPort: Specifies the port to connect pysen-ls server. This setting only works with connectionMode is 'tcp', default: 3746
  • pysen.server.enableLintOnSave: Controls whether to trigger the lint task on save, default: true
  • pysen.server.enableCodeAction: Enable/disable code actions, default: true
  • pysen.server.lintTargets: Controls target names for pysen to invoke in the lint task, default: ["lint"]
  • pysen.server.formatTargets: Controls target names for pysen to invoke in the format task, default: ["format", "lint"]
  • pysen.trace.server: Traces the communication between coc.nvim and the pysen language server, default: "off"

Commands

  • pysen.installServer: Install pysen-ls (builtin)
    • It will be installed in this path:
      • Mac/Linux: ~/.config/coc/extensions/@yaegassy/coc-pysen-data/pysen-ls/venv/bin/pysen_language_server
      • Windows: ~/AppData/Local/coc/extensions/@yaegassy/coc-pysen-data/pysen-ls/venv/bin/pysen_language_server
  • pysen.triggerLintDocument: Lint Current Document
  • pysen.triggerLintWorkspace: Lint Entire Workspace
  • pysen.triggerFormatDocument: Format Current Document
  • pysen.triggerFormatWorkspace: Format Entire Workspace
  • pysen.triggerFormatWorkspace: Format Entire Workspace

What's "pysen"

Simlar vim plugins

Thanks

License

MIT


This extension is built with create-coc-extension