Skip to main content

A powerful Multi-Platform automation SDK using Playwright and Camoufox. Currently supporting for whatsapp

Project description

🚀 Tweakio-Whatsapp Library

The Developer-First WhatsApp Automation Toolkit
Built on Playwright, Camoufox & BrowserForge for maximum reliability and undetectability.


This repository provides a powerful, modular toolkit for WhatsApp automation. Unlike standard libraries, Tweakio is designed for modern, human-like interactions, ensuring safety and longevity for your automation pipelines.

Whether you are building a smart chatbot, an automated alert system, or a workflow for your business, Tweakio gives you the granular control you need.


✨ Features

  • 🛡️ Anti-Detection First: Built on Playwright + Camoufox to mimic real browser fingerprints.
  • 🧩 Modular Architecture: Components like ChatRoller, MessageLoader, and BrowserManager work together or standalone.
  • 🤖 Human-Like Behavior: Simulates natural typing speeds, mouse movements, and pauses.
  • 📡 SQLite Integration: Built-in persistence for message history and state management.
  • ⚡ Dynamic Selectors: Smart element detection that adapts to WhatsApp Web UI changes.

📦 Installation

pip install tweakio-SDK

Note: Requires Python 3.8+

Currently we are supporting Whatsapp Web but in future we will add more support to different platforms

⚡ Quick Start

Here is a complete, working example to login and start listening for messages:

import asyncio
from tweakio_whatsapp import BrowserManager, WhatsappLogin, MessageLoader, ChatLoader


async def main():
    # 1️⃣ Initialize Browser with Anti-Detect capabilities
    browser_manager = BrowserManager(headless=False)
    page = await browser_manager.getPage()

    # 2️⃣ Perform Login (Scan QR Code if needed)
    wp_login = WhatsappLogin(page=page)
    await wp_login.login()

    # 3️⃣ Start Message Loader & Chat Loader
    loader = MessageLoader(page=page)
    chat_loader = ChatLoader(page=page)

    print("🚀 Listening for messages...")

    # 4️⃣ Iterate through chats and fetch messages
    async for chat, name in chat_loader.ChatRoller(cycle=1, MaxChat=3):
        print(f"📂 Checking Chat: {name}")

        async for msg, text, success, data in loader.LiveMessages(
                chat=chat,
                cycle=3  # Check for 3 cycles of live updates
        ):
            print(f"   📩 New Message: {text}")


if __name__ == "__main__":
    asyncio.run(main())

💡 Pro Tip: Check test/play.py in the repository for a more advanced example including chat navigation!


🛠️ Modules Overview

Module Description
BrowserManager Handles browser creation, fingerprinting, and proxy management.
WhastappLogin Manages QR scanning, session saving, and login verification.
MessageLoader Fetches historical and live messages with duplicate protection.
Storage SQLite wrapper for efficient message storage and retrieval.
ChatRoller Automates scrolling and loading old chats.

🤝 Contributing

We welcome contributions! If you have ideas for new features or bug fixes:

  1. Fork the repo 🍴
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request 🚀

📄 License

Distributed under the MIT License. See LICENSE for more information.


Made with passion by the Tweakio Team

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tweakio_sdk-0.1.1.tar.gz (29.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tweakio_sdk-0.1.1-py3-none-any.whl (32.3 kB view details)

Uploaded Python 3

File details

Details for the file tweakio_sdk-0.1.1.tar.gz.

File metadata

  • Download URL: tweakio_sdk-0.1.1.tar.gz
  • Upload date:
  • Size: 29.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for tweakio_sdk-0.1.1.tar.gz
Algorithm Hash digest
SHA256 8ee3c3b49a8b0ac1d0f27dc91279dbb5717af24f6d28e4bcfa6d4d1f203c7499
MD5 8be41d63846a02cba347c3c1ec7e0484
BLAKE2b-256 af65c330fd215fcfb293ef59289aa503f7247da960e4718403e74161fda26a9c

See more details on using hashes here.

File details

Details for the file tweakio_sdk-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: tweakio_sdk-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 32.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for tweakio_sdk-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 66639a0c71edf5f40b366104b38568d536e5e732b5f46e8a68d696be873afd71
MD5 7e685487b0a961f8d7f8da1236e78368
BLAKE2b-256 10f5d9e7a0312310651c641740b38338da7f25a40b2c322b3f0647316c5b1ebd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page