Commit Graph

770 Commits

Author SHA1 Message Date
Daniel Grunwald 1633e24127 Adjust check_symbols.py to changed rustc -Z ast-json output. 2016-03-04 22:21:15 +01:00
Daniel Grunwald 109c704ad7 Fix "reexport of private crate" warning. 2016-03-04 21:35:52 +01:00
Daniel Grunwald 8c398a66cf Merge pull request #37 from millerjs/master
remove duplicate word in docstring
2016-01-29 19:25:35 +01:00
Joshua Miller 7092bd4362 remove duplicate word in docstring 2016-01-28 21:13:39 -06:00
Daniel Grunwald 54aa17abf9 Enable testing with Python 3.5 2016-01-22 20:42:34 +01:00
Daniel Grunwald 7269dc64c2 python*-sys: use #![no_std] 2016-01-22 20:38:34 +01:00
Daniel Grunwald 67282d2e23 Merge pull request #35 from mneumann/fix_doc
Correct the example in README.md
2015-12-31 16:17:18 +01:00
Michael Neumann bab907b0be Correct the example in README.md 2015-12-31 12:43:03 +01:00
Daniel Grunwald 168a060f4b Make PreparedString public. 2015-12-20 13:59:03 +01:00
Daniel Grunwald e8a69d9431 Remove unused pkg_config dependency from python27-sys 2015-12-20 13:57:26 +01:00
Daniel Grunwald 049bcb3278 libsyntax changed yet again 2015-11-15 18:54:45 +01:00
Daniel Grunwald a133bc5c33 appveyor: fix install script 2015-11-12 00:10:56 +01:00
Daniel Grunwald 4f6e674499 appveyor: use .msi instead of .tar.gz for installing rust so that we get rustc, std and cargo all in one package 2015-11-12 00:09:00 +01:00
Daniel Grunwald 669cc56275 Let's see if a path dependency fixes #34. 2015-11-11 23:40:31 +01:00
Daniel Grunwald 56eb23ccbe Use interpolate_idents 0.0.5 2015-11-11 23:40:05 +01:00
Daniel Grunwald a19b186bb4 Fix git URL in readme 2015-11-07 17:19:46 +01:00
Daniel Grunwald e935111c9c Update interpolate_idents to my fork (adjusted for currently Rust nightlies).
Update libc to 0.2.
2015-11-07 17:10:20 +01:00
Daniel Grunwald c1682b68ac Add some tests for py_fn!() 2015-11-07 16:52:20 +01:00
Daniel Grunwald 32086a0ef5 Add back PyIterator, PyListIterator etc. 2015-10-29 02:36:50 +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 d33a4b68fc Add test script that all symbols imported by python-sys are exported from the python .so 2015-09-20 22:21:18 +02:00
Daniel Grunwald 2b7d28f7fd Fix build with python 2.7 2015-09-20 19:43:24 +02:00
Daniel Grunwald 5bab92cbcc Add back PyTuple::as_slice() 2015-09-20 19:40:18 +02:00
Daniel Grunwald 080ca17621 Use concrete return types for str() and repr() 2015-09-20 19:39:59 +02:00
Daniel Grunwald b21a23b304 In python 3, use PyUnicode_AsUTF8AndSize for extracting UTF-8 from unicode objects. 2015-09-20 16:21:00 +02:00
Daniel Grunwald 6c0e7e07c7 python3-sys: add more of the non-limited API 2015-09-20 14:11:31 +02:00
Daniel Grunwald 65395a11b1 Merge branch 'python-eval' of https://github.com/murarth/rust-cpython 2015-09-19 16:14:42 +02:00
Daniel Grunwald 93b522404e python27-sys: Add struct definitions for PyCodeObject and PyFrameObject.
Closes #21.
2015-09-19 16:10:15 +02:00
Daniel Grunwald cb938e1906 Start with non-limited python 3 API:
* pymem.h
* object.h
* code.h
* compile.h
* tupleobject.h

