Commit Graph

29 Commits

Author SHA1 Message Date
Samuel Cormier-Iijima d77f93056e Add py_exception! macro for defining custom exception types 2016-06-05 18:12:25 -04:00
Daniel Grunwald fffcf57834 Add support for __len__ special method. 2016-04-17 23:26:33 +02:00
Daniel Grunwald d705620502 Add support for Rust stable.
All functions that depend on PyObject having the same memory layout
as *mut ffi::PyObject should now be hidden behind #[cfg(feature="nightly")].
2016-03-06 01:08:40 +01:00
Daniel Grunwald 0a270a0583 Put Python argument at beginning of argument list.
Closes #33.
2015-10-26 23:52:18 +01:00
Daniel Grunwald 44611991c3 Remove 'p lifetime from PyObject (#15)
Since the `Python` token no longer is a part of `PyObject`,
lots of methods now require the token as additional argument.

This [breaking-change] breaks everything!
2015-10-25 17:55:29 +01:00
Daniel Grunwald 63d5f2cd1a Rename PyErr::new() to PyErr::from_instance() and add use the name PyErr::new() for a more useful function.
Allows simplifying the common
`PyErr::new_lazy_init(py.get_type::<exc::ValueError>(), Some(msg.to_py_object(py).into_object()));`
to
`PyErr:🆕:<exc::ValueError, _>(py, msg)`

[breaking-change]
2015-07-23 22:21:11 +02:00
Daniel Grunwald 9f2244bbcf Remove unused imports and variables. 2015-06-27 23:49:53 +02:00
Daniel Grunwald 3b02ef5b99 Improve documentation. 2015-06-27 22:48:40 +02:00
Daniel Grunwald 5c74f55862 Change `py_func!(py, f)` to `py_fn(f)`. 2015-06-25 00:02:56 +02:00
Daniel Grunwald a106cabc4a Initial support for python 3. 2015-05-23 23:52:38 +02:00
Daniel Grunwald c07b0468e8 MIT license headers 2015-04-19 05:22:03 +02:00
Daniel Grunwald fbd60f11f4 Simplify ToPyObject: directly return the object without PyResult
to_py_object should always succeed (modulo out-of-memory)
2015-04-19 01:07:14 +02:00
Daniel Grunwald 1e5605036e Update documentation 2015-04-19 00:39:04 +02:00
Daniel Grunwald 5d3d03bcac Remove dead code 2015-04-18 22:25:03 +02:00
Daniel Grunwald f8e24a870c Add support for exposing rust functions to python 2015-04-18 20:17:25 +02:00
Daniel Grunwald 60360fa03f Fix py_module_initializer 2015-04-18 01:52:48 +02:00
Daniel Grunwald dd20e00c77 Update for rust beta. 2015-03-09 14:31:20 +01:00
Daniel Grunwald 913f3ea2e5 Adjust to rust nightly 2015-03-08 15:29:44 +01:00
Daniel Grunwald f423acee6d Update to current rust nightly 2015-01-12 03:17:29 +01:00
Daniel Grunwald d8a1fcd869 update for rust nightly 2015-01-11 04:21:05 +01:00
Daniel Grunwald b3be3d35de Change API for owned python pointers:
replace PyPtr<'p, PyObject<'p>> with PyObject<'p>

Borrowed python pointers stay &PyObject<'p>.
Note: this means the internal representation of borrowed python pointers
changes from "*mut PyObject" to "&*mut PyObject".
2015-01-07 01:40:48 +01:00
Daniel Grunwald 1c7eb2340d Add PyBool and PyTuple impls 2015-01-06 01:04:25 +01:00
Daniel Grunwald 540f934123 Objects module 2015-01-05 17:06:43 +01:00
Daniel Grunwald c61e1e51f4 Add PyDict and unchecked downcasts. 2015-01-05 17:06:41 +01:00
Daniel Grunwald 61acf98aec Fix threading 2015-01-05 17:06:36 +01:00
Daniel Grunwald 335913e273 Some minor improvements 2015-01-05 17:06:34 +01:00
Daniel Grunwald 60d07011a3 freethreaded-python 2015-01-05 17:06:31 +01:00
Daniel Grunwald d247b138c5 Rename PyTypeObject and use associated type for ToPyObject. 2015-01-05 17:06:25 +01:00
Daniel Grunwald 7ccf5c88f1 Initial commit 2015-01-05 17:05:53 +01:00