semvec/pypi-packages huggingface dataset:
colorchangerPDF 1.0.0
Convert PDFs to dark mode safely, locally using Python
Requires Python: >=3.9

# colorchangerPDF
Many existing tools on the website or Google extensions either don’t work or require you to upload your PDFs to a server, something I don’t trust with personal files. So, I created colorchangerPDF, a Python tool that lets you convert any PDF to a dark mode version, safely on your own machine.

Requirements Python 3.9+ PyMuPDF Pillow NumPy tqdm
watbot 0.1.1
WhatsApp & Instagram Automation Bot with AI-powered responses
Requires Python: >=3.8
Keywords: whatsapp, instagram, bot, automation, ai, chat, messaging, api

# WATBOT - WhatsApp & Instagram Automation Bot

## Quick Links

- 📚 **Documentation**: [README.md](README.md)
- 🚀 **Quick Start**: [QUICKSTART.md](QUICKSTART.md)
- 📦 **Deployment**: [DEPLOYMENT.md](DEPLOYMENT.md)
- 💡 **Examples**: [examples/](examples/)

## Installation & Usage

### Method 1: Interactive (Easiest)
```bash
python start.py
```
Follow the prompts!

### Method 2: Python Script
```python
from watbot import WhatsAppBot

bot = WhatsAppBot()
bot.start()
```

### Method 3: Command Line
```bash
watbot start
```

### Method 4: Custom Config
```python
from watbot import WhatsAppBot, BotConfig

config = BotConfig()
config.whatsapp.monitor_contacts = ["Mom", "Dad"]
config.ai.personality = "friendly and helpful"

bot = WhatsAppBot(config=config)
bot.start()
```

## Features

✅ **Implemented**
- WhatsApp automation with AI responses
- Context-aware conversations
- Multiple contact monitoring
- Debug mode
- Headless/headed browser support
- Custom AI personalities
- Session persistence
- Config file support
- CLI interface
- Python library API

🚧 **Coming Soon**
- Instagram automation
- Advanced analytics
- Web dashboard
- Multi-language support
- Scheduled messages
- Custom triggers

## Project Structure

```
watbot/                    # Python package
├── __init__.py           # Package init
├── config.py             # Configuration
├── whatsapp_bot.py       # WhatsApp wrapper
└── cli.py                # Command-line interface

examples/                  # Usage examples
├── whatsapp_examples.py  # Python examples
└── config_example.json   # Config template

smart_whatsapp_bot.js     # Node.js automation
gemini_bot.py             # AI responses
start.py                  # Interactive launcher
test_watbot.py            # Test suite
```

## Development

```bash
# Clone repo
git clone https://github.com/nithin434/woat.git
cd woat

# Install dependencies
npm install
pip install -e .

# Run tests
python test_watbot.py

# Start bot
python start.py
```

## Support

- 🐛 Report bugs: [GitHub Issues](https://github.com/nithin434/woat/issues)
- 💬 Discussions: [GitHub Discussions](https://github.com/nithin434/woat/discussions)
- 📧 Email: nithin@example.com
- ⭐ Star the repo if you like it!

## License

MIT License - see [LICENSE](LICENSE)

---

Made with ❤️ by [Nithin Jambula](https://github.com/nithin434)
eaterate 0.2.0
Modern Python iterators.
Requires Python: >=3.10
Keywords: iterator

# Eaterate

[GitHub](https://github.com/AWeirdDev/eaterate) ● [Docs](https://aweirddev.github.io/eaterate)

Eaterate *(eet-uh-rate)* is a toolkit of modern Python iterators. Or whatever the hell you wanna call this.

**Key features**:

- **Fully typed**. C'mon, type annotations are just essential these days.
- **Quick protyping**. Just chain everything.
- **Flexible**. Build your custom iterators.

```python
from eaterate import eater

eat = eater("hi!").enumerate()

for index, char in eat:
    print(index, char)

# Output:
# 0 h
# 1 i
# 2 !
```

## Quick tour
With `eaterate`, you can use iterators in the easiest way possible:

```python
eat = (
    eater([1, 2])
    .chain([4, 5])
    .map(lambda i: i * 2)
)

# collects to a list
print(eat.collect(list))

# [2, 4, 8, 10]
```

You can also add separators to your iterator like never before (kind of):

```python
eat = eater([1, 2, 3]).intersperse(500)
for i in eat:
    print(i)

# Output:
# 1
# 500
# 2
# 500
# 3
```

There are a lot more features to try out! Refer to the [Core API](./core.md) reference for more!

## Architecture

Instead of raising `StopIteration` (exception-like) when an iterator ends, `eaterate` uses value wrappers, specifically [`Option[T]`](./utilities.md#eaterate.Option).