All Projects → PyCQA → Astroid

PyCQA / Astroid

Licence: lgpl-2.1
A common base representation of python source code for pylint and other projects

Programming Languages

python
139335 projects - #7 most used programming language

Labels

Projects that are alternatives of or similar to Astroid

Query Translator
Query Translator is a search query translator with AST representation
Stars: ✭ 165 (-46.77%)
Mutual labels:  ast, parser
Cub
The Cub Programming Language
Stars: ✭ 198 (-36.13%)
Mutual labels:  ast, parser
Participle
A parser library for Go
Stars: ✭ 2,302 (+642.58%)
Mutual labels:  ast, parser
Exprtk
C++ Mathematical Expression Parsing And Evaluation Library
Stars: ✭ 301 (-2.9%)
Mutual labels:  ast, parser
Bblfshd
A self-hosted server for source code parsing
Stars: ✭ 297 (-4.19%)
Mutual labels:  ast, parser
Lioness
The Lioness Programming Language
Stars: ✭ 155 (-50%)
Mutual labels:  ast, parser
Flora Sql Parser
Parse SQL (select) statements into abstract syntax tree (AST) and convert ASTs back to SQL.
Stars: ✭ 186 (-40%)
Mutual labels:  ast, parser
Graphql Go Tools
Tools to write high performance GraphQL applications using Go/Golang.
Stars: ✭ 96 (-69.03%)
Mutual labels:  ast, parser
Vermin
Concurrently detect the minimum Python versions needed to run code
Stars: ✭ 218 (-29.68%)
Mutual labels:  ast, parser
Escaya
An blazing fast 100% spec compliant, incremental javascript parser written in Typescript
Stars: ✭ 217 (-30%)
Mutual labels:  ast, parser
Babylon
PSA: moved into babel/babel as @babel/parser -->
Stars: ✭ 1,692 (+445.81%)
Mutual labels:  ast, parser
Cppast.net
CppAst is a .NET library providing a C/C++ parser for header files powered by Clang/libclang with access to the full AST, comments and macros
Stars: ✭ 228 (-26.45%)
Mutual labels:  ast, parser
Phplrt
PHP Language Recognition Tool
Stars: ✭ 127 (-59.03%)
Mutual labels:  ast, parser
Json To Ast
JSON AST parser
Stars: ✭ 161 (-48.06%)
Mutual labels:  ast, parser
Elm Markdown
Pure Elm markdown parsing and rendering
Stars: ✭ 96 (-69.03%)
Mutual labels:  ast, parser
Snapdragon
snapdragon is an extremely pluggable, powerful and easy-to-use parser-renderer factory.
Stars: ✭ 180 (-41.94%)
Mutual labels:  ast, parser
Diffsitter
A tree-sitter based AST difftool to get meaningful semantic diffs
Stars: ✭ 89 (-71.29%)
Mutual labels:  ast, parser
Libdparse
Library for lexing and parsing D source code
Stars: ✭ 91 (-70.65%)
Mutual labels:  ast, parser
Tatsu
竜 TatSu generates Python parsers from grammars in a variation of EBNF
Stars: ✭ 198 (-36.13%)
Mutual labels:  ast, parser
Php Parser
A PHP parser written in PHP
Stars: ✭ 15,101 (+4771.29%)
Mutual labels:  ast, parser

Astroid

.. image:: https://travis-ci.org/PyCQA/astroid.svg?branch=master :target: https://travis-ci.org/PyCQA/astroid

.. image:: https://ci.appveyor.com/api/projects/status/co3u42kunguhbh6l/branch/master?svg=true :alt: AppVeyor Build Status :target: https://ci.appveyor.com/project/PCManticore/astroid

.. image:: https://coveralls.io/repos/github/PyCQA/astroid/badge.svg?branch=master :target: https://coveralls.io/github/PyCQA/astroid?branch=master

.. image:: https://readthedocs.org/projects/astroid/badge/?version=latest :target: http://astroid.readthedocs.io/en/latest/?badge=latest :alt: Documentation Status

.. image:: https://img.shields.io/badge/code%20style-black-000000.svg :target: https://github.com/ambv/black

.. |tideliftlogo| image:: doc/media/Tidelift_Logos_RGB_Tidelift_Shorthand_On-White_small.png :width: 75 :height: 60 :alt: Tidelift

.. list-table:: :widths: 10 100

    • |tideliftlogo|
    • Professional support for astroid is available as part of the Tidelift Subscription_. Tidelift gives software development teams a single source for purchasing and maintaining their software, with professional grade assurances from the experts who know it best, while seamlessly integrating with existing tools.

.. _Tidelift Subscription: https://tidelift.com/subscription/pkg/pypi-astroid?utm_source=pypi-astroid&utm_medium=referral&utm_campaign=readme

What's this?

The aim of this module is to provide a common base representation of python source code. It is currently the library powering pylint's capabilities.

It provides a compatible representation which comes from the _ast module. It rebuilds the tree generated by the builtin _ast module by recursively walking down the AST and building an extended ast. The new node classes have additional methods and attributes for different usages. They include some support for static inference and local name scopes. Furthermore, astroid can also build partial trees by inspecting living objects.

Installation

Extract the tarball, jump into the created directory and run::

pip install .

If you want to do an editable installation, you can run::

pip install -e .

If you have any questions, please mail the [email protected] mailing list for support. See http://mail.python.org/mailman/listinfo/code-quality for subscription information and archives.

Documentation

http://astroid.readthedocs.io/en/latest/

Python Versions

astroid 2.0 is currently available for Python 3 only. If you want Python 2 support, use an older version of astroid (though note that these versions are no longer supported).

Test

Tests are in the 'test' subdirectory. To launch the whole tests suite, you can use either tox or pytest::

tox pytest astroid

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].