Commit graph

4130 commits

Author SHA1 Message Date
David Hewitt a9b98b7433 pymethods: __ipow__ always receive None on Python 3.7 2022-01-04 22:59:08 +00:00
David Hewitt e01add5f7e
Merge pull request #2087 from aviramha/contributing_improvements
Add setting up a dev environment notes
2022-01-03 08:40:49 +00:00
David Hewitt be70e5441b
Merge pull request #2085 from davidhewitt/opt-argument-extraction
opt: move fastcall boilerplate out of generated code
2022-01-03 08:13:31 +00:00
Aviram Hassan 47993e1e81
Add setting up a dev environment notes 2022-01-03 10:00:39 +02:00
Aviram Hassan 50659b6b02
__ipow__ now supports modulo argument on Python 3.8+.
`pyo3-macros-backend` is now compiled with PyO3 cfgs to enable different magic method definitions based on version.
Add check for correct number of arguments on magic methods.
2022-01-03 09:53:56 +02:00
David Hewitt 20d1139978
Merge pull request #2066 from davidhewitt/buffer-pymethods
pymethods: support buffer protocol
2022-01-03 00:17:18 +00:00
David Hewitt 1a782ce4db opt: move fastcall boilerplate out of generated code 2022-01-03 00:07:32 +00:00
David Hewitt 5159e0524c
Merge pull request #2086 from CarlKCarlK/patch-1
Update README.md
2022-01-03 00:01:40 +00:00
Carl Kadie 5f1d4a9f5c
Update README.md
A year ago, I upgraded our Python bioinformatics package from C++ to Rust/PyO3. It worked great! I suggest adding links to the project and a (free) article about lessons learned from the process. I'm especially happy with the ability to use Rayon and Rust generics.
2022-01-01 12:15:31 -08:00
David Hewitt cf965155f4 pymethods: support buffer protocol 2021-12-30 15:48:55 +00:00
David Hewitt 2503a2dd5e
Merge pull request #2082 from davidhewitt/opt-create-type-object
opt: less generated code for `#[pyclass]` creation
2021-12-30 15:34:24 +00:00
David Hewitt e33b3e6a5b opt: don't emit T::dict_offset and T::weakref_offset without attributes 2021-12-30 14:57:27 +00:00
David Hewitt 807e126178 pyclass: no need to try inherit base dict and weaklist 2021-12-30 14:17:58 +00:00
David Hewitt 90e8ef79e2 opt: reduce generated code for type object creation 2021-12-30 14:17:58 +00:00
David Hewitt 24eea5db9a
Merge pull request #2081 from davidhewitt/wrap-paths
macros: accept paths in wrap_x macros
2021-12-30 14:00:48 +00:00
David Hewitt ff37f24625 macros: accept paths in wrap_x macros 2021-12-30 12:46:57 +00:00
David Hewitt 7c2c4dad48
Merge pull request #2070 from mejrs/aliases
Implement rustdoc-scrape-examples
2021-12-28 10:51:18 +00:00
mejrs 8c2970939d Resolve merge conflicts 2021-12-28 05:38:45 +01:00
Bruno Kolenbrander ac66392068
Merge branch 'PyO3:main' into aliases 2021-12-28 04:50:03 +01:00
David Hewitt 19ecd177c3
Merge pull request #2067 from davidhewitt/xtask-coverage
xtask: add coverage command
2021-12-27 09:48:54 +00:00
David Hewitt f344c23928 xtask: support MSRV 2021-12-27 08:36:11 +00:00
David Hewitt d600a8c3a3 xtask: add test-py subcommand & use in CI 2021-12-26 22:39:42 +00:00
Bruno Kolenbrander 4d1d859a64
Merge branch 'main' into aliases 2021-12-24 22:28:22 +01:00
Bruno Kolenbrander ff202f4660
Apply suggestions from code review
Co-authored-by: David Hewitt <1939362+davidhewitt@users.noreply.github.com>
2021-12-24 08:12:04 +01:00
David Hewitt adcc8800c5
Merge pull request #2075 from davidhewitt/opt-argument-extraction
opt: make argument extraction code smaller
2021-12-24 02:46:01 +00:00
David Hewitt 90479ddae4 opt: make argument extraction code smaller 2021-12-24 01:52:15 +00:00
David Hewitt ebed1db5aa
Merge pull request #2076 from davidhewitt/opt-class-creation
opt: reduce class creation generated code
2021-12-24 01:47:48 +00:00
David Hewitt 33a618914f opt: reduce class creation generated code 2021-12-24 01:12:59 +00:00
David Hewitt a67180c8a4
Merge pull request #2074 from davidhewitt/python-tweaks
opt: improve handle_panic generated code
2021-12-24 00:46:26 +00:00
David Hewitt 5be5d77589 opt: improve handle_panic generated code 2021-12-24 00:17:04 +00:00
David Hewitt 947055ddda
Merge pull request #2068 from davidhewitt/optimize-frompyobject
macros: optimize generated code for #[derive(FromPyObject)]
2021-12-23 00:42:39 +00:00
James Hilton-Balfe a5511b8f8a
Fix markdown link (#2071) 2021-12-22 16:51:03 +00:00
mejrs eccdcf7adb fix link 2021-12-22 12:31:14 +01:00
Bruno Kolenbrander 6430fc4958
Merge pull request #17 from mejrs/aliases
Aliases
2021-12-22 12:16:29 +01:00
mejrs 9512ce4e87 Fix call example 2021-12-22 12:12:16 +01:00
mejrs 6afd80a26f Create full feature and change doc rendering 2021-12-22 12:09:16 +01:00
David Hewitt 492b7e4c0f macros: optimize generated code for #[derive(FromPyObject)] 2021-12-22 08:34:05 +00:00
David Hewitt ff6fb5dcc2 benches: add bench_frompyobject 2021-12-22 00:27:13 +00:00
David Hewitt d520961b3f xtask: add coverage command 2021-12-21 22:28:36 +00:00
David Hewitt 3858a63b80
Merge pull request #2064 from davidhewitt/test-hygiene-coverage-try-2
ci: ignore coverage for test_hygiene, try 2
2021-12-20 22:37:33 +00:00
David Hewitt 8a989eeb6a
Merge pull request #2062 from davidhewitt/more-pointer-casts
misc: remove some more *const -> *mut pointer casts
2021-12-20 21:14:45 +00:00
David Hewitt 75fe8e50ed ci: ignore coverage for test_hygiene, try 2 2021-12-20 21:13:42 +00:00
David Hewitt 5cab5d4da3 misc: remove some more *const -> *mut pointer casts 2021-12-20 20:36:46 +00:00
David Hewitt 6033d696b1
Merge pull request #2061 from Amanieu/fix_indices
Avoid UB in PySlice::indices
2021-12-20 19:53:37 +00:00
Amanieu d'Antras ed0a6b710a Add changelog entry 2021-12-20 18:34:14 +01:00
Amanieu d'Antras 1fb20dab91 Avoid UB in PySlice::indices
Mutating a variables that is not declared with `mut` is undefined
behavior.
2021-12-20 18:28:36 +01:00
David Hewitt c7ca8bb017
Merge pull request #2057 from davidhewitt/rust-cache
ci: try rust-cache action
2021-12-18 11:01:27 +00:00
David Hewitt c36dff3cf0
Merge pull request #2056 from davidhewitt/hygiene-no-coverage
ci: no coverage necessary for hygiene tests
2021-12-18 09:37:07 +00:00
David Hewitt 8f402f31da ci: try rust-cache action 2021-12-18 09:05:05 +00:00
David Hewitt 4cec3a2ecf ci: no coverage necessary for hygiene tests 2021-12-18 08:56:22 +00:00