Skip to main content

Stuff i use in my projects

Project description

Dexv-Stuff

Stuff i use in my projects

Installation

pip install dexvstuff

Features

  • Logger: My own logger which i like
  • Files: Simplified file operations
  • JsdomRuntime: Execute js in a dom environment
  • Wabt: WebAssembly Binary Toolkit wrapper for Python. For a better WABT wrapper, check out wabt.py

Usage

Logger

from dexvstuff import Logger

# basic logger
log = Logger()

# customized
log = Logger(prefix="Dexv", indent=2)  # prefix is optional, indent can be any number (default is 0)

log.info("This is an info message")
log.success("This is a success message")
log.warning("This is a warning message")
log.failure("This is a failure message")
log.debug("This is a debug message")
log.captcha("This is a captcha message")
log.PETC()  # Press Enter To Continue

Files

from dexvstuff import Files

Files.create("example.txt")
Files.create(["dir1/file1.txt", "dir2/file2.txt"])

Files.write("example.txt", "Dexvstuff is cool")
print(Files.read("example.txt"))
Files.append("example.txt", "\nDexvstuff is even cooler")

print(Files.get_file_size("example.txt"))
Files.delete("example.txt")

JsdomRuntime

from dexvstuff import JsdomRuntime

runtime = JsdomRuntime()

print(runtime.eval("console.log('Dexvstuff is cool')"))
print(runtime.eval("new Promise((resolve) => setTimeout(() => resolve('Dexvstuff is cool'), 1000))", promise=True)) # resolves promises
print(runtime.eval('''(function() { return new Uint8Array([1, 2, 3]) })()''', byte_array=False)) # support js byte arrays

Wabt

from dexvstuff import Wabt

wabt = Wabt()


wat_output, errors = wabt.wasm2wat("example.wasm")
wasm_output, errors = wabt.wat2wasm("example.wat")
objdump_output, errors = wabt.wasm_objdump("example.wasm")
...

Documentation

Logger

  • Logger(prefix=None, indent=0): create a new logger instance
    • prefix: optional string to prefix all messages (default: None)
    • indent: number of spaces to indent messages (default: 0)
  • info(message): info message
  • success(message): success message
  • warning(message): warning message
  • failure(message): error message
  • debug(message): debug message (only shown in debug mode)
  • captcha(message): captcha-related message
  • PETC(): pause execution until Enter is pressed

Files

  • create(path): create file or directory
  • read(path): read file content
  • write(path, content): write content to file
  • append(path, content): append content to file
  • delete(path): delete file
  • get_file_size(path): get file size in bytes
  • exists(path): check if file/directory exists

JsdomRuntime

  • eval(code, promise=False, byte_array=False): execute JavaScript code
    • promise: set to True if code returns a promise
    • byte_array: set to True if code returns a byte array

Wabt

  • wat2wasm(file): convert .wat to .wasm
  • wasm2wat(file): convert .wasm to .wat
  • wasm_objdump(file): inspect WASM file
  • wasm_decompile(file): decompile WASM to C-like code
  • All WABT tools are supported but not all are defined in the wrapper, you can still use them through dynamic attribute access
    • Example: wabt.wasm_validate('file.wasm') will call the wasm-validate tool
    • See WABT documentation for all available tools

License

MIT License - See LICENSE for more information

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

dexvstuff-0.0.7.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

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

dexvstuff-0.0.7-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

File details

Details for the file dexvstuff-0.0.7.tar.gz.

File metadata

  • Download URL: dexvstuff-0.0.7.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.0

File hashes

Hashes for dexvstuff-0.0.7.tar.gz
Algorithm Hash digest
SHA256 2fe192f7a74fe97e83f7434b266d02d295a204b7af5d1447ce43793190b52255
MD5 315527f5da2adc02990d50754ee0e5ab
BLAKE2b-256 c19dc0140b01decb87b0507313a46d551defd5116621340fe92219b3d6519c9f

See more details on using hashes here.

File details

Details for the file dexvstuff-0.0.7-py3-none-any.whl.

File metadata

  • Download URL: dexvstuff-0.0.7-py3-none-any.whl
  • Upload date:
  • Size: 7.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.0

File hashes

Hashes for dexvstuff-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 f6829b1aa30ccf7da9452b17ac2aa75dff1d730f745a717e84cd59c3fed490db
MD5 0ff999a1e5b248533b8059e20597c468
BLAKE2b-256 b0818c059fbde42d838624ab20da204f9f11b3481d51abc6965c4cbbfb427795

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