A collection of modules useful for system programming with Python. NOTE: STILL IN DEVELOPMENT
Project description
Sysframe
A framework designed for providing tools to develop system services with.
Introduction
This is a custom framework that provides the tools used by the various system services made by me. This includes modules such as for managing shared memory and other IPC operations, and serialization for converting values to bytes to store them in said shared memory.
Current modules
This framework currently consists of the following modules:
pybytes
membridge
Explanations on how to use these modules are found in module-specific README files, such as README_pybytes.md
for the pybytes
module.
For code-specific documentation, there aren't special README's for that. I've tried to explain each piece of code well enough using in-code comments.
Modules
Here, you can find a brief explanation of each module contained by this package. For detailed explanation per module, you can find a module-specific README in the module dir.
Pybytes
Pybytes is a module that's used for serializing and de-serializing values. It aims to keep the byte size smaller without sacrificing too much performance, making it suitable for system development. It supports a wide range of datatypes, including datatypes from core modules (such as datetime or uuid). The list of available datatypes can be found in the modules README.
Besides that, it also supports any of the standard list types, those being list
, dict
, tuple
, set
and frozenset
. These are also allowed to be nested to a depth of 100.
Membridge
Membridge is a module for IPC operations, allowing independent processes to communicate. This was added to the sysframe package because it supports shared function calls, which can be used to keep the 'main' process of a service the actual service, and have it provide handles to other processes so that they can operate using the main process. This is useful if you want to avoid having multiple processes running the same operations, which can be considered a waste of resources.
Membridge uses the sysframe.pybytes
module for serializing and de-serializing the values to be passed to the shared memory. If you want to use a different serializer that would support other datatypes for example, you can use whichever serializer you want, and pass the received bytes object to membridge, as sysframe.pybytes
supports byte objects.
This module has not been tested yet, and is still being worked on. Thus, it's also not in the package currently.
Contact
If you happen to find a problem or have a question, feel free to contact me via:
- Discord:
sven_de_pen
, - Email:
boertjens.sven@gmail.com
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 Distributions
Built Distributions
Hashes for sysframe-0.2.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5076d166be739bc119f8d22fb21cd415ce237e5975d2f3460f8d2b1ad9935035 |
|
MD5 | 2a3589ce2a9bb06d1149453f667437ec |
|
BLAKE2b-256 | 4a5f5cd9f42ad925482619b50d7a74726da6cb66d6d2e3ecd78d779edc16a92d |
Hashes for sysframe-0.2.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | df4c50c4de548a32e8d199feea111b7b5f919ff3a491a65dffe3d04397a97f78 |
|
MD5 | 3312b74934a7c54bb9bb71a7e2ebd20f |
|
BLAKE2b-256 | ab2b4a15303ccb56e257b7717f3402904dcac6a21095b8ab701d4a60c12e461c |
Hashes for sysframe-0.2.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d82b49d404993c6e31fada87ce736e298627cdf1469e27159e940482dbe7fcb |
|
MD5 | 3346c2cc6416b267df0e70aa4b73a866 |
|
BLAKE2b-256 | b932c027399d081e5cb9572c49d0e52857a1db13a293c57cc56bd9275093fb56 |
Hashes for sysframe-0.2.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 57e2abc63caba4fd5016427dae76e980e1a483f66034cae048ce0503b605a0a4 |
|
MD5 | d7d862cec98f49375eb4e1b8a05f7fdf |
|
BLAKE2b-256 | 6cb2e833ef858dba9e8310991d1c998d639a66a68bd8c6e258469e1c60feb487 |
Hashes for sysframe-0.2.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0f8594be4e8cc45342b045413883de8eba41e60074b9e72a4447c600c87527c6 |
|
MD5 | d6fd6f4657eb09c80dce069c18e4d7f8 |
|
BLAKE2b-256 | a7bc85237b02ed5e0b082c66684334b94ebae1bdca0a9caedccc2256fe192eed |
Hashes for sysframe-0.2.2-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 29fcda589825c246a2ece33385e356a38a1aa5ebb2fe3eb9b43d1e33e8c0386f |
|
MD5 | 440e1e860abf08a1cb4c6a79604319c7 |
|
BLAKE2b-256 | 20fa63110658484daf2d9c00f88f0e9f347fb56afae0c6109c7089e17260f3a7 |
Hashes for sysframe-0.2.2-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2d621f6ce54a09f9869896303dc8e845e791991d2680cd2088c2fc4c19c8297f |
|
MD5 | 6c0af8ba59fc17ff42184a2dfa46ef4b |
|
BLAKE2b-256 | 6385b3779860cc119096e95075d7731afee389677ad37fea17c4ac6f784ce459 |
Hashes for sysframe-0.2.2-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 22c6f033865fe1e9eab79ece07021d3701bc72f174e1a1e314f46d58597534ee |
|
MD5 | 25ef9b4572426e077dfe6d62d366e286 |
|
BLAKE2b-256 | 199ac8bc2c424924c6ac96d4d2990b785dda884b5e0c2d3c484f34c835b752e6 |
Hashes for sysframe-0.2.2-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 932c7694f3c3ec326845b6ec7a006d4e92e818a86e042ee0bf87a3bcd7fc4281 |
|
MD5 | ed718cbb245f29a80e10824dfaddb188 |
|
BLAKE2b-256 | 10abab5d5e9571af38567e63877224420ef09b0ec69bae4b2f8f6494afa58f94 |
Hashes for sysframe-0.2.2-cp312-cp312-musllinux_1_2_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 12e39c856bf3cce45930067d7e0ba498f706d572293b1238df85bb187c6a3435 |
|
MD5 | bd88dd0560ecf89c69101b84e27a8c53 |
|
BLAKE2b-256 | 436b30c7134ede7dff7f5b820a721dab628f77d35aba6cef3c4d9bef88926614 |
Hashes for sysframe-0.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 852fca6e7eeac9cc43bccf29990edb483c2ba196f8be28fb2705d217da1e7572 |
|
MD5 | d035f8c2dc9e6d65128b0c9bf6c110c2 |
|
BLAKE2b-256 | 4252eeb470b372a590f6ec3df90f0fc5cf1cbc8cc5bde58ad990ab00066a3173 |
Hashes for sysframe-0.2.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92edc4ead88c5f326d3a908ce38f89b3126c133e33ad9b918d95fcd680036742 |
|
MD5 | 750bef3726807893219328076d36508d |
|
BLAKE2b-256 | 4d89f665e46cf1236fc132f35bd7aa2101082315e60940c06ce8e309b90eeb60 |
Hashes for sysframe-0.2.2-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d736e2984797b8513713154644c680b60f919fdd1aba1c626537b1169a137d89 |
|
MD5 | 94eff8d3e0d8ab25c6ed6644a8dc2f26 |
|
BLAKE2b-256 | df76147062907051a53839ba53c350705bd9ba29da18628bb21ba1675dbc1198 |
Hashes for sysframe-0.2.2-cp311-cp311-musllinux_1_2_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 90239a9070357a1b3c1af102f6c48d6a2c056b7fdbeec75cb02c047969f50994 |
|
MD5 | 9bb7a3dd7286460d63556ad4d4510068 |
|
BLAKE2b-256 | 30456053216527cbc58bf7714cff0df51347d5609b1c2c3fdf70915cafd36b98 |
Hashes for sysframe-0.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b7dcbd6b5bf4a7b7d79f599f018e8d5b5186d8b07ff1475e159693ebb11a9d1 |
|
MD5 | a6e04e92008507ab2ada1e15883c28b1 |
|
BLAKE2b-256 | 25f72608b8d36e7af7ac24d8b06ed318014cd5ab43b04eda0b2f6744475b316d |
Hashes for sysframe-0.2.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d5cc1db1c43f10654eeab1c34ea82f3b0a13bb56fbe681a445879bd45d3b449 |
|
MD5 | 185181b133457ce8df5221c850a2ce6b |
|
BLAKE2b-256 | fd632de3569f0568a8b1254a6d5b77f487bcb958a7744ed51ee085d73b3f2d83 |
Hashes for sysframe-0.2.2-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5fb642b2b8fb092be2c7977f628a7cac59c3be7420b1abc5076819661a8cc343 |
|
MD5 | e2f8fdb7d7fa1f60e1864f1aa7947aa4 |
|
BLAKE2b-256 | c99d4362ba9a29f55f16277359da3f464f3b4c794b35f0346533407137b61f30 |
Hashes for sysframe-0.2.2-cp310-cp310-musllinux_1_2_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3be700de2ee7e4cac96663734f12c5032c6301946f95e22a795070ef8a457dbe |
|
MD5 | fc869ed2314b3b64bd5fc16bb9f24f5c |
|
BLAKE2b-256 | 80a5b24fb86a48120f7034cd3c2c5e38ae465fcc21ede6395a840367a4185053 |
Hashes for sysframe-0.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c912d367acbae7f300e7378c42ef05d59d88691b66754ba16befb8424f1efe91 |
|
MD5 | f2f2846f9544141313c8ae554f845ef1 |
|
BLAKE2b-256 | 83224f523b6b0af7fb263db5cf849eb46fc32a3494451e81a18305b34387570b |
Hashes for sysframe-0.2.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9d03a50cfce251916d16f342ea817b4ba102f61174f2b7a6a5c9318c9e4f649b |
|
MD5 | 669db62edab054cd625707aa330374ac |
|
BLAKE2b-256 | 2484158ee5b9c984642e46a29db5b8ddd2f611bbcb5dc4f3f189b6456baa5500 |
Hashes for sysframe-0.2.2-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf8500828c2db410fb213107e791b35899e18fb158aa3adac98b171aad4ad4bc |
|
MD5 | 1962b967a8495e6fa5c07603a9a84213 |
|
BLAKE2b-256 | f3c57efc56477d65ac8c5892198d03f3593c2e442909dca91cd96e491cbeaa08 |
Hashes for sysframe-0.2.2-cp39-cp39-musllinux_1_2_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee1770a146ba91cfaa099d7f3c8f9f9fcc19d92633e990a3b3821899d5278a91 |
|
MD5 | 6dbbb4fd1a6ca7171a3556ef22dba426 |
|
BLAKE2b-256 | 7711fce61b6a55bfc51ce30179ad75f6d79556831984963815c2a5579550af5c |
Hashes for sysframe-0.2.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7ec8eac57fcda901d282ffe9c18869250e12e5a755169d7b2effa612716cc8ac |
|
MD5 | a5faab09443c31dc3826e7b8ae7386a2 |
|
BLAKE2b-256 | 3e04f50a12f14041c579df0d80c90a8811480caf86b0b5baeb4fc97fe27ba3d4 |
Hashes for sysframe-0.2.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f469b132667c81e73ca3e784e4b25806e033fe4402bacca7e5c954332e4616fd |
|
MD5 | 42d369c5002cfefb8027f89f5bd97e68 |
|
BLAKE2b-256 | b7a307704851cb5eb7157f5ad5a00216467ae204c49125b8aa98fed07822f974 |
Hashes for sysframe-0.2.2-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e3e7a04d3b9c33069426739375acf2abf9f865503fd49f40b7047b0d4c8f3505 |
|
MD5 | b1d8795ba38f958c7b1a8efc7ed91fd0 |
|
BLAKE2b-256 | 7ff2af7a9a8ada7a6d49031418279f86e02cbe36f3bc3d100a67b4e5979c81a5 |
Hashes for sysframe-0.2.2-cp38-cp38-musllinux_1_2_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e3c72610c030946de4d4efda971e20683f6fd9398ceaf334a2e27c99863a958b |
|
MD5 | 3e2fe0c49fc265dd180c9a165e70e6c6 |
|
BLAKE2b-256 | 0b94fb8d2b2058357e6fb5434b0e0e83fad94614c8c79143fc829501d8f31181 |
Hashes for sysframe-0.2.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e8b3d0e725ce52564eacea3b280eb9abe26dc49df5afa20d8a2a323d0cb5948 |
|
MD5 | 880c49820ca246d4148e7c44e62d8f35 |
|
BLAKE2b-256 | 14951193532cea635a917f76e1dd6d1d5b07cb9dbcbdda5d35a5e8406a417689 |
Hashes for sysframe-0.2.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5235201c3294a4eb30561e5d42ff4180c780a6f2f69dd5310a24f03574e57bcf |
|
MD5 | dd0292d688feacd6517853582eee8dfd |
|
BLAKE2b-256 | 5e9f4f05b35ab2868c9747b09406edc70c26f476fcfc41e8c6c586e0fc6f000a |
Hashes for sysframe-0.2.2-cp37-cp37m-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 42f735d49a6dbb4cf1055d33c6771f06640b917b5e73756c5d2ab1ee00294fac |
|
MD5 | 1ec54df499c21cefce9c8a1f89ffc590 |
|
BLAKE2b-256 | b6c4b33606a51b7b2db5a393b05fef31c37981bf6b8724435dd0cdc6c79ca623 |
Hashes for sysframe-0.2.2-cp37-cp37m-musllinux_1_2_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8db6850c1530b3d9c7a9bbff762a0599e953b44fc3d334ab87590e5b1d393eec |
|
MD5 | 930e9959167c8719864000aac7077be8 |
|
BLAKE2b-256 | c98d4a080ee31a1edc9b78873e17d39407ba317800c9399eb86128a9bc68e618 |
Hashes for sysframe-0.2.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2df1e6aa6fc61bacfd23010e912add91a43b8cbc3388771de2e08b6be9eef522 |
|
MD5 | cbd911f8d80b8286b6efa129808795dd |
|
BLAKE2b-256 | 519527d847b6a78a71032b0db798c7dccf7e9585be1c98aed5850f12194c1b81 |
Hashes for sysframe-0.2.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e6cbf4bc048ca83a76029d01f326ec429337a02b1e8f1ffa02fd7f44e2afafaa |
|
MD5 | 4d86395fc0f4fb1462ee70b2068da2a5 |
|
BLAKE2b-256 | fe6575e35faa69b46341ff0f5e1b1724a17228dfb07e7a2a5c9a7ec49c78db4c |
Hashes for sysframe-0.2.2-cp36-cp36m-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e778f4759b210f14d1a76c0a04edaa48eb5c4f1acf13066b20eab3280bbd3016 |
|
MD5 | c6b4729d9e35617388f44de742707d4a |
|
BLAKE2b-256 | 04740a1fd7ab0de27387a3e7be1838ce3ba0cf4ff2c747485136f0ac4e05c470 |
Hashes for sysframe-0.2.2-cp36-cp36m-musllinux_1_2_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d3597d25a2ace495ee6cdec58e035679198bfd8dc473c7562211be4f16ccf1db |
|
MD5 | f5af32bdcdadaddf950e3904a658b406 |
|
BLAKE2b-256 | fd0eeeb3c1cc14012f5f5527cd238a546f5d421d3995e6ce86378ca5ccb2f27e |
Hashes for sysframe-0.2.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7fd38569246daf0118fd8ec08f4215b6aeddc1df9eb286c22d2180afe0f1c380 |
|
MD5 | c13e8d2899ed26106eac36d7ce91d81a |
|
BLAKE2b-256 | f94cc15a6a82638a326ec4924db019eb5a48fc0bcde0065715fba59ca025b887 |
Hashes for sysframe-0.2.2-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1ce1c06fce0179b039084da626e80f4db2173667dca38fa35b4fcfb5efcebf49 |
|
MD5 | bb961934bdf134c2783dbb7175bc4ab3 |
|
BLAKE2b-256 | 7d5eddd4693f239de0b7504ef1f5f1e1b4b9f7958dc09e522a99601f3ea8a428 |