semvec/pypi-packages huggingface dataset:
function.cli 0.1.0
Build a fully featured CLI for your python project with minium effort
Requires Python: >=3.8

# DecoratorCLI
Enables you to build a CLI with python in the most straightforward way with the fewest lines of code:

![Example](docs/Readme-Example.png)

# Project Goals:
* Use modern python language features to make invoking python functions from the command line easy.  familiar CLI options like "Man" or "Help" should be populated automatically from type hints and doc strings.

* Do not require an invocation wrapper.  Invoking functions in "myPythonFile.py" should look something like:  ./myPythonFile.py myFunction --myIntArgument=50 -b=True

* Include automatic type coercion based on type hints.  Invoking ./myPythonFile.py myFunction --myIntArgument=50 -b=True should convert 50 to an int, and True to a bool

* Provide defaults, but remain un-opinionated about invocation format.  It should be easy to extend the project to handle other argument formats such as:  ./myPythonFile.py myFunction myIntArgument:50, b:True

* Provide a useful utility to as large a target audience as possible.  This project should be approachable for a sophomore in a non CS related STEM field.  Errors should provide hints as to how to resolve issues.

* Enable complex projects with lots of functions/targets to be well organized.  Target annotations from multiple files should build a nice directory/tree structured organized man/help page, and be addressable by directory or directly if possible, eg:  ./myMainPythonFile.py myImportedModule.mySecondaryFunction --myIntArgument=50 -b=True

* These goals should be implemented with a single "@target" Annotation that takes no arguments.  It should be extremely easy to add to existing code/projects


# Stretch Project Goals:
* Provide Additional arguments to the @target annotation so that common tasks don't require bespoke coding.  These arguments will be "Mixed In" to the documentation and parsing for a particular targeted function

* Concurrency argument (defaults to 1).  Use the Threading library to spin up as many concurrent invocations of a task as desired.  This would enable easy multi-proccessing

* Home Directory Argument.  Make a particular function always run from within a particular path.

* Required Files Argument.  Make a target require a file by moniker (such as "config.json").  And then instead of getting the path to the file just get the string of the file contents instead.
django-exception 1.0.0
Django python exception model, admin, logging handler, middleware and excepthook
Keywords: django

### Installation
```bash
$ pip install django-exception
```

#### `settings.py`
```python
INSTALLED_APPS+=['django_exception']
```

#### `migrate`
```bash
$ python manage.py migrate
```

#### Models/tables
model|table|columns/fields
-|-|-
`ExceptionModel`|`django_exception`|id,module,filename,lineno,exc_class,exc_message,exc_traceback,timestamp
### Examples
`settings.py`
```python
LOGGING = {
    "version": 1,
    "handlers": {
        "console": {
            "level": "DEBUG",
            "class": "logging.StreamHandler",
        },
        "django_exception": {
            "level": "ERROR",
            "class": "django_exception.ExceptionLogHandler",
        }
    },
    "root": {
        "handlers": ["console", "django_exception"],
        "level": "DEBUG",
    },
    "loggers": {
        "django_exception": {
            "level": "ERROR",
            "handlers": ["django_exception"],
            "propagate": True,
        },
    },
}

MIDDLEWARE = [
    "django_exception.middleware.ExceptionMiddleware",
]
```

`sys.excepthook` - log all exceptions
```python
import sys
import django_exception

def excepthook(exc_type, exc_message, tb):
	django_exception.excepthook(exc_type, exc_message, tb)
	raise exc_type(exc_message)

sys.excepthook = excepthook
```
eea-cdrtools 0.5.2
A set of tool to interact with EEA Reportnet2 (CDR) API. It includes CLI tools and supporting library
Requires Python: >=3.8
Keywords: EEA,cli,reportnet

# Description

A collection of tools to interact with the European Environment Agency (EEA) Central Data Repository (CDR) API  
in a programmatic way. The collection inlcudes helper functions to make API calls as well as CLI tools to perform   
more complex tasks


## Installation


Available in PyPI.

To start, ensure you have Python 3.8 or newer. To use the package, run:

	pip install --upgrade eea-cdrtools

After installing the package, import it:

	import cdr_tools

It can also be used as a CLI tool by issuing the command:

	cdrtools

in a terminal.

It can also be easily installed as a standalone tool locally using [pipx](https://pypa.github.io/pipx).  

First install pipx 

on macOS

	brew install pipx
	pipx ensurepath
	brew update && brew upgrade pipx


otherwise

	python3 -m pip install --user pipx
	python3 -m pipx ensurepath

then

	pipx install "git+https://github.com/libertil/eea-cdrtools"


Once installed via pip or pipcdrtools is a available at command line. You can get an overview of the functionalities by issuing

	cdrtools --help