GitXplorerGitXplorer
f

errpy

public
58 stars
6 forks
4 issues

Commits

List of commits on branch main.
Unverified
dd35bbb33423573ec0fca41fbfa4c0b2c4f0c37e

update convert_case crate

committed 7 days ago
Unverified
2d65ac66cb613f112b05024f579b0c8b18e2fa11

Upgrade bstr

nndmitchell committed 20 days ago
Unverified
5599a9d629b78571bc74a0aaafe5bf002a4be770

Bump bstr to 1.6.2

kkeito committed 23 days ago
Unverified
13b77ca3e1b046230bfd53110bf4253fef901d8b

Bump anyhow to 1.0.86

kkeito committed 23 days ago
Unverified
6f9814bb8089ee5bdaa6ae4e53e95fc1ff395e2a

Convert directory fbcode/python to use the Ruff Formatter

committed 24 days ago
Unverified
a17e3e68fe537c25e0fbbfb51f768324e92c4d36

Upgrade to derive_more 1.0.0

nndmitchell committed 25 days ago

README

The README file for this repository.

License: MIT

Errpy: An Error Recovering Rust Python Parser

This is a new project to provide an error-recovering Python parser, implemented in Rust based on tree-sitter. Our short-term goal is to use it in the pyre type checker, in order to provide better IDE features.

License

Errpy is licensed under the MIT license.

Building

Errpy depends upon the following:

  • Ocaml
  • Dune
  • Rust
  • Cargo

Platform

ERRPY is verified as being buildable on Linux on OCaml 4.14.0

Installing Ocaml and Dune

Install opam and run opam switch install "4.14.0"

Usage

It is recommended to use dune as your build system. To use errpy in your dune project, you can add errpy to the libraries stanza in your dune file. For example,

(library
  (name mylib)
  (libraries errpy))

For local development

If you want to test your changes to errpy locally and use them in another OCaml project (.e.g. Pyre) you can try the following,

First clone the repo with: $ git clone https://github.com/facebook/errpy.git

Or use $ git clone --branch release https://github.com/facebook/errpy.git if you're operating within an offline rust enviroment.

... make the required changed ...
$ cd errpy
$ dune build @install          # Build the errpy library
$ dune test                    # Run tests
$ opam pin add errpy . -n      # pin opam to errpy
$ opam install errpy --verbose # install local build as errpy in opam

Formatting

When making Ocaml changes you can run ocamlformat in order to ensure code is formatted in a conistent manner. This is invoked as follows:

$ dune build @fmt
$ dune promote