Commit Graph

4316 Commits

Author SHA1 Message Date
Nikolay Kim ac1a3acaa4 py3.5 compat 2017-05-03 12:26:49 -07:00
Nikolay Kim c9904f045a added coro and asyncgen types 2017-05-02 23:15:20 -07:00
Nikolay Kim c4e3be6772 add generator methods 2017-05-02 22:52:41 -07:00
Nikolay Kim 83632604ae create unicode object from object with buffer api support 2017-05-02 21:19:51 -07:00
Nikolay Kim a65f9e03fc fix __buffer_get__ return type 2017-04-30 01:17:22 -07:00
Nikolay Kim 257be7119c added convinience method 2017-04-29 21:31:35 -07:00
Nikolay Kim 8d728663d7 introduce ToPyTuple trait, that simplifies ObjectProtoco.call method 2017-04-28 16:30:46 -07:00
Nikolay Kim f651b442ba add PyByteArray 2017-04-27 21:22:15 -07:00
Nikolay Kim 665921e84e add PySlice 2017-04-27 19:44:56 -07:00
Nikolay Kim 8ccb749c1e add PyErr to io::Error convert 2017-04-27 19:39:47 -07:00
Nikolay Kim ffe774a8cc add class properties 2017-04-06 19:20:06 -07:00
Nikolay Kim d7ce1c0af0 reference python27-sys directly 2017-04-06 18:59:10 -07:00
Nikolay Kim 364d7af69c pass Py_3_x cfg var with links 2017-04-06 18:59:10 -07:00
Nikolay Kim 23c36f5714 pyclass can provide buffer interface 2017-04-06 18:59:10 -07:00
Nikolay Kim 9bb6ec20a1 add PyAsyncMethods support 2017-04-06 18:59:10 -07:00
Nikolay Kim 582b9e4e0f depepndencies 2017-04-06 18:59:10 -07:00
Daniel Grunwald 4b6b82037e Support compare() in Python 3; and add rich_compare(). 2017-04-06 18:59:10 -07:00
Daniel Grunwald 4bbea03301 Add link to setuptools-rust 2017-03-12 12:54:21 +01:00
Daniel Grunwald 508937bada PyModule::add_class(): set __module__ on the type object 2017-02-19 16:15:33 +01:00
Daniel Grunwald b6939f158b Merge pull request #84 from naufraghi/issue/79/python-interpreter
Issue/79/python interpreter
2017-02-01 23:11:44 +01:00
Daniel Grunwald 362fe73298 Merge pull request #85 from jturner314/fix-dependency-in-readme
Fix cpython dependency in README.md
2017-01-31 21:46:43 +01:00
Jim Turner ca7280fded Fix cpython dependency in README.md 2017-01-30 18:40:58 -05:00
Daniel Grunwald e638b2654a Avoid Rust->Python->Rust roundtrip when using default value in argparse! optional parameter with reference extraction. 2017-01-27 23:21:57 +01:00
Daniel Grunwald d7a94ba4b1 Add cargo categories. 2017-01-27 22:42:07 +01:00
Daniel Grunwald a6e1133ac4 Update CHANGELOG.md 2017-01-27 22:38:33 +01:00
Daniel Grunwald 32e0d35603 Update documentation 2017-01-27 21:52:04 +01:00
Daniel Grunwald f5130e51eb Merge pull request #81 from Luthaf/optional
Implement optional values in argparse
2017-01-27 21:49:53 +01:00
Matteo Bertini 654f86cf51 Ignore binaries and makefile stamps 2017-01-27 11:33:09 +01:00
Matteo Bertini e7abe40cd1 build.rs: use PYTHON_SYS_EXECUTABLE as `python` executable
Add and env variable to force an exact python executable.
2017-01-27 11:33:03 +01:00
Matteo Bertini 1cf4f275e1 py27/build.rs: generated from py3/build.rs
Add Makefile `cog `task and `cog` annotation to keep the build.rs files in sync.
2017-01-27 11:22:02 +01:00
Matteo Bertini 278ce85913 Merge python*-sys/build.rs
- use `py_version_short` in 2.7 where `LDVERSION` is missing
 - manage PEP_384 only if Python version.major is 3
