Skip to content


Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Legesher's Tree-Sitter-Python

πŸ’» Code in Python 🐍using your native written ✏️language.

Programming with Legesher's dev tools empowers any developer to create without losing the art of innovation πŸ’‘, creativity 🎨, or collaboration 🀝 in translation.

Build David Dependency Status Pull Requests Welcome First Timers Only

Contribute on Github Watch on Twitch chat on Discord follow on Instagram follow on Twitter Read on Medium Subscribe on Mailchimp


tree-sitter-legesher-python 🌳 is the written language interchangeable version of the tree-sitter grammar for the python language used by text editors such as Atom. This npm package is used by language-legesher-python to enable you to code in the language you natively use.

πŸ“’ Check if your native language is available in the Legesher translation repository! If not, we'd love your help to add it!!

Getting Started

In order to use the tree-sitter-legesher-python grammar to code, you will need to follow the following steps:

1️⃣ Download Atom (a text editor)
Head on over to to download the latest version of the text editor.

2️⃣ Update Preferences
Once installed on your local computer, open the Atom application. In the options in the top menu bar, navigate to Atom's Settings Atom > Preferences... . A settings window should pop up in your editor.

3️⃣ Disable Atom's language-python
Continue by clicking the Packages section. Here, you'll see a number of items: Installed Packages, Community Packages, Core Packages, Development Packages, Git Packages. Using the search bar, type language-python to find the Core Package currently installed on your text editor. Click Disable.

4️⃣ Download Legesher's language-legesher-python
Now, head to the Install section to install a new package to your text editor (make sure that the Packages button is selected instead of the Themes). Type language-legesher-python in the search bar to find Legesher's package, and click Install.

5️⃣ Enable Legesher's language-legesher-python
Sometimes you'll have to enable a newly installed package by clicking the Enable button in the package when it is within the Packages section of the settings.

6️⃣ Write A "Hello World" Program In Your Language
Now, you can start coding in Python using any written language currently available within Legesher's translation library! The syntax highlighting should match as if you were coding Python in English!

def main():
    print "Hello World"


❀️Legesher relies on the passionate members of its community (both developer and non-developer alike) to keep delivering impactful tools to people all over the world.

Before contributing, be sure to consult Legesher's contribution guidelines and language translation conventions. As a member of our community, you must abide by our Code Of Conduct.


1️⃣ Fork the legesher/tree-sitter-legesher-python repository
Follow these instructions on how to fork a repository

2️⃣ Cloning the repository
Once you have set up your fork of the legesher/tree-sitter-legesher-python repository, you'll want to clone it to your local machine. This is so you can make and test all of your personal edits before adding it to the master version of legesher/tree-sitter-legesher-python.

Navigate to the location on your computer where you want to host your code. Once in the appropriate folder, run the following command to clone the repository to your local machine.

git clone

3️⃣ Bootstrapping the repository
You'll then want to navigate within the folder that was just created that contains all of the content of the forked repository. There you'll want to run the installation script to get the updated version of all the dependencies.

cd tree-sitter-legesher-python
npm install


We love your desire to give back, and want to make the process as welcoming to newcomers and experts as possible. We're working on developing more intuitive tutorials for individuals of all skill levels and expertise, so if you think the community would value from being walked through the steps you're going through please share! ❀️

Test Changes

When you start making changes to the code on your local branch, you'll need to test those changes. Before your code can be accepted into the master branch, it will have to pass all of the tests within /examples/*. To check the updates made to the grammar, run the following commands:

1️⃣ Save Current Changes
When you get to a point when you want to test the functionality of the code, make sure all your changes are saved. ❗They don't necessarily have to be committed changes in order to test them.

2️⃣ Generate the updated tree-sitter parser
You'll need to generate a new tree-sitter grammar whenever you make changes in this repository. Running this command will usually update files within the /src/* folder.

tree-sitter generate

3️⃣ Configure the grammar
This command makes sure the binding information for the grammar is properly set up and configured.

node-gyp configure

4️⃣ Build the grammar Using the newly configured bindings, we can now build the new grammar with your changes.

node-gyp build

5️⃣ Test changes
To make sure that the grammar is properly updated, run the tests. If you add elements that do not have tests to prove whether they work correctly or not, please include them in your pull request.

tree-sitter test


This repository is a forked extension of tree-sitter's tree-sitter-python. This package works alongside the language repository language-legesher-python. These two repositories work closely together, so it may be useful to touch up on both repositories' documentation.

The Python Language

Legesher Projects

Legesher Developer Tools might be useful to you if:

  • you are a non-native english speaker
  • you are new to programming
  • you work on a team with non-native english speakers
  • you are a developer
Project Purpose
tree-sitter-legesher-python Tree-sitter python grammar used by text editors allowing Legesher's languages to be implemented
language-legesher-python Atom's programming language binding to allow syntax highlighting, code folding etc. to a specific grammar
legesher-translations Host and API of all the language translations for written languages for code keywords / concepts
legesher-dot-io Legesher's public website
legesher-docs Legesher's documentation hub. Will be transitioning to a documentation host soon.
legesher Git integration to collaborate with code and others in other languages
legesher-pride A non-programmer's dream to contributing to open source by sharing what they know and learning what's new

The Community

A message from our founder:

It is truly a blessing to be surrounded by a community of passionate, driven individuals who love sharing their gifts to creating better products together. Your contribution means the world to me, and keeps me motivated to continue creating. This wouldn't be possible without you. From the bottom of my heart, THANK YOU!

Meet our community (full of contributors, backers, sponsors, and supporters) that give a little piece of their heart to this project. Thank you so much. (emoji key)

Madison (Pfaff) Edgar

πŸ’» πŸ› πŸ“†

Wesley Cranston

πŸ’» πŸ’Œ



Leonardo Furtado


Eshan Agarwal


Mythreya Kuricheti


Jonathan Alvaro


Zeeshan Ali






Ajai Dubey




This project follows the all-contributors specification. Contributions of any kind are welcome and recognized. ✨