stayactive


Namestayactive JSON
Version 1.0.1 PyPI version JSON
download
home_pageNone
SummaryA smart activity simulator utility that keeps your computer active while respecting your actual usage
upload_time2025-11-03 06:41:34
maintainerNone
docs_urlNone
authorRajdeep Banik
requires_python>=3.6
licenseMIT License Copyright (c) 2024 Rajdeep Banik Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords activity simulator automation mouse keyboard stay-active
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # StayActive

A smart activity simulator utility that keeps your computer active while respecting your actual usage.

## Features

- **Smart Mouse Movement**: Randomly moves cursor within configurable pixel ranges
- **Periodic Key Presses**: Sends shift key presses at intervals to prevent sleep
- **User Activity Detection**: Automatically pauses when you're actually using your computer
- **Safety First**: Monitors real mouse/keyboard input and gets out of your way
- **Configurable**: Adjustable intervals, movement ranges, and activity timeouts

## Installation

```bash
pip install stayactive
```

## Usage

### Command Line
```bash
stayactive
```

### Python Module
```python
from stayactive import main
main()
```

## How It Works

StayActive runs in the background and:

1. **Moves your mouse cursor** slightly every 3 seconds
2. **Presses the shift key** every 60 seconds (20 × 3s intervals)
3. **Monitors your real activity** using mouse and keyboard listeners
4. **Pauses automatically** when you move the mouse, click, scroll, or type
5. **Resumes after 5 seconds** of inactivity

### Safety Features

- 🔴 **Auto-pause**: Detects real user input and pauses immediately
- 🟢 **Auto-resume**: Waits for inactivity before resuming automation
- 🛡️ **Non-intrusive**: Never interferes with your actual work

## Configuration

You can modify these constants in the source:

```python
MOVE_INTERVAL_SECONDS = 3      # How often to move mouse
MIN_PIXELS_TO_MOVE = 1         # Minimum movement distance
MAX_PIXELS_TO_MOVE = 15        # Maximum movement distance
KEY_PRESS_INTERVAL = 20        # Shift key every N mouse moves
USER_ACTIVITY_TIMEOUT = 5      # Seconds to wait after user stops
```

## Requirements

- Python 3.6+
- pyautogui
- pynput

## License

MIT License - see LICENSE file for details.

## Author

