Commit Graph

22 Commits

Author SHA1 Message Date
Benjamin Eckel
5cfa2a0a5e Bump to version 0.0.1-rc.6 (#67)
Co-authored-by: zach <zach@dylib.so>
2022-11-04 14:48:19 -05:00
Benjamin Eckel
cb87a30fb3 docs: Link to the manifest concept doc (#66)
Co-authored-by: Steve Manuel <steve@dylib.so>
2022-11-04 14:04:10 -05:00
Benjamin Eckel
1345921abd docs(python-sdk): Python docs, Makefile, code formatter (#57) 2022-10-28 10:52:31 -05:00
Benjamin Eckel
6c8927cfea test(python-sdk): Add unit tests for python SDK and run in CI (#42) 2022-10-25 09:12:11 -05:00
Benjamin Eckel
92ff5f0040 chore: bump to version v0.0.1-rc.5 (#31) 2022-10-19 15:23:21 -06:00
Benjamin Eckel
6e97f62793 Add extism_version to Host SDK and all clients (#30)
Adds a new Host SDK call `extism_version` which returns the version
string.
2022-10-17 14:15:54 -05:00
Benjamin Eckel
85b3aece6f Add version to Host SDK and all clients 2022-10-17 09:25:22 -05:00
Steve Manuel
b8d2f2d6b3 chore: bump versions for v0.0.1-rc.4 (#24) 2022-09-29 15:52:10 -07:00
zach
52200c90ad fix(python): missing argument 2022-09-23 15:36:57 -07:00
zach
6bad1c43eb fix(python): missing argument 2022-09-22 16:11:34 -07:00
zach
87be73570d Add ExtismContext to SDK + better errors for failed register/update (#19)
- Adds `ExtismContext` instead of global `PLUGINS` registry
- Adds `extism_context_new`, `extism_context_free` and
`extism_context_reset`
- Requires updating nearly every SDK function to add context parameter
- Renames some SDK functions to follow better naming conventions
   - `extism_plugin_register` -> `extism_plugin_new`
   - `extism_output_get` -> `extism_plugin_output_data`
   - `extism_output_length` -> `extism_plugin_output_length`
   - `extism_call` -> `extism_plugin_call`
- Updates `extism_error` to return the context error when -1 issued for
the plug-in ID
- Adds `extism_plugin_free` to remove an existing plugin
- Updates SDKs to include these functions
- Updates SDK examples and comments

Co-authored-by: Steve Manuel <steve@dylib.so>
2022-09-20 14:53:15 -06:00
Steve Manuel
f9e9ff28d9 chore: bump versions for release, minimize c sdk imports (#15)
Co-authored-by: zach <zachshipko@gmail.com>
2022-09-13 13:27:58 -06:00
zach
4a49408045 fix: handle large allocations (missing commits) (#14) 2022-09-13 00:17:05 -06:00
Steve Manuel
e7b3688c11 ci: add host sdk releases (#12)
Adds automated releases for crates.io, pypi, and npm for Rust, Python,
and Node host SDKs respectively.
2022-09-12 13:32:06 -06:00
zach
8bc608d1e9 feat: access input/output buffers directly (#11)
This PR updates `extism_output_get` to return an actual pointer to the
output value (`const uint8_t* extism_output_get(PluginIndex plugin)`
instead of `void extism_output_get(PluginIndex plugin, uint8_t *buffer,
uint64_t length)`), this pointer will only be valid until the next call,
but it makes it possible to access the output data without copying.

The input buffer is also not copied and the same issue applies: 
the input buffer must not change during `call`.

Co-authored-by: Steve Manuel <steve@dylib.so>
2022-09-12 09:34:50 -06:00
Steve Manuel
a174dedc6e fix: provide plugin id to lib config call (#8) 2022-09-09 15:48:15 -06:00
zach
7b27d4f883 feat: add extism_plugin_update (#6)
This gives host the ability to re-use plugin descriptors instead of
loading a new plugin each time. The plugin memory and everything is
reset, so no state is shared with the newly loaded plugin.

Co-authored-by: Steve Manuel <steve@dylib.so>
2022-09-09 00:39:57 -06:00
zach
4fa8030a64 fix(python): print error as string instead of bytes 2022-09-07 12:46:02 -07:00
Steve Manuel
a023369637 chore: prep python sdk for publish 2022-08-30 13:51:27 -06:00
zach
88f69c2536 fix: export set_log_file from python library 2022-08-29 14:15:12 -07:00
zach
64856207d0 refactor: port over missing changes 2022-08-25 20:26:36 -07:00
Steve Manuel
e27fae9193 v0.0.1 alpha
Co-authored-by: Zach Shipko <zach@dylib.so>
2022-08-25 14:36:47 -06:00