Le mer. 21 nov. 2018 à 12:11, Antoine Pitrou <solip...@pitrou.net> a écrit : > You mean the same API can compile to two different things depending on > a configuration?
Yes, my current plan is to keep #include <Python.h> but have an opt-in define to switch to the new C API. > I expect it to be error-prone. For example, let's suppose I want to > compile in a given mode, but I also use Numpy's C API. Will the > compile mode "leak" to Numpy as well? For example, if we continue to use Py_LIMITED_API: I don't think that Numpy currently uses #ifdef Py_LIMITED_API, nor plans to do that. If we add a new define (ex: my current proof-of-concept uses Py_NEWCAPI), we can make sure that it's not already used by Numpy :-) > What if a third-party header > includes "Python.h" before I do the "#define" that's necessary? IMHO the define should be added by distutils directly, using -D <the_define_name> in compiler flags. I wouldn't suggest: #define <the_define_name> #include <Python.h> But the two APIs should diverge, so your C extension should also use a define to decide to use the old or the new API. So something will break if you mess up in the compilation :-) Victor _______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com