A Python package for generating sprint reports and managing sprint activities at University Information Services.
Project description
Project Overview
This project leverages the capabilities of the LangChain library to interact with GitLab issues and generate sprint report presentations. The system retrieves issue data from a specified GitLab group, processes the information, and summarizes the status of sprint goals in a PowerPoint presentation.
Features
- Retrieve issues from GitLab using a specific label and iteration ID.
- Analyze and categorize issues based on sprint goals.
- Generate summaries and status reports for sprint goals.
- Create PowerPoint presentations to visually present the sprint report.
Prerequisites
Before you can run this project, you need to have Python installed on your machine. Python 3.6 or higher is recommended. You also need to ensure that Git is installed if you need to clone the repository.
Installation
-
Clone the Repository:
git clone https://gitlab.developers.cam.ac.uk/ee345/demo.git cd demo
-
Install Required Libraries: Ensure you have
pip
installed and then run:pip install -r requirements.txt
-
Download and Setup Ollama Model: Download the Ollama model from Ollama Download and Mistral Model. Follow the instructions on the Ollama website for setting up the model.
Usage
To run the script, use the following command. Replace the placeholder values with actual data like the GitLab access token and other parameters as required:
python main.py --token YOUR_GITLAB_ACCESS_TOKEN --gitlab_url https://gitlab.developers.cam.ac.uk/api/v4 --iteration_id=368 --goals "Front End Error Reporting,Gain access to account data (held in Entra ID and in our own systems) to start to understand user breakdown/profiles between Raven/Azure"
Parameters Description
--token
: GitLab access token for authentication. This is necessary to access the GitLab API securely.--gitlab_url
: The base URL of your GitLab instance API. Default ishttps://gitlab.developers.cam.ac.uk/api/v4
.--group_id
: The ID of the GitLab group from which issues are to be fetched. Default is5
.--labels
: URL-encoded string of labels used to filter issues by specific criteria. Default isteam%3A%3AIdentity
.--iteration_id
: The ID of the specific iteration to filter issues relevant to a particular sprint. Leave empty if not using iteration-based filtering.--goals
: A comma-separated list of sprint goals to analyze. Each goal should be clearly defined.--presentation_name
: The name of the output PowerPoint file where the sprint report will be saved. Default isdemo.pptx
.--chunk_size
: The size of text chunks in characters when splitting documents for processing. Default is500
.--chunk_overlap
: The overlap of text chunks in characters when splitting documents. Default is0
.--search_type
: The type of search to perform when retrieving documents. Default ismmr
which stands for Maximal Marginal Relevance.--search_kwargs
: Additional keyword arguments in JSON format to configure the search behavior. Default is{"k": 8}
, wherek
is the number of documents to retrieve.--cache_folder
: The directory to use for caching data such as embeddings. Default iscache
.--model
: The language model to use, specified by name. Default ismistral
.--max_tokens
: The maximum number of tokens to generate from the language model in a single request. Default is1500
.
Contributing
Contributions are welcome! For major changes, please open an issue first to discuss what you would like to change.
License
This project is licensed under the MIT License - see the LICENSE.md file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for uis_sprint_report-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8799285e9d1126dbfb0c9ab2000ef84740744f87a9ebd8cae95c0cb5a2ea0152 |
|
MD5 | c5ab3a0fbc8c50457d1f11ca58f8f356 |
|
BLAKE2b-256 | dbc549e083b27e31d0aa3794003f4b9a252afe58d50ad9643fc8d3af6da75d3f |