Commit graph

2581 commits

Author SHA1 Message Date
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 1631129c25
Merge pull request #1119 from Hywan/patch-3
doc(pyclass_init) Fix typos
2020-08-27 13:12:35 +01:00
Ivan Enderlin fee01a125b
doc(pyclass_init) Fix typos 2020-08-27 13:27:16 +02: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
Yuji Kanagawa d29330433d
Merge pull request #1116 from davidhewitt/rules_bazel
Add link to Bazel rules
2020-08-26 12:04:18 +09:00
David Hewitt 37d23da7d5 Add link to Bazel rules 2020-08-25 23:02:20 +01:00
Matthew Treinish dfa917c775
Add optional support for conversion from Hashbrown types
This commit adds optional support for conversion from hashbrown's [1]
HashMap [2] and HashSet [3] types. The HashMap and HashSet implementation
in std::collections is a copy from HashBrown, but Hashbrown still
provides some features over the std::collections version. Primarily this
is rayon support and also using a default hasher which is faster
(although not DOS resistent). The hashbrown versions provide a drop in
replacement over std::collections to get these features. To take
advantage of native type conversion in PyO3 this commit adds hashbrown
as an optional dependency and when the feature is enabled the traits for
going between python and hashbrown::HashMap and hashbrown::HashSet are
available. This is handy for users of hashbrown which have to inline
these conversions manually in functions that take dicts as args.

[1] https://github.com/rust-lang/hashbrown
[2] https://docs.rs/hashbrown/0.8.2/hashbrown/struct.HashMap.html
[3] https://docs.rs/hashbrown/0.8.2/hashbrown/struct.HashSet.html
2020-08-25 06:42:56 -04:00
Yuji Kanagawa 9d73e0b1a0
Merge pull request #1107 from kngwyu/radd-fallback
Left-hand operands are fellback to right-hand ones for type mismatching
2020-08-21 17:10:37 +09:00
kngwyu 8cbfdd52b8 Simplify test cases where both __*__ and __r*__ are defined 2020-08-20 14:53:47 +09:00
kngwyu 3e958bf607 Encapsule slot_setter's behavior to an iterator 2020-08-20 14:41:51 +09:00
kngwyu 71a7a76227 More tests for RHS 2020-08-20 14:33:47 +09:00
kngwyu 554ccb9bee Remove macro_export from macros in class/macros.rs 2020-08-20 14:33:47 +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 629efd94e2
Merge pull request #1095 from Progdrasil/cross-compile-config
Load compilation options from _sysconfigdata_*.py file
2020-08-20 14:26:23 +09:00
Rene Leveille 441d7f52b1 apply symlink use case, change variable name 2020-08-19 12:11:14 -04:00
Rene Leveille 455ec80a98 make clippy happy 2020-08-18 22:14: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 6ddae70a2b fix changelog and added comment for finding sysconfigdata 2020-08-18 13:23:48 -04:00
Rene Leveille 5dc907bc5d apply suggestions from review 2020-08-17 18:14:05 -04:00
Rene Leveille 695be35289 make clippy happy 2020-08-17 15:23:24 -04:00
Rene Leveille 0cd1e5bf19 change documentation 2020-08-17 15:17:34 -04:00
Rene Leveille afac788c1c fix complexity of finding and parsing 2020-08-17 15:12:12 -04:00
Rene Leveille aef159d4ee appy suggestions from PR 2020-08-17 11:26:30 -04:00
Rene Leveille 3bc951a551 make clippy happy and add to changelog 2020-08-17 11:25:42 -04:00
Rene Leveille e4edc6cdd7 Load compilation options from _sysconfigdata_*.py file
Following the discussion in #1077 this change allows the compilation
script to load the configurations from a _sysconfigdata_ file
in the library directory.

This file is also provided on target systems in the same directory.
At least on Manjaro Linux.
Which could remove the need to run a python script at compile time
for compiling the the host.

I've also addressed the linking need for android in #1082.
2020-08-17 11:25:06 -04:00
Yuji Kanagawa 0e0993ffcc
Merge pull request #1108 from PyO3/test-msrv
Test MSRV on github actions
2020-08-18 00:10:34 +09:00
kngwyu 5a098cfd13 Test MSRV on github actions 2020-08-17 22:10:27 +09:00
David Hewitt 4840619d63
Merge pull request #1103 from davidhewitt/fix-guide-layout
Fix layout of gh-pages guide build
2020-08-13 21:34:02 +01:00
David Hewitt d6b5ca4632 Fix layout of gh-pages guide build 2020-08-13 20:46:31 +01:00
David Hewitt 5efad3d281
Merge pull request #1100 from davidhewitt/github-actions
Migrate from Travis CI to Github Actions
2020-08-13 20:02:17 +01:00
Yuji Kanagawa 9ab7225ee0
Merge pull request #1083 from MoritzLangenstein/fallible_py_bytes_bytearray_new_with
Changed PyByte::new_init and PyByteArray::new_init such that init can fail
2020-08-13 13:18:58 +09:00
David Hewitt 51111dc861 Migrate from Travis CI to Github Actions 2020-08-12 08:09:30 +01:00
Moritz Langenstein e6dc4b2d4d Merge remote-tracking branch 'upstream/master' into fallible_py_bytes_bytearray_new_with 2020-08-11 20:52:49 +00: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
David Hewitt c81013ba32
Merge pull request #1099 from birkenfeld/guide-exc
guide: show exporting create_exception! exceptions in a module
2020-08-10 19:36:27 +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 bcb90775b4
Merge pull request #1063 from davidhewitt/remove-pyobject
Make `PyObject` a type alias of `Py<PyAny>` (& remove `FromPy`)
2020-08-09 22:06:49 +01:00
David Hewitt 2911fb4477
Merge pull request #1094 from davidhewitt/actions-fmt
Move fmt and clippy to actions
2020-08-09 13:08:15 +01:00
David Hewitt be239d405f Rework Py methods and documentation 2020-08-09 12:29:25 +01:00
David Hewitt 20959ecc92 Rewrite documentation for FromPy and PyObject changes 2020-08-09 12:29:25 +01:00
David Hewitt f29e6bae7a Replace PyObject with type alias for Py<T> 2020-08-09 12:28:21 +01:00
David Hewitt 7901890974 Remove FromPy 2020-08-09 12:28:21 +01:00
David Hewitt 206bf96b11
Merge pull request #1086 from davidhewitt/contributing
Make contributing notes much more helpful
2020-08-09 12:16:38 +01:00