semvec/pypi-packages huggingface dataset:
profiling-helpers 0.2.0
A small utility library that wraps cProfile and makes it easy to debug performance problems in your Python code.
License: MIT
Requires Python: >=3.7
Keywords: cProfile,profiling,performance

# Profiling Helpers

A small python package that wraps Python's own `cProfile` library to make it more user friendly.


When developing Python programs, you'll sometimes have functions that take a long time to execute and
you are really not sure why. Profiling helps to find and analyze these bottlenecks and guides you
into fixing performance problems. Uses [snakeviz](https://jiffyclub.github.io/snakeviz/) for interactive visualizations.

Install it with `pip install profiling-helpers`.
Visualize profile files with `snakeviz profile_xyz.prof`.

There are two decorators, `time_it` and `profile_it`. Use them anywhere in your code, like this:

```python
from profiling_helpers import time_it, profile_it
from time import sleep

@time_it
def my_slow_function(x):
    sleep(10)
    return x

my_slow_function(42)  # Prints: Function "my_slow_function" took 10.01061 s to run
```


```python
@profile_it("my/profile/save/dir", open_visualization=True)
def my_slow_function(x):
    sleep(10)
    return x

my_slow_function(42)  # Opens snakeviz after this function is completed
```

Profiles are normally saved on the local file system. If you have other save targets, you can
either use included FileSavers (currently only for AWS S3) or implement your own one by inheriting
from the `BaseFileSaver` class. Here is a variant with S3:

```python
from profiling_helpers import profile_it, S3FileSaver

@profile_it(S3FileSaver("s3://my-bucket/my/path/to/profiles/", kms_key_id="..."))
def my_slow_function(x):
    sleep(10)
    return x

my_slow_function(42)
```
je-mail-thunder-dev 0.0.30
Python maillib wrapper
License: MIT
Requires Python: >=3.8

### MailThunder

[![Downloads](https://static.pepy.tech/badge/je-mail-thunder)](https://pepy.tech/project/je-mail-thunder)

[![MailThunder Stable Python3.8](https://github.com/Intergration-Automation-Testing/MailThunder/actions/workflows/mail_thunder_stable_python3_8.yml/badge.svg)](https://github.com/Intergration-Automation-Testing/MailThunder/actions/workflows/mail_thunder_stable_python3_8.yml)

[![MailThunder Stable Python3.9](https://github.com/Intergration-Automation-Testing/MailThunder/actions/workflows/mail_thunder_stable_python3_9.yml/badge.svg)](https://github.com/Intergration-Automation-Testing/MailThunder/actions/workflows/mail_thunder_stable_python3_9.yml)

[![MailThunder Stable Python3.10](https://github.com/Intergration-Automation-Testing/MailThunder/actions/workflows/mail_thunder_stable_python3_10.yml/badge.svg)](https://github.com/Intergration-Automation-Testing/MailThunder/actions/workflows/mail_thunder_stable_python3_10.yml)

[![MailThunder Stable Python3.11](https://github.com/Intergration-Automation-Testing/MailThunder/actions/workflows/mail_thunder_stable_python3_11.yml/badge.svg)](https://github.com/Intergration-Automation-Testing/MailThunder/actions/workflows/mail_thunder_stable_python3_11.yml)

### Documentation
TODO

### Notice
* Default is using Google service provide, but you can change init setting to choose what service provide you want to use.
* We need set the mail_thunder_content.json on current working dir.
``` json
{
  "user": "example@gmail.com",
  "password": "password"
}
```
* Set application password:
  * https://support.google.com/accounts/answer/185833
* Enable IMAP:
  * https://support.google.com/mail/answer/7126229?hl=en
---

> Project Kanban \
> https://github.com/orgs/Integration-Automation/projects/2/views/1
> * Quickly Mail automation.
> * SMTP support.
> * IMAP4 support.
> * Mail Thunder script.
> * Automatically output all mail content as a file.
> * Automatically send mail.
> * Automatically send file.
> * OS Independent.
> * Remote automation support.
> * Project & Template support.
> * Detailed log file.
> * Scheduler.

## install 

```
pip install je_mail_thunder
```

## Requires

```
python 3.8 or later
```
hrbot 0.1.4
The hrbot is a wrapper on top of the HighRise Python Bot SDK that makes it easy to create bots in HighRise.
License: MIT
Requires Python: >=3.10,<4.0


# The hrbot  
The hrbot is a wrapper on top of the [HighRise Python Bot SDK](https://github.com/pocketzworld/python-bot-sdk) that makes it easy to create bots in [HighRise](https://highrise.game/).  
  
Install the library:  
```shell  
pip install hrbot  
```  
# Features:  
- Quick and easy creation of an unlimited number of handlers for any event  
- FSM (finite state machine). Available storage in memory and Redis  
- Large number of available conditions in handlers  
- Web API support
# Unreleased features:
- Spam blocking bypass. Allows you to send an unlimited number of identical messages
# Example:  
```python  
from hrbot import Bot, Dispatcher  
from hrbot.types.hr import User  
  
dp = Dispatcher()  
bot = Bot(  
    api_key='',  
    room_id='',  
    dispatcher=dp  
)  
  
@dp.on_user_join()  
async def user_join(user: User):  
    """Triggers when a player joins a room"""  
    await bot.highrise.chat(f'Hi, {user.username}')  
  
@dp.on_user_leave()  
async def user_leave(user: User):  
    """Triggers when a player leaves the room"""  
    await bot.highrise.chat(f'Goodbye, {user.username}')  
  
@dp.on_chat(command='help', case_ignore=True, prefix='.!')  
async def help_command(user: User, message: str):  
    """Works for .help and !help messages. Not case-sensitive"""  
    await bot.highrise.chat("Some text for help command")  
  
@dp.on_chat()  
async def echo(user: User, message: str):  
    """Works for all chat messages"""  
    await bot.highrise.chat(message)
  
if __name__ == '__main__':  
    bot.start()  
```