semvec/pypi-packages huggingface dataset:
pyhttpcli 0.1.0
CLI tool based on Requests
Requires Python: >=3.9,<4.0

# pyhttpcli
## 概述
该工具使用Typer构建，是基于requests的一个http cli工具。
## 安装
```
pip install pyhttpcli
```
## 检查是否安装
```
$ pyhttp --version
```
libs-core 0.0.4
A small example package
Requires Python: >=3.6


# Make sure you have upgraded version of pip
Windows
```
py -m pip install --upgrade pip
```

Linux/MAC OS
```
python3 -m pip install --upgrade pip
```

## Create a project with the following structure
```
packaging_tutorial/
├── LICENSE
├── pyproject.toml
├── README.md
├── setup.cfg
├── src/
│   └── example_package/
│       ├── __init__.py
│       └── example.py
└── tests/
touch LICENSE
touch pyproject.toml
touch setup.cfg
mkdir src/mypackage
touch src/mypackage/__init__.py
touch src/mypackage/main.py
mkdir tests
```

## pyproject.toml 

This file tells tools like pip and build how to create your project

```
[build-system]
requires = [
    "setuptools>=42",
    "wheel"
]
build-backend = "setuptools.build_meta"
```
build-system.requires gives a list of packages that are needed to build your package. Listing something here will only make it available during the build, not after it is installed.

build-system.build-backend is the name of Python object that will be used to perform the build. If you were to use a different build system, such as flit or poetry, those would go here, and the configuration details would be completely different than the setuptools configuration described below.


# Setup.cfg setup
Using setup.cfg is a best practice, but you could have a dynamic setup file using setup.py

```
[metadata]
name = example-pkg-YOUR-USERNAME-HERE
version = 0.0.1
author = Example Author
author_email = author@example.com
description = A small example package
long_description = file: README.md
long_description_content_type = text/markdown
url = https://github.com/pypa/sampleproject
project_urls =
    Bug Tracker = https://github.com/pypa/sampleproject/issues
classifiers =
    Programming Language :: Python :: 3
    License :: OSI Approved :: MIT License
    Operating System :: OS Independent

[options]
package_dir =
    = src
packages = find:
python_requires = >=3.6

[options.packages.find]
where = src

```
# Running the build
### Make sure your build tool is up to date
Windows
```
py -m pip install --upgrade build
```
Linux/MAC OS
```
python3 -m pip install --upgrade build
```


### Create the build
```
python3.9 -m build
```

### Upload to pypi
```
twine upload dist/*

twine upload dist/tes_gan-0.0.1-py3-none-any.whl
```













### References
https://packaging.python.org/tutorials/packaging-projects/
runrun 0.0.1
A typed command line parser
Requires Python: >=3.10

# Run Run

A typed command line parser for Python.

## Example

```py
# main.py
import random
from runrun import Command
from runrun.models import Argument
from runrun.runner import Runner

class RollCommand(Command):
	def __init__(self):
		super().__init__(
			name='roll',
			description='Roll a dice',
		)
	
	num_of_dice = Argument[int](
		name='num',
		description='Number of dice to roll',
		value=1,
	)

	faces = Argument[int](
		name='faces',
		description='how many faces per dice',
		value=6,
	)

	def run(self):
		total = 0
		for _ in range(self.num_of_dice.value):
			total += random.randint(1, self.faces.value)
		
		print(f'🎲 {total}')

Runner(RollCommand()).run()
```

Run it!
```powershell
python .\main.py --num 5 --faces 20
```

Or check the generated help command.
```powershell
python .\main.py help
```

```txt

  Roll a dice

 USAGE 
  roll [arguments]

 ARGUMENTS 
  faces             --faces <int>                              | how many faces per dice
  num               --num <int>                                | Number of dice to roll

 COMMANDS 
  Help              help                                       | Show help about this command

```

The help command has it's own help docs !?
```powershell
python .\main.py help help
```

```txt

  Show help about this command

 USAGE 
  roll help [arguments]

 ARGUMENTS 
  Filter            --filter <str>                             | Filter the help results, this can help to find what you are looking for
  Output Format     --format {STD, JSON}                       | The output format of the command details
  Required Only     --required-only [true|false]               | Only show required arguments

 COMMANDS 
  Help              help                                       | Show help about this command
```

*Finally a help that can be filtered*