Metadata-Version: 2.4
Name: github-issue-list
Version: 0.0.1
Summary: List open GitHub issues assigned to a user in an organization.
Author: Kaizten Analytics
License-Expression: LicenseRef-Proprietary
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Requires-Python: >=3.10
Description-Content-Type: text/markdown

# GitHub Issue List

`github-issue-list` uses the authenticated GitHub CLI account to list open issues assigned to a user in an organization's non-archived repositories.

Issues are printed in a table sorted globally from the oldest creation time to the most recent. Issue titles are normalized to one line and limited to 30 characters.

## Requirements

- Python 3.10 or newer
- GitHub CLI (`gh`)
- An authenticated GitHub CLI session:

```bash
gh auth login
```

## Usage

After installing the package, run:

```bash
github-issue-list
```

The organization defaults to `kaizten`, and the username defaults to the active `gh` account. Override either value with named arguments:

```bash
github-issue-list --organization octo --username monalisa
```

From a source checkout, the wrapper exposes the same interface:

```bash
./github-issue-list.py --organization octo --username monalisa
```

```text
usage: github-issue-list [-h] [--organization ORGANIZATION] [--username USERNAME]

List open GitHub issues assigned to a user in an organization.

options:
  -h, --help            show this help message and exit
  --organization ORGANIZATION
                        GitHub organization. Default: kaizten
  --username USERNAME   GitHub assignee. Defaults to the authenticated gh user.
```

The table contains the full repository name, issue number, truncated title, UTC creation time, and elapsed time since creation. The search returns at most 1,000 issues, matching GitHub's issue-search result limit.

## Development

Run the unit tests:

```bash
python3 -m unittest discover -s tests -v
```

Build and validate the wheel and source distribution:

```bash
./build-package.sh
```

Artifacts are written under `dist/` and checked with Twine.

Publish previously built artifacts to PyPI:

```bash
./publish-pypi.sh
```

If PyPI reports that the version already exists, increment the version in `pyproject.toml`, rebuild, and publish again.

Install the package in a virtual environment:

```bash
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install .
```
