semvec/pypi-packages huggingface dataset:
email-scraper 0.6
Simple utility to extract email addresses from HTML, including obfuscated email addresses
Requires Python: >=3.9
Keywords: email, scraping, web, obfuscate

####################################################
Python Module for Scraping Email Addresses from HTML
####################################################

The `email_scraper` module provides a simple method that extracts email addresses from HTML. It is able to find emails
in plain text, links, `atob()` obfuscation and HTML entities obfuscation.

Available on PyPI_.

.. _PyPI: https://pypi.org/pypi/email-scraper/

.. image:: https://github.com/kichik/email-scraper/workflows/Build/badge.svg
   :target: https://github.com/kichik/email-scraper/actions

.. image:: https://badge.fury.io/py/email-scraper.svg
    :target: https://badge.fury.io/py/email-scraper

Usage
-----

  >>> from email_scraper import scrape_emails
  >>> scrape_emails('<html><body><a href="mailto:hello@world.com">email me</a></body></html>')
  {'hello@world.com'}
  >>> scarpe_emails('<a href="javascript:window.location.href=atob(\'bWFpbHRvOmVtYWlsQGV4YW1wbGUuY29t\')">E-Mail</a>')
  {'email@example.com'}
usdm4-pj 0.4.2
A package for processing USDM v4 protocol documents and converting them to a simplified patient format
Requires Python: >=3.12

# USDM Patient Journey

Package to derive patient journey intermediate format from USDM4

# Build Package

Build steps for deployment to pypi.org

- Run `pytest`, ensure coverage and all tests pass
- Run `ruff format`
- Run `ruff check`, ensure no errors
- Build with `python3 -m build --sdist --wheel`
- Upload to pypi.org using `twine upload dist/*`
ErrorFile 0.2.1
一个用于检测图片、文档、压缩包与媒体文件是否损坏的Python包
Requires Python: >=3.7
Keywords: error file check corrupt damage inspector

# ErrorFile

`ErrorFile`是一个用于检测和识别各种文件错误的Python包，包括图片、PDF、Excel和Word文件。通过使用统一的顶层接口，可以快速定位文件中潜在的问题。

## 安装

你可以通过pip安装`ErrorFile`：

```bash
pip install ErrorFile
```

## 快速开始

使用`ErrorFile`非常简单。推荐直接使用顶层函数`inspect_file`：

```python
from ErrorFile import inspect_file

file_path = r'tests/files/TOM_损坏.jpg'
# mode 参数由 inspect_file 统一处理，当前仅支持 'precise'
is_ok, message = inspect_file(file_path, mode='precise')
print(f"File: {file_path}\nOK: {is_ok}\nMessage: {message}")
```

## 支持的文件类型

目前，`ErrorFile`支持以下文件类型的检查：

- 图片（JPEG, JPG, PNG, GIF, BMP, WEBP, TIFF, SVG）
- PDF
- Office 文档（Excel：XLSX、XLS；Word：DOCX；PowerPoint：PPTX）
- 压缩包（ZIP、RAR）
- 媒体文件（MP3、MP4）

## 检测模式

图片文件采用精确检测模式(`precise`)，底层基于 Pillow 的 `verify()` 与 `load()` 方法，能够快速且可靠地发现问题。非图片文件会自动执行相应的深度检查，无需手动配置模式。

## API参考

### `inspect_file(file_path, mode='precise')`

顶层函数，用于检查指定路径的文件是否损坏。

#### 参数

- `file_path`：要检查的文件路径。
- `mode`：（可选）图片检测模式，目前仅支持 `precise`，其它文件类型忽略此参数。

#### 返回

- `(is_ok, message)`：`is_ok`是布尔值，表示文件是否通过检查；`message`是详细描述信息。

## 贡献

欢迎贡献！如果你有任何建议或改进，请提交Pull Request或创建Issue。

## 许可证

`ErrorFile`根据Apache-2.0许可证发布。有关详细信息，请查看LICENSE文件。
hibiscus-sankey 0.0.2
Create Sankey diagrams from Hibiscus csv export
Requires Python: >=3.8

# hibiscus-sankey

Creates sankey plot from [Hibiscus/Jameica](https://www.willuhn.de/products/hibiscus/) `csv` export.

The categories assigned in Hibiscus are shown as Sankey nodes.

## Example

```
$ hibiscus_sankey --div 12 --plot demo.csv
```

![demo.png](demo.png)

## Installation

```
$ pipx install hibiscus_sankey
```

## Usage

```
$ hibiscus_sankey --help
usage: hibiscus_sankey [-h] [--div DIV] [--threshold THRESHOLD] [--plot] csv_files [csv_files ...]

Generate a Sankey diagram from one or more CSV files (category path based).

positional arguments:
  csv_files             One or more CSV files

options:
  -h, --help            show this help message and exit
  --div DIV             Divisor for values (e.g. 12 to show monthly averages from a one year dataset)
  --threshold THRESHOLD
                        Lower threshold for nodes to show up
  --plot                Plot sankey diagram
```

## How to obtain CSV source

`hibiscus_sankey` uses one or more transactions export files from Hibiscus. Note there have to be transactions assigned to categories for any Sankey data to show up. Ideally, all transactions should be categorized.

In Hibiscus, go to *Start -> Hibiscus -> Umsätze*, select an account and a timeframe and hit "Exportieren...". In the dialog that pops up, make sure that "CSV-Format" is selected. The exported CSV file(s) can be directly fed to `hibiscus_sankey`.

### Tips and tricks

* If multiple `csv` files are given, the transactions from the files are just accumulated, as if they were all in one file.
  * If a credit card shows up as a separate account in Hibiscus, it can be combined with the main account like this. Make sure that the re-up on the credit card shows up in the same category as the withdraw for the re-up in the main account (this can be easily achieved with [regular expressions](https://www.willuhn.de/wiki/doku.php?id=handbuch:kategorien#suchbegriffe_fuer_automatische_kategorisierung)). The re-up transactions of both accounts should add up to zero.
* When Plotly gets some parts of the diagram wrong (e.g. intersecting links between nodes), the nodes can easily be rearranged manually in the web browser.

### Other banking software

`hibiscus_sankey` only requires two columns in the `csv`: `"Kategorie-Pfad"`, `"Betrag"` (see `demo.csv`). If you use a different banking tool which also supports CSV export of transactions, it should be easy to adapt either `hibiscus_sankey` or the CSV file to work together.
Rubio 8.0.2
Professional Rubika Bot API V3 Framework @RubioLib

# Rubio ⚔️ (v6.0.0)
### Official Rubika Bot API Library
**Powered by @RubioLib**

Rubio is a high-performance, asynchronous library specifically designed for the official Rubika Bot API (Token-based). It does not support personal accounts to ensure maximum security and compliance with official standards.

---

## ⚡ Features
- **Official API Only**: Strictly supports official Bot API V3.
- **Async/Await**: Built on `httpx` for modern, non-blocking code.
- **Event-Driven**: Clean decorators like `@bot.on_message`.

---

## 🚀 Quick Start

```python
import asyncio
from rubio import Bot, Message

bot = Bot("YOUR_TOKEN")

@bot.on_message(commands=["start"])
async def welcome(bot, message: Message):
    await message.reply("Welcome to Rubio Official! 🚀")

if __name__ == "__main__":
    asyncio.run(bot.run())
```

## 📚 API Reference
- `get_me()`
- `send_message()`
- `edit_message_text()`
- `delete_message()`
- `send_poll()`
- `send_location()`
- `send_contact()`

Join **@RubioLib** for updates.
🛡️ **Built for Security.**