semvec/pypi-packages huggingface dataset:
assemblyline-client 4.9.9
Assemblyline v4 client library
License: MIT
Keywords: development assemblyline client gc canada cse-cst cse cst

# Assemblyline Client Library

The Assemblyline Python client library facilitates issuing requests to Assemblyline.

Documentation can be found here: https://cybercentrecanada.github.io/assemblyline4_docs/integration/python/

# Client d'Assemblyline

Ce client (librairie Python) facilite l'interaction avec l'interface de programmation d'application d'Assemblyline.

La documentation se trouve ici: https://cybercentrecanada.github.io/assemblyline4_docs/fr/integration/python/
btcontrol 0.1.0
Driver-based Bluetooth control framework exposing safe device actions via Python and REST API
License: MIT
Requires Python: >=3.9

# btcontrol

**btcontrol** is a driver-based Bluetooth control framework that exposes
**only the actions a device explicitly supports** as validated API endpoints.

It works across **Bluetooth Classic and BLE**, automatically detecting
interfaces, mapping them to capabilities, and executing actions through
the correct control plane.

> No undocumented hacks. No vendor lock-in. No unsafe guessing.

---

## Features

- Automatic Bluetooth device discovery
- Interface-based capability detection
- Driver system for extensibility
- Safe, allow-listed actions only
- Auto-generated REST API (FastAPI)
- BLE control-plane support (custom devices)
- Audio device support (A2DP / AVRCP)
- Vendor-locked devices are intentionally excluded

---

## Supported Device Interfaces

| Interface               | Examples             | Actions                   |
| ----------------------- | -------------------- | ------------------------- |
| Bluetooth Audio (AVRCP) | Headphones, speakers | play, pause, next, volume |
| Bluetooth HID           | Keyboards, mice      | key events (planned)      |
| BLE GATT (standard)     | Sensors              | read, notify              |
| BLE GATT (custom)       | Your own devices     | command execution         |
| RFCOMM / SPP            | Serial devices       | byte I/O (planned)        |

Devices that hide actions behind proprietary protocols are **not supported by design**.

---

## Installation

```bash
pip install btcontrol
```
textcraft-py 0.1.3
A lightweight, beginner-friendly Python module for text transformation and analysis
License: MIT
Requires Python: >=3.8

# ✨ Textcraft

![PyPI](https://img.shields.io/pypi/v/textcraft-py)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/textcraft-py)
![CI](https://github.com/O-sama12/textcraft/actions/workflows/python-ci.yml/badge.svg)
![License](https://img.shields.io/github/license/O-sama12/textcraft)
![Build](https://github.com/O-sama12/textcraft/actions/workflows/build.yml/badge.svg)

🧵 A lightweight **Python module** for text transformation, cleaning, and basic analysis —  
beginner-friendly and open source.

---

## 🚀 Features

### 🔤 Text Case & Format Conversion
- 🔡 Convert text to lowercase and uppercase
- 🐍 Transform text into `snake_case`
- 🐫 Convert text into `camelCase`
- 🔗 Convert text into `kebab-case`

### 🧹 Text Cleaning Utilities
- 🧽 Remove punctuation from text
- 📐 Normalize multiple spaces into a single space
- 🌐 Generate URL-friendly slugs using `slugify`

### 📊 Basic Text Statistics
- 🧮 Count number of words in text
- 🔢 Count characters (with or without spaces)
- 📑 Count number of sentences

---

## 📦 Installation

Install Textcraft using pip:

```python
pip install textcraft-py
```

or 

clone the repository:

```bash
git clone https://github.com/O-sama12/textcraft
```

then import the module directly:

```python
import textcraft
```


---

## 🧪 Usage / Examples

Basic usage of the `textcraft` module:

```python
import textcraft as txt

text = "This is a textcraft example"

print(txt.to_lowercase(text))   # this is a textcraft example
print(txt.to_uppercase(text))   # THIS IS A TEXTCRAFT EXAMPLE
print(txt.to_snake_case(text))  # this_is_a_textcraft_example
print(txt.to_kebab_case(text))  # this-is-a-textcraft-example
print(txt.to_camel_case(text))  # thisIsATextcraftExample
```

---

## 🤝 Contributing

This project is **beginner-friendly** and welcomes:
- 🐞 Bug reports
- 💡 Feature suggestions
- 🔧 Pull requests

---

## 📄 License

This project is licensed under the  
[MIT License](https://choosealicense.com/licenses/mit/).
etiniconf 0.1.0
An INI file parser
License: MIT
Requires Python: >=3.9

## 介绍
一个解析 ini 文件的库

## 特性
1. API 简洁性: 属性 / 字典双模式访问  
1.1 属性访问模式  
1.2 字典访问模式  
1.3 混合访问模式  
1.4 支持 in 操作符  
2. 异常处理  
2.1 使用异常策略（默认）  
2.2 使用结果策略  
2.3 使用静默策略  

## 环境配置
1. 系统: Linux/Windows
2. 语言: Python 3.9+
3. 依赖安装: pip install etiniconf

## 使用样例:
1. INI文件 config.ini
```
[server]
host = 192.168.0.10
port = 22
```
2. 使用样例
```
import etiniconf

def main(filepath):
    """
    异常策略（默认）:
    conf = etiniconf.ConfiniParserFactory.create_with_exception_strategy(filepath)
    结果策略:
    conf = etiniconf.ConfiniParserFactory.create_with_result_strategy(filepath)  
    静默策略:
    conf = etiniconf.ConfiniParserFactory.create_with_silent_strategy(filepath)
    """
    # 使用静默策略
    conf = etiniconf.ConfiniParserFactory.create_with_silent_strategy(filepath)   

    # 1. 属性访问模式    
    try:
        host = conf.server.host
        port = conf.server.port
        print(f"host={host}, port={port}")
    except AttributeError as e:
        print(f"Error: {e}")
    
    # 2. 字典访问模式
    try:
        host = conf['server']['host']
        port = conf['server']['port']
        print(f"host={host}, port={port}")
    except etiniconf.ConfiniError as e:
        print(f"Error: {e}")
    
    # 3. 混合访问模式
    try:
        host = conf.server['host']
        port = conf['server'].port
        print(f"host={host}, port={port}")
    except (AttributeError, etiniconf.ConfiniError) as e:
        print(f"Error: {e}")
    
    # 4. 支持 in 操作符
    section = 'server1'
    if section in conf:
        print(f"The {section} does exist")
    else:
        print(f"The {section} does not exist")

if __name__ == '__main__':
    f = 'config.ini'
    main(f)
```