Mario
608aea726c
Allow other Result types in `#[pyfunction]` ( #1118 )
...
* Added a couple basic tests
* Implemented suggested change
* Fixed type inference
* cargo fmt
* Finished tests and removed warnings
* Include in CHANGELOG.md
* Moved test into separate file
* &'static str and function rename
* Mention in the book
2020-08-29 08:25:20 +01:00
David Hewitt
16ef96904a
Merge pull request #1114 from mtreinish/hashbrown
...
Add optional support for conversion from Hashbrown types
2020-08-26 12:48:21 +01:00
Matthew Treinish
659d24e1a9
Add CHANGELOG entry and update conversions guide
2020-08-26 06:37:02 -04:00
David Hewitt
37d23da7d5
Add link to Bazel rules
2020-08-25 23:02:20 +01:00
Rene Leveille
441d7f52b1
apply symlink use case, change variable name
2020-08-19 12:11:14 -04:00
Rene Leveille
7beb272075
find within general lib dir, with new optional env variable
2020-08-18 22:05:29 -04:00
Rene Leveille
5dc907bc5d
apply suggestions from review
2020-08-17 18:14:05 -04:00
Rene Leveille
0cd1e5bf19
change documentation
2020-08-17 15:17:34 -04:00
Rene Leveille
aef159d4ee
appy suggestions from PR
2020-08-17 11:26:30 -04:00
David Hewitt
565e36d989
Merge pull request #1098 from davidhewitt/py-as-into-ref
...
Py::as_ref and Py::into_ref (remove AsPyRef)
2020-08-11 20:44:53 +01:00
Yuji Kanagawa
b17d4fffe2
Merge pull request #1093 from kngwyu/iterator-example
...
Improve lifetime insertions for #[pyproto]
2020-08-11 18:16:53 +09:00
David Hewitt
6b3c6fdeee
Improve docs for Py::as_ref() and Py::into_ref()
...
Co-authored-by: Georg Brandl <georg@python.org>
2020-08-11 08:36:31 +01:00
Georg Brandl
4467cf51db
guide: show exporting create_exception! exceptions in a module
2020-08-10 17:08:52 +02: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
7d0b3b386a
Add Py::into_ref
2020-08-09 23:00:34 +01:00
David Hewitt
77ed6d6d69
Remove AsPyRef for just Py::as_ref
2020-08-09 22:47:54 +01:00
David Hewitt
20959ecc92
Rewrite documentation for FromPy and PyObject changes
2020-08-09 12:29:25 +01:00
David Hewitt
c44697cd31
Prefer docs.rs doc links
2020-08-08 23:54:11 +01:00
David Hewitt
1f37dbc1a7
Various fixes to edge cases with GILGuard
2020-08-06 14:32:59 +01:00
David Hewitt
dc5c2a9b8f
Rename PYTHON_SYS_EXECUTABLE to PYO3_PYTHON
2020-08-06 13:27:20 +01:00
Manuel Vázquez Acosta
f2ba3e6da7
#1064 : Comparisons with __eq__ should not raise TypeError ( #1072 )
...
* Add (failing) tests for issue #1064
* Return NotImplemented when richcmp doesn't match the expected type.
* Fix tests that expect TypeError when richcmp returns NotImplemented.
- The python code 'class Other: pass; c2 {} Other()' was raising a NameError:
c2 not found
- eq and ne never raise a TypeError, so I split the those cases.
* Return NotImplemented for number-like binary operations.
* Add dummy impl PyNumberProtocol for the test struct.
* Rework tests of NotImplemented.
* Make py_ternary_num_func return NotImplemented when type mismatches.
* Return NotImplement for type mismatches in binary inplace operators.
* Reduce boilerplate with `extract_or_return_not_implemented!`
* Extract common definition 'Other' into a function.
* Test explicitly for NotImplemented in the __ipow__ test.
* Add entry in CHANGELOG for PR #1072 .
* Add the section 'Emulating numeric types' to the guide.
* Ensure we're returning NotImplemented in tests.
* Simplify the tests: only test we return NotImplemented.
Our previous test were rather indirect: were relying that Python
behaves correctly when we return NotImplemented.
Now we only test that calling a pyclass dunder method returns NotImplemented
when the argument doesn't match the type signature. This is the expected
behavior.
* Remove reverse operators in tests of NotImplemented
The won't be used because of #844 .
* Apply suggestions from code review
Co-authored-by: Yuji Kanagawa <yuji.kngw.80s.revive@gmail.com>
* Add a note about #844 below the list of reflected operations.
Co-authored-by: Yuji Kanagawa <yuji.kngw.80s.revive@gmail.com>
2020-08-05 22:53:16 +09:00
Michal 'vorner' Vaner
e6dd2d980f
docs: Link to pyo3-log in README and the guide
...
Show how one can log from Rust through the Python's logging facilities.
Related to #1016 .
2020-07-19 22:01:22 +02:00
David Hewitt
4ed9748b45
Rename exceptions to PyException etc; reintroduce deprecated ones
2020-07-18 06:02:57 +01:00
David Hewitt
a7e0c6bfa7
Make exceptions proper native types.
2020-07-18 01:57:39 +01:00
David Hewitt
4020e4d0c8
Add `Python::with_gil`
2020-07-13 22:37:40 +01:00
David Hewitt
85f1d009ec
Add introduction to class.md
2020-07-01 07:44:37 +01:00
konstin
9251748280
Update maturin/setuptools-rust section
2020-06-30 14:20:50 +02: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
David Hewitt
f89e9e0eb1
Write migration guide for 0.11
2020-06-27 23:59:44 +09:00
kngwyu
fd94a0d55c
Bump version to 0.11.0
2020-06-27 23:59:44 +09:00
Yuji Kanagawa
e35622b941
Merge pull request #997 from davidhewitt/pyproto-next-return
...
Add __next__ return
2020-06-24 23:16:35 +09:00
scalexm
f5e1dff7eb
Update docs now that recursive `#[classattr]` are allowed again
2020-06-23 22:41:23 +02:00
David Hewitt
9f9137c6e4
Add ability to return from `__next__` / `__anext__`
2020-06-23 15:26:28 +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
scalexm
863c0001e1
`LazyStaticType::get_or_init` returns an `*mut` instead of a `&` ref
2020-06-22 22:37:11 +02:00
David Hewitt
646dd19a49
Move cargo test guidelines to faq
2020-06-21 09:18:27 +01:00
Yuji Kanagawa
7075827a03
Merge pull request #969 from PyO3/poc-stable-rust
...
Stable Rust
2020-06-21 16:54:59 +09:00
kngwyu
404f3981e5
Improve docs and Remove all-stable feature
2020-06-21 16:10:19 +09:00
kngwyu
a63e426f6f
Some doc and test cleanups mainly around specialization
2020-06-20 12:59:56 +09:00
kngwyu
e27c4d75c9
Add a document about nightly feature
2020-06-19 14:50:48 +09:00
David Hewitt
a1dbfa8c8c
Add pyo3::once_cell::GILOnceCell
2020-06-18 18:53:32 +01:00
konstin
3180e5cc06
POC stable rust (2 tests failing)
2020-06-18 17:21:09 +09:00
Yuji Kanagawa
a044f3c322
Merge branch 'master' into slot-provider
2020-06-18 15:49:56 +09:00
Nateckert
4f8c2e767b
Doc trait exposition ( #964 )
...
Co-authored-by: David Hewitt <1939362+davidhewitt@users.noreply.github.com>
2020-06-15 09:58:37 +01:00
David Hewitt
f58398d6e3
Rewrite sentence one last time
2020-06-13 08:15:30 +01:00
David Hewitt
e73d696f8c
Clarify wording in guide
2020-06-13 08:12:21 +01: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
David
33617bfffc
Require Send for #[pyclass]
2020-06-08 02:06:15 +01:00
Alexander Niederbühl
75d44ca296
Remove getting started chapter from user guide
...
Since it's exactly the same content as in the README.
2020-06-07 00:26:17 +02:00
Alexander Niederbühl
bbf1c39cea
Address review comments
2020-06-05 21:24:03 +02:00
Alexander Niederbühl
eca93c3ff8
Ignore doctests
2020-06-05 21:02:52 +02:00
Alexander Niederbühl
e38a077c29
Fix typos
2020-06-05 20:54:38 +02:00
Alexander Niederbühl
cbe3e574b7
Rewrite parallelism chapter in guide
2020-06-05 20:25:07 +02:00
Alexander Niederbühl
eadd7b1081
Remove word-count from examples
2020-06-05 16:40:29 +02:00
David Hewitt
29c93c87c7
Remove GetPropertyValue
2020-05-21 18:06:24 +01:00
Yuji Kanagawa
7fd35b2fb6
Merge pull request #937 from davidhewitt/doc-conversion-table
...
Add conversion table to guide
2020-05-21 16:18:46 +09:00
David Hewitt
2813d2e6c9
Add conversion table to guide
2020-05-19 22:22:38 +01:00
David Hewitt
1e3a7f6f25
Add documentation for `PyModule::import`
2020-05-15 22:05:46 +01:00
kngwyu
837261c860
Bump version to 0.10.1
2020-05-14 20:57:51 +09:00
Yuji Kanagawa
7e4d1c41e3
Bump version to 0.10.0 ( #919 )
...
* Bump version to 0.10.0
* Apply suggestions from code review
Co-authored-by: David Hewitt <1939362+davidhewitt@users.noreply.github.com>
* Improve CHANGELOG completeness and messaging
* ObjectProtocol was in prelude
Co-authored-by: David Hewitt <1939362+davidhewitt@users.noreply.github.com>
2020-05-13 13:24:36 +09:00
kngwyu
9f8b7cd9bf
Revert #889
2020-05-12 00:10:49 +09:00
kngwyu
69dba08b01
Use PyMethodsImpl instead of *ProtocolImpl::methods
2020-05-11 20:08:21 +09:00
Yuji Kanagawa
8e84721438
Merge pull request #893 from davidhewitt/safe_acquire_gil
...
Close soundness hole with acquire_gil
2020-05-09 19:03:15 +09:00
David Hewitt
8ffe8c58b3
Close soundness hole with acquire_gil
2020-05-09 10:41:41 +01:00
scalexm
f6ac9a0212
Allow `#[classattr]` on associated constants
2020-05-08 22:30:49 +02:00
Yuji Kanagawa
d5eb8f0544
Merge pull request #911 from davidhewitt/remove-objectprotocol
...
Remove ObjectProtocol
2020-05-08 18:56:52 +09:00
David Hewitt
a5ebef4b2e
Remove ObjectProtocol; Add methods to PyAny and use Deref
2020-05-08 10:05:19 +01:00
scalexm
e3d9544ae0
Add a paragraph to the guide about `#[classattr]`
2020-05-07 21:25:32 +02:00
Alexander Niederbühl
618de30606
Fix broken links in guide
2020-05-04 23:22:42 +02:00
Yuji Kanagawa
e9bec070e1
Merge pull request #887 from kngwyu/new-nativetypes
...
New Native Types and Lighter GILPool
2020-05-03 12:10:43 +09:00
kngwyu
816c50a649
Unify PyMethodsInventoryDispatch and PyMethodsProtocol
2020-05-02 17:48:25 +09:00
kngwyu
8c6cbb605a
Better docs for new unchecked_downcast and borrowed objects
2020-05-02 14:58:12 +09:00
Austin Bingham
746c352ca8
Clarified documentation for implementing iteration. ( #882 )
...
* Clarified documentation for implementing iteration.
* Updated example so that it compiles.
* Updated PyIterProtocol docs per discussion.
* Added link to Python docs on iterators.
* Improved language regarding iterables and PyIterProtocol.
* Fixed assertion calls.
2020-04-28 17:46:20 +09:00
Martin Larralde
f36f19cea4
Update guide to show using `PyRef` within `__iter__` method
2020-04-18 03:57:17 +02:00
Yuji Kanagawa
5add8d1dee
Merge branch 'master' into merge-0.9.2
2020-04-09 17:17:52 +09:00
kngwyu
c83d88ba8d
Bump version to 0.9.2
2020-04-09 13:00:13 +09:00
kngwyu
8d1678e28e
Separate examples and tooling section in README and the guide
2020-04-02 23:56:19 +09:00
konstin
f10378f0cf
Fix #833
2020-03-26 12:56:26 +01:00
kngwyu
4759358acb
Bump version to 0.9.1
2020-03-23 18:55:24 +09:00
kngwyu
89e5a654ad
Bump version to 0.9.0
2020-03-19 13:48:00 +09:00
kngwyu
fd739b5879
Refactor links in the guide
2020-03-19 13:47:37 +09:00
Georg Brandl
73b40b1451
guide: PyObject is also for returning stuff to Python
2020-03-18 07:00:13 +01:00
kngwyu
02ee7a5afc
Expose PyAny to lib.rs and prelude
2020-03-18 13:38:18 +09:00
Georg Brandl
fa2e22b9be
guide: add type overview ( #801 )
...
* book: add type overview
fixes #789
Co-Authored-By: David Hewitt <1939362+davidhewitt@users.noreply.github.com>
Co-Authored-By: Yuji Kanagawa <yuji.kngw.80s.revive@gmail.com>
* Add concrete pointer types to the list.
* Add suggestions from @kngwyu
Co-authored-by: David Hewitt <1939362+davidhewitt@users.noreply.github.com>
Co-authored-by: Yuji Kanagawa <yuji.kngw.80s.revive@gmail.com>
2020-03-16 22:57:27 +09:00
Georg Brandl
3f030d46fd
guide: fixes and some minor additions ( #802 )
...
* guide: fixes and some minor additions
I went through the guide and fixed some grammar/consistency issues,
and added some wording where I thought it appropriate.
I also reordered the chapters to what I feel is a more natural
flow of concepts.
* Apply suggestions from code review and fix tests
Co-Authored-By: Yuji Kanagawa <yuji.kngw.80s.revive@gmail.com>
Co-Authored-By: David Hewitt <1939362+davidhewitt@users.noreply.github.com>
Co-authored-by: Yuji Kanagawa <yuji.kngw.80s.revive@gmail.com>
Co-authored-by: David Hewitt <1939362+davidhewitt@users.noreply.github.com>
2020-03-13 22:53:49 +09:00
kngwyu
433b812a68
Remove ^ from Cargo.toml + small improvements for migration.md
2020-03-13 18:40:43 +09:00
kngwyu
107c0cf1ba
Unify AsPyRef for Py<T> to make rust-numpy work
2020-03-09 18:31:43 +09:00
kngwyu
a6765e3888
Mention `let obj: T = obj.extract()?;` in migration.md
2020-03-09 16:02:42 +09:00
Yuji Kanagawa
3a0cd8e405
Apply suggestions from georg's review to migration.md
...
Co-Authored-By: Georg Brandl <georg@python.org>
2020-03-09 14:32:35 +09:00
Yuji Kanagawa
8eb0065e38
Apply suggestions from code review
...
Co-Authored-By: David Hewitt <1939362+davidhewitt@users.noreply.github.com>
2020-03-09 14:11:14 +09:00
kngwyu
ded83027fa
Write migration guide for 0.9
2020-03-09 14:11:14 +09:00
kngwyu
68cfd5e17a
Remove redundant empty lines from class.md
2020-03-02 20:54:35 +09:00
kngwyu
a12667be25
Add a document about inherting native types
2020-03-02 20:07:23 +09:00
kngwyu
ee0c178fed
Remove ObjectProtocol::get_base and fix class.md
2020-03-02 13:08:37 +09:00
Yuji Kanagawa
399e4bf9b1
Apply suggestions from code review
...
Co-Authored-By: David Hewitt <1939362+davidhewitt@users.noreply.github.com>
2020-03-01 12:43:04 +09:00
kngwyu
ff1ae98326
Fix class.md
2020-02-25 21:56:23 +09:00
kngwyu
043b13046a
Write docs for PyCell, PyRef, PyRefMut
2020-02-22 16:21:09 +09:00
kngwyu
3d0ee2a28d
Use AsRef/AsMut instead of as_super/as_super_mut
2020-02-21 20:37:35 +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
daca04e5f3
Update class.md and Change super API
2020-02-18 00:19:55 +09:00
kngwyu
2fd2185052
Merge branch 'master' into pycell
2020-02-17 00:07:15 +09:00
Giles Cope
6b4a4e881a
Focusing on FromPy rather than IntoPy
...
(as you get IntoPy for free)
Also try and point out that intoPy doesn't mean it's going to convert
something into a python object.
2020-02-14 06:35:41 +00:00
kngwyu
a6fed34e23
Fix clippy warnings in build.rs and tests
2020-02-10 14:53:13 +09:00
kngwyu
3176097a25
Update minumum nightly in travis.yml and get_started
2020-02-10 10:51:37 +09: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
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
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
kngwyu
56f68a55cd
Bump version to 0.9.0-alpha.1
2020-01-16 20:05:44 +09:00
Alexander Niederbühl
cede793ceb
Fix some typos in guide
2020-01-12 14:47:54 +01: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
paddywwoof
894e99998f
fix code validation test
2020-01-07 22:06:52 +00:00
paddywwoof
9e599af381
improvements suggested by kngwyu
2020-01-07 21:45:18 +00:00
paddywwoof
3e62c3414a
use general sounding module name mymodule
2020-01-07 17:17:40 +00:00
paddywwoof
a43824e6f3
added PyModule.add_class to guide and better explanation of arguments
2020-01-07 17:09:37 +00:00
kngwyu
f26e07cfd6
Replace IntoInitializer<T> with Into<PyClassInitializer<T>>
2020-01-07 13:08:41 +09:00
kngwyu
b602b4bf6c
Enhance documentation and tests around #[new]
2020-01-07 12:49:36 +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
kngwyu
766a520a10
Documentation enhancement
2019-12-29 00:02:48 +09:00
kngwyu
2e3ece8022
Try to enhance class section in the guide
2019-12-24 00:30:46 +09:00
kngwyu
d5cff058ef
Fix documents and a clippy warning
2019-12-23 02:09:36 +09:00
kngwyu
efa16a6dc7
Fix documents accompanied by PyClassShell
2019-12-22 19:41:25 +09:00
kngwyu
d8a4ecb476
Bump version to 0.8.4
2019-12-14 15:20:55 +09:00
Yuji Kanagawa
352707c29f
Merge pull request #675 from programmerjake/add-text-signature
...
add #[text_signature = "..."] attribute
2019-12-07 13:56:33 +09:00
Jacob Lifshay
9a3c47e3cd
add text_signature to documentation
2019-11-29 13:22:31 -08:00
Alexander Niederbühl
c64848bd20
Fix broken links in guide
2019-11-25 20:34:29 +01:00
kngwyu
935adaa5d5
Bump version to 0.8.3
2019-11-23 17:09:10 +09:00
kngwyu
c7016f8e4c
Refer guide for nightly install
2019-11-23 15:36:30 +09:00
kngwyu
b7b17edc1d
Update the link to rust-numpy and tooling section in guide
2019-11-16 15:40:25 +09:00
kngwyu
14d2196ba0
Bump version to 0.8.2
2019-10-26 22:47:19 +09:00
kngwyu
d019fe814c
Bump version to 0.8.1
2019-10-08 01:52:06 +09:00
Riccardo Magliocchetti
fd3d47e037
guide: fixup links to examples/word-count
...
Relative paths don't work when built in pyo3.rs
2019-10-06 21:25:29 +02:00
Riccardo Magliocchetti
27105c9414
guide: add link to pypy chapter
...
Instead of referring to the guide.
2019-10-06 21:22:53 +02:00
kngwyu
a344999526
[DOC] Add Python from Rust section in the guide
2019-09-23 21:44:42 +09:00
kngwyu
35851b7ff9
Fix documents following the review comment
2019-09-15 22:17:36 +09:00
konstin
a3cde076f4
Replace pyo3-pack with maturin
2019-09-06 01:12:37 +02:00
konstin
a3e41cc819
Release 0.8.0
2019-09-05 13:18:50 +02:00
kngwyu
96b71bfb76
Merge branch 'master' into parse_args_msg
2019-08-31 17:03:15 +09:00
konstin
30e82a3018
Replace IntoPyObject with IntoPy<PyObject>
2019-08-24 19:23:28 +02:00