Sebastian Pütz
2e8010b5df
Add native Function native types.
...
Add bindings for PyCFunction, PyFunction, PyClassMethod and
PyStaticMethod.
2020-09-08 09:51:31 +02:00
Sebastian Pütz
e65b849ab6
Doc fixes, changelog and rename.
2020-09-05 10:20:22 +02:00
Sebastian Pütz
795c054511
Possible to pass PyModule as first arg.
...
This commit makes it possible to access the module of a function
by passing the `need_module` argument to the pyfn and pyfunction
macros.
2020-09-04 09:01:21 +02:00
Sebastian Pütz
3214249010
Make python function wrapper creation fallible.
...
Wrapping a function can fail if we can't get the module name.
Based on suggestion by @kngwyu
2020-09-03 15:48:32 +02:00
Sebastian Pütz
1f017b66fb
Move py fn wrapper argument expansion to associated function.
...
Suggestion by @kngwyu.
Additionally replace some `expect` calls with error handling.
2020-09-03 15:21:33 +02:00
Sebastian Pütz
5bbca1a052
Set the module of #[pyfunction]
s.
...
Previously neither the module nor the name of the module of
pyfunctions were registered. This commit passes the module and
its name when creating a new pyfunction.
PyModule::add_function and PyModule::add_module have been added and are
set to replace `add_wrapped` in a future release. `add_wrapped` is kept
for compatibility reasons during the transition.
Depending on whether a `PyModule` or `Python` is the argument for the
Python function-wrapper, the module will be registered with the function.
2020-09-03 14:49:28 +02:00
David Hewitt
74f981120d
Merge pull request #1146 from programmerjake/fix-snake-case-warning
...
Add #[allow(non_snake_case)] to function with generated name
2020-09-03 08:27:43 +01:00
Jacob Lifshay
7acf8d9f57
Add #[allow(non_snake_case)] to function with generated name
...
Fixes #1145
2020-09-02 20:32:51 -07:00
David Hewitt
3e86e4c247
Refactor proc_macro optional / python detection
2020-09-02 08:01:21 +01:00
David Hewitt
c5065893dd
Merge pull request #1135 from sebpuetz/remove-duplicate-pool
...
Remove duplicate pool and py in py_init.
2020-09-01 20:47:04 +01:00
Sebastian Puetz
4e7fe6e638
Remove proc-macro panics.
2020-09-01 20:27:47 +02:00
Sebastian Puetz
74ecd15580
Remove duplicate pool and py in py_init.
2020-09-01 19:45:27 +02:00
Sebastian Pütz
0f32f886b8
More FromPyObject derive suggestions by @davidhewitt
2020-08-30 19:16:59 +02:00
Sebastian Pütz
7a9f4a1633
FromPyObject derive suggestions by @kngwyu
2020-08-30 15:33:50 +02:00
Sebastian Pütz
a8c5379eff
Add compile fail tests for FromPyObject derives + some fixes.
...
Fix some error messages and accidental passes.
2020-08-30 12:54:13 +02:00
Sebastian Pütz
7781bb78de
Specify item key and attr name as arguments.
2020-08-30 10:22:01 +02:00
Sebastian Pütz
60fe4925f5
'#[derive(FromPyObject)]` changes suggested by @davidwhewitt.
2020-08-30 10:22:01 +02:00
Sebastian Pütz
7168309464
Derive FromPyObject
2020-08-30 10:22:01 +02:00
kngwyu
3e958bf607
Encapsule slot_setter's behavior to an iterator
2020-08-20 14:41:51 +09:00
kngwyu
f086f48499
Left-hand operands are fellback to RH ones for type mismatching
2020-08-20 14:33:47 +09:00
Yuji Kanagawa
c4d9ab227e
Merge branch 'master' into iterator-example
2020-08-10 17:11:00 +09:00
kngwyu
093dda375f
Improve lifetime insertions for #[pyproto]
2020-08-10 15:18:16 +09:00
David Hewitt
be239d405f
Rework Py methods and documentation
2020-08-09 12:29:25 +01:00
Toru Ogawa
668e5e9d1f
PyObject -> pyo3::PyObject
2020-08-04 20:27:29 +09:00
kngwyu
f5f2e84f4b
Enable &Self in #[pymethods] again
2020-07-28 20:55:38 +09:00
David Hewitt
0764362d17
Remove hidden PyErr::restore_and_minus1 and PyErr::restore_and_null
2020-07-19 22:39:41 +01:00
David Hewitt
c6aa7a8a47
Fix clippy warning of useless conversion
2020-07-17 19:06:56 +01:00
kngwyu
6cbe9ff30d
Bump version to 0.11.1
2020-06-30 14:53:55 +09:00
kngwyu
d76fe7835a
Introduce #[pyclass(unsendable)]
2020-06-30 12:30:17 +09:00
kngwyu
42f592be4c
Fix clippy warning
2020-06-28 14:11:11 +09:00
kngwyu
fd94a0d55c
Bump version to 0.11.0
2020-06-27 23:59:44 +09:00
David Hewitt
c3e993e5a6
Apply suggestions from code review
...
Co-authored-by: Yuji Kanagawa <yuji.kngw.80s.revive@gmail.com>
2020-06-27 14:56:15 +01:00
David Hewitt
e140b729fc
Allow #[getter] and #[setter] functions to take PyRef
2020-06-27 14:55:22 +01:00
David Hewitt
a9c7e12be0
Allow skipping the return type completely for #[pyproto]
methods returning ()
.
2020-06-23 11:51:02 +01:00
David Hewitt
0c59b05e1f
Merge pull request #996 from davidhewitt/pyproto-simplifications
...
Refactor `#[pyproto]` Result types
2020-06-23 11:49:39 +01:00
David Hewitt
c7a4b4770f
Refactor #[pyproto]
Result types
2020-06-23 11:08:36 +01:00
Yuji Kanagawa
f757c99dac
Merge pull request #994 from scalexm/ptr
...
`LazyStaticType::get_or_init` returns an `*mut` instead of a `&` ref
2020-06-23 10:07:43 +09:00
scalexm
863c0001e1
LazyStaticType::get_or_init
returns an *mut
instead of a &
ref
2020-06-22 22:37:11 +02:00
David Hewitt
cc190c9ccd
Remove IntoPyResult
2020-06-22 17:19:00 +01:00
kngwyu
f053bc3881
Fix dealloc implementation to collectly use subtype's tp_free
2020-06-22 10:58:00 +09:00
kngwyu
b70ee9a5ad
Use subclass correctly in tp_new
2020-06-22 01:38:13 +09:00
Yuji Kanagawa
7075827a03
Merge pull request #969 from PyO3/poc-stable-rust
...
Stable Rust
2020-06-21 16:54:59 +09:00
David Hewitt
a1dbfa8c8c
Add pyo3::once_cell::GILOnceCell
2020-06-18 18:53:32 +01:00
kngwyu
a840ebbb5a
Support Rust 1.39.0
2020-06-18 19:59:40 +09:00
kngwyu
fc3fa708b0
Add more comments for #[pyproto] related parts
2020-06-17 13:20:50 +09:00
kngwyu
2e1ed2c3c8
Descr get/set now take receiver
2020-06-15 13:43:46 +09:00
kngwyu
8c4162dfeb
Async methods now takes Receiver
2020-06-14 22:43:07 +09:00
kngwyu
f32277163a
Move nb_bool under PyObjectProtocol again
2020-06-13 15:25:04 +09:00
kngwyu
ac2c51c774
Fix typo and revert unintended changes
2020-06-13 15:25:04 +09:00
kngwyu
d678093509
Remove specialization from async/sequence methods
2020-06-13 15:25:04 +09:00