semvec/pypi-packages huggingface dataset:
fastapi-base 2.12
FastAPI project structure generator
Requires Python: >=3.6

# FastAPI Base

![Python](https://img.shields.io/badge/Python-3.6%2B-blue)
![License](https://img.shields.io/badge/License-MIT-green)
![Version](https://img.shields.io/badge/Version-1.0-orange)

## Description

**FastAPI Base** is a utility for generating projects and apps in generated projects with simple structure

## Updated
- added **base code generating** in projects and apps

## Installation

To install the utility, use `pip`:

```sh
pip install fastapi-base
```

## Usage

### Command Line

After installation, you can use the utility from the command line with the `fastapi-base` command.

```sh
fastapi-base startproject newproject
```

### Examples

#### Generating project
```sh
fastapi-base startproject myproject
```

#### Generating app
```sh
fastapi-base startapp myapp
```


## Features

- **Generating FastAPI projects**
- **Generating FastAPI apps in generated projects**
- **Generating base code**

## Requirements

- Python 3.6 or higher

## License

This project is licensed under the **MIT License**.

## Authors

- **Dementev Maksim** - *Developer* - [Github profile](https://github.com/idmaksim)
- **Mulin Egor** - *Developer* - [Github profile](https://github.com/bopleromn)
vjwhats 1.1
A Python library to interact with WhatsApp Web using Selenium.
Requires Python: >=3.12

# WhatsApp Library

A Python library to interact with WhatsApp Web using Selenium.
Created by Fioruci, used mainly by VJ Bots.

## Installation

Install the required packages using pip:

```bash
pip install selenium
```

## Usage Example
```python
from vjwhats import WhatsApp
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from pathlib import Path

def main():
    # Configures of the current folder of Chrome/User Data and the desired profile directory
    chrome_options = Options()
    chrome_options.add_argument("user-data-dir=C:/Users/EXAMPLE/AppData/Local/Google/Chrome/User Data")
    chrome_options.add_argument("profile-directory=Default")  # It should be the same user as the connected to the WhatsApp Web

    # Creating the WebDriver with Options
    driver = webdriver.Chrome(options=chrome_options)

    # Creating WhatsApp Instance
    wpp = WhatsApp(driver)

    # Sending a message to Contact 1
    wpp.find_by_username("Contact 1")
    wpp.send_message("Hello, this is a test message!")

    # Sending a file to Contact 2
    wpp.find_by_username("Contact 2")
    wpp.send_file(Path("path/to/file"), which=1)

    # Sending a file to a new Conversation
    wpp.start_conversation("+55999977885")
    wpp.send_file(Path("path/to/file"), which=1)

if __name__ == "__main__":
    main()
```

## Licence
This project is licensed under the MIT License - see the LICENSE file for details.
codemie-client 0.1.11
CodeMie Client
Requires Python: <4.0,>=3.11

# CodeMie Client

A Python client for interacting with the CodeMie API.

## Installation

```bash
pip install codemie-client
```

## Usage

### Initialize CodeMie Client

```python
from codemie_client.client import CodeMieClient


client = CodeMieClient(
    auth_server_url="URL",
    auth_client_id="id",
    auth_client_secret="secret",
    auth_realm_name="codemie-dev",
    codemie_api_domain="https://URL/code-assistant-api"
)

token = client.get_token()
print(token)
```

### Retrieve Assistants

```python

token = "your_keycloak_token"
assistants = client.get_assistants(token=token)
print(assistants)
```

### Talk to Assistant

```python
from codemie_client.conversation import talk_to_assistant
from codemie_client.models import ChatRequest


token = "your_keycloak_token"
request = ChatRequest(
    assistant_id="ID",
    message="Hello!",
    history=[],
)
response_stream = client.talk_to_assistant_stream(request, token)
print(response)
```
pktperf 0.5.9
pktgen scripts tool
Requires Python: >=3.6

# pktperf  ![Pylint Score](https://github.com/junka/pktperf/workflows/Pylint/badge.svg)
pktgen is very useful for network performance test, especially when we don't have multiple nics for dpdk in a vm.

It makes use of the sample scripts in linux kernel [samples/pktgen](https://github.com/torvalds/linux/tree/master/samples/pktgen)

All ```cmds``` in [networking/pktgen.txt](https://www.kernel.org/doc/Documentation/networking/pktgen.txt)

---

Pktperf is python scripts for pktgen (the kernel version).
Also it provides a out of tree pktgen module (tested on kernel 5.4, but supposed to be compatible with 4.15 at mininum). During pip install, it will try builing the module and if not only the original pktgen function can be supported.


## install
```pip3 install pktperf```

## usage
A simple sample command would be 
```
pktperf -i eth0 -s 64 -m 00:78:0a:fa:34:12 -t 12 -c 1200 -d 192.168.10.100 -n 0
```
By default, the flows contain packets with udp src port 9 to 1009. It means sending
1k flows. With ```-p``` you can specify udp dst port range. So if you want send 100k
flows, put ```-p 200-300``` into the parameters.


```-d``` specifies the destination ip address, with ```192.168.0.100/31```, the pktgen will
send packets to both 192.168.0.100 and 192.168.0.101. Or you can use range like port range 
above ```192.168.0.100-192.168.0.101``` instead.



Also, you can use a config file to set packet fields, see ```example.cfg```
```
pktperf -i eth0 --file example.cfg -n 0 -c 10 -t 12
```


Also provide some scenario testcase

Internet mix test case:

```imix_weights size_1:weight_1,size_2:weight_2,...size_n:weight_n```

For example: 
```
imix_weights 40:7,576:4,1500:1

The pkt_size "40" will account for 7 / (7 + 4 + 1) = ~58% of the total
packets sent.

```


micro burst test case:

```microburst duration_poll,duration_idle```

```
microburst 200,100

pktgen will be sending 200ms and then keep 100ms idle, loop follow the pattern
```


During pktgen running, all stats will be display with 1 sec interval
```
Core  0 send                 10894413 pkts: 904722 pps 463217664 bps 0 errors
Core  1 send                 10865308 pkts: 902305 pps 461980160 bps 0 errors
...
Core 11 send                 10907599 pkts: 905816 pps 463777792 bps 0 errors
Total   send                130439679 pkts: 10833488 pps 5546745856 bps  0 errors
```


```pkts``` are exactly the number sent out the each queue, if you see any of them less than
the others, there could be a rate limit for the port or the queue.