Rajdeep Banik (banik.rajdeep1056@gmail.com)

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "stayactive",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": null,
    "keywords": "activity, simulator, automation, mouse, keyboard, stay-active",
    "author": "Rajdeep Banik",
    "author_email": "Rajdeep Banik <banik.rajdeep1056@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/23/aa/49c9ba10f3aec52e1b6451512b5bfb9b4340eb1fd01f5069354dd601e5d0/stayactive-1.0.1.tar.gz",
    "platform": null,
    "description": "# StayActive\r\n\r\nA smart activity simulator utility that keeps your computer active while respecting your actual usage.\r\n\r\n## Features\r\n\r\n- **Smart Mouse Movement**: Randomly moves cursor within configurable pixel ranges\r\n- **Periodic Key Presses**: Sends shift key presses at intervals to prevent sleep\r\n- **User Activity Detection**: Automatically pauses when you're actually using your computer\r\n- **Safety First**: Monitors real mouse/keyboard input and gets out of your way\r\n- **Configurable**: Adjustable intervals, movement ranges, and activity timeouts\r\n\r\n## Installation\r\n\r\n```bash\r\npip install stayactive\r\n```\r\n\r\n## Usage\r\n\r\n### Command Line\r\n```bash\r\nstayactive\r\n```\r\n\r\n### Python Module\r\n```python\r\nfrom stayactive import main\r\nmain()\r\n```\r\n\r\n## How It Works\r\n\r\nStayActive runs in the background and:\r\n\r\n1. **Moves your mouse cursor** slightly every 3 seconds\r\n2. **Presses the shift key** every 60 seconds (20 \u00d7 3s intervals)\r\n3. **Monitors your real activity** using mouse and keyboard listeners\r\n4. **Pauses automatically** when you move the mouse, click, scroll, or type\r\n5. **Resumes after 5 seconds** of inactivity\r\n\r\n### Safety Features\r\n\r\n- \ud83d\udd34 **Auto-pause**: Detects real user input and pauses immediately\r\n- \ud83d\udfe2 **Auto-resume**: Waits for inactivity before resuming automation\r\n- \ud83d\udee1\ufe0f **Non-intrusive**: Never interferes with your actual work\r\n\r\n## Configuration\r\n\r\nYou can modify these constants in the source:\r\n\r\n```python\r\nMOVE_INTERVAL_SECONDS = 3      # How often to move mouse\r\nMIN_PIXELS_TO_MOVE = 1         # Minimum movement distance\r\nMAX_PIXELS_TO_MOVE = 15        # Maximum movement distance\r\nKEY_PRESS_INTERVAL = 20        # Shift key every N mouse moves\r\nUSER_ACTIVITY_TIMEOUT = 5      # Seconds to wait after user stops\r\n```\r\n\r\n## Requirements\r\n\r\n- Python 3.6+\r\n- pyautogui\r\n- pynput\r\n\r\n## License\r\n\r\nMIT License - see LICENSE file for details.\r\n\r\n## Author\r\n\r\nRajdeep Banik (banik.rajdeep1056@gmail.com)\r\n",
    "bugtrack_url": null,
    "license": "MIT License\r\n        \r\n        Copyright (c) 2024 Rajdeep Banik\r\n        \r\n        Permission is hereby granted, free of charge, to any person obtaining a copy\r\n        of this software and associated documentation files (the \"Software\"), to deal\r\n        in the Software without restriction, including without limitation the rights\r\n        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n        copies of the Software, and to permit persons to whom the Software is\r\n        furnished to do so, subject to the following conditions:\r\n        \r\n        The above copyright notice and this permission notice shall be included in all\r\n        copies or substantial portions of the Software.\r\n        \r\n        THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r\n        SOFTWARE.\r\n        ",
    "summary": "A smart activity simulator utility that keeps your computer active while respecting your actual usage",
    "version": "1.0.1",
    "project_urls": {
        "Homepage": "https://github.com/rajdeepbanik/stayactive",
        "Issues": "https://github.com/rajdeepbanik/stayactive/issues",
        "Repository": "https://github.com/rajdeepbanik/stayactive"
    },
    "split_keywords": [
        "activity",
        " simulator",
        " automation",
        " mouse",
        " keyboard",
        " stay-active"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "dd2095a5d77e836f2011a06927532a796cc9c173ee17220725a192793b6cadfc",
                "md5": "58f145b3fe4bb480cf0e094311e8a919",
                "sha256": "ef5efa1b48429fc59badfaaa66da032b664e8119a1c874d5c01a3aa1418ed32c"
            },
            "downloads": -1,
            "filename": "stayactive-1.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "58f145b3fe4bb480cf0e094311e8a919",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 5694,
            "upload_time": "2025-11-03T06:41:32",
            "upload_time_iso_8601": "2025-11-03T06:41:32.663112Z",
            "url": "https://files.pythonhosted.org/packages/dd/20/95a5d77e836f2011a06927532a796cc9c173ee17220725a192793b6cadfc/stayactive-1.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "23aa49c9ba10f3aec52e1b6451512b5bfb9b4340eb1fd01f5069354dd601e5d0",
                "md5": "2d90cc23d5dd47096675fa7124def269",
                "sha256": "fe77be3be208a1798e9d5ad4e972577587312344216af4220c475ac90fdf961c"
            },
            "downloads": -1,
            "filename": "stayactive-1.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "2d90cc23d5dd47096675fa7124def269",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 5189,
            "upload_time": "2025-11-03T06:41:34",
            "upload_time_iso_8601": "2025-11-03T06:41:34.046424Z",
            "url": "https://files.pythonhosted.org/packages/23/aa/49c9ba10f3aec52e1b6451512b5bfb9b4340eb1fd01f5069354dd601e5d0/stayactive-1.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-11-03 06:41:34",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "rajdeepbanik",
    "github_project": "stayactive",
    "github_not_found": true,
    "lcname": "stayactive"
}
        
Elapsed time: 3.60239s