Specifically, I need to write library usable from Python. There's PYD, I
know, but in general, if I wanted to call that library from other
languages using C interface, how well it works in practice?
see "Status of Dynamically Loadable D Libraries" post from
http://forum.dlang.org/thread/[email protected]
Another issue is GC: can I use D's garbage collection (realtime-like
performance is not necessary for my needs) in the library and it will
"just work" in say Python code? Or not?
Hard to say, it depends on the implementation of your language's
interpreter and might break at some point (precise collector).
It also depends on how you represent the D objects/memory but it's a
problem that someone creating a binding should address. You might want
to look at LuaD and PyD
http://wiki.dlang.org/Libraries_and_Frameworks#Scripting_D_applications.