Metadata-Version: 2.1
Name: simple-factorial
Version: 0.0.2
Summary: A simple Python module designed to calculate the factorial of a non-negative integer.
Author-email: Rufus Gordon-Heywood <rufus.gordonheywood@education.nsw.gov.au>
Project-URL: Homepage, https://github.com/google-docs-shorturl/factorial
Project-URL: Bug Tracker, https://github.com/google-docs-shorturl/factorial/issues
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.5
Description-Content-Type: text/markdown
License-File: LICENSE

# Factorial Calculator

This Python module, `simple_factorial`, is a versatile and user-friendly tool designed to calculate the factorial of a non-negative integer. The factorial of a non-negative integer `n` is the product of all positive integers from 1 to `n`. This module provides a reliable way to compute factorials, handling various scenarios, including input validation and error handling.

## Table of Contents

- [Installation](#installation)
- [Usage](#usage)
- [Documentation](#documentation)
- [Features](#features)
- [Contributing](#contributing)
- [License](#license)

## Installation

To use the `simple_factorial` module, you can simply import it into your Python project. There is no need for a separate installation process. Make sure the `factorial.py` file is in the same directory as your Python script, or you can place it in a directory that is in your Python module search path.

```python
pip install simple_factorial
```

## Usage

You can use the `calculate_factorial` function provided by the `factorial.py` module to calculate the factorial of a non-negative integer. Here's a basic example:

```python
import simple_factorial

result = simple_factorial.factorial(5)
print(result)  # Output: 120
```

## Documentation

The `factorial.py` module includes detailed documentation in the form of docstrings. These docstrings provide information about the module's purpose, function arguments, return values, and usage examples. You can access this documentation using Python's built-in `help()` function or by viewing the docstrings directly in your code editor.

```python
import simple_factorial

help(simple_factorial.factorial)
```

## Features

- **Input Validation**: The module ensures that input is a non-negative integer and handles negative numbers gracefully.

- **Error Handling**: If an invalid input is provided, the module raises a `ValueError` with an informative error message.

- **Interactive Mode**: When run as a script, the module enters an interactive mode, allowing users to calculate factorials for multiple numbers until they choose to quit.

- **Documentation**: The module includes docstrings that provide information about its purpose, usage, and examples, making it easy for users to understand and use.

## Contributing

Contributions to this project are welcome! If you'd like to improve the module, fix a bug, or add a new feature, please follow these steps:

1. Fork the repository.
2. Create a new branch for your feature or bug fix.
3. Make your changes and test them thoroughly.
4. Commit your changes and push them to your fork.
5. Open a pull request against the original repository.

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
```

This `README.md` file provides an overview of your project, including installation instructions, usage examples, documentation access, features, contribution guidelines, and licensing information. You can further customize it to match the specifics of your project if needed.
