semvec/pypi-packages huggingface dataset:
django-request-approval 1.0.2
Django Request Approval Process
Requires Python: >=3.10
Keywords: approval, django approval


# Django Request Approval

This is a package of base classes for approval process. 
To use this package, you have to create classes that inherit base classes from this package.
Detailed documentation is in the "docs" directory.

## Quick start

1. Add `django_request_approval` to your INSTALLED_APPS setting like this::

```python 

    INSTALLED_APPS = [
        ...,
        "django_request_approval",
    ]

```

## Usage


### List of Base classes

The package contains 4 base classes
1. BaseStage -> Represents Approval Stages (Stage 1, Stage 2, Stage 3)
2. BaseApprover -> Represents Stage Approver (Stage, User Group)
3. BaseRequest -> Represents the Request to be approved
4. BaseApproval -> Represents the actual Approval made by Approver
makefilename 0.1.1
Takes an input string + extension and turns it into a sanitized filename
Requires Python: >=3.8
Keywords: filename, sanitize

# makefilename

Takes an input string + extension and turns it into a sanitized filename.

    from makefilename import make_filename

    name_game = "Counter-Strike 2"

    filename = make_filename(name_game, extension=".json")
    # filename == "Counter_Strike_2.json"
hattrick-libs 0.19.2
A library for hattrick.org data
Requires Python: >=3.10

# hattrick_libs

This is a python3 client library for the API of the infamous online-strategy-game hattrick (https://www.hattrick.org).

As this was just intended to be a learning-project and to be the ground-work for another hattrick-project of mine initially,
https://hattrick-fun-with-flags.app, hattick_libs doesn't aim to be complete nor useful to any other purpose than it was originally built for.

If you are looking for a complete python library for hattrick.org consider also pyCHPP by Pierre Gobin. His project was there before mine and 
looks quite sophisticated to me. It's implemented in an object-oriented style and thus well readable and clean. Compared to pyCHPP, hattrick_libs is a 
very basic implementation of the hattrick-API. But consider also this: If you are a learner like myself, hattrick_libs will be a perfect opportunity
to get your hands dirty on some cool python stuff without having to learn oop first. Or you decide to implement your own flavor of a hattick library 
in python and let yourself inspire by both this projects. There is room for all of us. Whatever your decision is: make sure to connect. Refer to the
"Contact" section of this document if you can help improve hattrick_libs, have suggestions, if you want to adopt it to your needs or if you just feel 
like having a chat with another nerdy hattrick manager.

Have fun!:)

## Project state
For now the projects state is work in progress. It originally was just my 2023 christmas project after all!;) I'm actively maintaining it though.
(information as of 2024-10-15)

## Project link
https://github.com/joschobart/hattrick_libs

## Installation
```bash
pip install hattrick-libs 
```

## Usage
In your code directly reference the module you need:
```python
from ht_libs import do_hattrick_request
```
You find a sample-implementation of hattrick_libs in the [\_\_main\_\_.py](__main__.py) file.

## License
This package is licensed under the Apache License 2.0.

## Contact
joschobart on hattrick.org for a chat about bugs, hattrick, (monty) python or discworld.
magic-numbers 1.0.3
magically import magic number constants
Requires Python: >=3.10

# magic-numbers

Magically import magic number constants. Like so:

```py
from magic_numbers import FORTY_TWO, SIXTY_NINE, FOUR_HUNDRED_AND_TWENTY
from magic_numbers import ONE_THOUSAND_THREE_HUNDRED_AND_TWELVE
from magic_numbers import THREE_POINT_ONE_FOUR_ONE_FIVE_NINE_TWO as PI

print(f"{FORTY_TWO = }")  # 42
print(f"{SIXTY_NINE = }")  # 69
print(f"{FOUR_HUNDRED_AND_TWENTY = }")  # 420
print(f"{ONE_THOUSAND_THREE_HUNDRED_AND_TWELVE = }")  # 1312
print(f"{PI = }")  # 3.141592
```

Note: Floats can only be specified using "point", there is no support (yet) for fractions like `THREE_AND_A_HALF` or `TWO_THIRDS`

## Installation

```sh
python3 -m pip install magic-numbers
```
sbcli-new-db 0.1.6
CLI for managing SimplyBlock cluster


