mirror of
https://github.com/apple/pkl.git
synced 2026-01-11 22:30:54 +01:00
Python language bindings #6
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @WillDaSilva on GitHub (Feb 3, 2024).
Currently the following language bindings are supported:
It would be nice to add Python to the list, as it's one of the most popular programming languages, and it is often used to process configuration.
A first step towards achieving this may be the creation of a C API, which Python could then wrap:
@shinybrar commented on GitHub (Feb 4, 2024):
+1 for
PythonSupport. A lot of existing configuration systems, dev/infra/code-ops ecosystem leverage python. Apythonbinding would would be a great addition.@jaanli commented on GitHub (Feb 4, 2024):
+1!!!
@yu-iskw commented on GitHub (Feb 5, 2024):
+1
@Haoyi-Han commented on GitHub (Feb 5, 2024):
+10086
@eliasp commented on GitHub (Feb 5, 2024):
See also the discussion regarding a generic C ABI which would be required for a proper implementation of Python bindings.
@kaizen63 commented on GitHub (Feb 11, 2024):
+1
@tothandor commented on GitHub (Feb 11, 2024):
And then the results could be serialized in Pickle. 😉
@emirkmo commented on GitHub (Feb 11, 2024):
Seems like pickle basically can do what pydantic does. So maybe pydantic V2 generation would make sense? Could then even go via rust instead of C or just generate pydantic Python and have pydantic/Python handle the underlying rust/C as it already does at runtime.
or am I missing the point?
@mmussie commented on GitHub (Feb 24, 2024):
+1
@rlam3 commented on GitHub (Feb 24, 2024):
+1
@kamalmarhubi commented on GitHub (Feb 24, 2024):
Please use emoji reactions on the issue instead of replying to indicate your interest. If you simply want to be notified of updates, you can subscribe to the issue—there's no need to add a comment.
@4ozyCoder commented on GitHub (Feb 25, 2024):
+1
@bioball commented on GitHub (Feb 28, 2024):
For those that are interested in implementing a python binding: we just published a specification for our message passing API, and our binary serialization format.
Our documentation can be found here: https://pkl-lang.org/main/current/bindings-specification/index.html
@fabio-e-azevedo commented on GitHub (Feb 29, 2024):
+1 for
PythonSupport.@ubidefeo commented on GitHub (Mar 9, 2024):
And it should be MicroPython friendly
@jw-y commented on GitHub (Mar 9, 2024):
I made python binding and it can be found here:
It is for evaluator only and doesn't have code generation yet.
But I hope I can implement it soon. Or pull requests are welcome.
@slax32 commented on GitHub (Mar 28, 2024):
+1
@mkemlogic commented on GitHub (Apr 3, 2024):
must have! We use python a lot, but none of the supported languages. I guess C, C++ and Rust would be next
@leo-yang99 commented on GitHub (Apr 3, 2024):
Adding python support would be game changing!
@jw-y commented on GitHub (Apr 15, 2024):
I've also added codegen (though it still needs more testing)
Check it out here pkl-python
@neuromuse commented on GitHub (Apr 23, 2024):
Python you can do it!
@almogtavor commented on GitHub (May 25, 2024):
@bioball it would be great if you'll respond with your thoughts regarding the implementation of @jw-y - https://github.com/jw-y/pkl-python so it’ll get better chances of getting accepted.
As for Pydantic support, I’ve created an issue at the pkl python repository to discuss it.
@jaques-sam commented on GitHub (Aug 20, 2024):
For Rust, you can currently use https://github.com/DevYatsu/pkl_fast