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