Skip to main content

Pyright for Python

This project is not affiliated with Microsoft in any way, shape or form

Pyright for Python is a Python command line wrapper over pyright, a static type checker for Python.

This project is not suitable for production usage.

Installation

Use the package manager pip to install pyright.

pip install pyright

Usage

Pyright can be invoked using two different methods

pyright --help

or

python3 -m pyright --help

Pyright for Python should work exactly the same as pyright does, see the pyright documentation for details on how to make use of pyright.

Motivation

Pyright is written in TypeScript and requires node to be installed and is normally installed with npm, this could be a barrier for entry for some python developers as they may not have node or npm, installed on their machine, I wanted to make pyright as easy to install as any normal python package.

Implementation Notes

This project works by downloading node at runtime using nodeenv and then installing pyright, while this works, it is far from ideal.

There are at least two options for fixing this problem, the first is to package a wheel for each platform containing a node binary, I do not know if we can get around installing pyright at runtime as npm install could have platform specific dependencies.

The second option is to use pkg to create a pyright binary and package that in wheels.

Configuration

You can configure Pyright for Python using environment variables.

Debugging

Set PYRIGHT_PYTHON_DEBUG to any value.

Modify Pyright Version

Set PYRIGHT_PYTHON_VERSION to the desired version, e.g. 1.1.150

Modify Node Env Location

Set PYRIGHT_PYTHON_ENV_DIR to a valid nodeenv directory. e.g. ~/.cache/nodeenv

Contributing

All pull requests are welcome.

License

MIT

Release files for pyright 0.0.2

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

Source distribution (sdist)

Source distribution for pyright 0.0.2
File Size Uploaded
pyright-0.0.2.tar.gz 4.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyright 0.0.2
File Interpreter ABI Platform
pyright-0.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 10.9 kB

Release files / pyright-0.0.2.tar.gz

Download URL pyright-0.0.2.tar.gz
Size 4.9 kB
Tags Source
SHA-256 checksum
How to use checksums
51d51a39442117e6415d5f3e76b8c6dfd0d1944b69284ef0c314a7c774854e43
BLAKE2b-256 checksum
How to use checksums
543fb0a73cc85c6b9c575c99a2e1ae79b79a1ff2a94527d3a00e8532ace4ff75
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.6.8

Release files / pyright-0.0.2-py3-none-any.whl

Download URL pyright-0.0.2-py3-none-any.whl
Size 6.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
920ba2e5a546661e7bedfe0b42bc76658797cbb2240bff76fe250b592707a650
BLAKE2b-256 checksum
How to use checksums
83c8f3912b62b3d543a0ee6b6e5f09610f4e8c488661f2be0175cba716e72606
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.6.8

Release history Release notifications | RSS feed

0.0.13

2 release files

0.0.10

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

This release

0.0.2 This release

2 release files

0.0.1

2 release files

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