semvec/pypi-packages huggingface dataset:
resettabletimer 1.0.0
Wrapper for threading.Timer to allow resetting

# resettabletimer

[![CI](https://github.com/kangasta/resettabletimer/actions/workflows/ci.yml/badge.svg)](https://github.com/kangasta/resettabletimer/actions/workflows/ci.yml)
[![Release](https://github.com/kangasta/resettabletimer/actions/workflows/release.yml/badge.svg)](https://github.com/kangasta/resettabletimer/actions/workflows/release.yml)

Wrapper for `threading.Timer` to provide a resettable Timer implementation. Also provides fake timer for testing.

## Usage

### ResettableTimer

```python
from resettabletimer import ResettableTimer

delay = 5 # seconds
function = print

# Create resettable timer
t = ResettableTimer(delay, function, ["Hello"], {"end":" timer!\n"})

# Starting and canceling work similarly than with threading.Timer
t.start()

# Wait 1-5 seconds

# Reset the timer
t.reset()

# Hello should be printed after five seconds

```

### FakeTimer

```python
from resettabletimer import FakeTimer

t = FakeTimer(2, print, ["Hello"], {"end":" timer!\n"})

# Starting and canceling work similarly than with threading.Timer
t.start()

# Wait >2 seconds
# Nothing happens

# Time passage is controlled with pass_time
t.pass_time(2)

# Hello should be printed

```

## Testing

Check and automatically fix formatting with:

```bash
pycodestyle resettabletimer
autopep8 -aaar --in-place resettabletimer
```

Run static analysis with:

```bash
pylint -E --enable=invalid-name,unused-import,useless-object-inheritance resettabletimer
```

Run unit tests:

```bash
# Run unit tests
python3 -m unittest discover -s tst/

# Run unit tests with coverage analysis
coverage run \
    --branch \
    --source resettabletimer/ \
    -m unittest discover -s tst/
coverage report -m
```
pgquest 0.1.0b3
An extensive of the pygame library to include more extensive graphics tools and functionality.
Requires Python: >=3.4

# Documentation

As this is a very small module (as of now), we are including the documentation on the PyPi upload page. In future updates, we will be including the documentation on [Read The Docs](https://readthedocs.io). This documenation will describe all of the features that are currently available in this module. If some features are not stable and are still under development (beta features), than we will note that as a side note.

## Setting Up Your App to Connect with Pygame Quest

This module is named Pygame Quest but is imported as `pgquest` when you are importing. Below is the first line of code you must call:

```
import pygame
import pgquest  # importation

pygame.init()  # normal pygame
pgquest.init()  # initializing the pygame quest base library
```

`pgquest.init()` has no return value. This starts a special event loop that is constantly checking to see if you closed the window so that it quits the game. If you would not like the event loop to run in the background, write the following statement: `pgquest.init(True)`. This is called the **override**. You may need this feature when you are trying to create a custom close message before closing the game. Do not call the override unless absolutely necessary.

## Connecting Game Data to Module

This is another required step that is quite important. You must connect certain variables to the module instance. To do this, after you initialize the libraries, copy the code below:

```
g = pgquest.gclass()
pgquest.update_public_data(g)
```

> **Warning:** If you do not include the lines of code listed above, the program will crash if you have certain sprite types on screen such as the button.

During each game frame, check if the mouse is down and update `g.mouse_down` to `True` or `False` accordingly. Then call `pgquest.update_public_data(g)`.

## Objects

There are many different objects that are accessible through this library. Below are the ones that currently exist. We plan to add more very soon.

### Button

This is one of the most commonly used widgets as it is very useful for a game. We have already programmed it for you so that you can easily import a button into your game and display it on screen. Notice that currently, in this version of `pgquest`, all buttons are currently static. You cannot change their value or position easily (you can always change their `image` or `rect` attribute if needed desperatly). Below is a code snippet describing how to use the button:

```
sprite_group = pygame.sprite.Group()
btn = Button(window, (0, 0), "Click me!", pgquest.RED, my_font)
btn.callback = callback_function
btn.hover_color = pgquest.GREEN  # notice that you only need to do this if you want to change the hover color, default is black
```

## Conclusion

We hope to add more features to this in the next release. The next release will be on December 1 and this will be a stable version of this release. After that we hope to release another on January 1 that is an pre-release for January 10 release. **Note that none of these dates have been verified yet**.
urwid-satext 0.8.0
SàT extension widgets for Urwid

Urwid SàT extension widgets is a set of widgets for the console user interface library Urwid (http://excess.org/urwid/). This library, originaly made for the Libervia (formerly "SàT") project, was eventually separated so other softwares can use it. Widgets provided include password text box, tab container, dialogs, file chooser etc. Feel free to go to the project page for more informations.
DolaBot-Slate 1.0.1
Python Splatoon-orientated Discord Bot that can interact with SplatTag
Requires Python: >=3.9, <4
Keywords: slapp,slate,splatoon,dola

# Dola
Dola is a Python-based bot specialising in Splatoon and [Slapp](https://github.com/kjhf/SplatTag) but also comes with some utility functions.
Code on [Github](https://github.com/kjhf/DolaBot).

Import prefix is `DolaBot`.

## Requirements
- Python 3.9+

## Bot Setup
* Create a `.env` in the repository root with the following values:

```py
# This is the bot's Discord token from the Developer API page.
BOT_TOKEN="xxxx.xxxx.xxxx"
# This is the bot's Discord Id.
CLIENT_ID=123456789
# This is your Discord Id.
OWNER_ID=123456789
# Path to SplatTagConsole for Slapp things
SLAPP_CONSOLE_PATH=".../SplatTagConsole.dll"
# Path to the Slapp App Data folder
SLAPP_DATA_FOLDER=".../SplatTag"
# Discord id of a logging channel (optional)
LOGS_CHANNEL=870436255777837098
# Bot command symbol (optional). 
# '~' by default or not specified.
# Recommend using a different symbol for local testing.
BOT_COMMAND_SYMBOL="+"
```

You must also set the relevant env values for [SlappPy](https://github.com/kjhf/SlappPy)

### Dockerised setup (not required)
* The Dockerfile assumes SplatTag is under /bin. Adjust if necessary.
  * First, grab SplatTag and put it into the Docker build context, e.g.
  * `. GrabSplatTag.bat`
  
THEN
* With Docker Desktop running,
* `docker build --no-cache --pull --tag="slate.azurecr.io/dola:latest" -f Dockerfile .`

### Test or run with 
* `docker run -t -d slate.azurecr.io/dola`

### Update Azure Image with
After the build step, (note these commands are long in this window!)
* `az login`
* `az acr login --name slate`
* `docker push slate.azurecr.io/dola:latest`
* To stop:
  * `az container stop --name dola --resource-group slapp-resource-group`
* To recreate from scratch (this should also re-pull the image)
  * `az container create --resource-group slapp-resource-group --name dola --image slate.azurecr.io/dola:latest`
  * The username is slate, and the password is in the ACR access keys.
* To start:
  * `az container start --name dola --resource-group slapp-resource-group`

### Azure Cloud setup from scratch
```shell
ACR_NAME=slate.azurecr.io
SERVICE_PRINCIPAL_NAME=acr-service-principal
ACR_REGISTRY_ID=$(az acr show --name $ACR_NAME --query id --output tsv)
SP_APP_ID=$(az ad sp show --id http://$SERVICE_PRINCIPAL_NAME --query appId --output tsv)
echo "Service principal ID: $SP_APP_ID"
SP_PASSWD=$(az ad sp create-for-rbac --name http://$SERVICE_PRINCIPAL_NAME --scopes $ACR_REGISTRY_ID --role acrpull --query password --output tsv)
echo "Service principal password: $SP_PASSWD"
az container create --resource-group slapp-resource-group --name dola --image slate.azurecr.io/dola
```