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
Yuji Kanagawa
1f85593d0a
Merge pull request #564 from kngwyu/paste
...
Replace mashup with paste
2019-08-11 18:42:21 +09:00
kngwyu
21a040b8b4
Change Minimum nightly to 2019-07-19
2019-08-11 16:40:21 +09: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
kngwyu
6dabaf08b3
Update minimum nightly to 1.37 07-12
2019-08-05 16:55:25 +09:00
Alexander Niederbühl
4586702fb7
Fix example in guide
...
The example was failing with:
`error[E0117]: only traits defined in the current crate can be implemented for arbitrary types`
2019-08-03 22:09:12 +02:00
Joel Höner
eb34ce588b
Remove mention of Python 2
2019-07-27 04:45:53 +02:00
Paul Ganssle
ca07c48931
Add documentation for new PyGCProtocol behavior
2019-07-14 17:56:36 +02:00
kngwyu
c12836edcf
Add arg=string example in the method arguments section in the guide
2019-06-21 17:07:51 +09:00
Georg Brandl
ab802cd829
Document and test argument parsing annotations for pyfunctions
2019-06-16 22:13:50 +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
d64ba9fa3a
Bring README.md and get_started.md back in sync
2019-05-07 21:04:37 +02:00
Georg Brandl
b289a75c16
Make tons of small fixes in the guide
...
- spelling/grammar
- update docs.rs links and Cargo.toml examples to 0.6.0
- fix a few factual mistakes I found in the process
2019-05-06 09:46:47 +02:00
Alexander Niederbühl
faa3feda3f
Merge branch 'master' into doctest
2019-04-23 21:58:09 +02:00
konstin
7149a1fecb
Bump to 0.7.0-alpha.1 ( #457 )
2019-04-23 18:55:35 +02:00
Omer BenAmram
f8bf258602
Support rust extensions for PyPy via cpyext ( #393 )
...
* wip
* removed stuff
* removed another change
* implemented minimum amouth of ifdefs to make pypy3 hello world to compile
* implemented minimum amount of ifdefs to make pypy3 hello world to compile
* hacking on build.rs
* compiler is happy!
* few todos remain
* extracted build logic to seperate module
* added pypy test
* finally fixed pypy structs
* removed some todos
* test should now be machine independent
* fixed all pypy3 symbols
* added pypy feature
* removed `is_pypy`
* added pypy2 declerations also
* fix for cpython2
* improved libpypy detection
* added all pypy2 macros
* fixed errneous type
* more fixes
* fix python2 string macros
* modsupport symbol
* fix
* fixed and added many symbols
* fixes
* remove dup
* remove mac-specific config
* fix all name mangling macros
* unite imports
* missing symbol
* fix pybool
* implemented another missing symbol
* it works
* fix merge conflict
* uncomment non default features
* cargo.toml
* Cargo fmt
* small merge fixes
* use newer build version
* whoops
* fix build script
* more build hacks
* some random hiccups
* small fixes
* it builds!
* it builds and runs
* revert everything in FFI2
* revert changes to ffi2
* check python3 for pypy
* tiny fix
* revert ffi2 for real
* revert weird formatting changes
* bring back missing feature
* tiny error
* fix py3.7 issue
* add pypy3.5 6.0 to travis
* remove dbg!
* another tiny fix
* removed some useless annotations, and fixed inlines annotations
* removed `pretty_assertions`
* removed pypy feature from cargo.toml
* fix for Py_CompileStringFlags
* tox runs word_count!
* __dict__ changes are not supported for PyPy
* fix 3.7 and copy comment
* fix test script 😳
* transfer ownership of strings to cpython when possible
* remove cstr! macro
* added missing nuls
* as_bytes() -> b’’ string
* symbol removed by mistake
* properly shim pypy date time API, some tests are passing!
* extension_module tests now not crashing! (some still skipped)
* maybe travis has new pypy version?
* small error on windows (build script)
* fix conditional compilation
* try to make tests run on travis..
* invert condition
* added pytest-faulthandler to facilitate debugging
* correctly name dir
* use full paths
* say —yes to conda
* fix
* syntax error
* change PATH
* fixed a terrible bug with PyTypeObjects in PyPy
* fix PyTypeObject defs
* re-enabled tests!
* all tests are passing!
* make the fix ad-hoc for now
* removed build module
* revert changes that cause an additional GC bug
* prevented buggy test from failing pypy
* removed unused comment
* don’t run coverage on pypy
* removed some erroneous symbols from function calls which are actually macros
* restore py37 pyunicode missing def
* use only `link_name` in PyPy specific declarations
* only setup PyPy when testing against PyPy
* annotation that was eaten during merge
* remove change to comment by mistake + unnecessary changes to cargo.toml
* xfail dates test only on pypy
* changed comment to be a little more helpful
* cleaned up some warnings
* Update src/ffi3/ceval.rs
Co-Authored-By: omerbenamram <omerbenamram@gmail.com>
* @konstin PR notes
* rustfmt
* some documentation
* if configured via env var only, default to cpython
* remove extra unsafe
* refer users to guide for pypy
* Update guide/src/pypy.md
Co-Authored-By: omerbenamram <omerbenamram@gmail.com>
* Update guide/src/pypy.md
Co-Authored-By: omerbenamram <omerbenamram@gmail.com>
* @konstin applied patch
* check that pypy at least build
* search explicitly for libpypy
* added note about some known unsupported features
* use ld_version
* export PYTHON_SYS_EXECUTABLE to `cargo build` test
* inverted if
* always link pypy dynamically
* remove unused imports
* Apply @kngwyu’s suggestion
* fix tox configuration
* try conda virtualenv
* try to simply not install python at all inside pypy environment
* setup pypy before using “python"
* use system_site_packages
* revert change to .travis
* moved cpyext datetime documentation to module level, and revised it.
* Update src/ffi/datetime.rs
Co-Authored-By: omerbenamram <omerbenamram@gmail.com>
* rustfmt
* Update src/ffi/datetime.rs
Co-Authored-By: omerbenamram <omerbenamram@gmail.com>
* kept only notes that are relevant to users.
* invert if
* use bash and not sh
2019-04-23 13:18:42 +02:00
Alexander Niederbühl
f1b0288d3c
Remove docmatic and several workarounds for the doctests
2019-04-19 22:47:21 +02:00
Alexander Niederbühl
5858823e83
Test readme and user guide with doc-comment
...
Also rename some files for consistency.
2019-04-19 22:38:11 +02:00
ijl
2bb0d05a30
Drop support for python2
2019-03-29 12:37:26 +00:00
konstin
7086141f85
Fix version in docs
2019-03-28 12:58:19 +01:00
konstin
3f27647b1b
Bump to 0.6.0
2019-03-28 12:49:59 +01:00
Miles Granger
711155d7ad
Update tests & docs with IntoPyDict::into_py_dict(py)
2019-03-20 20:04:00 +01:00
Alexander Niederbühl
dc581fa746
Update guide
2019-03-17 20:39:38 +01:00
Alexander Niederbühl
438bd7f616
Refer to PyO3 in a consistent way
2019-03-13 17:26:48 +01:00
Alexander Niederbühl
310e597693
Fix some typos in user guide
2019-03-13 17:14:17 +01:00
konstin
ba5bc0f1e6
Merge pull request #387 from Alexander-N/test-examples
...
Test examples in user guide with travis
2019-03-10 21:37:01 +01:00
konstin
21f2804c3b
Merge pull request #389 from PyO3/c_api_and_stacktrace
...
Add notes about the c api and stacktraces to the guide
2019-03-10 21:32:21 +01:00
Alexander Niederbühl
e2e4733b82
Test examples in user guide with travis
...
Test could only be activated for Python 3.5 and some tests had to be
ignored, see #381 and #387 .
2019-03-09 23:54:28 +01:00
Alexander Niederbühl
ae93e71a30
Fix some typos and grammar in class.md
2019-03-07 22:21:16 +01:00
konstin
41ffe1ecdd
Add notes about the c api and stacktraces to the guide
2019-03-04 23:18:54 +01:00
Alexander Niederbühl
1ea59296ae
Fix PyRef example
2019-03-03 20:18:55 +01:00
Alexander Niederbühl
2327882dc5
Fix examples
2019-03-01 20:32:55 +01:00
konstin
6cd07c369c
Simpler new and clippy fixes
2019-02-23 18:38:00 +01:00
konstin
ad590bd158
Some api improvements
2019-02-23 18:01:22 +01:00
konstin
0cd72ac213
Bump to 0.6.0-alpha.4
2019-02-20 11:30:09 +01:00
konstin
d02f7c3aa5
Big proc macro refactoring
...
* Removed a lot of clutter, unified some code
* Started using syn::parse::Parse for pyfunction attributes
* No more newlines between imports
* Renamed `#[prop(get, set)]` to `#[pyo3(get, set)]`
* `#[pyfunction]` now supports the same arguments as `#[pyfn()]`
* Some macros now emit proper spanned errors instead of panics.
2019-02-18 20:07:56 +01:00
konstin
1a489d2829
Make the init methods use a value instead of a function
2019-02-13 13:59:47 +01:00
konstin
c13f0708a4
Replace IntoPyTuple with IntoPy<Py<PyTuple>>
2019-02-12 22:58:23 +01:00
konstin
1d17463532
Merge pull request #335 from kngwyu/rethink-pyclass
...
Remove ToPyPointer and so on from pyclass
2019-02-12 22:56:23 +01:00
kngwyu
4c60af6934
More detailed explaination about PyRef
2019-02-12 19:13:55 +09:00
kngwyu
73c7f8a5c2
Write about Py<T> in the guide
2019-02-09 22:37:21 +09:00
kngwyu
8259cc5d89
Added a note about `PyRef` and `PyRefMut` in guide
2019-02-08 23:51:37 +09:00
Alexander Niederbühl
638354cc34
Fix some examples in class.md
2019-02-03 14:29:17 +01:00
Alexander Niederbühl
1a47aab36b
Fix example in conversion.md
2019-02-03 14:13:47 +01:00
konstin
9e53418aad
Less feature(specialization)
2019-02-01 18:09:51 +01:00
konstin
56f2257e90
rust 2018 fixes
2019-02-01 16:23:34 +01:00
konstin
ae8a37cd0a
Allow 0..n pymethod blocks without specialization
2019-02-01 16:23:34 +01:00
konstin
936f0153e8
Migrate to rust 2018
2019-02-01 14:23:29 +01:00
konstin
423b5d1099
Merge pull request #327 from StarryInternet/fix-cross-compilation
...
Implement Basic Cross Compile Support
2019-02-01 13:50:39 +01:00
Matt Pelland
d3bb75e4c0
move cross compiling doc to the guide
2019-01-30 18:08:04 -05:00
konstin
bb4848f2c2
Merge pull request #329 from Alexander-N/get-started
...
Update Get Started section in user guide
2019-01-30 16:18:24 +01:00
Luke Hsiao
6fd41a16ae
docs(rust-cpython): fix minor typos
2019-01-28 15:44:17 -08:00
Alexander Niederbühl
b132a0bfc5
Update Get Started section in user guide
...
Use content of README.md for an updated version of
guide/src/get_started.md
2019-01-27 17:28:08 +01:00
Alexander Niederbühl
9e2347b810
Don't require feature when PYTHON_SYS_EXECUTABLE is set
...
If neither the feature python2 or python3 is used, the version of
PYTHON_SYS_EXECUTABLE is used.
Issue #276
2019-01-07 22:46:01 +01:00
Joel Höner
22a89d07aa
Document function signature reporting
2018-12-07 15:35:02 +01:00
Joel Höner
17535534ea
Fix some minor documentation errors
...
Pyo3 → PyP3
py::function → pyfunction
paramter → parameter
2018-12-07 15:22:12 +01:00
konstin
790a103753
Merge pull request #291 from PyO3/exception_macros
...
Refactor the exception macros
2018-12-01 13:04:06 +01:00
Tiago Antao
a5de9dcf00
Update building-and-distribution.md
2018-11-30 09:40:28 -05:00
Tiago Rodrigues Antao
08e61694b3
upgrade version reference
2018-11-30 08:50:15 -05:00
konstin
9102f2e364
Refactor the exception macros
...
* Renamed `py_exception` to `create_exception`
* The split up of the macros makes it possible to create exception structs with bodies to mimic python exceptions' members
* Used `Once` to fix a (theoretical) race condition with the is_null check
2018-11-27 23:07:15 +01:00
konstin
9035d54035
Add Documentation on build and linker args
2018-11-19 23:14:21 +01:00
konstin
9c8c5a6063
Rename #[pymodinit] to #[pymodule]
2018-11-15 19:43:29 +01:00
konstin
863ffb161f
Add wrap_module macro
2018-11-15 19:43:29 +01:00
konstin
57afb51604
Remove PyToken completely; Fixes #94
2018-11-12 14:42:21 +01:00
konstin
fb2349b6ec
Remove PyToken usages from tests
2018-11-12 14:41:29 +01:00
konstin
234e2c6998
Release 0.5.0-alpha.3 to fix #256
2018-11-02 16:34:40 +01:00
kngwyu
0859392d1c
Fix url from guide to doc
2018-10-04 16:36:30 +09:00
kngwyu
3620aae503
Build rust doc on travis
2018-10-04 16:19:36 +09:00
konstin
5100676497
Splitted PyTypeCreate of PyTypeObject to remove specialization
2018-10-03 22:12:22 +02:00
konstin
302c099a76
Big refactoring to shrink the prelude
2018-09-21 23:34:28 +02:00
konstin
9405ffa3b9
Add section about linking in the guide
2018-09-09 18:49:03 +02:00
konstin
f3c98ca7ba
Move setuptools-rust documentation to setuptools-rust
2018-09-06 18:03:15 +02:00
konstin
f58549f1d8
Get rid of a bunch of PyTokens
2018-09-02 23:33:45 +02:00
konstin
7c0379b13a
Remove many specialization uses
...
From over a hundret "default fn" uses down to 17
2018-08-25 20:48:17 +02:00
konstin
771d59b913
Fix another bunch of clippy lints
2018-08-21 23:51:13 +02:00
konstin
9cadbd11de
v0.4.1
2018-08-20 14:34:34 +02:00
konstin
991a8b94d2
More nightly fixes
2018-08-19 20:42:17 +02:00
konstin
b12b65cfae
Cleanup
2018-08-19 20:06:47 +02:00
konstin
d0ed68414a
Many small improvements
2018-08-04 19:56:59 +02:00
konstin
3adcac6e61
Replace concat_idents with mashup
2018-07-18 23:17:05 +02:00
konstin
d59bebcc38
Upgrade from proc_macro to use_extern_macros
2018-07-18 13:08:05 +02:00
konstin
dbd74401eb
Rename the `base` option in the `pyclass` macro to `extends`
...
"extends" is intuitive for people with java or ES6 experience, and it also aligns pyo3 with
wasm-bindgen (see https://github.com/rustwasm/rfcs/pull/2 )
2018-07-15 12:08:20 +02:00
konstin
fe931a594f
#[pymodinit] now uses the function name as default module name
2018-07-10 00:13:02 +02:00
konstin
4013d40897
Add `py` prefix to the proc macros and move them into the root module
...
This is important because `proc_macro_path_invoc` isn't going to be stabilized soon.
2018-07-08 23:33:48 +02:00
konstin
6645708e4f
Get rid of #[py*] methods
2018-07-03 20:42:02 +02:00
konstin
f2be73c4f3
Fix tests
2018-06-14 16:20:55 +02:00
konstin
785d338700
Add a few notes on debugging
2018-06-14 16:17:49 +02:00
konstin
9cb5321317
Merge pull request #183 from peng1999/master
...
Fix broken links
2018-06-14 16:05:23 +02:00
Peng Guanwen
ce4c217527
Fix broken links
...
This fixes #182
2018-06-14 08:10:39 +00:00
konstin
76510bdd0e
Refactoring
...
This is actually a failed bugfix attempt, but still useful
2018-06-13 18:02:45 +02:00
konstin
314a4a2b3e
Some more documentation work
2018-05-19 17:27:26 +02:00
konstin
319afe1f76
Small documentation improvements
2018-05-17 23:59:38 +02:00
Martin Larralde
0b75334b70
Update `book.toml` to new `mdbook` format [ci skip]
2018-05-17 11:57:09 +02:00
konstin
858a124374
Merge master
2018-05-05 15:50:04 +02:00
konstin
57048bc5fc
Merge branch 'master' into capybara
2018-05-02 19:32:56 +02:00
konstin
15204bab56
Better way to add functions to modules
2018-05-02 19:26:54 +02:00
Martin Larralde
b80b85539b
Remove occurrences of `py::methods` and `py::class`
2018-05-01 23:17:42 +02:00
Martin Larralde
4dccd556b7
Fix `conversions.md` stubs to work with Py2 as well
2018-05-01 22:59:49 +02:00
Martin Larralde
0963a6052c
Add stubs to `conversions.md` to allow more tests to run
2018-05-01 22:59:49 +02:00
Martin Larralde
f12af1653d
Fix guide documentation to pass doctests
2018-05-01 22:59:49 +02:00
Martin Larralde
aed4af9a1e
Add documentation tests for `guide/exception.md`
2018-05-01 22:59:49 +02:00
Martin Larralde
79491db60a
Add documentation tests for `guide/overview.md`
2018-05-01 22:59:49 +02:00
konstin
0880ac166c
Merge master
2018-05-01 20:41:35 +02:00
konstin
d0c42dfcc1
Fix compilation on nightly
2018-05-01 15:44:38 +02:00
konstin
6113428746
Allow defining functions outside of the module declarations
...
This commit consists of
* a proc macro to convert rust functions into python functions (`#[function]`),
* a macro to register a function in a module (`add_function_to_module!`)
* Documenting both the old and the new way in the book
2018-04-30 23:17:09 +02:00
Vlad Shcherbina
2aedbffcd0
Fix typos
2018-03-15 14:41:16 +03:00
Roy Wellington Ⅳ
80502bd307
Change type of kwargs in the example to Option<PyDict>
...
That's what the immediately preceding paragraph says the type is, and that
would make more sense.
2018-03-15 14:27:45 +03:00
Roy Wellington Ⅳ
24eee46128
Fix typos and other minor touchups to guide
...
* Fix some typos
* Capitalize Rust, acronyms
* Remove some trailing whitespace
2018-03-15 14:27:45 +03:00
Vlad Shcherbina
f8d914cac8
Fix broken links
...
https://pyo3.github.io/PyO3 -> https://pyo3.github.io/pyo3
in the documentation.
2018-02-14 17:21:17 +03:00
Brian Anderson
473b1f8b30
Use version 0.2 in guide overview
2018-02-13 00:14:51 +03:00
Guanqun Lu
81f31153aa
doc fixes
2017-12-27 23:10:19 +08:00
Nikolay Kim
050397b723
mark method that work with raw pointer unsafe
2017-12-26 13:41:27 -08:00
dkao1978
eb9050ab90
Add documentation for compiling on MacOS ( #89 )
...
* Update README.md
* Update overview.md
* Update lib.rs
* Update README.md
* Add links
2017-10-22 11:17:35 +08:00
messense
70c7b4a2a2
Use pyo3 0.2 in docs
2017-08-15 09:30:55 +08:00
Nikolay Kim
ed8599cfd3
refactor __new__ method implementation
2017-08-08 00:27:33 -07:00
messense
59d9f9e453
Finish wheel build section in distribution guide
2017-08-07 11:43:49 +08:00
messense
1ad8ad102a
Finish parallelism user guide
2017-08-06 13:50:28 +08:00
messense
268d7fd3d2
Generate getters/setters ( #76 )
2017-08-05 10:53:23 +08:00
Nikolay Kim
a61c5e56a0
add convenience method to PyErr and exception types
2017-08-04 11:47:35 -07:00
Nikolay Kim
85baa8bfce
fix doc links
2017-08-03 16:58:13 -07:00
Nikolay Kim
06a0b0514b
add IntoPyDictPointer impl for tuple
2017-08-03 15:42:32 -07:00
Nikolay Kim
c44e23f4b9
add prelude mod
2017-07-31 10:42:55 -07:00
messense
0e2afb7b8b
Add __dict__ support ( #68 )
2017-07-28 22:21:59 +08:00
Nikolay Kim
afcfed492b
only c classes only as base class
2017-07-27 19:47:01 -07:00
messense
ebcd4f5a33
subclass support ( #64 )
2017-07-27 23:05:15 +08:00
Nikolay Kim
181e38b551
add guid entry for base class
2017-07-26 22:40:47 -07:00
Nikolay Kim
d567817035
add base support for inheritance
2017-07-26 22:29:55 -07:00
Nikolay Kim
fc3ab84bfa
better constrain for PyNativeException::new
2017-07-26 14:56:08 -07:00
Nikolay Kim
a4fd878cb7
pyerr cleanups
2017-07-26 14:28:04 -07:00
Nikolay Kim
a20230e73f
Create rust type for exceptions defined in python #45
2017-07-26 12:56:07 -07:00
Nikolay Kim
e45eb6e878
rename ToPyErr to PyErrArguments
2017-07-26 10:47:17 -07:00
Nikolay Kim
b250ad22ca
update guide related to exception
2017-07-26 09:16:26 -07:00
Nikolay Kim
3ab5e4526c
add weakref support #56
2017-07-24 13:03:18 -07:00
Nikolay Kim
ce15dda5b6
Allow to add gc support without implementing PyGCProtocol #57
2017-07-24 12:19:05 -07:00
Nikolay Kim
e31557dd33
some docs
2017-07-23 10:51:30 -07:00
Nikolay Kim
98bdf63a4d
use const_fn for type size and offset calculation
2017-07-21 09:48:48 -07:00
Nikolay Kim
c6067b90c1
more docs
2017-07-18 14:15:44 -07:00
Nikolay Kim
fc1df289bd
drop PyClone trait; doc cleanups
2017-07-18 10:13:50 -07:00
Nikolay Kim
c5f5620f77
rename token() to py()
2017-07-13 19:04:00 -07:00
Nikolay Kim
8eb5dc0667
use associated consts
2017-07-13 16:45:50 -07:00
Nikolay Kim
52ade64bf7
update links
2017-07-13 13:14:47 -07:00
Nikolay Kim
6b093af3d9
update readme
2017-06-29 11:26:25 +06:00
Nikolay Kim
f494f0c3df
update class.md
2017-06-28 00:34:32 +06:00
messense
379f178dfb
Typo fix in class.md
2017-06-27 21:25:41 +08:00
messense
b36e75e307
Some distribution guide doc
2017-06-27 21:09:16 +08:00
Nikolay Kim
800fa231ba
fix class,md
2017-06-27 05:32:02 +06:00
Nikolay Kim
8bc1195f12
Merge branch 'master' of github.com:PyO3/PyO3
2017-06-27 05:06:09 +06:00
Nikolay Kim
51544b8642
add some docs
2017-06-27 05:05:54 +06:00
messense
a00e23a594
Update conversions chapter
2017-06-25 19:31:32 +08:00
messense
d4a5a46338
Write Python Exception chapter for user guide
2017-06-19 13:30:15 +08:00
messense
55ece55b3e
Add ownership and lifetime, error handling doc to overview
2017-06-19 11:40:13 +08:00
Nikolay Kim
005c36548b
add specialization to docs
2017-06-18 09:28:21 -07:00
messense
75d6684d25
Clarify Python module doc string
2017-06-18 23:15:10 +08:00
messense
32e25c8bf2
Write Python Module chapter for user guide
2017-06-18 13:07:05 +08:00
messense
7466097780
User guide documentaion ( #37 )
...
User guide documentaion
2017-06-18 10:02:02 +08:00