Metadata-Version: 2.4
Name: ign8gitlab
Version: 0.1.1
Summary: Login to and manage GitLab instances configured in ~/.ign8/ign8gitlab.json.
License: MIT
Keywords: gitlab,ign8,cli
Author: Jakob Holst
Author-email: lyngknuden@gmail.com
Requires-Python: >=3.9
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Provides-Extra: dev
Requires-Dist: mypy (>=1.10) ; extra == "dev"
Requires-Dist: pytest (>=8) ; extra == "dev"
Requires-Dist: requests (>=2.31)
Requires-Dist: rich (>=13)
Requires-Dist: ruff (>=0.4) ; extra == "dev"
Requires-Dist: typer (>=0.12)
Requires-Dist: types-requests (>=2.31) ; extra == "dev"
Description-Content-Type: text/markdown

# ign8gitlab

Login to and manage GitLab instances configured in `~/.ign8/ign8gitlab.json`.

## Install

```bash
pip install ign8gitlab
```

## Configure

Create `~/.ign8/ign8gitlab.json`:

```json
[
  {
    "url": "https://gitlab.example.com",
    "username": "svc-ign8",
    "token": "glpat-xxxxxxxxxxxxxxxxxxxx"
  },
  {
    "url": "https://gitlab.com",
    "username": "jdoe",
    "token": "glpat-yyyyyyyyyyyyyyyyyyyy"
  }
]
```

The file may also be an object with a `gitlabs` key wrapping the list.

`token` is a GitLab **Personal Access Token** (or an OAuth access token) with at least the `read_user` scope. `username` is used for display only — GitLab identifies the caller from the token.

## Commands

| Command | Description |
|---------|-------------|
| `ign8gitlab login` | Authenticate against every configured GitLab (`/api/v4/user`) |
| `ign8gitlab list`  | List configured GitLab instances |

The default (no subcommand) prints a short status summary.

