Skip to main content

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.

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

appguard-1.0.1.tar.gz (8.5 kB view details)

Uploaded Source

Built Distributions

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

appguard-1.0.1-cp313-cp313-win_amd64.whl (104.6 kB view details)

Uploaded CPython 3.13Windows x86-64

appguard-1.0.1-cp313-cp313-manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.13

appguard-1.0.1-cp313-cp313-macosx_10_13_universal2.whl (208.9 kB view details)

Uploaded CPython 3.13macOS 10.13+ universal2 (ARM64, x86-64)

appguard-1.0.1-cp312-cp312-win_amd64.whl (104.5 kB view details)

Uploaded CPython 3.12Windows x86-64

appguard-1.0.1-cp312-cp312-manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.12

appguard-1.0.1-cp312-cp312-macosx_10_13_universal2.whl (208.9 kB view details)

Uploaded CPython 3.12macOS 10.13+ universal2 (ARM64, x86-64)

appguard-1.0.1-cp311-cp311-win_amd64.whl (103.7 kB view details)

Uploaded CPython 3.11Windows x86-64

appguard-1.0.1-cp311-cp311-manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.11

appguard-1.0.1-cp311-cp311-macosx_10_9_universal2.whl (208.4 kB view details)

Uploaded CPython 3.11macOS 10.9+ universal2 (ARM64, x86-64)

appguard-1.0.1-cp310-cp310-win_amd64.whl (102.4 kB view details)

Uploaded CPython 3.10Windows x86-64

appguard-1.0.1-cp310-cp310-manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.10

appguard-1.0.1-cp310-cp310-macosx_10_9_universal2.whl (205.2 kB view details)

Uploaded CPython 3.10macOS 10.9+ universal2 (ARM64, x86-64)

appguard-1.0.1-cp39-cp39-win_amd64.whl (101.5 kB view details)

Uploaded CPython 3.9Windows x86-64

appguard-1.0.1-cp39-cp39-manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.9

appguard-1.0.1-cp39-cp39-macosx_10_9_universal2.whl (205.6 kB view details)

Uploaded CPython 3.9macOS 10.9+ universal2 (ARM64, x86-64)

appguard-1.0.1-cp38-cp38-win_amd64.whl (102.5 kB view details)

Uploaded CPython 3.8Windows x86-64

appguard-1.0.1-cp38-cp38-manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.8

appguard-1.0.1-cp38-cp38-macosx_11_0_universal2.whl (205.0 kB view details)

Uploaded CPython 3.8macOS 11.0+ universal2 (ARM64, x86-64)

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

Hashes for appguard-1.0.1.tar.gz
Algorithm Hash digest
SHA256 d713462ef596c05bf620eeb679e17824497c25af4403b8703933e49192915aa0
MD5 96ac4f02a679bf9e28748e25f0f0ec11
BLAKE2b-256 8564eabfc9ba88b19b33c73cad86fa37f2d229b591b7589d9021558415232dec

See more details on using hashes here.

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

Hashes for appguard-1.0.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 12e265d3e98c81483a0432ed8fca52b97feec750f5665da04402f9c30a6d51bf
MD5 90ec6f7f0d10f272fbd278fe84d70c03
BLAKE2b-256 8a2268cf0406b89fc75f64c1584e911931c7a07183cad5c2ad811c428c81e15f

See more details on using hashes here.

File details

Details for the file appguard-1.0.1-cp313-cp313-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for appguard-1.0.1-cp313-cp313-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f313691def96ea9611ec5fa87f1c36f2ab0c7e7ba8df37a55ff5d1b66fa04b06
MD5 a245b0d997550cf2def11068c2515365
BLAKE2b-256 0beaca73f80702f72cc312aaff8a06a1ca2acdb64ebb14a38a4ce23b21c5b7c5

See more details on using hashes here.

File details

Details for the file appguard-1.0.1-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for appguard-1.0.1-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 a9b1287918eba3a4a24867b60a67492bbe7231f12fbfdd01f4e173288da94b04
MD5 e3b237ce2fa4924497935fbee67e0713
BLAKE2b-256 c69ced1ebc52e7313e3507cccf7a591cae4ae37d9874049653853d23a953aef8

See more details on using hashes here.

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

Hashes for appguard-1.0.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 792923190f2ed4ae412d360c8e55aab3679f1bbc655e105aa8b7fde3e13d2474
MD5 904ab7e4673b3a86311fce9b94f6903a
BLAKE2b-256 14a7c1acda6e37461adac91557dd1960c4ee58af333f6d9cfcaaa427a816c20a

See more details on using hashes here.

File details

Details for the file appguard-1.0.1-cp312-cp312-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for appguard-1.0.1-cp312-cp312-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d2fde6a8282d498a922950666139787e2267915ed5e9f54878564f16ca1ac13e
MD5 dbfaa26a2a4295a8b5b35e97a751d7c4
BLAKE2b-256 d8f04fe400097fef5315a912b2c39db867a63cfa39d89ac6787d5fac2c46b9a7

See more details on using hashes here.

File details

Details for the file appguard-1.0.1-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for appguard-1.0.1-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 65bd753a24de616846b5f8017033b7d2d75fedd96d12fa32ad52d5c64a732f68
MD5 1cbcc24464f471c0766af2e8ef9c10fa
BLAKE2b-256 097f1c0cf991c0b4bca8e2247c3c346267a7100d723f349122ea3f25e1dde0d9

