Commit Graph

326 Commits

Author SHA1 Message Date
Randall C. O'Reilly 0f27b8cc52 readme updates, more expt with method callbacks: it is the cross-threading nature that doesn't work for methods. no way around it so far.. 2019-08-24 10:31:16 +02:00
Randall C. O'Reilly ad11d2281e tried to support method callbacks but couldn't get it to work outside of small test case.. not sure what the issues are. updated readme 2019-08-24 10:31:16 +02:00
Randall C. O'Reilly 7d8693d293 copy function for slices, and general fixes for gi, emergent, both of which are working well 2019-08-24 10:31:16 +02:00
Randall C. O'Reilly 1787e368e5 put all externals in go.py module for efficiency; added slice, map methods; most of GoGi now working. 2019-08-24 10:31:16 +02:00
Randall C. O'Reilly 073a7f9649 exe mode working well; needed error checking / printing for PyObject_CallObject callbacks.. 2019-08-24 10:31:16 +02:00
Randall C. O'Reilly 5992a257c2 and a few more fixes, including decref on args 2019-08-24 10:31:16 +02:00
Randall C. O'Reilly 737fe7c66d few more minor fixes 2019-08-24 10:31:16 +02:00
Randall C. O'Reilly 8c4f9979b4 added exe command mode -- builds an executable that has all the go packages built-in and can interpreter in non-main thread. 2019-08-24 10:31:16 +02:00
Randall C. O'Reilly a3e0c68e25 gi callbacks working -- needed GILState_Ensure etc. 2019-08-24 10:31:16 +02:00
Randall C. O'Reilly 697577b7f4 python callback fully implemented -- one last thing is dealing with return values properly.. 2019-08-24 10:31:16 +02:00
Randall C. O'Reilly 179e37fa2d basic proof-of-concept for arg passing, working for int case -- just need a type switch. 2019-08-24 10:31:16 +02:00
Randall C. O'Reilly 0579b79b83 basic no-args callback function call works -- need more tricks to build arg values b/c key function requires var args. 2019-08-24 10:31:16 +02:00
Randall C. O'Reilly 1276af3ee0 more consistent use of isPyCompat methods, getting more of gi working with pyPkgId fixes. 2019-08-24 10:31:16 +02:00
Randall C. O'Reilly 3d40f84d02 GoPyInitRunFile runs a file (name set using *Set function) using Py_MainRun -- works for GoGi event loop blocking main thread finally.. 2019-08-24 10:31:16 +02:00
Randall C. O'Reilly 782d3b74c8 more fixes to exclude various things -- excluding python keywords for example. gi now loads and tries to run - might work on linux, but mac requires main thread for loop. 2019-08-24 10:31:16 +02:00
Randall C. O'Reilly 3f14cf967f swap order of embedded structs so python always sees parent before child. use Embed method on all struct method calls to get proper virtual function calling. 2019-08-24 10:31:16 +02:00
Randall C. O'Reilly a2fed7cc19 parses gi successfully! however, python requires classes to be defined in order, so now need to sort the pywrap struct output so embedded are always earlier.. 2019-08-24 10:31:16 +02:00
Randall C. O'Reilly d8e2df870b nearly working on gi -- many more edge cases etc fixed -- needs go imports pass.. 2019-08-24 10:31:16 +02:00
Randall C. O'Reilly c4787d0cb8 added maps, arrays, and fixed some handle issues. only callback methods missing now! 2019-08-24 10:31:16 +02:00
Randall C. O'Reilly ae71a5b83f global "go" package with standard Slice types and the go.GoClass and go.nil. all working for emergent/leabra python script. 2019-08-24 10:31:16 +02:00
Randall C. O'Reilly c960f7e8d5 using golang.org/x/tools/go/packages for package import b/c supports std library packages too 2019-08-24 10:31:16 +02:00
Randall C. O'Reilly cf18fcbf00 major reorg to support multi-packages in one .so all working -- emergent mostly working. 2019-08-24 10:31:16 +02:00
Randall C. O'Reilly 6e555d4c3b and scope global funcs 2019-08-24 10:31:16 +02:00
Randall C. O'Reilly 42a57a9826 major cleanup: id is now always used as identifier -- replaces pyname -- computed simply. everything always scoped by pkg name in prep for integrated multi-package output. 2019-08-24 10:31:16 +02:00
Randall C. O'Reilly 60a01ab038 after much experimentation, realized no way around limits of var handle registry being diff for each .so compiled library: need to now make mega-libraries. 2019-08-24 10:31:16 +02:00
Randall C. O'Reilly d8e3ff78f9 added pkg command, does full recursive generate for entire package -- figured out how to navigate python packages finally.. 2019-08-24 10:31:16 +02:00
Randall C. O'Reilly f9eb65ceb9 few more tweaks: leabra/leabra and leabra/deep now working 2019-08-24 10:31:16 +02:00
Randall C. O'Reilly 104a16fb2f symbols: turn panics into errors -- anything not handled is simply skipped. e.g., channels. 2019-08-24 10:31:16 +02:00
Randall C. O'Reilly 247472fc52 dealing with interface{} and py2go now handles * indirection uniformly; interface methods don't create symbols, but turns out nil obj is ok.. 2019-08-24 10:31:16 +02:00
Randall C. O'Reilly 849847c8d4 major progress -- handling most things in emer now except emer itself.. 2019-08-24 10:31:16 +02:00
Randall C. O'Reilly 3c4cffd8dd almost clean on etensor -- failing on *[]float64 not recognized as pointer type.. 2019-08-24 10:31:16 +02:00
Randall C. O'Reilly 7d026cb927 lots of progress on parsing etensor.. 2019-08-24 10:31:16 +02:00
Randall C. O'Reilly 24e505f408 basic mechanics of multi-package working -- need to be able to import multiple packages easily in python -- look into install etc 2019-08-24 10:31:16 +02:00
Randall C. O'Reilly f8ffa3eefa slices all working.. 2019-08-24 10:31:16 +02:00
Randall C. O'Reilly 5aa404702f more progress on slices, basic named types 2019-08-24 10:31:16 +02:00
Randall C. O'Reilly 89231ef2da start on slices; use GoHandle and CGoHandle types for all handles -- and now can switch to int64 instead of string keys as py wrapper makes string less important. 2019-08-24 10:31:16 +02:00
Randall C. O'Reilly e1b8e53da3 cleanup, start on slices etc. 2019-08-24 10:31:16 +02:00
Randall C. O'Reilly 0f4150ee20 added interface type -- now just need slices and maps and then done! 2019-08-24 10:31:16 +02:00
Randall C. O'Reilly b1541e1795 variables and constants get / set functions, and more bind code cleanup 2019-08-24 10:31:16 +02:00
Randall C. O'Reilly d81b4710eb generalized handle code beyond pointer -- working for full structs -- always need to convert back and forth to / from pointer for handle 2019-08-24 10:31:16 +02:00
Randall C. O'Reilly 71a4b6cd8f build / makefile fixes -- back to .so for darwin 2019-08-24 10:31:16 +02:00
Randall C. O'Reilly e85863e9ea fully functional for go pointers to structs 2019-08-24 10:31:16 +02:00
Randall C. O'Reilly 7bbe20f501 field getters and setters 2019-08-24 10:31:16 +02:00
Randall C. O'Reilly 8d44f401d4 py wrapper that puts methods in a class all in place now, and makefile working. build side is good. 2019-08-24 10:31:16 +02:00
Randall C. O'Reilly 30c52c90d3 major progress: function execution all working with pointer args -- encodes type name along with counter and does type-safe checks so it won't fail on the conversion. bind command builds using pybindgen. 2019-08-24 10:31:16 +02:00
Sebastien Binet f5121a0033 all: add support for Go modules 2019-04-25 10:43:01 +02:00
Sebastien Binet e137fd0dfe ci: drop Go1.9, add Go1.12 2019-04-25 10:41:35 +02:00
Sebastien Binet ef9d07f7d4 ci: export GOTRACEBACK=crash 2019-01-16 16:52:19 +01:00
Sebastien Binet 15a7702556 gopy: add AppVeyor badge 2019-01-16 16:29:07 +01:00
Sebastien Binet fc3eff4a2a ci: use PyPy{2,3} from upstream 2019-01-16 16:20:05 +01:00