Metadata-Version: 2.4
Name: cal-gitlab-releases
Version: 0.1.0
Summary: Download and upload release assets for GitLab projects and groups
Project-URL: Repository, https://gitlab.com/cyberassessmentlabs/private/tools/cal-gitlab-releases
Author: Cyber Assessment Labs
License-Expression: MIT
License-File: LICENSE
Keywords: assets,download,gitlab,releases,upload
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Build Tools
Classifier: Typing :: Typed
Requires-Python: >=3.12
Description-Content-Type: text/markdown

# cal-gitlab-releases

Download and upload release assets for GitLab projects and groups.

## Installation

```bash
pip install cal-gitlab-releases
```

## Usage

```bash
# Download release assets from a group
cal-gitlab-releases download -u https://gitlab.com -p myorg/public -o ./releases

# Upload release assets to a target GitLab
cal-gitlab-releases upload -u https://gitlab.example.com -p target-group -i ./releases -t TOKEN
```

## Commands

### download

Download release assets from GitLab projects or groups. Supports version filtering, manifest-based incremental downloads, and parallel threads.

Use `--flat` to download all files into a single directory (useful for manual inspection). Note that flat output cannot be used with the `upload` command, which requires the `project/tag` directory structure.

### upload

Upload release assets to GitLab. Reads the same directory structure produced by `download`, creates releases if they don't exist, and attaches asset files as release links.

## Configuration

Settings can be provided via CLI args, environment variables, or a config file at `~/.config/cal-gitlab-releases/config.json`:

```json
{
    "gitlab_url": "https://gitlab.example.com",
    "token": "glpat-xxxxxxxxxxxx",
    "base_group": "myorg",
    "output": "./downloads",
    "version_filter": "release",
    "parallel": 32
}
```

## Licence

MIT License — Copyright (c) 2026 Cyber Assessment Labs
