Python wrapper for the AppGuard library (pybind11)
Project description
AppGuard
Cross-platform C++ library for application instance management and inter-process communication.
Overview
AppGuard provides a simple yet powerful solution for managing application instances and enabling communication between processes. Whether you're building a desktop application that should only run once, or need to pass data between multiple instances of your program, AppGuard has you covered. Disclaimer: While this library has an IPC mechanism, it is only for data exchange between app instances. It is not ment to be a robust IPC implementation. If you want a stable IPC solution, use an other library that can handle IPC more efficiently.
Key Features
Single Instance Management
- Automatically detect if another instance of your application is already running
- Configurable behavior: quit immediately or handle manually
- Cross-platform mutex-based implementation
Inter-Process Communication
- Send messages between application instances
- Callback-based message handling
- Support for structured message routing
- Thread-safe message delivery
Cross-Platform Support
- Windows (Win32 API)
- Linux and macOS (System v messages. Unix based implementation)
Language Bindings
- Native C++ API
- Python bindings with Pythonic interface
- Consistent API across languages
Use Cases
Desktop Applications
Ensure your GUI application only runs one instance, and bring the existing window to focus when users try to launch it again.
Command-Line Tools
Forward command-line arguments from secondary instances to the primary instance for processing.
Building
Fork this repo
git clone https://github.com/still-standing88/app-guard
Install requirements, AppGuard requires SCons,, setuptools, and pybind11 to build with python bindings
pip install -r requirements.txt
scons
Documentation
Documentation can be found here
License
This project is licensed under the MIT License - see the LICENSE file for details.
- GitHub: @still-standing88
- Project: app-guard
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file appguard-1.0.1.tar.gz.
File metadata
- Download URL: appguard-1.0.1.tar.gz
- Upload date:
- Size: 8.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d713462ef596c05bf620eeb679e17824497c25af4403b8703933e49192915aa0
|
|
| MD5 |
96ac4f02a679bf9e28748e25f0f0ec11
|
|
| BLAKE2b-256 |
8564eabfc9ba88b19b33c73cad86fa37f2d229b591b7589d9021558415232dec
|
File details
Details for the file appguard-1.0.1-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: appguard-1.0.1-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 104.6 kB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
12e265d3e98c81483a0432ed8fca52b97feec750f5665da04402f9c30a6d51bf
|
|
| MD5 |
90ec6f7f0d10f272fbd278fe84d70c03
|
|
| BLAKE2b-256 |
8a2268cf0406b89fc75f64c1584e911931c7a07183cad5c2ad811c428c81e15f
|
File details
Details for the file appguard-1.0.1-cp313-cp313-manylinux2014_x86_64.whl.
File metadata
- Download URL: appguard-1.0.1-cp313-cp313-manylinux2014_x86_64.whl
- Upload date:
- Size: 1.3 MB
- Tags: CPython 3.13
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f313691def96ea9611ec5fa87f1c36f2ab0c7e7ba8df37a55ff5d1b66fa04b06
|
|
| MD5 |
a245b0d997550cf2def11068c2515365
|
|
| BLAKE2b-256 |
0beaca73f80702f72cc312aaff8a06a1ca2acdb64ebb14a38a4ce23b21c5b7c5
|
File details
Details for the file appguard-1.0.1-cp313-cp313-macosx_10_13_universal2.whl.
File metadata
- Download URL: appguard-1.0.1-cp313-cp313-macosx_10_13_universal2.whl
- Upload date:
- Size: 208.9 kB
- Tags: CPython 3.13, macOS 10.13+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a9b1287918eba3a4a24867b60a67492bbe7231f12fbfdd01f4e173288da94b04
|
|
| MD5 |
e3b237ce2fa4924497935fbee67e0713
|
|
| BLAKE2b-256 |
c69ced1ebc52e7313e3507cccf7a591cae4ae37d9874049653853d23a953aef8
|
File details
Details for the file appguard-1.0.1-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: appguard-1.0.1-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 104.5 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
792923190f2ed4ae412d360c8e55aab3679f1bbc655e105aa8b7fde3e13d2474
|
|
| MD5 |
904ab7e4673b3a86311fce9b94f6903a
|
|
| BLAKE2b-256 |
14a7c1acda6e37461adac91557dd1960c4ee58af333f6d9cfcaaa427a816c20a
|
File details
Details for the file appguard-1.0.1-cp312-cp312-manylinux2014_x86_64.whl.
File metadata
- Download URL: appguard-1.0.1-cp312-cp312-manylinux2014_x86_64.whl
- Upload date:
- Size: 1.3 MB
- Tags: CPython 3.12
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d2fde6a8282d498a922950666139787e2267915ed5e9f54878564f16ca1ac13e
|
|
| MD5 |
dbfaa26a2a4295a8b5b35e97a751d7c4
|
|
| BLAKE2b-256 |
d8f04fe400097fef5315a912b2c39db867a63cfa39d89ac6787d5fac2c46b9a7
|
File details
Details for the file appguard-1.0.1-cp312-cp312-macosx_10_13_universal2.whl.
File metadata
- Download URL: appguard-1.0.1-cp312-cp312-macosx_10_13_universal2.whl
- Upload date:
- Size: 208.9 kB
- Tags: CPython 3.12, macOS 10.13+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
65bd753a24de616846b5f8017033b7d2d75fedd96d12fa32ad52d5c64a732f68
|
|
| MD5 |
1cbcc24464f471c0766af2e8ef9c10fa
|
|
| BLAKE2b-256 |
097f1c0cf991c0b4bca8e2247c3c346267a7100d723f349122ea3f25e1dde0d9
|
File details
Details for the file appguard-1.0.1-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: appguard-1.0.1-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 103.7 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dd18215e28551856e85178e6c578da3f4af861a0b347f247eb527e0559a44882
|
|
| MD5 |
e52e1cb451975af792d0ede6e7e47773
|
|
| BLAKE2b-256 |
08b2c3217011c1b2a888f590fe6c7ed6063c2d1504bb49e013c3d50deda10e83
|
File details
Details for the file appguard-1.0.1-cp311-cp311-manylinux2014_x86_64.whl.
File metadata
- Download URL: appguard-1.0.1-cp311-cp311-manylinux2014_x86_64.whl
- Upload date:
- Size: 1.3 MB
- Tags: CPython 3.11
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ed9e15c022be558b0b07cd391065bfef899201b820527288b46ff7fa6b3fb2d6
|
|
| MD5 |
6ecfcf73120e554c506bab2d69d28ea7
|
|
| BLAKE2b-256 |
fd815f2b40fa4daabad2a7e8959ace337c7b2f43125f09dbb69cdbfb12d40b01
|
File details
Details for the file appguard-1.0.1-cp311-cp311-macosx_10_9_universal2.whl.
File metadata
- Download URL: appguard-1.0.1-cp311-cp311-macosx_10_9_universal2.whl
- Upload date:
- Size: 208.4 kB
- Tags: CPython 3.11, macOS 10.9+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
db85b8516398d45d6d479b7d20ff08218a935c61681e75cfe698c782c1885101
|
|
| MD5 |
8b943a53696287afbb57482607dd3ff7
|
|
| BLAKE2b-256 |
da1e156573b636c027e936995a18b4b99d82703d9d8093490bb06bc0affb3bda
|
File details
Details for the file appguard-1.0.1-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: appguard-1.0.1-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 102.4 kB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
217c6e33bc257b6824bc81c9bad24841fd613fea696a1aefa88db44cdc1f6b9e
|
|
| MD5 |
224687f4f7094ba1aa67cc91f7ca7596
|
|
| BLAKE2b-256 |
a26cc8d44f83e7e85b51eeda9b1c5908d865aec98bb9a02aac8574d8da259cd3
|
File details
Details for the file appguard-1.0.1-cp310-cp310-manylinux2014_x86_64.whl.
File metadata
- Download URL: appguard-1.0.1-cp310-cp310-manylinux2014_x86_64.whl
- Upload date:
- Size: 1.3 MB
- Tags: CPython 3.10
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0d9ac27f764afd6ead097dd44d7cfa0b9d51bac6bbff14e1f941b1efdc29b802
|
|
| MD5 |
9ded93bf8c81b1978cf50beda73f7903
|
|
| BLAKE2b-256 |
6aae1a151e9b16de99129cbf55802101aeaa66188b4e096db434dfc4460595f1
|
File details
Details for the file appguard-1.0.1-cp310-cp310-macosx_10_9_universal2.whl.
File metadata
- Download URL: appguard-1.0.1-cp310-cp310-macosx_10_9_universal2.whl
- Upload date:
- Size: 205.2 kB
- Tags: CPython 3.10, macOS 10.9+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
88a552fdd7acce486f60f6575964b35dc73965b8e7f9b26446c73fc046c6c682
|
|
| MD5 |
bd1db8920dcf686f1835ce713adaaae2
|
|
| BLAKE2b-256 |
7346673a714e0f70936590ff45ae430ad71e9b10d6763de6d740d44b7f969026
|
File details
Details for the file appguard-1.0.1-cp39-cp39-win_amd64.whl.
File metadata
- Download URL: appguard-1.0.1-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 101.5 kB
- Tags: CPython 3.9, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d8f10961f4bb1db5c4652730b2c5ada74bb2904a5af7bda5e5a7563310b38dbc
|
|
| MD5 |
b4d019abc103f2c11e46824d24535328
|
|
| BLAKE2b-256 |
c3bceaddaf2dcfa3a7f41fa90733ebf64e400e27c416f7a238781b804bd9157f
|
File details
Details for the file appguard-1.0.1-cp39-cp39-manylinux2014_x86_64.whl.
File metadata
- Download URL: appguard-1.0.1-cp39-cp39-manylinux2014_x86_64.whl
- Upload date:
- Size: 1.3 MB
- Tags: CPython 3.9
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7b5e2f462c64da02d3f76c6f290028dc12836d5e4ac5525048cb033489a099e3
|
|
| MD5 |
0de3dbf9db7a2ca928e6020efdd35936
|
|
| BLAKE2b-256 |
a0969f65f291521e38f6cd123e0b65473154fa9de7a37eb67eef925492677cde
|
File details
Details for the file appguard-1.0.1-cp39-cp39-macosx_10_9_universal2.whl.
File metadata
- Download URL: appguard-1.0.1-cp39-cp39-macosx_10_9_universal2.whl
- Upload date:
- Size: 205.6 kB
- Tags: CPython 3.9, macOS 10.9+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cfd8df11619635bb9cf06364c3b96f902b7e47d7fbcc58bcf6266fe7684f35c4
|
|
| MD5 |
eada4f8dc9928b5749c8ce265240f849
|
|
| BLAKE2b-256 |
ab633e514546bd1eea5486e47ead12c623da7becb43a87b43166dd6c034bb3b9
|
File details
Details for the file appguard-1.0.1-cp38-cp38-win_amd64.whl.
File metadata
- Download URL: appguard-1.0.1-cp38-cp38-win_amd64.whl
- Upload date:
- Size: 102.5 kB
- Tags: CPython 3.8, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b8d46acef0f726162e50c565b3e4e2470329caeb0f20d418e8dd9beec160c6c5
|
|
| MD5 |
3c84da249a960c99aadefe46f4fc7ed6
|
|
| BLAKE2b-256 |
19772a75b8366a3300d3a9c357298bcd6d4994c4b4d8bca7ceade629f51837ac
|
File details
Details for the file appguard-1.0.1-cp38-cp38-manylinux2014_x86_64.whl.
File metadata
- Download URL: appguard-1.0.1-cp38-cp38-manylinux2014_x86_64.whl
- Upload date:
- Size: 1.3 MB
- Tags: CPython 3.8
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5710b8706d2d47f7383226535efcf544678a5dd1ee9492114599165f9a36f1f4
|
|
| MD5 |
a1eb2405534876e8db8139b42bdf5f33
|
|
| BLAKE2b-256 |
0fb90fd9ce81c4c75bad3f925c574d8958b423941d2b9d0f3d59aecebf6f4df3
|
File details
Details for the file appguard-1.0.1-cp38-cp38-macosx_11_0_universal2.whl.
File metadata
- Download URL: appguard-1.0.1-cp38-cp38-macosx_11_0_universal2.whl
- Upload date:
- Size: 205.0 kB
- Tags: CPython 3.8, macOS 11.0+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e22b2ca342fbf114ab65883f08bce05b0835c18d550e74eafa65f070b73fc7e2
|
|
| MD5 |
d7a5cd9c6a8c70ad120b9f63be87dff2
|
|
| BLAKE2b-256 |
6b4015a75ebd15249c2b1bca36349b89870fae1457c4cba8e0cb24c5c6d28b57
|