ObserverOfTime / tree-sitter-requirements

pip requirements grammar for tree-sitter

Home Page:https://pypi.org/project/tree-sitter-requirements/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

tree-sitter-requirements

CI

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

Changelog

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

About

pip requirements grammar for tree-sitter

https://pypi.org/project/tree-sitter-requirements/

License:MIT License


Languages

Language:JavaScript 59.0%Language:Python 36.1%Language:Scheme 4.9%