Atom Python

In this post we’ll talk about the Atom editor which is, as they say, A hackable text editor for the 21st Century.

A special thanks goes to Facebook's Nuclide team for providing the Atom IDE user interface package. Both Nuclide and Atom IDE are developed by Facebook and supported by an open source community. At this time, Facebook has decided to retire their open source efforts on Nuclide, the Atom IDE, and other associated repos. First you need to install the Script package, to do that:. Open Atom. Press Ctrl+Shift+P and write 'View installed packages' and click on the correct element in the drop down menu. Look at the left part of the screen click Install. When Atom 1.38.0 is officially released, you can later unlink and rebuild again to use the bundled language-python instead of my fork: cd language-python apm unlink apm rebuild Then restart Atom to complete the process. First, download Atom from the official webpage. Once installed, if you have a Mac or Windows, you’ll have two commands available: atom and apm. The first one is for opening the Atom editor, and the second one for installing Atom packages. We’ll see an example of both in the following. Edit a Python file and use Atom’s Autocomplete.

It’s a really nice, open source and modern editor, with a broad community that provides different and new packages and functionalities. Have you tried it yet?

Here, you’ll learn how to install it and how to configure it to write Python code. Let’s start! 🙂

First, download Atom from the official webpage.

Once installed, if you have a Mac or Windows, you’ll have two commands available: atom and apm. The first one is for opening the Atom editor, and the second one for installing Atom packages. We’ll see an example of both in the following.

Edit a Python file and use Atom’s Autocomplete

Let’s start by creating a Python file with:

This will open the file in Atom, and you’ll see the containing folder with all its contents on the left sidebar.

In the new file, if you type de, you’ll see that it suggests if you want to create a new function. This is because Atom has detected that the file extension is a Python extension.

If you type the Tab key, you’ll see a template for a new function:

Note that you have the fname highlighted. This is because you can now type the name of your function and it will replace fname. Let’s name our function product.

Atom Python

Next, if you hit the Tab key again, the arguments of the function, arg, will be now selected. Just write x,y, as we need two different arguments for our function.

Finally, hit the Tab key again to select the body of our function, pass, and replace it for our code. The end function should be something like:

2
returnx *y

Also notice the blue circle next to the file name. This means that there are unsaved changes in your current file. You can save it just typing the usual cmd+c (or ctrl+c in windows).

Linter for Atom

Linter is an Atom package that provides a top level API so that there is a unification among all the linter atom plugins. Dicebox comic. This means that all the extra packages that you install, that highlight your code (for example to detect errors) will use a unified method.

To install it, just type:

Next, we’re going to install a Python Linter package, to help us detect errors in our Python code.

This package is called linter-flake8 and it’s an interface to flake8. To install it, you need to run:

process.env.PATH=['/usr/local/bin/',process.env.PATH].join(':')

Restart Atom the apply these changes. It should work now 😉

Moreover, there are Linters for other languages like HTML, CSS or Javascript. You can find a list here.

Further customisation for Python to follow PEP8

Atom Python Editor

Here I’ll show you how you can configure Atom to follow PEP8, the official Python styling guide.

First, open the Atom –> Preferences window.

1. Use spaces instead of tabs.

Scroll down the Settings panel until you see the Soft Tabs option. Make sure it’s checked. This setting will convert tabs into spaces automatically.

2. Set the tab length to 4 spaces

A little below the Soft Tab setting, you”ll see the Tab Length. Set it to 4 spaces.

3. Automatic PEP8 validation.

If you installed the linter-flake8 package discussed in the previous section, you already have automatic PEP8 validation 🙂

Keybindings customisation

In the same Preferences panel, you can see the Keybindings menu on the left. There, you’ll find a list of all the default keybindings active in your Atom editor.

However, by default, Atom confirms an autocomplete suggestion with both the Tab and Enter keys. But I only want to use the Tab key.

In order to disable Enter as an autocomplete confirm key, we need to go to the Keybindings menu where you’ll see a link that says your keymap file. Click on that link to open the keymap.cson file.

There, you need to write:

Atom Python Debugger

2
# Disable Enter key for confirming an autocomplete suggestion
'enter':'editor:newline'

Save the file and you’ll see the changes immediately. No need to restart Atom 🙂

Other Useful Packages

Project manager: a package for saving your projects.

Atom Python Install

Atom Django: Django support for Atom

Minimap: Displays a small map of the current file on the right side of your document (like Sublime Text by default).

Using Atom For Python

Do you use other Packages? Write a comment below about them! 🙂