Skip to content

itpplasma/code

Repository files navigation

CODE

This is the ITPcp plasma group meta-repository that collects scripts to setup development and use of internal and external codes. Our development environment is Visual Studio Code, and we strongly recommend GitHub Copilot there and in the CLI.

CODE is based around our standard Debian bookworm system at ITPcp and provides

  • Setup scripts scripts/setup/...
  • Quality-of-life shell commands via scripts/util.sh
  • A standardized activation together with a Python virtual environment from requirements.txt
  • CI/CD for integration between codes and data
  • Container definitions
  • VSCode settings

Getting Started

If you haven't done so earlier, set up your SSH keys in ~/.ssh via ssh-keygen and add the content of id_rsa.pub to Gitlab and GitHub for authentication.

Perparing your machine

On Linux: At ITPcp computers all packages should be installed to get going. On your own Debian system, run scripts/setup/debian.sh.

On Mac: The recommended way via orbstack and devpod as described in scripts/setup/mac.sh.

On Windows: Prepare your machine with scripts/setup/windows.bat first to install Debian Linux via WSL2. Then follow the Linux instructions.

Initial setup

Clone the repository to your working copy, at the institute this is

git clone [email protected]:itpplasma/code /proj/plasma/CODE/<username>

Then open the directory in VS Code with

code code

When asked to initialize the devcontainer, remove the message. Run the setup script manually with

source scripts/setup.sh

The setup will install external dependencies and create and activate a Python virtual environment in the hidden .venv directory.

If you work outside a container, also manually put a line

source /path/to/code/activate.sh

in your bashrc.

Testing

Integration tests are run by

pytest tests/

This will perform all the tests in tests/ and its subfolders.