See more details on using hashes here.

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

Hashes for appguard-1.0.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 dd18215e28551856e85178e6c578da3f4af861a0b347f247eb527e0559a44882
MD5 e52e1cb451975af792d0ede6e7e47773
BLAKE2b-256 08b2c3217011c1b2a888f590fe6c7ed6063c2d1504bb49e013c3d50deda10e83

See more details on using hashes here.

File details

Details for the file appguard-1.0.1-cp311-cp311-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for appguard-1.0.1-cp311-cp311-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ed9e15c022be558b0b07cd391065bfef899201b820527288b46ff7fa6b3fb2d6
MD5 6ecfcf73120e554c506bab2d69d28ea7
BLAKE2b-256 fd815f2b40fa4daabad2a7e8959ace337c7b2f43125f09dbb69cdbfb12d40b01

See more details on using hashes here.

File details

Details for the file appguard-1.0.1-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for appguard-1.0.1-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 db85b8516398d45d6d479b7d20ff08218a935c61681e75cfe698c782c1885101
MD5 8b943a53696287afbb57482607dd3ff7
BLAKE2b-256 da1e156573b636c027e936995a18b4b99d82703d9d8093490bb06bc0affb3bda

See more details on using hashes here.

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

Hashes for appguard-1.0.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 217c6e33bc257b6824bc81c9bad24841fd613fea696a1aefa88db44cdc1f6b9e
MD5 224687f4f7094ba1aa67cc91f7ca7596
BLAKE2b-256 a26cc8d44f83e7e85b51eeda9b1c5908d865aec98bb9a02aac8574d8da259cd3

See more details on using hashes here.

File details

Details for the file appguard-1.0.1-cp310-cp310-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for appguard-1.0.1-cp310-cp310-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0d9ac27f764afd6ead097dd44d7cfa0b9d51bac6bbff14e1f941b1efdc29b802
MD5 9ded93bf8c81b1978cf50beda73f7903
BLAKE2b-256 6aae1a151e9b16de99129cbf55802101aeaa66188b4e096db434dfc4460595f1

See more details on using hashes here.

File details

Details for the file appguard-1.0.1-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for appguard-1.0.1-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 88a552fdd7acce486f60f6575964b35dc73965b8e7f9b26446c73fc046c6c682
MD5 bd1db8920dcf686f1835ce713adaaae2
BLAKE2b-256 7346673a714e0f70936590ff45ae430ad71e9b10d6763de6d740d44b7f969026

See more details on using hashes here.

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

Hashes for appguard-1.0.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 d8f10961f4bb1db5c4652730b2c5ada74bb2904a5af7bda5e5a7563310b38dbc
MD5 b4d019abc103f2c11e46824d24535328
BLAKE2b-256 c3bceaddaf2dcfa3a7f41fa90733ebf64e400e27c416f7a238781b804bd9157f

See more details on using hashes here.

File details

Details for the file appguard-1.0.1-cp39-cp39-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for appguard-1.0.1-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7b5e2f462c64da02d3f76c6f290028dc12836d5e4ac5525048cb033489a099e3
MD5 0de3dbf9db7a2ca928e6020efdd35936
BLAKE2b-256 a0969f65f291521e38f6cd123e0b65473154fa9de7a37eb67eef925492677cde

See more details on using hashes here.

File details

Details for the file appguard-1.0.1-cp39-cp39-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for appguard-1.0.1-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 cfd8df11619635bb9cf06364c3b96f902b7e47d7fbcc58bcf6266fe7684f35c4
MD5 eada4f8dc9928b5749c8ce265240f849
BLAKE2b-256 ab633e514546bd1eea5486e47ead12c623da7becb43a87b43166dd6c034bb3b9

See more details on using hashes here.

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

Hashes for appguard-1.0.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 b8d46acef0f726162e50c565b3e4e2470329caeb0f20d418e8dd9beec160c6c5
MD5 3c84da249a960c99aadefe46f4fc7ed6
BLAKE2b-256 19772a75b8366a3300d3a9c357298bcd6d4994c4b4d8bca7ceade629f51837ac

See more details on using hashes here.

File details

Details for the file appguard-1.0.1-cp38-cp38-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for appguard-1.0.1-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5710b8706d2d47f7383226535efcf544678a5dd1ee9492114599165f9a36f1f4
MD5 a1eb2405534876e8db8139b42bdf5f33
BLAKE2b-256 0fb90fd9ce81c4c75bad3f925c574d8958b423941d2b9d0f3d59aecebf6f4df3

See more details on using hashes here.

File details

Details for the file appguard-1.0.1-cp38-cp38-macosx_11_0_universal2.whl.

File metadata

File hashes

Hashes for appguard-1.0.1-cp38-cp38-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 e22b2ca342fbf114ab65883f08bce05b0835c18d550e74eafa65f070b73fc7e2
MD5 d7a5cd9c6a8c70ad120b9f63be87dff2
BLAKE2b-256 6b4015a75ebd15249c2b1bca36349b89870fae1457c4cba8e0cb24c5c6d28b57

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