Metadata-Version: 2.4
Name: quickgrade
Version: 0.1.1
Summary: A simple CLI and Python package for converting between letter grades, percentages, and GPA.
Author: Albin Zieme
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# quickgrade

`quickgrade` is a simple Python package and command-line tool for converting between letter grades, percentages, and GPA values.

It can be used directly in the terminal or imported into your own Python projects.

## Features

- Convert percentage grades to letter grades
- Convert percentage grades to GPA values
- Convert letter grades to percentages
- Convert letter grades to GPA values
- Convert GPA values to percentages
- Convert GPA values to letter grades
- Includes an easy-to-use command-line interface

## Installation

Install with pip:

```bash
pip install quickgrade
```

## CLI Usage

After installing, you can use the `quickgrade` command in your terminal.

### Convert a letter grade to a GPA

```bash
quickgrade --letter A --output gpa
```

Output:

```text
GPA: 3.9
```

### Convert a percentage to a letter grade

```bash
quickgrade --percent 95 --output letter
```

Output:

```text
Letter: A
```

### Convert a GPA to a percentage

```bash
quickgrade --gpa 3.7 --output percent
```

Output:

```text
Percent: 91
```

## CLI Arguments

| Argument | Description | Example |
|---|---|---|
| `--letter` | Input a letter grade | `--letter A-` |
| `--percent` | Input a percentage grade | `--percent 95` |
| `--gpa` | Input a GPA value | `--gpa 3.7` |
| `--output` | Choose the output type: `letter`, `percent`, or `gpa` | `--output letter` |

Only one input type should be used at a time.

## Python Usage

You can also import the conversion functions in Python.

```python
from quickGrade.grades import percent_to_letter, percent_to_gpa

print(percent_to_letter(95))
print(percent_to_gpa(95))
```

Output:

```text
A
3.9
```

## Available Functions

```python
percent_to_letter(percent)
percent_to_gpa(percent)

letter_to_percent(letter)
letter_to_gpa(letter)

gpa_to_percent(gpa)
gpa_to_letter(gpa)
```

## Example

```python
from quickGrade.grades import letter_to_percent, letter_to_gpa

letter = "B+"

print(letter_to_percent(letter))
print(letter_to_gpa(letter))
```

Output:

```text
88
3.3
```

## Grade Scale

The default grading scale is:

| Percent Range | Letter Grade | GPA |
|---|---:|---:|
| 97-100 | A+ | 4.0 |
| 93-96 | A | 3.9 |
| 90-92 | A- | 3.7 |
| 87-89 | B+ | 3.3 |
| 83-86 | B | 3.0 |
| 80-82 | B- | 2.7 |
| 77-79 | C+ | 2.3 |
| 73-76 | C | 2.0 |
| 70-72 | C- | 1.7 |
| 67-69 | D+ | 1.3 |
| 63-66 | D | 1.0 |
| 60-62 | D- | 0.7 |
| 0-59 | F | 0.0 |

## License

This project is licensed under the MIT License.
