Wyrd sisters


by Ty Myrddin

Updated on May 3, 2022

xkcd tooling

We're pretty much set up for all kinds of Python Projects. Some tools will not be optimal for JS projects.

Virtual environments

On Ubuntu 20.04 machines we explored tools for making our everyday development workflows easier, so we can become as productive as we can be.

Our wishlist included being able to:

  • Install and switch between different versions of the project's language on the same machine
  • Manage dependencies and virtual environments
  • Reproduce environments

Python projects

The from our explorations resulting repository for Python projects can be found in the base-environment repository.

Poetry and Pipenv combine the functionality of venv + pip. They also make it easy to separate development and production dependencies as well as enable deterministic builds via a lock file. Both work well with pyenv.

For some of our data science projects we use anaconda.

Pycharm works well for Python and HTML projects. Easiest way of installing and upgrading Pycharm is via the Jetbrains Toolbox App.

JavaScript projects

For JavaScript projects we use nvm as node version manager and npm as node package manager. Our express-base is our break-it-sampler repository and our design choices for that project can be found in its associated wiki.

Pycharm works not so well for JavaScript projects. For those we settled on Codium.

Microsoft’s vscode source code is open source (MIT-licensed), but the product available for download (Visual Studio Code) is licensed under a not-FLOSS license and tracks its users, hence we use VSCodium.

The install from the paulcarroty repo is not working, but using snapcraft works fine.

    $ sudo snap install codium --classic

And we are bound to encounter more. Stay tuned ...

WHERE'S MY COW?! Wyrd Sisters