Skip to content

tree-sitter-grammars/tree-sitter-requirements

Repository files navigation

tree-sitter-requirements

discord pypi

A tree-sitter parser for pip requirements files.

Python package

Installation

pip install tree-sitter-requirements

Usage

import tree_sitter_requirements as requirements

with open('requirements.txt', 'r') as rf:
   # parse a requirements.txt file
   tree = requirements.parse(rf.read())
   # get the highlight groups
   hl_groups = requirements.highlights(tree)
   # run an arbitrary query
   packages = requirements.query("""
   (requirement (package) @package)
   """, tree.root_node)

References

Editors

    ☑ Neovim
    ☐ Helix
    ☐ Emacs
    ☐ Zed

Changelog

v0.3.3

  • Fix library compilation

v0.3.2

  • Fix platform detection code

v0.3.1

  • Replace deprecated resource API

v0.3.0

  • Change bindings layout

v0.2.0

  • Move to tree-sitter-grammars org

v0.1.5

  • Resolve _version_list conflict
  • Fix inline comments

v0.1.4

  • Make URL scheme case-insensitive

v0.1.3

  • Support per-requirement options
  • Parse paths and URLs in options

v0.1.2

  • Support environment variables in URLs

v0.1.1

  • Fix environment markers