Commit graph

227 commits

Author SHA1 Message Date
konstin 9cadbd11de v0.4.1 2018-08-20 14:34:34 +02:00
konstin d0ed68414a Many small improvements 2018-08-04 19:56:59 +02:00
konstin b7dc0ad695 v0.4.0 2018-07-30 23:10:50 +02:00
konstin fe8a719ee1 Rustfmt all the things ✔️ 2018-07-30 23:05:10 +02:00
kngwyu 686d006bea Specify proc-macro2 version
Since we can't compile 0.4.8 in current nightly.
See
9f0a28a9c9
for upstream change.
2018-07-24 17:17:11 +09:00
konstin 2627fa8a08 0.3.2 2018-07-22 21:36:18 +02:00
konstin 3248927db2 Bump versions in the Cargo.toml files
One day I'll get the order right
2018-07-18 14:11:24 +02:00
konstin d59bebcc38 Upgrade from proc_macro to use_extern_macros 2018-07-18 13:08:05 +02:00
konstin fe931a594f #[pymodinit] now uses the function name as default module name 2018-07-10 00:13:02 +02:00
konstin f6224ca0bc Prepare for 0.3.0 release 2018-07-08 23:41:18 +02:00
konstin 4013d40897 Add py prefix to the proc macros and move them into the root module
This is important because `proc_macro_path_invoc` isn't going to be stabilized soon.
2018-07-08 23:33:48 +02:00
konstin 1201587353 Remove some old-syn clutter 2018-07-04 19:07:27 +02:00
konstin bc412ede8f Format pyo3cls and pyo3-derive-backend 2018-07-03 22:28:40 +02:00
konstin 1e31fc4451 Remove even more clutter 2018-07-03 21:11:56 +02:00
konstin fd6ab73924 Upgrade to syn 0.14: Useful error messages 🎉 2018-06-15 22:41:16 +02:00
Peng Guanwen ce4c217527 Fix broken links
This fixes #182
2018-06-14 08:10:39 +00:00
konstin c9db4f0da2 Some cleanup and housekeeping 2018-05-30 15:03:31 +02:00
konstin 314a4a2b3e Some more documentation work 2018-05-19 17:27:26 +02:00
Martin Larralde 01b7b3feeb Fix link to organisation page in Cargo.toml manifests [ci skip] 2018-05-14 18:53:37 +02:00
Martin Larralde 580e50f727 Make build_py_proto and build_py_methods only accept ImplItem 2018-05-14 13:34:36 +02:00
Martin Larralde 4414d684e4 Tidy up pyo3cls/src/lib.rs 2018-05-14 01:14:50 +02:00
Martin Larralde d1d0dddb48 Improve error messages in pyo3cls 2018-05-14 01:01:23 +02:00
Martin Larralde d07c538779 Port pyo3cls to latest syn 2018-05-14 00:49:15 +02:00
Martin Larralde b43b481980 Merge #154 and #155 changed with syn13 2018-05-13 21:24:40 +02:00
konstin 858a124374 Merge master 2018-05-05 15:50:04 +02:00
konstin 15204bab56 Better way to add functions to modules 2018-05-02 19:26:54 +02:00
konstin 0880ac166c Merge master 2018-05-01 20:41:35 +02:00
konstin 5a8f5034d6 Fix make test
This is a follow-up to #147
2018-05-01 20:15:43 +02:00
konstin d0c42dfcc1 Fix compilation on nightly 2018-05-01 15:44:38 +02:00
konstin 6113428746 Allow defining functions outside of the module declarations
This commit consists of
 * a proc macro to convert rust functions into python functions (`#[function]`),
 * a macro to register a function in a module (`add_function_to_module!`)
 * Documenting both the old and the new way in the book
