diff --git a/src/pycage/main.py b/src/pycage/main.py index e69de29..9344a97 100644 --- a/src/pycage/main.py +++ b/src/pycage/main.py @@ -0,0 +1,20 @@ +from __future__ import annotations + +import click + +import pycage.files +import pycage.get +import pycage.venv + + +@click.group(help="CLI to download and manage Python standalone distributions") +def cli(): + pass + + +cli.add_command(pycage.get.get) +cli.add_command(pycage.venv.venv) +cli.add_command(pycage.files.copy) + +if __name__ == "__main__": + cli() diff --git a/src/pycage/types.py b/src/pycage/types.py index 9b7a698..5af4f3b 100644 --- a/src/pycage/types.py +++ b/src/pycage/types.py @@ -1,8 +1,18 @@ +from __future__ import annotations + from dataclasses import dataclass import msgspec +@dataclass(slots=True, kw_only=True) +class OsInfo: + PLATFORM: str + OS: str + FILE_EXT: str + INTERPRETER: str + + class JsonMetadata(msgspec.Struct): version: int tag: str