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