On 04/03/2013 05:58 PM, Ellery Newcomer wrote:
Somehow I still haven't gotten around to building gdc yet, but supporting gdc for embedding python would just be a matter of updating the CeleriD configurations and ensuring everything links. Might as well do that tonight. Stay tuned.
Actually, it looks like pyd is working just fine with gdc built from master, so have some randomly diced NetworkX Quick Example:
// thimble.d import std.stdio; import pyd.pyd, pyd.embedded; void main() { py_init(); auto ctxt = new InterpContext(); ctxt.py_stmts("import networkx as nx"); ctxt.py_stmts(q"< G=nx.Graph() G.add_node("spam") >"); ctxt.G.add_edge(1,2); ctxt.py_stmts("print(G.nodes())"); // **(^*(& corner case with properties writeln(ctxt.G.edges.opCall()); } // setup.py from celerid.support import setup, Extension setup( name="thimble", version='1.0', ext_modules=[ Extension("thimble", ["thimble.d"], build_deimos=True ) ], ) // command line: > python setup.py pydexe --compiler=gdc > ./thimble [1L, 2L, 'spam'] [(1L, 2L)]