Skip to main content

Abstraction on top of baron, a FST for python to make writing refactoring code a realistic task

Project description

Introduction

RedBaron is a query library for the Baron Full Syntax Tree (FST). But what is Baron? Baron is a syntax tree, like an AST for the Python language that hold the following rule: syntax_tree_to_code(code_to_syntax_tree(code)) == code. The Baron FST is in form of JSON-serializable Python (list and dict) which is very low level and not extremely funny to work with (a bit like bytecode), RedBaron is an abstraction on top of that to ease the exploration and modification of this FST.

Ok, but why this can be useful? The (hard) bet made by Baron is to induce a paradigm change in which writing code that explore or modify code (like (custom) refactoring code, refactoring browser, tooling, autoformatting…) is now a realistic task for most of the developers. Having a FST for Python means that the task of modifying source code just shift from parsing then modifying a string to modifying a meaningful tree. For a longer explanation read this.

For now, RedBaron is in its early stages of development, it is quite stable but it is probably not the most shiny experience yet. Feedback is very welcome.

Installation

pip install redbaron

Changelog

0.2 (unreleased)

0.1 (2014-06-13)

  • First release

Project details


Download files

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

Source Distribution

redbaron-0.2.tar.gz (15.6 kB view hashes)

Uploaded Source

Built Distributions

redbaron-0.2-py2.7.egg (14.8 kB view hashes)

Uploaded Source

redbaron-0.2-py2-none-any.whl (17.2 kB view hashes)

Uploaded Python 2

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