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
Daniel Grunwald
4cb29c14fa
Remove hacks for compatibility with old rust versions. The new minimum required version is Rust 1.13.0.
...
This significantly reduces our #[cfg(feature="nightly")] usage.
2016-12-17 16:05:21 +01:00
Daniel Grunwald
f6ed2bbae9
Fix #10 : Windows support.
...
We keep the #[link] attributes in #[cfg_attr(windows)] so that we don't require a nightly Rust build on non-Windows platforms.
This can be simplified once RFC 1717 is available in a stable rust version.
This commit also increases the minimum Rust version to 1.13.
2016-12-17 15:46:52 +01:00
Daniel Grunwald
278c1aece8
Fix #56 : PyModuleDef changed "m_slots" to "m_reload" in Python 3.5.
2016-12-10 13:03:51 +01:00
Daniel Grunwald
2c89f62646
Fix non_upper_case_globals warning in py_class!() macro.
2016-12-10 12:41:08 +01:00
Daniel Grunwald
2b012968ec
Add missing #[cfg(Py_3_6)]
2016-12-10 12:37:33 +01:00