2017-01-27 11:06:16 +01:00
Luthaf d615c319f6 Implement optional parameters for reference types 2017-01-26 21:35:16 +01:00
Guillaume Fraux 9707c5ab72 Implement optional values in argparse 2017-01-26 21:19:38 +01:00
Daniel Grunwald 3b0ec638b0 Create CHANGELOG.md 2017-01-21 17:39:58 +01:00
Daniel Grunwald ca4203e4db Add PyBuffer::to_vec(). Avoids unnecessary zero-initialization when creating a Vec from a buffer. 2017-01-21 00:40:32 +01:00
Daniel Grunwald e3d6ac2ca8 Test extracting Vec<u8> using bytearray instead of bytes: On Python 2.7, the sequence protocol on bytes returns characters, not integers. 2017-01-20 23:22:45 +01:00
Daniel Grunwald 3152ef22f0 Expand on the buffer protocol.
When compiling with --feature nightly, we now use specialization to optimize extract::<Vec<PrimititeType>>() from an object implementing the buffer protocol.
2017-01-20 23:14:29 +01:00
Daniel Grunwald af8131f858 Initial attempt at the buffer protocol.
Does not yet provide a safe way of accessing the buffer contents.
2017-01-20 01:08:51 +01:00
Daniel Grunwald a48d74c62c Fix #19: allow extracting a Vec from anything implementing the sequence protocol, not just from `list`. 2017-01-20 01:08:12 +01:00
Daniel Grunwald fbe1a07d10 Mention `pub class` in the documentation. 2017-01-19 21:56:06 +01:00
Daniel Grunwald 06cab0a925 Fix #77: Add support for `py_class!(pub class ...)` 2017-01-19 21:50:49 +01:00
Daniel Grunwald cb4ee822e0 Add Python 3.6 to test matrix. 2017-01-18 21:28:04 +01:00
Daniel Grunwald 97727b2b21 Merge pull request #75 from naufraghi/patch-1
Fix typo: Mac OS `dynlib` -> `dylib`
2017-01-18 01:09:54 +01:00
Matteo Bertini acd36360dc Fix typo: Mac OS `dynlib` -> `dylib`
Closes #73
2016-12-31 11:06:16 +01:00
Daniel Grunwald 623056d3ca Merge pull request #70 from naufraghi/fix-docs-traverse
Fix __traverse__ list formatting (add missing newline)
2016-12-25 16:53:39 +01:00
Matteo Bertini 3af2e3a9fa Fix __traverse__ list formatting (add missing newline) 2016-12-24 08:05:47 +01:00
Daniel Grunwald b7090799b6 Version 0.1.0 2016-12-17 21:41:14 +01:00
Daniel Grunwald b83a5d9bad Bump crate version numbers. 2016-12-17 21:29:02 +01:00
Daniel Grunwald e2d7781433 Add "extension-module" feature to suppress linking pythonX.Y.so.
The symbols are instead kept unresolved, so that they can be used with
any compatible python interpreter, even if the target system uses a
statically linked python and lacks pythonX.Y.so altogether.
2016-12-17 21:17:11 +01:00
Daniel Grunwald 62a083e38f PyTuple: Add back iter() method (fixes build); require py: Python for as_slice().
This is a compromise solution: we require the GIL to be held when acquiring
the slice, but not later when using the slice.

We could bind the lifetime of the returned slice to the Python-token lifetime
to prevent accessing the slice when the GIL is not held, but that causes
problems with the FromPyObject impl.

Alternatively we could not require the GIL at all when accessing the PyTuple
(and thus keep the ops::Index and IntoIterator implementations), but that
relies on too many CPython implementation details for my taste.
2016-12-17 16:40:17 +01:00