Metadata-Version: 2.4
Name: uis-sprint-report
Version: 2026.1.201357
Summary: A Python package for generating sprint reports and managing sprint activities at University Information Services.
Home-page: https://gitlab.developers.cam.ac.uk/ee345/demo
Author: Eugene Evstafev
Author-email: ee345@cam.ac.uk
Classifier: License :: OSI Approved :: MIT License
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: click>=8.1.7
Requires-Dist: rich>=13.7.1
Requires-Dist: python-pptx>=0.6.23
Requires-Dist: huggingface-hub==0.23.4
Requires-Dist: langchain==0.2.6
Requires-Dist: langchain-community==0.2.6
Requires-Dist: langchain-core==0.2.10
Requires-Dist: langchain-huggingface==0.0.3
Requires-Dist: langchain-text-splitters==0.2.2
Requires-Dist: faiss-cpu>=1.8.0
Requires-Dist: pydantic>=2.7.4
Requires-Dist: scikit-learn>=0.24.1
Requires-Dist: torch>=1.9.0
Requires-Dist: transformers>=4.42.3
Requires-Dist: ollama==0.2.1
Requires-Dist: get-gitlab-issues
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

[![PyPI version](https://badge.fury.io/py/uis-sprint-report.svg)](https://badge.fury.io/py/uis-sprint-report)
[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)
[![Downloads](https://static.pepy.tech/badge/uis-sprint-report)](https://pepy.tech/project/uis-sprint-report)

# UIS Sprint Report

`UIS Sprint Report` is a command-line tool designed to generate detailed reports for sprint activities, manage sprint-related data through embeddings, and interact via a chat interface, specifically tailored for University Information Services.

## Installation

To install `UIS Sprint Report`, you can use pip:

```bash
pip install uis-sprint-report
```

Ensure that the [Ollama](https://ollama.com/) local model server is running and that you have downloaded the necessary models locally before running this command-line tool.

## Usage

The tool is intended to be run with various commands based on the required operation: generating reports, creating PowerPoint presentations of sprint goals, or engaging in an interactive chat to query sprint statuses.

### Command-Line Interface

```bash
uis-sprint-report --access-token "YOUR_TOKEN" --command "pptx" --sprint-goals "Goal 1; Goal 2" --iteration-id=952
```

### Input Parameters

- `--api-base` (`str`): Base URL for API access. Default is `"https://gitlab.developers.cam.ac.uk/"`.
- `--access-token` (`str`): Access token for API authentication.
- `--command` (`str`): Command to execute. Options are `"report"`, `"pptx"`, or `"chat"`.
- `--group-id` (`int`): GitLab group ID. Default is `5`.
- `--iteration-id` (`int`): [Iteration ID](https://gitlab.developers.cam.ac.uk/groups/uis/devops/-/cadences/) within the group. Default is `383`.
- `--labels` (`str`): Labels to filter the issues. Default is `"team::Identity"`.
- `--model` (`str`): Ollama model to use. Default is `"mistral:latest"`.
- `--cache-file` (`str`): Path to the cache file. Default is `".cache"`.
- `--chunk-size` (`int`): Size of the text chunks for processing. Default is `500`.
- `--chunk-overlap` (`int`): Overlap between text chunks. Default is `0`.
- `--max-tokens` (`int`): Maximum tokens for model inference. Default is `1500`.
- `--sprint-goals` (`str`): Description of sprint goals.
- `--pptx-file` (`str`): Path for saving the generated PowerPoint file. Default is `"sprint_goals.pptx"`.
- `--max-attempts` (`int`): Maximum attempts for generating a response. Default is `5`.

### Commands

- **report**: Generates a report detailing the sprint activities.
- **pptx**: Creates a PowerPoint presentation based on sprint activities and goals.
- **chat**: Starts an interactive chat session for querying sprint data.

Each command initializes the `ChatOllama` model with the specified `model` and `max_tokens`, then executes the function corresponding to the command.

## Features

- Integrated report generation from GitLab issues.
- PowerPoint presentation creation for sprint reviews.
- Interactive chat functionality for live sprint data querying.
- Supports local execution with Ollama models for enhanced data privacy and control.

## Contributing

Contributions, issues, and feature requests are welcome! Feel free to check the [issues page](https://gitlab.developers.cam.ac.uk/ee345/demo/issues).

## License

This project is licensed under the [MIT License](https://choosealicense.com/licenses/mit/).
