kngwyu
9b5ea3f46b
More ergonomic error messages for invalid #[pyclass] args
2020-03-22 17:13:02 +09:00
kngwyu
89e5a654ad
Bump version to 0.9.0
2020-03-19 13:48:00 +09:00
kngwyu
02ee7a5afc
Expose PyAny to lib.rs and prelude
2020-03-18 13:38:18 +09:00
kngwyu
8480396a22
Specify default-features = false for proc-macro related ctates
2020-03-16 19:50:09 +09:00
Yuji Kanagawa
9c3331e66c
Merge pull request #795 from PyO3/relase-0.9
...
Write migration guide
2020-03-13 19:11:51 +09:00
David Hewitt
759dbeaed7
Fix clippy lifetime lint
2020-03-10 18:49:23 +00:00
kngwyu
107c0cf1ba
Unify AsPyRef for Py<T> to make rust-numpy work
2020-03-09 18:31:43 +09:00
kngwyu
26fe29f0cb
Some refactorings for pyfunction.rs
2020-03-06 19:01:05 +09:00
kngwyu
cea707dd1c
Inhibit positional args after *
2020-03-06 14:01:27 +09:00
kngwyu
25069baef4
Fix the interpretation of '*'
2020-03-04 23:48:46 +09:00
kngwyu
e63e0cbf5a
Make it enable to take &PyClass as arguments as pyfunctions/methods
2020-03-04 13:37:26 +09:00
kngwyu
6307c25b81
Remove static mut from make_module
2020-03-03 18:46:20 +09:00
kngwyu
ee0c178fed
Remove ObjectProtocol::get_base and fix class.md
2020-03-02 13:08:37 +09:00
kngwyu
68a3b15943
Use PyBorrowFlagLayout to ensure the baseclass has a borrow flag
2020-02-23 01:02:14 +09:00
kngwyu
c2a40fbf70
Modify CallbackConverter so that it can deal with try_borrow well
2020-02-22 20:01:08 +09:00
Yuji Kanagawa
98d810e662
Apply suggestions from davidhewitt's review
...
Co-Authored-By: David Hewitt <1939362+davidhewitt@users.noreply.github.com>
2020-02-18 12:51:02 +09:00
kngwyu
2fd2185052
Merge branch 'master' into pycell
2020-02-17 00:07:15 +09:00
kngwyu
8f8b42591a
Fix PySelf and AsPyRef
2020-02-16 23:54:55 +09:00
David Hewitt
d5509424b2
Make #[pymethods] aware of #[cfg]
2020-02-15 14:07:48 +00:00
kngwyu
da4ed398bb
Fix PyCell to share BorrowFlag with parents
2020-02-15 18:13:39 +09:00
kngwyu
7b3de17d81
Run cargo fmt
2020-02-10 18:18:44 +09:00
Yuji Kanagawa
0eb4eb4e58
Merge branch 'master' into property-fixes
2020-02-10 15:13:19 +09:00
kngwyu
a6fed34e23
Fix clippy warnings in build.rs and tests
2020-02-10 14:53:13 +09:00
David Hewitt
de9698e7a5
Changes from PR#760
2020-02-09 11:06:44 +00:00
David Hewitt
cea8a9a2b0
Refactor to clean up property descriptor macros
2020-02-08 18:57:30 +00:00
kngwyu
a2408cacbb
Rename PyClassShell with PyCell
2020-02-08 15:05:13 +09:00
kngwyu
50de21abb7
Use AtomicBool for lazy types
2020-02-08 14:03:57 +09:00
David Hewitt
f8c8b8effd
Fix for PyObject with #[pyo3(get)]
2020-02-07 19:31:13 +00:00
kngwyu
58a0841ff7
Rewrite LazyTypeObjects without once_cell
2020-02-07 00:10:27 +09:00
kngwyu
f8de335b00
Make PyTypeInfo::type_object return &'static instead of NonNull
2020-02-06 19:11:59 +09:00
Yuji Kanagawa
14980d742d
Merge pull request #755 from davidhewitt/property-doc
...
Fix docstrings generated by `[pyo3(get, set)]`
2020-02-03 18:14:54 +09:00
David Hewitt
dfb7d7c58d
Fix docstrings generated by [pyo3(get, set)]
2020-02-03 08:01:30 +00:00
David Hewitt
04f30c5971
Revisions from PR#751
2020-02-03 07:34:42 +00:00
David Hewitt
7531b9fb07
Remove even more uses of static mut
2020-01-30 13:24:55 +00:00
David Hewitt
5cbdef6471
Remove static mut from PyTypeInfo implementation
2020-01-30 00:14:27 +00:00
David Hewitt
a8ec946fc3
Fix usage of raw idents with #[pyo3(set)]
2020-01-27 10:29:14 +00:00
Yuji Kanagawa
541816b7d2
Merge pull request #730 from davidhewitt/extract-clone
...
FromPyObject for #[pyclass] with T: Clone
2020-01-25 12:42:05 +09:00
David Hewitt
fdf407e045
FromPyObject for #[pyclass] with T: Clone
2020-01-24 08:57:28 +00:00
David Hewitt
43df3299ab
Remove PyNoArgsFunction
2020-01-22 16:27:36 +00:00
kngwyu
56f68a55cd
Bump version to 0.9.0-alpha.1
2020-01-16 20:05:44 +09:00
Alexander Niederbühl
0a84c201f7
Revert "Disable segfaulty subclassing by default"
...
This reverts commit 5096f936dc
.
2020-01-12 01:22:32 +01:00
kngwyu
451de182cb
Merge branch 'master' into pyclass-new-layout
2020-01-08 17:16:33 +09:00
kngwyu
f26e07cfd6
Replace IntoInitializer<T> with Into<PyClassInitializer<T>>
2020-01-07 13:08:41 +09:00
David Hewitt
60edeb889e
Simplify IntoInitializer
2020-01-06 13:19:58 +00:00
kngwyu
d22b03edde
Bump version to 0.8.5
2020-01-05 16:39:18 +09:00
kngwyu
18e565fab5
New PyClassInitializer
2020-01-05 16:01:05 +09:00
Matthias Lochbrunner
ff2aaea334
Fixes PyObjectDelAttrProtocol
2020-01-01 16:51:40 +01:00
kngwyu
6b84401126
Make it enable to safely inherit native types
2019-12-21 23:28:55 +09:00
kngwyu
8175d6f36a
Merge branch 'master' into pyclass-new-layout
2019-12-19 16:12:45 +09:00
David Hewitt
b245e71c14
Address comments from PR#692
2019-12-18 14:26:25 +00:00
David Hewitt
0032508c3c
Format code
2019-12-17 22:58:34 +00:00
David Hewitt
4b18830f1e
Add #[name]
attribute support for #[pyfunction]
2019-12-17 22:14:28 +00:00
David Hewitt
881cb0a5a4
Fix build failure on minimum nightly
2019-12-17 18:08:35 +00:00
David Hewitt
7702395b3d
Add #[name = "foo"] attribute to #[pymethods]
2019-12-17 17:45:53 +00:00
kngwyu
b86de9376d
Introduce PyClassInitializer
2019-12-15 21:04:36 +09:00
kngwyu
a6639076b9
Introduce PyInternalCaster
2019-12-14 23:16:39 +09:00
kngwyu
d8a4ecb476
Bump version to 0.8.4
2019-12-14 15:20:55 +09:00
kngwyu
4d7dfafe2b
Allow slf: &PyClassShell<Self>
2019-12-08 23:09:00 +09:00
kngwyu
bdb66afe0a
Make PyClassShell have dict&weakref
2019-12-08 17:18:25 +09:00
Jacob Lifshay
a676e6d5aa
clean up gen_py_method and fix typos
2019-12-06 15:05:41 -08:00
Jacob Lifshay
95c2e2f585
clean up parse_text_signature_attrs and get_doc
2019-12-03 16:42:48 -08:00
Jacob Lifshay
07611b0358
remove unnecessary lifetime
2019-11-29 13:34:04 -08:00
Jacob Lifshay
af8c0d2531
switch text_signature to arguments only & add tests
2019-11-29 12:19:56 -08:00
Jacob Lifshay
2915f50fc4
fix compile error
2019-11-27 14:31:16 -08:00
Jacob Lifshay
3c1a975ec0
initial untested implementation
2019-11-24 06:00:21 -08:00
kngwyu
935adaa5d5
Bump version to 0.8.3
2019-11-23 17:09:10 +09:00
kngwyu
f0526eb739
Change error message around #[init]
2019-11-02 14:44:16 +09:00
kngwyu
8550e0f575
Remove #[init] attribute
2019-10-31 19:39:53 +09:00
kngwyu
14d2196ba0
Bump version to 0.8.2
2019-10-26 22:47:19 +09:00
Yuji Kanagawa
6868d7f734
Merge branch 'master' into fix-mapping-protocol
2019-10-26 02:55:54 +09:00
Sebastian Puetz
3b707c8511
Remove contains and iter from PyMappingProtocol.
...
The methods are not expected by CPython and are only explicitly
callable. To get iteration support, PyIterProtocol should be
implemented and to get support for `x in mapping`,
PySequenceProtocol's __contains__ should be implemented.
https://github.com/PyO3/pyo3/issues/611
2019-10-25 17:20:44 +02:00
Sebastian Puetz
4864c584f3
Fix derive for PyObjectSetAttrProtocol.
...
PyObjectSetAttrProtocol doesn't define associated type Success.
2019-10-25 16:10:00 +02:00
kngwyu
3c898ee27d
[derive-backend] Do not increment option_pos for *args/**kwargs
2019-10-16 02:51:22 +09:00
Yuji Kanagawa
1796335617
Merge pull request #626 from Alexander-N/unwrap
...
Remove unwrap for attribute parsing
2019-10-13 15:46:17 +09:00
Alexander Niederbühl
65ad8a87ff
Remove unwrap for attribute parsing
...
This change enables getting a helpful error message.
2019-10-12 20:29:03 +02:00
Alexander Niederbühl
c7a53611e0
Enable to give None as default value for an argument
2019-10-12 20:16:25 +02:00
kngwyu
d019fe814c
Bump version to 0.8.1
2019-10-08 01:52:06 +09:00
Martin Larralde
33bf37d3d8
Run cargo fmt
on source code and update CHANGELOG.md
2019-10-07 17:12:32 +02:00
konstin
a3e41cc819
Release 0.8.0
2019-09-05 13:18:50 +02:00
konstin
3228b4cd6c
Merge pull request #585 from andersk/drain-gil
...
Require the GIL to be held in ReleasePool::drain
2019-09-05 12:46:35 +02:00
konstin
305b774ded
Merge pull request #450 from birkenfeld/parse_args_msg
...
Adjust the varargs/kwds objects to remove arguments consumed by parameters
2019-09-05 12:45:50 +02:00
kngwyu
df44e500a9
Remove py from parse_fn_args's args(to address clippy warning)
2019-09-02 23:05:42 +09:00
kngwyu
3d821b7f47
Enable slf: PyRef<'py, Self>
2019-09-02 00:31:22 +09:00
kngwyu
c7e377a472
[derive_utils] Copy kwargs not to modify it
2019-09-01 23:59:24 +09:00
kngwyu
96b71bfb76
Merge branch 'master' into parse_args_msg
2019-08-31 17:03:15 +09:00
Anders Kaseorg
e70e9ab5e6
Require the GIL to be held to drain the ReleasePool
...
This adds a `Python` marker to `GILPool`, to prevent the caller from
misusing it to drain the `ReleasePool` and release Python objects
without the GIL held.
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2019-08-29 23:55:59 -07:00
konstin
30e82a3018
Replace IntoPyObject with IntoPy<PyObject>
2019-08-24 19:23:28 +02:00
konstin
39f151c3bd
Upgrade to syn 1.0
2019-08-19 13:11:57 +02:00
konstin
5096f936dc
Disable segfaulty subclassing by default
...
See https://github.com/PyO3/pyo3/issues/220 and https://github.com/PyO3/pyo3/issues/407 for details on those segfaults
2019-08-05 11:52:47 +02:00
Yuji Kanagawa
67a7a6de67
Merge branch 'master' into clippy
2019-07-15 12:44:56 +09:00
Alexander Niederbühl
faa21f48c7
Fix some clippy lints
2019-07-14 22:42:37 +02:00
Paul Ganssle
59ed277879
Enforce GC contract at compile time
...
PyGCProtocol must be implemented for anything registered as tracked by
the garbage collector. This modifies the `pyclass` macro to enforce this
at compile time.
2019-07-14 17:55:47 +02:00
kngwyu
a6438ebb10
Handle a corner case in which a getter takes multiple Python
2019-07-14 14:35:50 +09:00
kngwyu
721e746585
Allow py: Python as an argument of getter
2019-07-12 23:41:13 +09:00
kngwyu
fc5cdc1031
[derive-backend] Add utils::if_type_is_python
2019-07-12 22:22:56 +09:00
Georg Brandl
cba1657460
Adjust the varargs/kwds objects to remove arguments consumed by parameters
...
Also fix some other validation issues and add more tests.
fixes #420
2019-06-16 22:13:50 +09:00
kngwyu
35f5301675
Reject generics explicitly for #[pyclass]
2019-06-05 18:46:17 +09:00
Martin Larralde
99fdafbb88
Allow setting the module name for a pyclass ( #499 )
...
* Add `MODULE` const value to `PyTypeInfo` trait
* Allow setting module name in `pyclass` macro arguments
* Add `$module` argument to `pyobject_native_type` macro in `pyo3::types`
* Set the right module for builtin types in `pyo3::types`
* Add `module` argument to example `word_count.WordCounter` class
* Add `module` argument of `pyclass` macro to guide
* Reformat code using `rustfmt`
* Add tests and entry in CHANGELOG.md for `module` argument in `pyclass`
* Make `$module` parameter in `pyobject_native_type` optional
* Make `pyobject_native_type` declare module as `Some("builtins")` by default
2019-06-03 12:18:44 +09:00
konstin
0279b3d69f
Release 0.7.0
2019-05-26 17:27:14 +09:00
Alexander Niederbühl
6a7090c0b0
Fix some clippy lints
2019-05-16 00:16:23 +02:00