Data Engineering in The Terminal | How I Kedro
Tags: kedro, python, datascience
Published: 2021-08-18 13:48:46

---
slug: kedro-silence
tags:
- kedro
- python
- datascience
title: Data Engineering in The Terminal | How I Kedro
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ve2zhywzrlwnjn8pvu8p.png
published: true
canonical_url: https://waylonwalker.com/how-i-kedro/
series: kedro
---


{% youtube bw5_FWDVRpU %}


## Ubuntu

I recently switched over to using Ubuntu, it works well pretty much out of the
box for me.  I am using gnome with a dark theme.


## Gnome Terminal

I am still using the built in default gnome terminal, it just works.  It does
all the things that I need it to do.  It supports transparency renders my fonts
and allows me to highlight things well.

* One Dark Theme

## dotfiles

 You can find my
 [dotfiles](https://github.com/waylonwalker/devtainer) on
 github.  Feel free to read through and take anything that you
 find useful.  I would encourage you not to steal them, but to
 integrate the parts that you want into your own dotfiles.
 dotfiles are a very personal thing. They are an extension of
 ones fingertips designed for how you think and type.

## zsh

I use zsh as my default shell.  I like to use it as my
interactive shell.  It works, and does a bit better with
things like tab completion out of the box.

## starship

I use the starship prompt for my shell.  It works well out of
the box.  It looks good and includes all of the information
that I would ever need.

![kedro-prompt](https://images.waylonwalker.com/kedro-prompt.png)

## tmux

As a team lead I am in and out of many projects per day, tmux allows me to get
in and out of these files with super speed.  I was using a mix of vscode and
tmux in until October 2020.  At this point I got moved development machines and
pushed myself to use only the terminal.  I felt that vscode was just getting
slower and slower, and I was getting less benefit from it.  Especially now that
the lsp is a part of nvim.

<!-- ![jump to existing sessions with prefix+c-j](https://images.waylonwalker.com/tmux-navigation-2021-prefix+c-j.gif "using prefix+c-j") -->
<video controls muted autoplay playsinline loop=true width="100%">
    <source src="https://images.waylonwalker.com/tmux-navigation-2021-prefix+c-j.webm"
            type="video/webm">
    <source src="https://images.waylonwalker.com/tmux-navigation-2021-prefix+c-j.mp4"
            type="video/mp4">
    Sorry, your browser doesn't support embedded videos.
</video>

## neovim

I really like the raw speed and customizability of neovim.  You can see all the
customization, and plugins I have added in my dotfiles.

* OneBuddy Theme
* pylsp
* kedro-lsp

![nvim-kedro](https://images.waylonwalker.com/nvim-kedro.png)

## ipython

I really like ipython, it lets me edit code in my code editor, then import it
or run it quickly.  Ipython gives me the right level of tooling.  I don't need
markdown mixed in my code, I put those notes into docstrings, a readme, or
wiki.  When I need to see plots I just store them as png or html and view them
in my browser.  

I do a bit of customization to my ipython session that you can find in my
dotfiles repo.  I use a custom prompt and use rich formatting and tracebacks if
rich is installed.

* custom prompt
* rich traceback

![kedro-ipython](https://images.waylonwalker.com/kedro-ipython.png)

## Links

* [tmux](https://github.com/tmux/tmux)
* [dotfiles](https://github.com/waylonWalker/devtainer)
* [starship.rs](https://starship.rs/)
* [kedro](https://github.com/quantumblacklabs/kedro)
* [ipython](https://ipython.readthedocs.io/en/6.5.0/index.html)
* [rich](https://github.com/willmcgugan/rich)