Metadata-Version: 2.4
Name: lupin_sw_ut_report
Version: 0.1.0.dev11
Summary: Tool used to generate a test reports.
Author-email: LupinDental <cedric.fdl-ext@lupindental.com>
Maintainer-email: LupinDental <cedric.fdl-ext@lupindental.com>
Project-URL: Repository, https://gitlab.com/todo.add.url
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Development Status :: 3 - Alpha
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: jinja2==3.1.4
Requires-Dist: typer==0.12.3
Provides-Extra: dev
Requires-Dist: coverage; extra == "dev"
Requires-Dist: pytest; extra == "dev"
Requires-Dist: pytest-cov; extra == "dev"
Provides-Extra: jama
Requires-Dist: py-jama-rest-client>=1.5.0; extra == "jama"
Requires-Dist: python-dotenv>=1.0.0; extra == "jama"

# lupin_sw_ut_report

This project converts test files (in `.txt` and `.xml` formats) into Markdown reports. The goal is to facilitate the documentation of software test results by providing readable Markdown files that can be used for comprehensive reporting.

## Features

- **TXT and XML File Conversion**: Converts test files into structured Markdown files for better readability.
- **Support for Given-When-Then Formats**: Parses and converts test files defined using the `Given`, `When`, `Then` format.
- **Combined Report Generation**: Creates a single Markdown file summarizing all tests found in the specified folder.
- **Command-Line Interface (CLI) with Typer**: A CLI tool for easy execution of conversions.

## Installation

Run `pip install lupin-sw-ut-report`

## Usage

This project provides a command-line interface to generate reports from a folder containing test files (`.txt` and `.xml`).

To run the script, use the following command:

```bash
sw-ut-report --input-folder <path/to/your/input-folder>
```

## Publishing to PyPI

To publish this package to PyPI, follow these manual steps:

### 1. Update the Version

You must update the version number in **both** of these files:
- `src/sw_ut_report/__init__.py` (e.g., `__version__ = "0.1.0"`)
- `pyproject.toml` (e.g., `version = "0.1.0"`)

Make sure the version numbers match in both files. This is required for a successful and consistent release.

### 2. Build the Package

Install the build tool if you haven't already:

```bash
pip install build
```

Run the following command from the root of the project:

```bash
python -m build
```

This will generate distribution files in the `dist/` directory.

### 3. Prepare for Upload: PyPI Token and `.pypirc`

- Create an API token on your [PyPI account](https://pypi.org/manage/account/#api-tokens).
- Create a `.pypirc` file in the root of your repository (but **do not commit it to git**!).
- The `.pypirc` file is already listed in `.gitignore` by default, but always double-check before committing.

Example `.pypirc` file:

```
[distutils]
index-servers =
    pypi

[pypi]
username = __token__  # Do not change this value; it must remain exactly as shown
password = <your-pypi-api-token-here>  # Provide your token without any quotes or extra characters
```

**Replace `<your-pypi-api-token-here>` with your actual PyPI API token.**
- Do not add any quotation marks (`"` or `'`) or extra characters around the token.
- The line `username = __token__` must remain exactly as written.

> **Important:**
> - Never share your PyPI token.
> - Never commit `.pypirc` to version control, even if it is already in `.gitignore`.

### 4. Upload to PyPI

Install Twine if you haven't already:

```bash
pip install twine
```

Upload your package using Twine and your `.pypirc` configuration:

```bash
twine upload --config-file ./.pypirc dist/*
```

If successful, your package will be published to PyPI.

### Security Reminder
- Keep your PyPI API token secret.
- Do not share your `.pypirc` file or its contents.
- Always verify you are uploading the correct version and files.
