Metadata-Version: 2.1
Name: pyprote
Version: 2022.8.4
Summary: A tool for creating python packages.
Home-page: https://github.com/Cattes/pypote
License: LICENSE
Keywords: template,package,python
Author: Sebastian Cattes
Author-email: sebastian.cattes@inwt-statistics.de
Maintainer: Sebastian Cattes
Maintainer-email: sebastian.cattes@inwt-statistics.de
Requires-Python: >=3.10.0,<3.11
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: Other/Proprietary License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Project-URL: Documentation, https://github.com/Cattes/pypote
Project-URL: Repository, https://github.com/Cattes/pypote
Description-Content-Type: text/markdown

# pyprote: A Python package for creating Templates for python projects

## Installation from PyPi

```shell
pip install pyprote
```
For **test**-PyPi dev version:

```shell
pip install -i https://test.pypi.org/simple/ pyprote
```

# Usage

## Create a new project

### Get default template:
```shell
pyprote
```

You will have to replace all instances of `PY_PRO_TE_FILL_ME_IN` with your own project name, email etc..


### Fill the template cli arguments:
```shell
pyprote --package_name my_cool_package_name \
        --package_version 0.1.0 \
        --package_description 'My cool package description' \
        --package_author_name 'John Doe' \
        --package_author_email john@doe \
        --package_link https://cool.package \
        --out_dir pyprote_output_dir
```


# Installation - development

Create a virtual environment.

## Poetry:
```shell
poetry install
```

# Testing

Running the tests requires to run the following command in the root folder (of course in the virtual environment):

```shell
poetry run pytest
```


# CLI app

```shell
pyprote --help
```

# Formatting

```shell
poetry run black . && \
poetry run isort . && \
poetry run flake8 . && \
poetry run mypy .
```

## Versioning

Update (calendar) version with [bumpver](https://github.com/mbarkhau/bumpver):

```shell
poetry run bumpver update --dry --patch
```
`--dry` just shows how the version WOULD change.
```shell
poetry run bumpver update --patch
```


## How to build a Python package?

To build the package, you need to go to the root folder of the package and run the following command:

```shell
poetry build
```

The built package is now located in the dist/ folder.


## Publishing your package in PyPi

Publishing is done automatically using GitHub actions.

Commit to master creates test-pypi release.

Tagged Commit creates real pypi release.

