Coder Social home page Coder Social logo

mjkramer / pyright-python Goto Github PK

View Code? Open in Web Editor NEW

This project forked from robertcraigie/pyright-python

0.0 1.0 0.0 137 KB

Python command line wrapper for pyright

Home Page: https://pypi.org/project/pyright/

License: MIT License

Python 100.00%

pyright-python's Introduction

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.

How Pyright for Python Works

This project works by first checking if node is in the PATH and if it is not then we download node at runtime using nodeenv and then install the pyright npm package using npx.

We also automatically upgrade the pyright npm package to it's latest version on every run, see below for how to change this behaviour.

Configuration

You can configure Pyright for Python using environment variables.

Debugging

Set PYRIGHT_PYTHON_DEBUG to any value.

Modify Pyright Version

Set PYRIGHT_PYTHON_FORCE_VERSION to the desired version, e.g. 1.1.156

Show NPM logs

By default, Pyright for Python disables npm error messages, if you want to display the npm error messages then set PYRIGHT_PYTHON_VERBOSE to any truthy value.

Force Node Env

Set PYRIGHT_PYTHON_GLOBAL_NODE to any non-truthy value, i.e. anything apart from 1, t, on or true. e.g. off

Modify Node Env Location

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

Ignore Warnings

Set PYRIGHT_PYTHON_IGNORE_WARNINGS to a truthy value, e.g. 1, t, on or true.

Pyright for Python will print warnings for the following case(s)

  • Using nodeenv without bash available

Contributing

All pull requests are welcome.

License

MIT

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.