Skip to content

Commit

Permalink
Add a pycall!() macro
Browse files Browse the repository at this point in the history
This macro allows you to call Python objects with the most convenient syntax and maximum performance.

The implementation is... complicated. The performance requirements mean that we do a lot of type juggling, including clever tricks. This is a draft; it likely contains bugs and it isn't the most readable.
  • Loading branch information
ChayimFriedman2 committed Aug 30, 2024
1 parent c77b853 commit 12a5926
Show file tree
Hide file tree
Showing 31 changed files with 6,423 additions and 2 deletions.
2 changes: 2 additions & 0 deletions pyo3-macros-backend/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ mod konst;
mod method;
mod module;
mod params;
mod pycall;
mod pyclass;
mod pyfunction;
mod pyimpl;
Expand All @@ -24,6 +25,7 @@ mod quotes;

pub use frompyobject::build_derive_from_pyobject;
pub use module::{pymodule_function_impl, pymodule_module_impl, PyModuleOptions};
pub use pycall::{build_pycall_output, PycallInput};
pub use pyclass::{build_py_class, build_py_enum, PyClassArgs};
pub use pyfunction::{build_py_function, PyFunctionOptions};
pub use pyimpl::{build_py_methods, PyClassMethodsType};
Expand Down
Loading

0 comments on commit 12a5926

Please sign in to comment.