semvec/pypi-packages huggingface dataset:
ecs-tunnel-mikefrancis 0.0.1
Create local tunnels and sessions to AWS ECS services running in a VPC.
Requires Python: >=3.7

# ecs-tunnel 🚧 WIP 🚧

Create local tunnels and sessions to AWS ECS services running in a VPC.

## Prerequesites

* macOS (sorry)
* [AWS CLI Session Manager plugin](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html)

## Usage

```
usage: ecs-tunnel [-h] [--local-port LOCAL_PORT] [--remote-port REMOTE_PORT]
                  [--region REGION] [--aws-profile AWS_PROFILE]
                  cluster service
```
eventlet-promise-htanwar922 0.1.0
Implementing Javascript-like async Promise in Python for Eventlet-based coroutines.
Requires Python: >=3.7

# Eventlet Promise
This package implements a Javascript-like Promise to use for eventlet threads.

```python
import eventlet as hub
from thread_utils import Promise

def executor_(resolveFunc : Callable[[Any], None], rejectFunc : Callable[[Any], None]):
        t1, t2 = 5, 6
        # print(t1 := 10 * random())
        hub.spawn_after(t1, lambda: print('\tResolving') or resolveFunc(t1))
        hub.spawn_after(t2, lambda: print('\tRejecting') or rejectFunc(TimeoutError("Timed out")))

    # promise = Promise(None)
    promise = Promise(executor_)
    new_promise = promise.then()
    attached = Promise(lambda resolveFunc, _: resolveFunc(new_promise))
    attached.referenceTo(new_promise)
    p1 = Promise.resolve(1).then(2).then()
    p2 = Promise.reject(1).then(2, 2).then().then()
    p3 = p1.then()
    p_all = Promise.all([p1, p3, new_promise, promise])
    p_settled = Promise.allSettled([p1, p2, p3, new_promise, promise])
    p_any = Promise.any([p2, promise.then(), new_promise, promise])
    p_race = Promise.race([new_promise.then(), new_promise.then()])

	while True:
		print(promise)
		print(new_promise)
		print(attached)
		print(p1)
		print(p2)
		print(p3)
		print('all', p_all)
		print('allSettled', p_settled)
		print('any', p_any)
		print('race', p_race)

		hub.sleep(0)	# to allow other eventlet coroutines to work.
		hub.sleep(2)	# so that you don't see all scroll by.
```
robotraconteur-service-browser-gui 0.2.0
Robot Raconteur Service Browser GUI
Requires Python: >=3.6

# Robot Raconteur Service Browser

This repository contains a Service Browser for Robot Raconteur to allow the user to view the available Robot Raconteur 
Services being advertised on the network to which the computer is connected. Use this tool to find the available
services and determine the connection information to use with other clients. This tool will also provide the
candidate connection URLs for the services.

Some clients have built-in discovery abilities that do not require this tool. Check the documentation for the client
you are using to see if this tool is necessary.

### Installation

Install using pip:

```
pip install robotraconteur-service-browser-gui
```

On Linux, it may be necessary to run:

```
python3 -m pip install robotraconteur-service-browser-gui
```


### Running Service Browser

The service browser can be run using the command line:

```
robotraconteur-service-browser-gui
```

Sometimes this convenience script is not in the path. Try invoking it from Python:

```
python -m robotraconteur_service_browser_gui
```

On Linux, use `python3` instead of `python`.

### Using the Service Browser

The service browser will show a list of detected URLs in a list on the top. Select one of the URLs to view the
details about the service.

### License

Apache 2.0
Fastoo 0.1.4
A super-charged FastAPI framework for even faster delivery
Requires Python: >=3.8

# fastoo

A powerful framework for dealing with FastAPI apps.

It includes various utilities for building big FastAPI apps, inclding templates and modules.

## Quickstart

-m means add default modules

```
python -m pip install fastoo==0.1.4
fastoo new blog -m
cd blog
uvicorn app:app --reload
```

### More commands

```
fastoo module bing
```

Creates a new module named bing in modules/

Url defined in info.toml.

Can be changed to what we want. Default is /module_name

### Configs

Define configuration profile in init (development, production, testing)

In your apps import get_settings from init


### Render templates 

consider this

```
.
├── api
│   ├── __init__.py
│   ├── module.py
│   └── templates.py
├── app.py
├── cli.py
├── config.py
├── __init__.py
├── init.py
├── modules
│   └── auth
│       ├── business.py
│       ├── models.py
│       ├── templates
│       │   └── abc.html
│       └── view.py
└── templates
    └── themes
        ├── back
        └── front
            └── dingy
                └── index.html
```

imports 

```python


from fastoo.api.module import Module

from fastapi import APIRouter
from fastapi import Request
from fastapi import Depends

from typing import Annotated

from pydantic_settings import BaseSettings

from init import get_settings

```
If we set render_own_templates to True, render_template will look in a folder called templates in the mdoules folder 

```python

router = APIRouter(include_in_schema=False)
module = Module(__file__, render_own_templates=True)

@router.get("/login/")
def login(request: Request):
    with module.set(request) as m:
        return module.render_template("abc.html", {})
```

This can be overriden using 

```py
module = Module(__file__, render_own_templates=True, templates="custom/path")
```

If you don't want the whole goodies, just call


```py
from fastoo import render_template
...

    return render_template("template/path", {}, request, directory="custom/templates/path")
```

## Modules

Modules must contain info.toml like this

```toml
[base]
url_prefix = "/auth"
```

A module includes 

- view.py
- forms.py # stafrlette-wtforms
- models.py 
- info.toml
- business.py # view logic goes here

## Validation

fastoo.api.validation has these helpful features

- verify_slug # for wtf forms
- is_valid_url
- is_valid_slug
- is_empty_str
- is_alpha_num_underscore