First Steps

To get started, clone the repository, install the required Ubuntu tooling, create the Micromamba environment, and run the tests.

Cloning the Repository

Start by cloning the io-template-lib repository. This repository contains essential scripts and configurations needed for the project.

git clone https://github.com/io-aero/io-template-lib
cd io-template-lib

Install Foundational Software

The installer scripts are intended for Ubuntu Bash. First, make the scripts executable:

chmod +x scripts/*.sh

For the standard setup, run the combined base installer:

./scripts/run_install_common_base.sh

This installs or updates Python 3.12, Micromamba, the PostgreSQL client, Docker Engine, and act.

If you prefer to run installers individually, use the scripts that apply to your workstation:

  • ./scripts/run_install_python.sh

  • ./scripts/run_install_micromamba.sh

  • ./scripts/run_install_postgresql_client.sh

  • ./scripts/run_install_docker.sh

  • ./scripts/run_install_act.sh

  • ./scripts/run_install_aws_cli.sh

  • ./scripts/run_install_dbeaver.sh

On WSL 2, run_install_docker.sh is not required when Docker Desktop for Windows is installed and WSL integration is enabled.

After installing Micromamba, open a new shell or initialize it in the current shell:

eval "$(micromamba shell hook --shell=bash)"

Repository-Specific Installation

Create or update the project environment.

For production use:

./do.sh conda-prod

For software development:

./do.sh conda-dev

Then activate the environment:

micromamba activate iotemplatelib

Most do.sh targets require the iotemplatelib environment to be active.

Configuration

Create or update the local configuration files as needed:

  • settings.io_aero.toml controls library behavior.

  • .settings.io_aero.toml contains local secrets and can be based on config/.settings.io_aero_template.toml.

See the configuration documentation for the expected keys.

System Testing with Unit Tests

After activating the development environment, verify the setup:

./do.sh tests

Use ./do.sh help to list all available project targets.