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.2.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.2-cp313-cp313-win_amd64.whl (314.0 kB view details)

Uploaded CPython 3.13Windows x86-64

appguard-1.0.2-cp313-cp313-macosx_11_0_arm64.whl (208.9 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

appguard-1.0.2-cp313-cp313-macosx_10_9_x86_64.whl (208.9 kB view details)

Uploaded CPython 3.13macOS 10.9+ x86-64

appguard-1.0.2-cp312-cp312-win_amd64.whl (314.0 kB view details)

Uploaded CPython 3.12Windows x86-64

appguard-1.0.2-cp312-cp312-macosx_11_0_arm64.whl (208.9 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

appguard-1.0.2-cp312-cp312-macosx_10_9_x86_64.whl (208.8 kB view details)

Uploaded CPython 3.12macOS 10.9+ x86-64

appguard-1.0.2-cp311-cp311-win_amd64.whl (313.5 kB view details)

Uploaded CPython 3.11Windows x86-64

appguard-1.0.2-cp311-cp311-macosx_11_0_arm64.whl (208.4 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

appguard-1.0.2-cp311-cp311-macosx_10_9_x86_64.whl (208.8 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

appguard-1.0.2-cp310-cp310-win_amd64.whl (312.2 kB view details)

Uploaded CPython 3.10Windows x86-64

appguard-1.0.2-cp310-cp310-macosx_11_0_arm64.whl (205.2 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

appguard-1.0.2-cp310-cp310-macosx_10_9_x86_64.whl (115.7 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

appguard-1.0.2-cp39-cp39-win_amd64.whl (311.3 kB view details)

Uploaded CPython 3.9Windows x86-64

appguard-1.0.2-cp39-cp39-macosx_11_0_arm64.whl (205.6 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

appguard-1.0.2-cp39-cp39-macosx_10_9_x86_64.whl (115.8 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

appguard-1.0.2-cp38-cp38-win_amd64.whl (312.3 kB view details)

Uploaded CPython 3.8Windows x86-64

appguard-1.0.2-cp38-cp38-macosx_11_0_arm64.whl (205.0 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

appguard-1.0.2-cp38-cp38-macosx_10_9_x86_64.whl (115.4 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

AppGuard-1.0.2-cp312-cp312-win_amd64.whl (305.6 kB view details)

Uploaded CPython 3.12Windows x86-64

File details

Details for the file appguard-1.0.2.tar.gz.

File metadata

  • Download URL: appguard-1.0.2.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.2.tar.gz
Algorithm Hash digest
SHA256 399dddc5eaf5030004df64d298aa6e150d7e8617f78710290b140a20cfe30d8b
MD5 d529461ccd97be184715d218b2e11d2d
BLAKE2b-256 91ec0cb5c8df66d5544b5b69344a057bdeca51413b5e30c51c6fa48d2d5e2446

See more details on using hashes here.

File details

Details for the file appguard-1.0.2-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: appguard-1.0.2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 314.0 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.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c80043bda1f2c5de8a11d5dc48de91b3802db2ad71353c5545017c5f2ed9cee0
MD5 32b70907ff53e7c9218b6071295f612f
BLAKE2b-256 1ec49f84b69d5fcd47be3bbe66bdc4ea9e6d1ede6f9d2556b33c7749e82c52b8

See more details on using hashes here.

File details

Details for the file appguard-1.0.2-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for appguard-1.0.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7e7d09f46df4d71d7936f8c2ddc06999861f9da287d07c0e9d4cf6be2782b91b
MD5 214c0dec07eccb80f741afea67867b09
BLAKE2b-256 8003e547bbc90191c2091924be11173787856fde7da2b04c418198ce375c3956

See more details on using hashes here.

File details

Details for the file appguard-1.0.2-cp313-cp313-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for appguard-1.0.2-cp313-cp313-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b3fdc7fce9a3bbf055e014460205953d8aea86bc5af416b9386227f8d71d6264
MD5 ca893efdab7ef5861394244e77111607
BLAKE2b-256 56ec94fbbe163f06da922400a940d8dfa9c059bbce20a8bae5e0f782c8d511ab

See more details on using hashes here.

File details

Details for the file appguard-1.0.2-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: appguard-1.0.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 314.0 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.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 4e88079d31896c83b06fe2fadd9fb878407654ee3b316064bde55aa179b746ed
MD5 1088372c37e6572c0f80829bc70b9ba0
BLAKE2b-256 ba73a04f3972c00dab1677a62c29ac80af4e7ba47b3d0d0aeba4d122e3826146

See more details on using hashes here.

File details

Details for the file appguard-1.0.2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for appguard-1.0.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2402015502d53bde80ce096a84020efad1aa3d02febda32df550073691174679
MD5 e38111fcf27f670dbecb0df250370d44
BLAKE2b-256 c66a34c6eaf2d38e74c536947285aa3687c2a8ae5ebe61fc67d293192bb11311

See more details on using hashes here.

File details

Details for the file appguard-1.0.2-cp312-cp312-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for appguard-1.0.2-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 df1e1dcc0e891abfe292e198827a5ef0e95af1778d9d61af3d7c47cede1e2dd4
MD5 b726ca61c352e5a722f0445982411950
BLAKE2b-256 f95341bc6383aea09df519cbe411f6794b13312ff1ff1914fd9cc8a602961a28

See more details on using hashes here.

File details

Details for the file appguard-1.0.2-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: appguard-1.0.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 313.5 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.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e54402d29cc84cae0a738c375950ecf812bdb540eacaefa96ce3e727329b4a9e
MD5 b0786d8654a671981d142011a4073f1a
BLAKE2b-256 f86c6bd8ce487f32fb670532c0ec987eb7b0592c3e319bb53a71d23a76004529

See more details on using hashes here.

File details

Details for the file appguard-1.0.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for appguard-1.0.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7e73f1c14f64cde70bbb5035a95b61b2f001750baa01cc474fd21a1d08b10733
MD5 1679512140f7d60cb2a43e5fa57fc1a0
BLAKE2b-256 56e9dbe3a476f61529a9e3c50e44a6a9f64af824c4e8d4fe5281e74ce19703f8

See more details on using hashes here.

File details

Details for the file appguard-1.0.2-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for appguard-1.0.2-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 66474aefa05e10a8153409ffd6e509fd4f6a62d843a92f5b8acb871f3b20b885
MD5 2833def2306fdd4436d9f8745673f3fd
BLAKE2b-256 e7abb0b224da2ec6da24c8a50c40c6e31e2be34aa5c6c505d7bfea5b76581299

See more details on using hashes here.

File details

Details for the file appguard-1.0.2-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: appguard-1.0.2-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 312.2 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.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 512f08b7ce54fcd1be0e133d847808b68e033bf4ceabf3666bd775714333b0b7
MD5 9af9e4e56dbe3382b6641e27a5a9043f
BLAKE2b-256 8a0c67b1c137e6a1b359d1022a479bb919fa1a57940b4fb39ee815a95e9f60cf

See more details on using hashes here.

File details

Details for the file appguard-1.0.2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for appguard-1.0.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d7d8728c68248732d1079f4c90d2b61f06af274832170c7835391d0f86bc87e4
MD5 cd27ce2ca5ca6718bd7d90235356f1df
BLAKE2b-256 27fa2741b415eb3fdc9e6404ea5e2568323c6a0067e840ae39637dc0d599b2fc

See more details on using hashes here.

File details

Details for the file appguard-1.0.2-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for appguard-1.0.2-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2cbe8a5ce56902421737a2eb9678d4fef11084fe35a5ef4d796b20cdd3207410
MD5 4c50fb17ba357401ad163b63470daf62
BLAKE2b-256 b02b21dc231a9e561fc4d18d9341f8de5cc672a1553af67b93071d64f65bb464

See more details on using hashes here.

File details

Details for the file appguard-1.0.2-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: appguard-1.0.2-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 311.3 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.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 ffa9fdaddef16ac9391a38fee43d03988efd68ad5b0b02a226b430dec3c32c59
MD5 4b6d51254a5513eada87a0f2ed932981
BLAKE2b-256 1a477faf5df318223722deb983f02ac4913da71f79dfbc80a41ce3412c85e15f

See more details on using hashes here.

File details

Details for the file appguard-1.0.2-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for appguard-1.0.2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5894a36ecc78597205aa630e49a9ef8a27826f50bdfccb6cff295044b614d289
MD5 07f73ccd84fdc39f6e3d9d9834e2048e
BLAKE2b-256 fcd80dde207afde77ec1887ef5b6ebdd7b845aa119bef93808c47edc5a22ba53

See more details on using hashes here.

File details

Details for the file appguard-1.0.2-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for appguard-1.0.2-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 cf0875403c0880d1b63cf0ba90b9d0f6510981378f5563d79f1c2e926dc57a9b
MD5 b3e1e91ff0b3faefa38c01cd4f4db6cb
BLAKE2b-256 938391d791ef6c19494aab4d01e7301a1bde5bbe0614f8d9daa4aa1366cb1773

See more details on using hashes here.

File details

Details for the file appguard-1.0.2-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: appguard-1.0.2-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 312.3 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.2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 c15384814cb7eee131ab5a4236b10c9024780a79f7b9aa352bb54e29ef409118
MD5 5963817956e93d443099d4c0ee074e07
BLAKE2b-256 02404eac2dab6e3c7f336110bf745d541b6abd3cdf3cd9bb3a781e4118b6729b

See more details on using hashes here.

File details

Details for the file appguard-1.0.2-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for appguard-1.0.2-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8e619eea8a4cf8d79003099eb9b23f4b6a990978022cb6d99a9b8ae9b3a2e7ff
MD5 b42df289bed24690ca4ded1007ec6a94
BLAKE2b-256 1d0a8489cac3a168bc238957583caf39d255a593b477a6c2b1aef62f194b3496

See more details on using hashes here.

File details

Details for the file appguard-1.0.2-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for appguard-1.0.2-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d14c5be7e6df0c4a8635575b19393d072ac342506fa9563d0e82ea662aa8840c
MD5 7088b7c3242a4c290958d068255d9f67
BLAKE2b-256 a2073298052d656e065d660a473a1ed9a5cf246b6c98811f322c4ad204980e8c

See more details on using hashes here.

File details

Details for the file AppGuard-1.0.2-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: AppGuard-1.0.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 305.6 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.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 58d9fd89bec6edc9714e5e56d39f7e32d818701eb8551b8d434cc409d1edc667
MD5 bb647f32f60cf21131fdb4ccbe719361
BLAKE2b-256 8e63c09b78acb53cffb0281557ea6c495da4713527c6125c8b65a1c2447a26a2

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