Skip to main content

A tree-sitter parser for requirements.txt files

Project description

CI discord matrix 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

tree_sitter_requirements-0.3.3-cp38-abi3-win_amd64.whl (21.8 kB view hashes)

Uploaded CPython 3.8+ Windows x86-64

tree_sitter_requirements-0.3.3-cp38-abi3-musllinux_1_1_x86_64.whl (19.3 kB view hashes)

Uploaded CPython 3.8+ musllinux: musl 1.1+ x86-64

tree_sitter_requirements-0.3.3-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (19.1 kB view hashes)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

tree_sitter_requirements-0.3.3-cp38-abi3-macosx_10_9_universal2.whl (30.4 kB view hashes)

Uploaded CPython 3.8+ macOS 10.9+ universal2 (ARM64, x86-64)

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page