Skip to main content

Fast Random Access Log

Project description

Fast Random Access Log (FRAL)

FRAL is a concurrency-friendly log structure allocated over shared memory. Reads are random access and writes are non-blocking. The current shared-memory framework uses memory-mapped files. The core engine is written in C++ and Python bindings are provided for higher level and less performance-constrained usage.

Example Usage

# Appender Process
ral_A = FRAL("test.bin")
test_bytes = "TEST".encode()

test_blob = ral_A.allocate(len(test_bytes))
test_blob[:len(test_bytes)] = test_bytes
print(bytes(test_blob).decode())
ral_A.append(test_blob)
# Reader Process
ral_B = FRAL("test.bin")

while True:
    test_blob2 = ral_B[0]
    if test_blob2:
        break
        
print(bytes(test_blob2).decode())
test_blob2[0:1] = 'D'.encode()

test_blob3 = ral_B[0]
print(bytes(test_blob3).decode())

More Info:

See the project repo

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

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

fral-1.0.0-cp312-cp312-macosx_12_0_arm64.whl (41.3 kB view details)

Uploaded CPython 3.12macOS 12.0+ ARM64

fral-1.0.0-cp311-cp311-manylinux_2_17_x86_64.whl (49.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

fral-1.0.0-cp311-cp311-macosx_12_0_arm64.whl (42.1 kB view details)

Uploaded CPython 3.11macOS 12.0+ ARM64

fral-1.0.0-cp310-cp310-manylinux_2_17_x86_64.whl (49.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

fral-1.0.0-cp310-cp310-macosx_12_0_arm64.whl (42.3 kB view details)

Uploaded CPython 3.10macOS 12.0+ ARM64

File details

Details for the file fral-1.0.0-cp312-cp312-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for fral-1.0.0-cp312-cp312-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 36df7d2476d39637eb2dd9e58cdb6a100d000c2b3efa3bb1a207c7876f466b69
MD5 8f7c5bba4dc224ae65c132e8d82ae377
BLAKE2b-256 569e5ea08f70484cdb85240e1cbf732311609466925596b981548e886bf3a3ea

See more details on using hashes here.

File details

Details for the file fral-1.0.0-cp311-cp311-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for fral-1.0.0-cp311-cp311-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 980eaa61ed9fd082c831314ec64fdf98d43e1f58f373dfa7f3c0b435fedd109f
MD5 5f2d5a867d75a6c01404b8f1d8a358aa
BLAKE2b-256 4ee9f68b29b8a136097432db134180edf0f7549a563cbaa28ca0458710caae3e

See more details on using hashes here.

File details

Details for the file fral-1.0.0-cp311-cp311-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for fral-1.0.0-cp311-cp311-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 5232f0ba1e7cd20c6697441a186a75d47b4da104e13990f109849e5f0ce6b671
MD5 5d9864f80fb6e4e0d9e036564ee57a99
BLAKE2b-256 25feaaaa6d779fcf51a9c34a6f5fab6dade787750a20ae38e9677820df0021a0

See more details on using hashes here.

File details

Details for the file fral-1.0.0-cp310-cp310-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for fral-1.0.0-cp310-cp310-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 53b8dd8d5633656f3f03eb1e753cd7f7c28d519d7c3feec96e3620ce563498a6
MD5 6970e8cacfd9bc6aa29f5522b94c1261
BLAKE2b-256 a755fe1610aa670c6fd117e3cf747a0299ce74f184d4f58640e78c928814c87c

See more details on using hashes here.

File details

Details for the file fral-1.0.0-cp310-cp310-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for fral-1.0.0-cp310-cp310-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 5b53016dbb6d2604f8b4d1bd9be764815b95755994bf0fae53c462e19498c775
MD5 84f67f795600f7990677a525ff717d7f
BLAKE2b-256 2af8b99778146c2b5ec7c52bd60809a19ecd65f0fa1e4a13b437a3083dc55828

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