<p dir="ltr"><br>
On 11 Apr 2014 05:39, "Armin Rigo" <<a href="mailto:arigo@tunes.org">arigo@tunes.org</a>> wrote:<br>
><br>
> Hi,<br>
><br>
> On 10 April 2014 22:12, Paul Moore <<a href="mailto:p.f.moore@gmail.com">p.f.moore@gmail.com</a>> wrote:<br>
> > I agree. I'd like to see a clear explanation of what advantages (and<br>
> > disadvantages!) CFFI gives over ctypes, as well as the plan for<br>
> > inclusion and how the inevitable confusion over whether to use ctypes<br>
> > or cffi will be handled.  (...)<br>
><br>
> I can't judge exactly what was told in the Language Summit, but here<br>
> is my own position about CFFI. Code-wise, we're in precisely the same<br>
> spot as last year.  The usage of CFFI seems to be growing a lot.<br>
> However, it's not in any stdlib-ready state right now.<br>
><br>
> Why not?  Because we have a plan to go forward and fix the main issues<br>
> people seem to be having: when used in "API mode" there is some<br>
> building-C-sources-and-compiling-them going on under your feet;<br>
> however, "explicit is better than implicit" seems to apply here too.<br>
> Thus, it seems that the basic model might be changed toward a variant<br>
> in which you put your C declarations into some separate file that you<br>
> need to execute once, in order to build and compile a regular C<br>
> extension module.<br>
><br>
> This would be superficial, but change the perception of CFFI to be "a<br>
> preprocessor that produces C extension modules".<br>
><br>
> This affects the "API mode" but not the "ABI mode" (which is basically<br>
> the same as ctypes, modulo the syntax).</p>
<p dir="ltr">This is along the lines of what Alex said at the summit (i.e. it wasn't proposed for 3.4 because you didn't consider it stdlib ready yet). The clearer separation of the build and import steps definitely sounds promising, as the current implicit approach poses challenges getting cffi extensions to play nice with wheel based distribution.</p>

<p dir="ltr">Cheers,<br>
Nick.</p>
<p dir="ltr">><br>
><br>
> A bientôt,<br>
><br>
> Armin.<br>
> _______________________________________________<br>
> Python-Dev mailing list<br>
> <a href="mailto:Python-Dev@python.org">Python-Dev@python.org</a><br>
> <a href="https://mail.python.org/mailman/listinfo/python-dev">https://mail.python.org/mailman/listinfo/python-dev</a><br>
> Unsubscribe: <a href="https://mail.python.org/mailman/options/python-dev/ncoghlan%40gmail.com">https://mail.python.org/mailman/options/python-dev/ncoghlan%40gmail.com</a><br>
</p>