Skip to main content

Python utilities for working with common amLib interfaces. Very much not complete!

Project description

amlibpy

This library is a collection of utilities that can be helpful when working with amLib software.

Surfboard (incl Surfride)

It also includes amlibpy.surf, for working with Surfboard files. This library allows both low-level modification of files, as well as providing a high-level interface to common structures. The high-level interface is very incomplete, but changes made through either interface reflect in the other.

Even though the high-level interface is incomplete, all reading and writing of Surfboard files is performed using the low-level interface, and lossless round-tripping is guaranteed. If you manage to cause losssy round-tripping, that's a bug!

The following is an example of how amlibpy.surf can be used to modify all strings in a given surfboard file:

surf = VTBF_Reader(open("example_input.srd", "rb")).load()

assert surf.type == "SRFF"
sr = surf.children[0]

all_text = sr.find_deep(surfride.SurfRide_TEXT)
for i in all_text:
    i.text = b"Hello world!"

VTBF_Writer(open("example_output.srd", "wb")).dump(surf)

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

amlibpy-2025.10.5.post5.tar.gz (72.5 kB view details)

Uploaded Source

Built Distribution

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

amlibpy-2025.10.5.post5-py3-none-any.whl (74.9 kB view details)

Uploaded Python 3

File details

Details for the file amlibpy-2025.10.5.post5.tar.gz.

File metadata

  • Download URL: amlibpy-2025.10.5.post5.tar.gz
  • Upload date:
  • Size: 72.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.0

File hashes

Hashes for amlibpy-2025.10.5.post5.tar.gz
Algorithm Hash digest
SHA256 04d3b71b43fca0bc5cf67a58ce71b6a24c971abaac352802d7659161f29dd6c7
MD5 0f3236c891b91a3c7db50bec3ae3c4a8
BLAKE2b-256 5a7e3f46f7fce3ae87f0b27eec2d7ba23505e822e420b78a3e83e9581b525fc1

See more details on using hashes here.

File details

Details for the file amlibpy-2025.10.5.post5-py3-none-any.whl.

File metadata

File hashes

Hashes for amlibpy-2025.10.5.post5-py3-none-any.whl
Algorithm Hash digest
SHA256 53533e357be7bb1765e3498b26b6c9b10316bc1cdaa194e693120f47ebb3a536
MD5 4d73a0a928e5048d42aab517aca1e4cd
BLAKE2b-256 0a5c3c646d8339e2dbb1d7d93cf7276be880ec4caee8250f146ae1c2e8e0a898

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