Skip to main content

👁 Voight-Kampff

This repository contains a small Python package, voight-kampff, which provides a command line application, vk, which can be used to run the following linters (including some spell checkers):

This can be useful to check your entire repository before pushing the code to the remote.

In case you are wondering about the name, it was inspired by a device used to determine whether an individual is a replicant in the 1982 movie, Blade Runner.

Prerequisites

Before you can use Voight-Kampff to run the linters, they need be installed. Some of the linters are written in Python and can be installed through pip. These are specified as dependencies of Voight-Kampff and will be installed automatically when you install the voight-kampff package. However, a few of the linters are Node.js-based and need to be installed using npm. Finally for the spell checking feature in Pylint to work, you need to have Enchant installed. That can be done through Homebrew or apt depending on your OS. Installation instructions for all dependencies on macOS as well as Debian, Ubuntu and similar are provided below.

Installing prerequisites on macOS

This section briefly describes how you can install the prerequisites on macOS. These instructions assume you already have Homebrew installed.

First you should install the prerequisites that are installed through Homebrew as follows:

brew install enchant
brew install node

The above lines will install Enchant and Node.js. Now that you have Node.js installed, you can install the linters that are based on Node.js:

npm install --global cspell
npm install --global markdownlint-cli2
npm install --global pyright

Installing prerequisites on Linux - Debian / Ubuntu

First you should install the prerequisites that are installed through apt as follows:

sudo apt install enchant-2
sudo apt install npm

The above lines will install Enchant and Node.js. Now that you have Node.js installed, you can install the linters that are based on Node.js:

sudo npm install --global cspell
sudo npm install --global markdownlint-cli2
sudo npm install --global pyright

Installation

Assuming you have the prerequisites installed as described above, you can install Voight-Kampff as follows:

pip3 install voight-kampff

Usage

To run all of the above linters on the current directory, simply run:

vk

If you want to run only one or a few specific linters, say Black and Pylint, you can do that as follows:

vk black pylint

By default, Voight-Kampff will keep running the subsequent linters if the current one fails the check. If you prefer that Voight-Kampff stops as soon as any linter fails, you can specify the --break-on-error flag -- or the short version, -B:

vk -B

Metadata

Release files for voight-kampff 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for voight-kampff 1.0.0
File Size Uploaded Provenance Actions
voight-kampff-1.0.0.tar.gz 6.9 kB Without provenance Details for voight-kampff-1.0.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for voight-kampff 1.0.0
File Interpreter ABI Platform Actions
voight_kampff-1.0.0-py3-none-any.whl Python 3 none any Details for voight_kampff-1.0.0-py3-none-any.whl

Total release size: 13.9 kB

Release files / voight-kampff-1.0.0.tar.gz

Download URL voight-kampff-1.0.0.tar.gz
Size 6.9 kB
Tags Source
SHA-256 checksum
How to use checksums
28d8be939f9563ecc85279673ab2e5199feaa14d044c56a4577ac4e06546eac1
BLAKE2b-256 checksum
How to use checksums
1f641299d99da9aa0fcf7b279f0b97e5d3814671d641ed66fdd64eceb9f4b017
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.13

Release files / voight_kampff-1.0.0-py3-none-any.whl

Download URL voight_kampff-1.0.0-py3-none-any.whl
Size 7.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
804712a5ee4a0876188dc8d0d6e7dca0ce0bb8a71bdbe48886a30770a7c723bd
BLAKE2b-256 checksum
How to use checksums
8777e698320247a1b896f0ea59f86ffd08fb7a8400af14f97d4506fe0d9b89fb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.13

Security for voight-kampff 1.0.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page