Commit graph

4109 commits

Author SHA1 Message Date
Daniel Grunwald d70479d257 Remove lifetime 's from FromPyObject.
This allows implementing `FromPyObject` for `Vec<T>`.
It also means that `obj.extract::<Cow<str>>()` won't be supported, but we
have `PyString::extract()` for that now.
2015-05-24 17:12:12 +02:00
Daniel Grunwald a106cabc4a Initial support for python 3. 2015-05-23 23:52:38 +02:00
Daniel Grunwald 38b5971e56 python3-sys: use cfg(py_sys_config=..) instead of cfg(feature=..) 2015-05-23 18:20:49 +02:00
James Salter b1eca56ec3 Python 3 build support
* Add python3-sys to rust-cpython as an optional feature, and
  make python27-sys also optional, but still the default
* Parametrise python27-sys/build.rs so that it is python
  version independent, and clone it into python3-sys/build.rs.
  Hopefully this can continue to be maintained as an identical
  file.
* python27-sys and python3-sys gain features for explicitly
  selecting a python version to link to. for python27-sys,
  there's currently only python27; for python3-sys there's
  python 3.4 and 3.5.
* explicitly tell travis to use nightlies (seems to have
  started trying to use 1.0.0)
2015-05-23 15:23:08 +01:00
Daniel Grunwald d4bdcc5cbd Fix warning: unnecessary 'unsafe' block 2015-05-17 21:43:12 +02:00
Daniel Grunwald 6a0f951e94 Use try!() instead of unwrap() 2015-05-17 21:42:34 +02:00
Daniel Grunwald db8edd7f4e Fix build 2015-05-17 21:35:04 +02:00
Daniel Grunwald 461255f3fa Merge branch 'master' of https://github.com/novocaine/rust-cpython 2015-05-17 20:47:48 +02:00
Daniel Grunwald 427cdf09f8 Fix building python27-sys without Py_USING_UNICODE. 2015-05-17 18:38:35 +02:00
James Salter b3e20e900b fix issues in bb13ec, support utf16, python fom PATH
* fix ucs4 build broken by bb13ec
* add utf16 decoding to unicode.from_py_object for
  narrow unicode builds
* change unicode narrow/wide cfg flag to be
  Py_UNICODE_SIZE_4 not Py_UNICODE_WIDE, which doesn't
  appear in sysconfig
* support framework builds on os x
* python27-sys exports compilation flags as cargo vars,
  and rust-python resurrects them as cfg flags
* travis runs against local python27-sys
* rust-cpython depends on git python27-sys, because
  the one on cargo is now incompatible with it (since bb13ec)
2015-05-17 13:20:58 +01:00
Daniel Grunwald bb13ecd610 Merge pull request #2 from novocaine/master
dynamically determine python flags for cfg
2015-05-13 21:22:51 +02:00
James Salter 6a41227969 dynamically determine python flags for cfg
* in build.rs, call the python interpreter located by pkgconfig
and use sysconfig to determine the flags it was built with.
* pass these flags to the build via --cfg
* refactor existing references to features to refer to these
instead
2015-05-13 19:03:13 +01:00
Daniel Grunwald 6661524a79 Merge pull request #1 from novocaine/master
Fix refs to std::num::cast -> num::traits::cast
2015-05-09 22:35:10 +02:00
James Salter c1acf04e0e Fix refs to std::num::cast -> num::traits::cast
This function was removed from the rust stdlib in
https://github.com/rust-lang/rust/commit/eeb948.

Updated to refer to the 'num' crate instead.
2015-05-09 17:12:26 +01:00
Daniel Grunwald b9b67ee932 Add fileobject, cobject and pycapsule headers 2015-05-07 23:18:48 +02:00
Daniel Grunwald bab3214595 Remove link attributes, we use pkg-config instead 2015-05-03 01:05:14 +02:00
Daniel Grunwald b2293e593e crates.io doesn't accept dots in feature names 2015-05-03 00:39:03 +02:00
Daniel Grunwald 6b5da09e79 Add python27-sys to rust-cpython repository 2015-04-26 10:34:31 +02:00
Daniel Grunwald 5594db8261 Add python3-sys 2015-04-26 10:32:58 +02:00
Daniel Grunwald 888967ab5d Update link to documentation. 2015-04-19 07:50:50 +02:00
Daniel Grunwald 84386d826d Another attempt to fix docs 2015-04-19 06:38:56 +02:00
Daniel Grunwald 73c900edb1 Fix docs 2015-04-19 06:36:02 +02:00
Daniel Grunwald 818acb4d77 Build documentation 2015-04-19 06:32:59 +02:00
Daniel Grunwald 81a8cbb64f Add README.md 2015-04-19 05:29:19 +02:00
Daniel Grunwald c07b0468e8 MIT license headers 2015-04-19 05:22:03 +02:00
Daniel Grunwald a60037e27f Remove old test scripts (replaced by extensions/Makefile) 2015-04-19 05:21:45 +02:00
Daniel Grunwald f527c237f2 rust-ci doc upload 2015-04-19 05:21:28 +02:00
Daniel Grunwald b3fe39c3c4 call() 2015-04-19 05:01:19 +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 5a303789b9 Don't export cstr! macro 2015-04-18 22:20:19 +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 2a91b00abe Fix segfault due to POST_DROP_USIZE and update to latest nightly 2015-04-17 22:13:15 +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 77b178af40 Tell travis we're back on the nighlies 2015-01-12 03:23:50 +01:00
Daniel Grunwald f423acee6d Update to current rust nightly 2015-01-12 03:17:29 +01:00
Daniel Grunwald 5566faf235 py_module_initializer macro 2015-01-12 03:00:34 +01:00
Daniel Grunwald 55ea6cc85b Add PyList, PyInt, PyLong and PyFloat. 2015-01-11 18:56:59 +01:00
Daniel Grunwald 284f7a7931 Fix build 2015-01-11 05:52:11 +01:00
Daniel Grunwald 6d9fd93df2 Go back to 1.0-alpha due to rust issue 21510 2015-01-11 05:41:55 +01:00
Daniel Grunwald d8a1fcd869 update for rust nightly 2015-01-11 04:21:05 +01:00
Daniel Grunwald 706d7c1b78 Port to new rust nighly and add CStr. 2015-01-08 09:20:05 +01:00
Daniel Grunwald fd2ae9ce60 delete pyptr 2015-01-08 09:19:35 +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 038dfc7474 ToPyObject simplification 2015-01-05 21:14:01 +01:00
Daniel Grunwald 540f934123 Objects module 2015-01-05 17:06:43 +01:00