Skip to content

Development Containers

Why development containers?

This is our recommended way of getting set up for development, because it'll eliminate the vast majority of development environment quriks that are difficult to debug. There are other reasons to use development containers that are detailed in a variety of blog posts linked below. If you're new to the concept, we recommend that you give them a read.

Microsoft has an awesome tutorial that you should walk through before you attempt to use development containers. The tutorial is available here.

To use development containers, we recommend using Visual Studio Code, which has the best support for development containers amongst the IDEs that we have encountered.

Getting started with SeqLike's development containers

The rough order of steps is as follows:

  1. Ensure you have Docker running on your computer.
  2. Clone the repository locally, preferrably using SSH.
  3. Ensure that you have your SSH agent running.
  4. Open the repository inside VSCode.
  5. (If you don't have it) Install the VSCode Remote extension.
  6. When prompted, re-open the repository inside the Dev container we have specified.

Once that is done, verify that you have everything correctly installed by executing the following commands to run the test suite:

pytest

Also, you can build the docs:

mkdocs serve

You should then be able to go to http://localhost:8000 to view the docs.

Features of our development container

Automated development install

SeqLike is automatically installed in development mode thus allowing you to test code changes as soon as they are made.

Python development tools

We installed the following VSCode extensions:

  • Pylance (ms-python.vscode-pylance)
  • Jupyter (ms-toolsai.jupyter)
  • MS Python (ms-python.python)

Pre-commit hooks

To ensure code quality, pre-commit hooks are installed into the environment. You'll always be notified if your code needs to be modified because they didn't pass our automated code checks.

Nord theme

We give you a beautiful and aesthetically pleasing theme for VSCode. Rest assured, this doesn't affect whatever your original theme settings are.

Port 8000

We use mkdocs to build the docs. mkdocs comes with a built-in preview server which runs on port 8000 when you execute mkdocs serve. That port is forwarded to your localhost.