Commit graph

80 commits

Author SHA1 Message Date
konstin 6cd07c369c Simpler new and clippy fixes 2019-02-23 18:38:00 +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 6cb098ee12 Replace py.init_[ref|mut] with Py[Ref|Mut]::new 2019-02-13 21:52:21 +01:00
konstin 1a489d2829 Make the init methods use a value instead of a function 2019-02-13 13:59:47 +01:00
konstin c868cc3e4b Fix test 2019-02-01 16:31:18 +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
Joar Wandborg 8e4d23e470
Pass posargs to pytest command, skip redundant install 2019-01-09 22:00:29 +01:00
konstin b9f9580751
Fix #314 2018-12-28 20:29:12 +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
kngwyu 1081ba9447 Fix import module name in test_dict_iter 2018-11-13 11:50:13 +09:00
kngwyu 3b01b8f6ba Review fixes 2018-11-13 00:53:06 +09:00
kngwyu 34099b33f8 Fix PyDictIterator's segfault(for #159) 2018-11-13 00:25:54 +09:00
konstin 57afb51604 Remove PyToken completely; Fixes #94 2018-11-12 14:42:21 +01:00
konstin d2ba436d6d Remove the unnecessary type parameter PyObjectAlloc 2018-11-12 14:37:06 +01:00
konstin c77049541a Fix CI
black requires 3.6+ to be installed
2018-11-11 18:13:33 +01:00
konstin 9f45efebaf Format 2018-11-11 12:25:53 +01:00
konstin a9b05711b0 Add test to fix #220 2018-11-11 12:24:24 +01:00
kngwyu bd6f923f43 Fix #240 2018-11-09 13:11:47 +09:00
Yuji Kanagawa ecae8544f4
Merge pull request #262 from kngwyu/pganssle-tzinfo_subclass_introspection
Skip failing test of #239
2018-11-08 18:34:46 +09:00
kngwyu 9ae2f1f7f5 Skip failing test 2018-11-08 18:13:44 +09:00
konstin 4da9110489 Add tox config for word-count 2018-10-09 18:21:52 +02:00
Hanaasagi 92119d195a remove meaningless __future__.absolute_import 2018-10-09 23:26:28 +09:00
Hanaasagi eb6e7a2c2a use pytest directlly instead of python -m pytest 2018-10-09 23:24:36 +09:00
Paul Ganssle 7abd436a0d
Add tests for othermod
This adds othermod to the rustapi_module extension and tests the
contents of the module.
2018-09-29 10:28:32 -04:00
Paul Ganssle f847974c06
Add failing test for TzClass introspection
Currently accesing `tzi.__class__` causes a segmentation fault
2018-09-28 18:10:50 -04:00
Paul Ganssle 2fa3b942f2 Add failing test to create tzinfo subclass
Currently this fails at import time with undefined symbol:
PyDateTime_TZInfoType
2018-09-28 23:56:57 +09:00
konstin ed2739829f Fix the other part from #231 2018-09-27 01:44:17 +02:00
konstin 78a5053b22 Fix #231 2018-09-27 01:11:31 +02:00
konstin 05874d3f1a Fix tests 2018-09-27 01:11:31 +02:00
konstin c1cb5ca74f Use ::std to fix #233 2018-09-27 00:55:45 +02:00
konstin 302c099a76 Big refactoring to shrink the prelude 2018-09-21 23:34:28 +02:00
konstin 0372360811 Add test for #219 2018-09-17 19:47:23 +02:00
Paul Ganssle 265a6802d7
Enable extension-module 2018-08-21 18:33:34 -04:00
Paul Ganssle c69634e0fd
Remove use_extern_macros, which is now stable 2018-08-21 18:33:34 -04:00
Paul Ganssle a05a78f7e0
Use smallest types for Py{Date}{Time} constructors
Because it's unlikely that anything other than the `year` parameter will
change in the C Python API, the rest can be restricted to their logical
ranges, which improves the compile-time error checking.
2018-08-21 18:33:33 -04:00
Paul Ganssle 5d5689f95b
Switch Py{Date}{Time} constructor parameters to i32
While the valid ranges for the constructor parameters is the same when
expressed as either u32 or i32, since the Python API uses i32 in their
public interface, we won't have to make any changes to the signatures if
the Python behavior changes (e.g. supporting negative years) without
their API changing.
2018-08-21 18:33:33 -04:00
Paul Ganssle 113de1bcd3
Drop setup_requires from rustapi_module
The PEP 518 way to do this is with pyproject.toml. tox doesn't support
PEP 518 yet, but we get around that by using pip install -e . as part of
the tox build until PEP 518 support arrives in tox.
2018-08-21 18:33:33 -04:00
Paul Ganssle 078bea4345
Move rustapi_module into examples
This is really a test module, but the Rust convention is to put
something like this under examples/, and when it lands, we can take
advantage of "Project-based Examples for Cargo Projects" - RFC link
at https://github.com/rust-lang/rfcs/pull/2517
2018-08-21 18:33:33 -04:00
konstin 991a8b94d2 More nightly fixes 2018-08-19 20:42:17 +02:00
konstin d0ed68414a Many small improvements 2018-08-04 19:56:59 +02:00
konstin fe8a719ee1 Rustfmt all the things ✔️ 2018-07-30 23:05:10 +02:00
konstin 83db765889 Refactoring 2018-07-30 22:56:25 +02:00
dependabot[bot] 026b32e64c
Update rayon requirement to 1.0
Updates the requirements on [rayon](https://github.com/rayon-rs/rayon) to permit the latest version.
- [Release notes](https://github.com/rayon-rs/rayon/releases)
- [Changelog](https://github.com/rayon-rs/rayon/blob/master/RELEASES.md)
- [Commits](https://github.com/rayon-rs/rayon/commits/v1.0.2)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-07-27 15:16:28 +00:00
konstin 2627fa8a08 0.3.2 2018-07-22 21:36:18 +02:00
konstin d59bebcc38 Upgrade from proc_macro to use_extern_macros 2018-07-18 13:08:05 +02:00
konstin 2ffa302a8d Fix module name in word_count_cls 2018-07-10 00:30:44 +02:00
konstin fe931a594f #[pymodinit] now uses the function name as default module name 2018-07-10 00:13:02 +02:00