# Simply Block
[![Docker Image Build](https://github.com/simplyblock-io/sbcli/actions/workflows/docker-image.yml/badge.svg)](https://github.com/simplyblock-io/sbcli/actions/workflows/docker-image.yml)

[![Python Unit Testing](https://github.com/simplyblock-io/sbcli/actions/workflows/python-testing.yml/badge.svg)](https://github.com/simplyblock-io/sbcli/actions/workflows/python-testing.yml)


## Install
Add the package repo from AWS CodeArtifact using [awscli](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)

```bash
aws codeartifact login --tool pip --repository sbcli --domain simplyblock --domain-owner 565979732541 --region eu-west-1
```
Install package
```bash
pip install --extra-index-url https://pypi.org/simple sbcli-dev
```

# Components

## Simply Block Core
Contains core logic and controllers for the simplyblock cluster

## Simply Block CLI
Please see this document
[README.md](../main/simplyblock_cli/README.md)


## Simply Block Web API
Please see this document
[README.md](../main/simplyblock_web/README.md)



### local development

FoundationDB requires a client library (libfdb_c.dylib) for the Python bindings to interact with the database.
Depending on the OS architecture, please install the appropriate version from the official github repo

```
wget https://github.com/apple/foundationdb/releases/download/7.3.3/FoundationDB-7.3.3_arm64.pkg
```

setup the code on a management node and the webApp code can be developed by building the `docker-compose-dev.yml` file.


```
sudo docker compose -f docker-compose-dev.yml up --build -d
```
pydmart2 0.0.11
A client to connect to a Dmart isntance

# Pydmart

This is a Python Dmart client used to interact with a Dmart instance


## Installation

Pydmart is distributed via [PyPI](https://pypi.org/project/pydmart/):

```python
pip install pydmart2
```

## Example

Just simple steps and you will be ready to interact with your Dmart instance

1. import the class `from pydmart.dmart_service import DmartService`
2. instantiate an object `d_client = DmartService({dmart_instance_url}, {username}, {password})`
3. Create / delete connection pool : Preferably in global fastapi lifespan (async)
4. connect the client to the Dmart instance and authenticate your user `await d_client.connect()`


You will be able to retrieve your profile as simple as 
`await d_client.get_profile()`
pyawful 0.5.0
Pay ten dollars to get access to a dead forum.
Requires Python: >=3.12

# pyawful

Spend $10 to interact with a dead forum from Python.

> [!CAUTION]
> Using this library without being funny may lead to your account being permanently banned.
> 
> Let's be honest, here: That's probably a net positive.

## Installation

This package is available via [PyPi][pypi-package] as `pyawful`
and can be installed via your package manager of choice.

## Usage

```python
import os

from pyawful import AuthenticatedAwfulSession

USERNAME = os.environ["SA_USERNAME"]
PASSWORD = os.environ["SA_PASSWORD"]

with AuthenticatedAwfulSession(USERNAME, PASSWORD) as client:
    response = client.get_forum_threads(273)

    for thread in response.threads:
        print(thread.title)
```

### Caching Authentication Session

> [!WARNING]
> Ignore this advice if you want to pay $10 again

Limit the number of sessions you create - if you're making lots
of requests or otherwise doing something regularly you should
persist the session cookies and restore them.

```python
from datetime import datetime
import json
import os

from pyawful import AuthenticatedAwfulSession, AwfulCookies

USERNAME = os.environ["SA_USERNAME"]
PASSWORD = os.environ["SA_PASSWORD"]

session = AuthenticatedAwfulSession(USERNAME, PASSWORD)

try:
    with open("./session.json", "r") as session_file:
        cached_session = json.load(session_file)
        cookies = AwfulCookies(**cached_session["cookies"])
        expiration = datetime.fromtimestamp(cached_session["expiration"])
        session.resume_session(cookies, expiration)
except Exception:
    pass

with session as client:
    cookies = session.get_cookies()
    expiration = session.get_expiration().timestamp()
    with open("./session.json", "w") as session_file:
        json.dump(
            { "cookies": cookies, "expiration": expiration },
            session_file
        )
```

## License

Licensed under the [MIT License](./LICENSE).

[pypi-package]: https://pypi.org/project/pyawful
randomizer-package 0.6.0
A randomizer GUI application for generating random outputs.
Requires Python: >=3.6

# Randomizer Application Documentation

## How to install and run the Randomizer Package
  #### 1. Go to [Randomizer Package Link](https://pypi.org/project/randomizer-package/0.4.0/#description)
  ***
  #### 2. Go to terminal and run this command.
    pip install randomizer-package==0.4.0
  ***
  #### 3. Check if the randomizer-package is in the pip list by using this command.
    pip list
  ***
  #### 4. If a warning shows up that looks like this
  ![warning](doc_imgs/warning_script.jpg)
  ***
  #### 4.1. Copy the directory showed in the warning and paste it into the PATH in the environment variables.
  ![environmental_variable](doc_imgs/environmental_variable.gif)
  ***
  #### 5. To run the package go to the terminal and run this command.
    run_randomizer

---

## UI Layout and Button Function Explanations
  #### Button Function Explanation
The **INPUT USER** field is designed for user input. 
***

When the **SHUFFLE BUTTON** is clicked, it will display a dropdown menu with several options. 

  * The Single Output option randomizes the order of the input. 

  * The Single Picker option picks one random output based on the input. 

  * The Multiple Output option displays multiple random outputs. 

  * The By Group Output option displays the output by groups, which the user will select according to the preferred number of outputs.
    
 ***
 **SETTING ICON**: Is for allowing duplicates in the
 variables or not
 ***
 
 **ENTER BUTTON**: will enter the variable inputted by
 the user and start the program
 
 ***
 **RESULT FIELD**: this is where the result will display
 ***
 
 **CLEAR BUTTON**: to clear the displayed output in the result
 field to be use again in the next task

  ***
  #### Main Frame
  ![default](doc_imgs/default.png)
  ***

  #### Single Output
  ![single_output](doc_imgs/single_output.png)
  ***

  #### Single Picker
  ![single_picker](doc_imgs/single_picker.png)
  ***

  #### Multiple Output
  ![single_picker](doc_imgs/multiple_output.png)
  ***

  #### Group Output - Groups Windows
  ![single_picker](doc_imgs/group_output_group_window.png)
  ***

  #### Group Output
  ![single_picker](doc_imgs/group_output.png)
  ***

  #### Settings Window
  ![single_picker](doc_imgs/settings.png)
  ***
pygeoflood 0.0.3a2
Flood mapping program based on high-resolution terrain analyses
Requires Python: <3.13,>=3.10

# GeoFlood

Flood mapping program based on high-resolution terrain analyses.

## Documentation and examples

https://passah2o.github.io/pygeoflood/

## Installation

We recommend installing `pygeoflood` into a conda environment. Python 3.10, 3.11, or 3.12 is required:

```bash
$ pip install pygeoflood
```

For the bleeding-edge version, install from GitHub:

```bash
$ pip install git+https://github.com/passah2o/pygeoflood
```

If you plan on running the Fill-Spill-Merge function to estimate pluvial flooding, you must also install a fork of the richdem package using the following commands:

```bash
$ git clone https://github.com/mdp0023/richdem.git richdem
$ cd richdem/wrappers/pyrichdem
$ pip install .
```

For local `pygeoflood` development, intall in editable mode:

```bash
$ git clone https://github.com/passah2o/pygeoflood
$ cd geoflood
$ pip install -e .
```

## Citing

When using GeoFlood, please cite the following paper:

Zheng, X., D. Maidment, D. Tarboton, Y. Liu, P. Passalacqua (2018), GeoFlood: Large scale flood inundation mapping based on high resolution terrain analysis, Water Resources Research, 54, 12, 10013-10033, doi:10.1029/2018WR023457.

When using GeoNet, please cite the following papers:

Passalacqua, P., T. Do Trung, E. Foufoula-Georgiou, G. Sapiro, W. E. Dietrich (2010), A geometric framework for channel network extraction from lidar: Nonlinear diffusion and geodesic paths, Journal of Geophysical Research Earth Surface, 115, F01002, doi:10.1029/2009JF001254.

Sangireddy, H., R. A. Carothers, C.P. Stark, P. Passalacqua (2016), Controls of climate, topography, vegetation, and lithology on drainage density extracted from high resolution topography data, Journal of Hydrology, 537, 271-282, doi:10.1016/j.jhydrol.2016.02.051.