Skip to main content

A collection of modules useful for low-level development tasks.

Project description

Sysframe

A collection of modules useful for low-level development tasks.

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.

This module is essentially a package providing tools for

Current modules

This framework currently consists of the following modules:

  • pybytes
  • membridge

Usage explanations on these modules can be found under the documentation directory.

Modules

Beside the module-specific explanations, here's a brief mention of each module and their functionality.

Pybytes

Pybytes is a module that offers lossless serialization methods that aim to keep the serialized objects byte size small, while also maintaining fast and practically neglectible serialization speeds. It aims to cover a wide variety of core Python datatypes. Here's a list of all (currently) supported datatypes:

  • str
  • int
  • float
  • bool
  • complex
  • NoneType
  • ellipsis
  • bytes
  • bytearray
  • datetime:
    • timedelta
    • datetime
    • date
    • time
  • uuid.UUID
  • memoryview
  • decimal.Decimal
  • range
  • collections:
    • deque
    • namedtuple
    • Counter
    • OrderedDict

If you need support for additional datatypes, feel free to request them!

Apart from the 'regular' serialization that's widely used today, this module is in development of a storage system that uses the datatype-specific serialization techniques of the regular serializer to create and maintain a storage system, which is basically just SQL, but tailored to Python. This could have multiple different purposes, ranging from a simple cache to essentially a database-like storage.

Membridge

Membridge is an IPC module that aims to simplify the sometimes complex usage of shared memory for you. It automatically manages the shared memory size for you and (de-)serializes everything internally, so that you only have to input the value you want to store, and can retrieve it as well, without having to use a serializer anywhere.

Contact

If you happen to find a problem or have a question or suggestion, feel free to contact me via:

  • Discord: sven_de_pen,
  • Email: boertjens.sven@gmail.com

Alternatively, you can create an issue or start a discussion on the GitHub repository:

sysframe github

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

sysframe-0.4.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (90.0 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

sysframe-0.4.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (98.8 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

sysframe-0.4.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (90.0 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

sysframe-0.4.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (98.6 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

sysframe-0.4.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (90.0 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

sysframe-0.4.1-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (98.9 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

sysframe-0.4.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (90.1 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

sysframe-0.4.1-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (98.8 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

sysframe-0.4.1-cp312-cp312-musllinux_1_2_x86_64.whl (298.0 kB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.2+ x86-64

sysframe-0.4.1-cp312-cp312-musllinux_1_2_i686.whl (308.5 kB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.2+ i686

sysframe-0.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (321.6 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

sysframe-0.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (319.6 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

sysframe-0.4.1-cp311-cp311-musllinux_1_2_x86_64.whl (287.4 kB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.2+ x86-64

sysframe-0.4.1-cp311-cp311-musllinux_1_2_i686.whl (298.9 kB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.2+ i686

sysframe-0.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (307.1 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

sysframe-0.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (310.6 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

sysframe-0.4.1-cp310-cp310-musllinux_1_2_x86_64.whl (282.7 kB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.2+ x86-64

sysframe-0.4.1-cp310-cp310-musllinux_1_2_i686.whl (294.3 kB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.2+ i686

sysframe-0.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (303.0 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

sysframe-0.4.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (305.7 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

sysframe-0.4.1-cp39-cp39-musllinux_1_2_x86_64.whl (281.8 kB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.2+ x86-64

sysframe-0.4.1-cp39-cp39-musllinux_1_2_i686.whl (293.4 kB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.2+ i686

sysframe-0.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (302.0 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

sysframe-0.4.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (305.1 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

sysframe-0.4.1-cp38-cp38-musllinux_1_2_x86_64.whl (286.3 kB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.2+ x86-64

sysframe-0.4.1-cp38-cp38-musllinux_1_2_i686.whl (297.9 kB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.2+ i686

sysframe-0.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (310.2 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

sysframe-0.4.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (312.7 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

sysframe-0.4.1-cp37-cp37m-musllinux_1_2_x86_64.whl (273.6 kB view hashes)

Uploaded CPython 3.7m musllinux: musl 1.2+ x86-64

sysframe-0.4.1-cp37-cp37m-musllinux_1_2_i686.whl (282.8 kB view hashes)

Uploaded CPython 3.7m musllinux: musl 1.2+ i686

sysframe-0.4.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (295.4 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

sysframe-0.4.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (294.5 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

sysframe-0.4.1-cp36-cp36m-musllinux_1_2_x86_64.whl (273.5 kB view hashes)

Uploaded CPython 3.6m musllinux: musl 1.2+ x86-64

sysframe-0.4.1-cp36-cp36m-musllinux_1_2_i686.whl (282.6 kB view hashes)

Uploaded CPython 3.6m musllinux: musl 1.2+ i686

sysframe-0.4.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (295.2 kB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.17+ x86-64

sysframe-0.4.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (294.4 kB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page