The PEP-384 limited API is available when using the "pep-384" cargo feature.
2015-09-19 15:37:29 +02:00
Daniel Grunwald a0cda1a66b python27-sys: compile.h 2015-09-19 13:56:50 +02:00
Daniel Grunwald d87a4596ef Dict tests.
(squashed pull request #31 without PyMapping)
2015-09-18 21:47:10 +02:00
Daniel Grunwald d00d59959a PySequence: change some more return types to PyResult<'p, PyObject<'p>> 2015-09-13 19:37:49 +02:00
Ewan Higgs 65967c2401 Use err::error_on_minusone to clean the code up a bit. 2015-09-08 12:54:38 +02:00
Ewan Higgs dbcdbedc59 Fix up get_item so it returns PyResult (w/o lifetime elision).
Make concat and repeate return PyObject. Also uncomment tests of concat and
repeat.
2015-09-07 23:03:22 +02:00
Ewan Higgs 809e9ab227 Use signed size to allow negative indexing. Add more tests. 2015-09-04 00:52:16 +02:00
Ewan Higgs f90d427454 Tidy up docs, make length and size the same. Test del_item. 2015-08-26 21:45:46 +02:00
Ewan Higgs a63aa43536 Use cast_into instead of from_object. More PySequence tests. 2015-08-26 21:13:13 +02:00
Ewan Higgs 636cfee28d Add tests for sequence. Make list and tuple use private PyObject again.
Add from_object that converts from PyObject into PyList and PyTuple.
Maybe it should be a macro as part of the newtype thing?
2015-08-26 21:13:13 +02:00
Ewan Higgs ff69760b99 Make ctors public for various object types. 2015-08-26 21:13:13 +02:00
Daniel Grunwald 160b23eff0 Remove unnecessary PyList -> PyObject -> PyList roundtrip 2015-08-26 20:19:58 +02:00
Ewan Higgs 173a6147f4 Add tests for list.rs. Still missing tests for extract. 2015-08-26 15:49:43 +02:00
Daniel Grunwald 86a3d605e1 rust-cpython 0.0.4 2015-08-25 20:02:50 +02:00
Daniel Grunwald 3e2dca717e Fix compiler warning (unused std::fs) 2015-08-21 21:28:13 +02:00
Daniel Grunwald fa5c866cd6 Fix compiler error
Closes #27
2015-08-21 21:27:11 +02:00
Daniel Grunwald 6316ddc28b Fix some build errors 2015-08-20 21:14:47 +02:00
Daniel Grunwald 814a2ac720 Merge pull request #28 from novocaine/master
Remove pkgconfig approach from -sys builds.
2015-08-16 15:42:19 +02:00
James Salter 93645484ed Remove pkgconfig approach from -sys builds.
* pkgconfig is frequently broken or missing, doesn't
contain the explicit path to the interpreter (leading
to bad guesses), and confuses users. Rely on PATH alone.

* Fix bad detection of OSX shared library python

* Fix get_config_from_interpreter reporting python interpreter
path inconsistently with find_interpreter_and_get_config -
fixes OSX python.org python 3, which doesn't have a 'python'
in exec_prefix, just 'python3'
2015-08-16 12:30:57 +01:00
Daniel Grunwald a23b5b5910 Add parameter extraction support to `py_fn!` and `py_method!`.
These macros now support specifying an argument list:
`py_fn!(myfn(myarg: i32))`
will expect `myfn` to be a function with the signature:
`fn myfn<'p>(py: Python<'p>, myarg: i32) -> PyResult<'p, _>`

It can called from python as `myfn(1)`
or using keyword arguments: `myfn(myarg=1)`.

If no parameter list is specified (`py_fn!(myfn)`), the expected signature
now includes the keyword arguments:
`fn run<'p>(py: Python<'p>, args: &PyTuple<'p>, kwargs: Option<&PyDict<'p>>)`

Due to the additional `kwargs` argument, this is a [breaking-change].
2015-08-03 00:06:15 +02:00
Murarth 376ce21f2d Implement `eval` and `run` to execute Python code 2015-08-02 14:30:14 -07:00