2018-04-30 23:17:09 +02:00
konstin e570c6b9b9 Move the codegen into its own crate
This makes the code generatioin reusable from third party crates.
2018-04-05 13:39:07 +02:00
Bastien Orivel 7278f4275d Bump log to 0.4 2018-02-27 18:05:29 +01:00
Nikolay Kim d50d1fb7ea enable python3.7 builds 2018-02-21 10:06:48 -08:00
Nikolay Kim 324a6b2697 drop RefFromPyObject; allow mut refs #106 2018-01-19 09:04:42 -08:00
Nikolay Kim e5bf656cbc revert pycls changes; fix word-cound-cls example 2017-11-18 07:20:03 -10:00
Nikolay Kim b5ffefc50c use as_ref for PyRawObject in __new__ wrapper 2017-11-18 07:07:19 -10:00
Nikolay Kim 03b6e5c122 refactor object allocation system 2017-08-11 20:17:09 -07:00
Nikolay Kim bf793b4b71 added use; restore exception 2017-08-08 00:58:12 -07:00
Nikolay Kim ed8599cfd3 refactor __new__ method implementation 2017-08-08 00:27:33 -07:00
Nikolay Kim 3b00145040 fix #[prop] impl 2017-08-07 23:52:24 -07:00
messense 268d7fd3d2 Generate getters/setters (#76) 2017-08-05 10:53:23 +08:00
Nikolay Kim e44365bec6 make cast_xxx api consistent with PyObject::from_xxx api 2017-08-01 14:29:25 -07:00
Nikolay Kim c44e23f4b9 add prelude mod 2017-07-31 10:42:55 -07:00
Nikolay Kim 325070f6c9 refactor downcast process 2017-07-28 23:19:00 -07:00
messense 0e2afb7b8b Add __dict__ support (#68) 2017-07-28 22:21:59 +08:00
Nikolay Kim afcfed492b only c classes only as base class 2017-07-27 19:47:01 -07:00
Nikolay Kim 665a1da016 added PySuper and __init__ support 2017-07-27 16:20:21 -07:00
messense ebcd4f5a33 subclass support (#64) 2017-07-27 23:05:15 +08:00
Nikolay Kim d567817035 add base support for inheritance 2017-07-26 22:29:55 -07:00
Nikolay Kim a120bbf15e Refactor implementation. Drop parameter from constructor 2017-07-26 01:11:00 -07:00
Nikolay Kim 65a42a2b1a remove py param 2017-07-25 18:11:45 -07:00
Nikolay Kim 3ab5e4526c add weakref support #56 2017-07-24 13:03:18 -07:00
Nikolay Kim ce15dda5b6 Allow to add gc support without implementing PyGCProtocol #57 2017-07-24 12:19:05 -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 ba86596be1 prefix generated names with _ 2017-07-23 10:07:23 -07:00
Nikolay Kim eed2cb7307 fix modul init fn for python2 2017-07-21 13:13:58 -07:00
Nikolay Kim 98bdf63a4d use const_fn for type size and offset calculation 2017-07-21 09:48:48 -07:00
Nikolay Kim 2ee6419464 do not catch rust panics 2017-07-20 14:21:57 -07:00
Nikolay Kim e23c7247e6 fix memory leak in PyList::set_item and insert_item 2017-07-19 22:22:19 -07:00
Nikolay Kim f344c4ce3d added try downcast methods to PyDowncastFrom trait 2017-07-19 13:01:59 -07:00
Nikolay Kim 69963d75ec fix mod name 2017-07-18 10:53:02 -07:00
messense 5a8fd2febc
Some more clippy warning fixes
[rustfix](https://github.com/killercup/rustfix) makes it much easier.
2017-07-18 22:10:56 +08:00
messense e69163344a Fix some clippy warnings (#49) 2017-07-18 19:28:49 +08:00
Nikolay Kim 2d06b07717 fix PyNumberProtocol methods #48 2017-07-17 16:49:19 -07:00
Nikolay Kim 149aa3a0eb always inline all py() 2017-07-14 16:21:18 -07:00
Nikolay Kim 292bd2c139 inline py() call 2017-07-14 14:21:07 -07:00
Nikolay Kim c5f5620f77 rename token() to py() 2017-07-13 19:04:00 -07:00
Nikolay Kim 8eb5dc0667 use associated consts 2017-07-13 16:45:50 -07:00
Nikolay Kim afe2324ecc fix api inconsystency 2017-06-29 11:23:55 +06:00
Nikolay Kim 800fa231ba fix class,md 2017-06-27 05:32:02 +06:00
Nikolay Kim 503e4221cc support &str as fn param 2017-06-24 15:28:53 -07:00
Nikolay Kim 3a2004eab2 rename PyInstance to PyObjectRef 2017-06-24 08:28:31 -07:00
messense 84ebdbcfe9
Add copyright headers to some files 2017-06-24 16:36:51 +08:00
messense 33ab9829f4 Fix no method named extract found for type &&pyo3::PyInstance in the (#44)
current scope
2017-06-24 16:19:14 +08:00
Nikolay Kim 8238a141ae py.init(..) return reference 2017-06-23 15:03:52 -07:00
Nikolay Kim e5b99ae2c9 typo 2017-06-23 12:20:54 -07:00
Nikolay Kim 7076a57fe4 use full push for function 2017-06-23 12:12:07 -07:00
Nikolay Kim cc56ded6bf fix python2 extension module initialization 2017-06-23 11:51:15 -07:00
Nikolay Kim 6482245038 fix imports 2017-06-23 11:24:17 -07:00
Nikolay Kim 289e5e0a2f call prepare_freethreaded_python on module init 2017-06-23 11:18:58 -07:00
Nikolay Kim 61f85c730e fix doc tests; fix unsued import warning 2017-06-23 10:38:04 -07:00
Nikolay Kim 006e38cd6e fix kwargs for py methods 2017-06-23 10:06:41 -07:00
Nikolay Kim a58aa7b5e6 rename PyObject 2017-06-22 20:56:09 -07:00
Nikolay Kim 2faf18bb9e rename token method 2017-06-22 13:35:21 -07:00
Nikolay Kim 00bd5615ed drop py paramater for protcol definitions 2017-06-22 12:32:01 -07:00
Nikolay Kim cb969161c6 fix unchecked downcast; added objects pool 2017-06-22 10:26:07 -07:00
Nikolay Kim c48386affa stopping point 2017-06-22 01:04:37 -07:00
Nikolay Kim af663e0f80 update PyType 2017-06-21 15:11:32 -07:00
Nikolay Kim 7cf8e1ab80 modify PyDict 2017-06-21 14:08:16 -07:00
Nikolay Kim e9341d6f05 add release pool 2017-06-21 12:33:27 -07:00
Nikolay Kim bc0f9b014f convert PyString object 2017-06-20 23:27:30 -07:00
Nikolay Kim 40efa5c955 rename Ptr to Py 2017-06-19 23:57:34 -07:00
Nikolay Kim 7b5521fdb3 simplify instance ptr, droped #[py::ptr] annotation attr 2017-06-19 20:55:07 -07:00
Nikolay Kim b4deb673c7 refactor #[args()] attribute #40 2017-06-19 14:05:14 -07:00
messense 93b1dd8262 Add compile-test (#38) 2017-06-18 23:41:20 +08:00
messense a993d8d7e0 Add module doc string autogen (#39) 2017-06-18 23:00:27 +08:00
Nikolay Kim c0263f7bd5 remove debug print 2017-06-16 14:24:17 -07:00
Nikolay Kim 818fc4b127 forget is not needed 2017-06-15 14:23:25 -07:00
Nikolay Kim e85db971f9 fix module export functions 2017-06-15 14:20:30 -07:00