Commit Graph

111 Commits

Author SHA1 Message Date
Nikolay Kim a120bbf15e Refactor implementation. Drop parameter from constructor 2017-07-26 01:11:00 -07:00
Nikolay Kim ce15dda5b6 Allow to add gc support without implementing PyGCProtocol #57 2017-07-24 12:19:05 -07:00
Nikolay Kim 3e5fadf373 bump to dev 2017-07-23 11:37:44 -07:00
Nikolay Kim 78b826e119 fix doc link 2017-07-23 11:36:26 -07:00
Nikolay Kim 01ab0f828a fix license name 2017-07-23 11:24:39 -07:00
Nikolay Kim 5a386ebb42 prepare release 2017-07-23 11:17:10 -07:00
Nikolay Kim 60b49d15c1 explicit version 2017-07-23 11:11:38 -07:00
Nikolay Kim a7b3abff61 add version 2017-07-23 11:09:59 -07:00
messense 6bbf3d7595 Add rustc version check in build script (#47)
* Add rustc version check in build script

* Update rustc requirement in README.md
2017-07-18 09:33:27 +08:00
Nikolay Kim c1c4648add delay decref until gil available 2017-07-09 12:08:57 +06:00
Nikolay Kim a90d8c241f fix ref counter for get_kwargs 2017-07-04 10:24:04 +06:00
messense 93b1dd8262 Add compile-test (#38) 2017-06-18 23:41:20 +08:00
Nikolay Kim 1008dafea2 fix doc links 2017-06-15 11:30:06 -07:00
Nikolay Kim d15e85800f push all doc files 2017-06-15 11:20:40 -07:00
Nikolay Kim 51115e70f2 update doc link 2017-06-15 10:48:10 -07:00
Nikolay Kim 5bf6ce3864 added __unicode__ method to PyObjectProtocol 2017-06-15 07:48:57 -07:00
Nikolay Kim 3b4d147219 initial impl for py2 2017-06-11 16:35:24 -07:00
Nikolay Kim a584ce12e5 release py objects aftre use 2017-06-06 19:26:59 -07:00
Nikolay Kim 84f5578997 varios cleanups 2017-06-05 20:25:00 -07:00
messense c9717249a2
Use regex 0.2 in build script 2017-05-21 18:08:26 +08:00
Nikolay Kim c9aefd7e5f drop py_class 2017-05-16 23:43:39 -07:00
Nikolay Kim 3e20979f3f implement buffer protocol with proc macro 2017-05-14 12:52:30 -07:00
Nikolay Kim 8a295793a0 include py3 ffi info into crate 2017-05-12 22:05:00 -07:00
Nikolay Kim 3bb7a64db5 drop python27 2017-05-12 19:59:20 -07:00
Nikolay Kim d7ce1c0af0 reference python27-sys directly 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 582b9e4e0f depepndencies 2017-04-06 18:59:10 -07:00
Daniel Grunwald d7a94ba4b1 Add cargo categories. 2017-01-27 22:42:07 +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 52c05c6bac Adjust python3-sys to Python 3.6 RC headers. 2016-12-10 12:07:42 +01:00
Daniel Grunwald 9aec3f33f1 We only need num-traits, not the full num crate. 2016-04-17 23:35:17 +02:00
Daniel Grunwald ab83b4f4a1 #14; Convert Rust panic to Python SystemError 2016-03-12 01:31:06 +01:00
Daniel Grunwald 7c90651157 Make use of nightly const_fn + shared features optional. 2016-03-06 00:03:17 +01:00
Daniel Grunwald 53353d374b Remove dependency on interpolate_idents.
We now use the generic <DUMMY> hack to avoid duplicate extern "C" symbols.
See rust-lang/rust#26201.

py_module_initializer!() calls now need to manually concatenate the module
name with the prefixes "init" and "PyInit_".
2016-03-05 23:20:53 +01:00
Daniel Grunwald a1654d5d65 cpython 0.0.5 2016-03-05 17:51:55 +01:00
Daniel Grunwald 049bcb3278 libsyntax changed yet again 2015-11-15 18:54:45 +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 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 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 86a3d605e1 rust-cpython 0.0.4 2015-08-25 20:02:50 +02:00
Daniel Grunwald 5d16c62cd5 Switch to my interpolate_idents fork until a fix is released 2015-08-02 17:29:04 +02:00
Daniel Grunwald dd93257bd7 rust-cpython 0.0.3 2015-07-08 22:55:24 +02:00
Daniel Grunwald a0d8670268 rust-cpython 0.0.2 2015-07-04 20:28:40 +02:00
Daniel Grunwald 00492e700c Make python 3 the default.
Today is the day :)
2015-06-27 23:50:50 +02:00
Daniel Grunwald ba0643c11c Add support for creating instances of PyRustObjects that involve inheritance.
Prevent panics from unwinding into C code.
2015-06-20 16:02:09 +02:00
James Salter 124a85d749 can build with only a major python 3 version 2015-05-25 15:38:21 +01:00
Daniel Grunwald 8c8779e3fb py_module_initializer! for python 3 2015-05-24 20:06:08 +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 db8edd7f4e Fix build 2015-05-17 21:35:04 +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
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 888967ab5d Update link to documentation. 2015-04-19 07:50:50 +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 5566faf235 py_module_initializer macro 2015-01-12 03:00:34 +01:00
Daniel Grunwald d8a1fcd869 update for rust nightly 2015-01-11 04:21:05 +01:00
Daniel Grunwald eca5b4039b Split PythonObjectDowncast from PythonObject 2015-01-05 17:06:40 +01:00
Daniel Grunwald 7ccf5c88f1 Initial commit 2015-01-05 17:05:53 +01:00