File size: 824 Bytes
beb32ed
 
 
 
 
 
 
 
 
 
 
 
 
13a7d69
 
 
 
 
 
 
 
beb32ed
 
 
 
 
13a7d69
beb32ed
 
 
 
 
13a7d69
beb32ed
 
13a7d69
beb32ed
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
"""Install tasks for the project."""

# %% IMPORTS

from invoke import task
from invoke.context import Context

# %% TASKS


@task
def venv(ctx: Context) -> None:
    """Create a virtual environment."""
    ctx.run("python3 -m venv .venv/")
    ctx.run(".venv/bin/pip install uv")


@task
def lock(ctx: Context) -> None:
    """Lock the main project dependencies."""
    ctx.run("uv pip compile requirements-main.txt -o requirements.txt")


@task
def main(ctx: Context) -> None:
    """Install the main dependencies."""
    ctx.run("uv pip install -r requirements.txt")


@task
def dev(ctx: Context) -> None:
    """Install the development dependencies."""
    ctx.run("uv pip install -r requirements-dev.txt")


@task(pre=[venv, lock, main, dev], default=True)
def all(_: Context) -> None:
    """Run all install tasks."""