Skip to main content

Bot do automatyzacji zadań poprzez Remote Desktop

Project description

desktop-bot

A versatile desktop automation bot with advanced capabilities for UI interaction, task scheduling, remote system management, and AI-powered assistance.

Features

  • UI Automation: Control mouse, keyboard, and screen interactions using PyAutoGUI
  • Computer Vision: Image recognition and OCR capabilities with OpenCV and Tesseract
  • Task Scheduling: Automated task execution with APScheduler and Schedule
  • Remote System Management: Connect to remote systems via SSH using Paramiko
  • Email Integration: Process and respond to emails automatically
  • Natural Language Processing: Understand and generate text using Spacy and Transformers
  • Speech Recognition: Convert speech to text for voice-controlled automation
  • Web API: RESTful interface with Flask for remote control and integration
  • Data Analysis: Process and visualize data with Pandas, Matplotlib and Seaborn

Installation

Prerequisites

  • Python 3.9+
  • For Linux users: Additional system dependencies may be required

System Dependencies

Linux

sudo apt-get update
sudo apt-get install portaudio19-dev python3-dev gcc tesseract-ocr

macOS

brew install portaudio tesseract

Windows

Setup

  1. Clone the repository:

    git clone https://github.com/automatyzer/desktop.git
    cd desktop
    
  2. Install Python dependencies:

    pip install -r requirements.txt
    

    Note: If you encounter issues with PyAudio installation, try:

    pip install --upgrade --no-build-isolation pyaudio
    
  3. Set up environment variables:

    cp .env.example .env
    # Edit .env with your configuration
    

Usage

Basic usage instructions:

# Example code for using desktop
from desktop_bot import Bot

bot = Bot()
bot.start()

Cross-Platform Compatibility

desktop is designed to work across multiple platforms:

  • Windows: Full support with native window management via pygetwindow
  • Linux: Supported with pywinctl for window management
  • macOS: Supported with pywinctl for window management

Advanced Features

Automated UI Testing

Use desktop to automate UI testing by capturing screenshots, recognizing UI elements, and simulating user interactions.

Workflow Automation

Create scheduled tasks to automate repetitive workflows, such as data entry, report generation, or system maintenance.

AI-Assisted Automation

Leverage the integrated NLP capabilities to create intelligent automation that can understand context and adapt to changing conditions.

Configuration

The bot can be configured using environment variables or a .env file. Key configuration options include:

  • LOG_LEVEL: Set logging verbosity (DEBUG, INFO, WARNING, ERROR)
  • SCHEDULER_ENABLED: Enable/disable the task scheduler
  • API_ENABLED: Enable/disable the REST API
  • API_PORT: Port for the REST API server
  • OCR_ENGINE: Select OCR engine configuration

Development

Project Structure

desktop/
├── bot/              # Core bot functionality
├── api/              # REST API implementation
├── nlp/              # Natural language processing modules
├── vision/           # Computer vision and OCR capabilities
├── scheduler/        # Task scheduling implementation
├── utils/            # Utility functions and helpers
├── tests/            # Test suite
└── update/           # Update scripts and tools

Testing

Run tests with pytest:

pytest

For coverage report:

pytest --cov=. tests/

Updating Dependencies

To update project dependencies:

python update/requirements.py

Contributing

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

Troubleshooting

PyAudio Installation Issues

If you encounter issues installing PyAudio:

  1. Ensure you have the required system dependencies installed
  2. Try installing with: pip install --upgrade --no-build-isolation pyaudio
  3. On Windows, you may need to install a pre-built binary: pip install pipwin && pipwin install pyaudio

OCR Functionality

If OCR features aren't working:

  1. Verify Tesseract OCR is properly installed
  2. Check that the Tesseract executable is in your PATH
  3. Set the TESSERACT_CMD environment variable to the Tesseract executable path

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • All the open-source libraries that make this project possible
  • Contributors and community members who have helped improve the project

Quick Start

Local Development

  1. Create virtual environment
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python app.py

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

automatyzer_desktop-0.1.7.tar.gz (59.0 kB view details)

Uploaded Source

Built Distribution

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

automatyzer_desktop-0.1.7-py3-none-any.whl (72.7 kB view details)

Uploaded Python 3

File details

Details for the file automatyzer_desktop-0.1.7.tar.gz.

File metadata

  • Download URL: automatyzer_desktop-0.1.7.tar.gz
  • Upload date:
  • Size: 59.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.0

File hashes

Hashes for automatyzer_desktop-0.1.7.tar.gz
Algorithm Hash digest
SHA256 4e6c5688116dccfdf13d3bfa6d6263326f735b048388566c6c615ad11585a794
MD5 00d610ea0835b0deec8b0a0f8867ebc4
BLAKE2b-256 2ebec746f45cc9d8838ed78ed82cc108316a0e22b6502c1bfc4f0e2f3373a1e3

See more details on using hashes here.

File details

Details for the file automatyzer_desktop-0.1.7-py3-none-any.whl.

File metadata

File hashes

Hashes for automatyzer_desktop-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 af78cfb573a88de78b3b0ff494e24ba91f0a52740736b08bc2fec9bf8309c651
MD5 7381b3b918b02df58bc0a5697939688d
BLAKE2b-256 5c85ff2c12b79426267bb8a294824f716dbea7fb209b91ab93cdd74e0b4bab0c

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