$npx skillfedfor your agent

pyjsparser

Fast javascript parser (based on esprima.js)

With conditionsPyPI Text ProcessingReleased Apr 2019694.7K downloads / moMITPure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — pyjsparser-2.7.1-py2-none-any.whl
v2.7.1 · released 2019-04-21

Yes, if you need to parse ECMAScript 5.1 code and can accept an unmaintained package. The parser has no dependencies, installs easily, and carries no known vulnerabilities. However, avoid it for modern JavaScript projects that rely on ES6+ features, and be aware that bugs or Python compatibility issues will not be fixed. Consider whether a maintained alternative better suits your timeline.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Installation is straightforward with no runtime dependencies.
  • However, the package is abandoned—last release was 2019-04-21 and last commit 2022-04-20—so it will not receive bug fixes or updates for newer JavaScript features or Python versions.

License · maintenance · safety

MIT (permissive) — Licensed under MIT (permissive), so you may use, modify, and distribute it freely with minimal restrictions, though you must include the license notice.

last release 2019-04-21 (2672 days) · last repo commit 2022-04-20 · 255 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 694,728 downloads/mo, #5,313 on PyPI

Verify before relying

pip install pyjsparser

from pyjsparser import parse
ast = parse('var $ = "Hello!"')
print(ast)
  • Whether the parser correctly handles all ECMAScript 6 features it claims to support, or only a subset
  • Compatibility with modern Python versions given the package's abandonment since 2019
  • Performance claim of '100k characters per second' on current hardware and Python versions
Same gist for agents: .md · .json

What it is and what it does

pyjsparser is a Python port of the esprima.js JavaScript parser that converts JavaScript source code into an abstract syntax tree. It was designed to be fast and comprehensible, translating esprima's logic directly to Python rather than wrapping a JavaScript engine.

The parser handles ECMAScript 5.1 fully and supports parts of ECMAScript 6. It produces AST output compatible with esprima's format, making it useful for static analysis, code transformation, or tooling that needs to understand JavaScript structure without executing it. However, the package has not been maintained since 2019, so it will not evolve with newer JavaScript standards or receive compatibility updates for recent Python versions.

Use it for

  • Static analysis of JavaScript code to extract variable names, function definitions, or code structure
  • Building linters or code quality tools that need to understand JavaScript syntax without running it
  • Transforming or transpiling JavaScript code by manipulating its AST representation
  • Analyzing third-party JavaScript libraries to understand their API surface or dependencies

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you need to parse ECMAScript 5.1 code and can accept an unmaintained package.

The parser has no dependencies, installs easily, and carries no known vulnerabilities. However, avoid it for modern JavaScript projects that rely on ES6+ features, and be aware that bugs or Python compatibility issues will not be fixed. Consider whether a maintained alternative better suits your timeline.

Install

pyjsparser on PyPI

Before you install

Installation is straightforward with no runtime dependencies. However, the package is abandoned—last release was 2019-04-21 and last commit 2022-04-20—so it will not receive bug fixes or updates for newer JavaScript features or Python versions.

License in practice

Licensed under MIT (permissive), so you may use, modify, and distribute it freely with minimal restrictions, though you must include the license notice.

Quickstart

pip install pyjsparser

from pyjsparser import parse
ast = parse('var $ = "Hello!"')
print(ast)

Verify before relying

  • Whether the parser correctly handles all ECMAScript 6 features it claims to support, or only a subset
  • Compatibility with modern Python versions given the package's abandonment since 2019
  • Performance claim of '100k characters per second' on current hardware and Python versions

Package facts

LicenseMIT permissive
Python supportNot specified
Install frictionLow. Pure-Python wheel
Runtime dependenciesNone
MaintenanceAbandoned 2,672 days since the last release
Last repo commit
First released
Downloads694,728 / month, #5,313 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14

Evidence: pyjsparser-2.7.1-py2-none-any.whl

Tags

Capabilities
javascript parser pythonparse javascript code astecmascript parserjs to ast conversionesprima pythonjavascript syntax tree
Topics
ast-parsingjavascript-analysis

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “parse javascript code ast”

  • pyjsparserParses JavaScript source code into an abstract syntax tree (AST)…
  • tree-sitter-javascriptProvides a JavaScript and JSX parser grammar for tree-sitter,…
  • esprima2Parses and tokenizes JavaScript code up to ECMA 2025 syntax,…

Give your agent the search over MCP, or paste the wish link into any chat.

More Text Processing packages

regex Worth it
PyPI · Python Modules · released Jul 2026

A drop-in replacement for Python's standard `re` module that adds advanced regex features like nested sets, fuzzy matching, lookaround in conditionals, and full Unicode case-folding while maintaining backward compatibility.

Apache-2.0 AND CNRI-Pythoncompiled wheel · 3.10+
437.7Mdownloads / mo
pyparsing Worth it
PyPI · Text Processing · released Jan 2026

pyparsing provides a library for building text parsers directly in Python code using composable grammar classes, handling quoted strings, whitespace variation, and embedded comments without regex or lex/yacc.

Install it if you need to parse text or define grammars programmatically.

MITpure Python · 3.9+
412.7Mdownloads / mo
fonttools Worth it
PyPI · Text Processing · released May 2026

fonttools manipulates font files in multiple formats (TrueType, OpenType, AFM, Type 1, Mac-specific) and includes TTX, a tool to convert fonts to and from XML text format.

Install it if you need to read, write, or manipulate fonts programmatically or via the TTX command-line tool.

permissive licensepure Python · 3.10+
235.9Mdownloads / mo
docutils With conditions
PyPI · Software Development · released May 2026

Docutils converts plaintext documentation in reStructuredText format into multiple output formats including HTML, XML, and LaTeX using a modular processing system.

BSD-3-Clausepure Python · 3.9+
225.6Mdownloads / mo
RapidFuzz Worth it
PyPI · Text Processing · released Apr 2026

RapidFuzz provides fast fuzzy string matching using Levenshtein Distance and related metrics, implemented mostly in C++ with Python bindings for rapid similarity scoring and approximate string matching.

Install it if you need fuzzy string matching; it's a solid replacement for FuzzyWuzzy with better licensing and performance.

MITcompiled wheel · 3.10+
184.2Mdownloads / mo
tinycss2 Worth it
PyPI · Text Processing · released Nov 2025

tinycss2 parses CSS strings into token and block objects, and generates CSS strings from those objects, following the CSS Syntax Level 3 specification without enforcing specific properties or values.

Install it if your project requires CSS tokenization or syntax manipulation.

BSD-3-Clausepure Python · 3.10+
113.2Mdownloads / mo

See also esprima · esprima2 · Js2Py · Js2Py-3.13 · tree-sitter-javascript · pscript · rjsmin · jsmin · py-mini-racer · quickjs-rs