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.9.tar.gz (6.8 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.9-py3-none-any.whl (7.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: dexvstuff-0.0.9.tar.gz
  • Upload date:
  • Size: 6.8 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.9.tar.gz
Algorithm Hash digest
SHA256 d2cc4a3ca0528d2dc6a780fda806637bcc988abd75608b0cd1c73102d5757b05
MD5 1f5f52ecaf7b986e1dc84dc366f7c4d3
BLAKE2b-256 bd742646f20e2d451abf2b362ba60f02793886a9f60b90fa73c136bb9ef7df3b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dexvstuff-0.0.9-py3-none-any.whl
  • Upload date:
  • Size: 7.5 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.9-py3-none-any.whl
Algorithm Hash digest
SHA256 fd145ec6e04154fdcd894253aa40d51975b2c47ebe5d1769ca9a0961efe1e7b5
MD5 cf35a4998e6da8fdd94b00f8bb545ff2
BLAKE2b-256 2807d8676213dee3dbd7dd85c68406acfed2cd4a9936dfe26584335fa17e494f

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