Skip to content

An IntelliJ-based IDE plugin for Python AST transformations

License

Notifications You must be signed in to change notification settings

JetBrains-Research/bumblebee

Repository files navigation

JetBrains Research Build

Bumblebee

An IntelliJ-based IDE plugin for performing Python AST transformations using PSI elements. You can use this plugin as a library or as a tool to work with Python PSI. The differences between these options can be found below.

Available transformations

Installation

Just clone the repo by git clone https://github.com/JetBrains-Research/ast-transformations.

Getting started as a tool

Run the command ./gradlew :ast-transformations-plugin:cli -Pinput=<Input directory with python files> -Poutput=<Output directory>. All transformations will be applied.

Getting started as a library

You can use this plugin as a library in your plugin by importing it in settings.gradle.kts and build.gradle.kts files:

  1. File settings.gradle.kts:
sourceControl {
    gitRepository(URI.create("https://github.com/JetBrains-Research/ast-transformations.git")) {
        producesModule("org.jetbrains.research.ml.ast.transformations:ast-transformations")
    }
}
  1. File build.gradle.kts:
implementation("org.jetbrains.research.ml.ast.transformations:ast-transformations") {
    version {
        branch = "master"
    }
}

The available features:

  1. Forward transformations
  2. Backward transformations (unstable)

All usage examples can be found in the test folder.

About

An IntelliJ-based IDE plugin for Python AST transformations

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published