Metadata-Version: 2.1
Name: pytemplates-pypackage
Version: 0.0.1
Summary: A template for a python package.
Home-page: https://github.com/PyTemplate/python_package
License: CC0 v1.0 Universal
Author: crabtr26
Author-email: crabtr26@gmail.com
Requires-Python: >=3.8,<4.0
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Provides-Extra: dev
Provides-Extra: docs
Provides-Extra: lint
Provides-Extra: test
Requires-Dist: Sphinx (>=4.5.0,<5.0.0); extra == "docs" or extra == "dev"
Requires-Dist: black (>=22.3.0,<23.0.0); extra == "lint" or extra == "dev"
Requires-Dist: flake8 (>=4.0.1,<5.0.0); extra == "lint" or extra == "dev"
Requires-Dist: isort (>=5.10.1,<6.0.0); extra == "lint" or extra == "dev"
Requires-Dist: mypy (>=0.961,<0.962); extra == "lint" or extra == "dev"
Requires-Dist: pre-commit (>=2.19.0,<3.0.0); extra == "lint" or extra == "dev"
Requires-Dist: pylint (>=2.13.8,<3.0.0); extra == "lint" or extra == "dev"
Requires-Dist: pytest (>=7.1.2,<8.0.0); extra == "test" or extra == "dev"
Requires-Dist: pytest-cov (>=3.0.0,<4.0.0); extra == "test" or extra == "dev"
Requires-Dist: sphinx-rtd-theme (>=1.0.0,<2.0.0); extra == "docs" or extra == "dev"
Project-URL: Repository, https://github.com/PyTemplate/python_package
Description-Content-Type: text/markdown

```bash

   ___        _____                         _         _
  / _ \ _   _/__   \ ___  _ __ ___   _ __  | |  __ _ | |_  ___  ___
 / /_)/| | | | / /\// _ \| '_ ` _ \ | '_ \ | | / _` || __|/ _ \/ __|
/ ___/ | |_| |/ /  |  __/| | | | | || |_) || || (_| || |_|  __/\__ \
\/      \__, |\/    \___||_| |_| |_|| .__/ |_| \__,_| \__|\___||___/
        |___/                       |_|

```
<!-- source - https://patorjk.com/software/taag/#p=display&h=1&f=Ogre&t=PyTemplates -->

[![License](https://img.shields.io/badge/License-Creative%20Commons%20Zero%20v1.0-informational?style=flat)](./LICENSE)
[![Documentation: Sphinx](https://img.shields.io/badge/Documentation-Sphinx-08476D?style=flat)](https://pytemplate.github.io/python_package/)
[![codecov](https://codecov.io/gh/PyTemplate/python_package/branch/main/graph/badge.svg?token=HG1NQ8HRA4)](https://codecov.io/gh/PyTemplate/python_package)
[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/PyTemplate/python_package/main.svg)](https://results.pre-commit.ci/latest/github/PyTemplate/python_package/main)
[![Code style: black](https://img.shields.io/badge/code%20style-black-151515?style=flat)](https://github.com/psf/black)

## Description

A basic python package template which includes proper package structure with a functioning package installation. The package is built using poetry; metadata and dependency information is stored in the pyproject.toml. This template includes flake8, pylint, isort, and pytest settings with configurations compatible with the black autoformatter. Pylint settings are based on the Google style standards for python and adapted for black compatibility.  Testing is automated using github workflows, codecov.io, and pre-commit.ci. Application deployment is managed using multi-staged docker builds for fast develop/deploy cycles.

## Setup

Using `poetry`:

```bash
git clone https://github.com/crabtr26/pytemplates.git
cd pytemplates
poetry install --no-dev
```

## Usage

From a `.py` file:

```python
import pytemplates
pytemplates.__version__
pytemplates.greet(user="Jacob")

from pytemplates import wish_farewell
wish_farewell(user="Jacob")
```

## Development Setup

Using `poetry`:

```bash
git clone https://github.com/crabtr26/pytemplates.git
cd pytemplates
poetry install
```

## Testing

To run the tests locally using the development environment:

```bash
cd pytemplates
poetry run pytest
```

## Documentation

To build and view the documentation locally using the development environment:

```bash
cd pytemplates/docs
make html
google-chrome build/html/index.html
```

