This release is a pre-release and may not be stable for production use.
ahk-json
This is an extension package intended to be used with the Python ahk package.
It provides interfaces from cocobelgica/AutoHotkey-JSON for
working with JSON in AutoHotkey. The extensions in this package do not provide any additional methods,
but simply provide a convenient way to include Jxon.ahk and/or JSON.ahk into other extensions.
This package provides two extensions: JXON and JSON. It also registers a JSON message type (ahk_json.message.JsonResponseMessage)
Installation
Install this extension using pip
pip install ahk-json
Usage
Typically, you use this as a dependency when building your own extensions.
In the following example, a simple extension (my_extension) is created. It implements an AHK function MyTestFunction
-- the registered to the extension using the Python function my_test_function.
from ahk.extensions import Extension
from ahk import AHK
from ahk_json import JXON # importing is necessary for ``extensions='auto'`` to work, even if this is not used
ext_script = '''\
MyTestFunction(ByRef command) {
arg := command[2]
obj := Object("test", arg)
res := Jxon_Dump(obj) ; this is available thanks to the extension
return FormatResponse("ahk_json.message.JsonResponseMessage", res)
}
'''
my_extension = Extension(script_text=ext_script)
@my_extension.register
def my_test_function(ahk: AHK, arg: str):
return ahk.function_call('MyTestFunction', [arg])
def main():
ahk = AHK(extensions='auto') # automatically use all imported/created extensions
# or use the extensions explicitly:
# ahk = AHK(extensions=[JXON, my_extension])
# now ``.my_test_function`` is a method on the `ahk` instance:
assert ahk.my_test_function('foo') == {'test': 'foo'}
License
This work is licensed under the MIT license.
This package includes substantial portions of the original AutoHotkey-JSON. The code included from AutoHotkey-JSON is owned and copyrighted by its original author(s) and is used/redistributed under the terms of the WTFPL.
Metadata
Release files for ahk-json 0.1.0rc2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ahk-json-0.1.0rc2.tar.gz | 11.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ahk_json-0.1.0rc2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 22.5 kB
Release files / ahk-json-0.1.0rc2.tar.gz
| Download URL | ahk-json-0.1.0rc2.tar.gz |
|---|---|
| Size | 11.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
97748224e75d4daecef9b6fa661f82d1fe1b0bdaf1e53efde2c41f2f8aa46469
|
|
BLAKE2b-256 checksum How to use checksums |
eb1d6729ab0c4fbdb23f61f30e2cc0330bc36625be0264a10d094f1eea0fef66
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/4.0.2 CPython/3.11.5
|
Release files / ahk_json-0.1.0rc2-py3-none-any.whl
| Download URL | ahk_json-0.1.0rc2-py3-none-any.whl |
|---|---|
| Size | 11.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
64fcf02a98623df3322ed617bb78652d5aa427cff1180674ab7c792a7e688ff9
|
|
BLAKE2b-256 checksum How to use checksums |
0882c636789d1e970d1ab682968e4f108901fd11014959b076e8c81460e66838
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/4.0.2 CPython/3.11.5
|