semvec/pypi-packages huggingface dataset:
gs-cli 0.0.1
Awesome cli called Gister
Requires Python: >=3.6

# Gitser CLI

Si se requiere de que ejecutar la aplicación como CLI y no tener que escribir en el interprete de python y el path frente de este se puede crear un ejecutable
en la carpeta /bin.

Podemos crear un script mediante:

```sh
# run a python source file as a script
python mycode.py

# run a python module
python -m mycode.py

```

### Cli shortcut


```sh
  #!/bin/sh
  
  python3 /path/to/mycode.py "$@"

```

`"$@" pasa todos los argumentos de la Cli del launcher al script de Python`

### Cli entrypoint example

```
.
│ my-repo/
	│- mypackage/
		│- mymodule.py
	│- pyproject.toml
	│- setup.cfg
	│- setup.py
``` 

### Create python distribution

```sh
pip install build
```

En el directorio principal correr:
```sh
python -m build

```

Esto resulta en dos archivos de salida en el directorio `dist`:

```sh
dist/mypackage-0.0.1.tar.gz
dist/mypackage-0.0.1-py3-none-any.whl
```
Versiones de distribucion mas rapida debido a que durante la instalacion puedes omitir el paso de build, tiene un mejor mecanismo de cache para ello.

La herramienta de build utiliza el `nombre` y la `version` de `setup.cfg` para generar los nombres de los archivos. No es necesario agregarlos, pero es bueno 
si es que quieres identificar facilmente las salidas.

### Instalando la distribucion

Podemos usar `pip` para instalar la distribucion.

```sh
pip install dist/mypackage.0.0.1-py3-none-any.whl
```

### Probando la instalacion

```
# create virtual environment
$ python3 -m venv .env/fresh-install-test

# activate your virtual environment
$ . .env/fresh-install-test/bin/activate

# install your package into this fresh environment
$ pip install dist/mypackage-0.0.0-py3-none-any.whl

# your shortcuts are now in the venv bin directory
$ ls .env/fresh-install-test/bin/
my-application
another-application

# so you can run it directly from the cli
$ my-application
hello from my_function

# and run the second application
$ another-application
hello from another_function
```


## Coverage
pytest-cov no funciona


coverage run -m pytest

coverage report -m

coverage html