-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bindings python #65
Bindings python #65
Conversation
Porting code from 'cloudproof_python'
Check for successful decryption after refreshing the user key. Update InsufficientAccessPolicy error message to be more accurate.
5633265
to
adb2e1a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very nice! Some changes to be made on error conversion.
Also, you may want to implement your wrappers that way:
struct Attribute(AttributeRust);
This is less noisy then:
pub fn new(axis: &str, name: &str) -> Self {
Self(AttributeRust::new(axis, name))
}
Co-authored-by: Théophile BRÉZOT <[email protected]>
Co-authored-by: Théophile BRÉZOT <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not much to review, great job! 👍
Co-authored-by: Manuthor <[email protected]>
* new python interfaces based on objects rather than functions covering a broader range of functionalities
* new python interfaces based on objects rather than functions covering a broader range of functionalities
* new python interfaces based on objects rather than functions covering a broader range of functionalities
* feat: add serialization benchmarks * feat!: initialize `Serializer` with capacity Use the new method `<impl Serializable>::length()` to initialize the `Serializer` in `<impl Serializable>::try_to_bytes()` with the correct capacity. BREAKING CHANGE: do not write the size of the `ciphertext` of the `plaintext` in the serialization of the `EncryptedHeader` and `PlaintextHeader` respectively. * fix: correct the serialized length Check the length in `test_serialization()` * fix: changelog * fix: python interface Serialization was broken in `encrypt()`. * fix: use "develop" branch of CryptoCore * Bindings python (#65) * new python interfaces based on objects rather than functions covering a broader range of functionalities * chore: update version to 8.0.0 * feat: describe serialization in README * Fix/pyo3 (#72) * fix(PyO3): force return of PyBytes instead of PyByteArray * build(PyO3): add windows build * build(PyO3): add python lib build for macOS * refactor(PyO3): factor code in a macro for python keys * refactor(PyO3): set size of key_bytes for SymmetricKey deserialization * build(pyO3): set version for manylinux build and combine python build with ffi when possible * fix(PyO3): change from_bytes function signature * fix(PyO3): change back authentication_data to Vec<u8> to work with python list * refactor(PyO3): add comments * Fix python build (#76) * build: set custom target_dir to solve osx python and flutter conflicts * fix(PyO3): return metadata from decrypt like in the ffi * refactor(PyO3): rewrite conversion to PyBytes to be more explicit * fix(PyO3): apply review suggestions * chore: fix typos and update README.md * fix: revert breaking change in serialization Co-authored-by: Hugo Rosenkranz-Costa <[email protected]> Co-authored-by: Hugo Rosenkranz-Costa <[email protected]> Co-authored-by: Manuthor <[email protected]>
Features
Technical choices
Manylinux
Abi3
Limitations
No build pipeline for Windows/MacOS yet
Doc string exported but not the functions signature