|
| 1 | + |
| 2 | + |
| 3 | +------------------------------------------------- |
| 4 | +Temporary notes, do not commit in the final merge |
| 5 | +------------------------------------------------- |
| 6 | + |
| 7 | + |
| 8 | +New bdist_wheel docs including the --py-limited-api option: |
| 9 | +https://bitbucket.org/HexDecimal/wheel-fork/src/b25d28cc111f8d354e1b8d949a54ffb3c262dfce/docs/index.rst?fileviewer=file-view-default |
| 10 | + |
| 11 | +PEP 384: https://www.python.org/dev/peps/pep-0384/ |
| 12 | + |
| 13 | + |
| 14 | +* Can I get rid of wx.siplib and just add dependency on SIP from pypi? Yes, of |
| 15 | + course, but it would make using interim builds more difficult. |
| 16 | + |
| 17 | +* Can I eliminate all uses of the restricted APIs (at least the buffer related |
| 18 | + things so far) and use equivalent APIs from siplib itself? If not then I'll |
| 19 | + probably have to separate out the incompatible stuff into my own API module |
| 20 | + like siplib (and could probably include siplib there if desired...) |
| 21 | + |
| 22 | +* How to set the tags in the wheel filename? If bdist_wheel doesn't do it |
| 23 | + already then it looks like we can override a get_tag(self) method in the |
| 24 | + customization of the bdist_wheel class we already have... |
| 25 | + |
| 26 | + For example, from py2exe's setup.py: |
| 27 | + |
| 28 | + class my_bdist_wheel(bdist_wheel.bdist_wheel): |
| 29 | + """We change the bdist_wheel command so that it creates a |
| 30 | + wheel-file compatible with CPython, 3.4, 3.5, and 3.6 only |
| 31 | + by setting the impl_tag to 'cp33.cp34.cp35.cp36' |
| 32 | + """ |
| 33 | + def get_tag(self): |
| 34 | + impl_tag, abi_tag, plat_tag = super().get_tag() |
| 35 | + return "cp33.cp34.cp35.cp36", abi_tag, plat_tag |
| 36 | + |
| 37 | + |
| 38 | +* The bdist_wheel docs say that --py-limited-api is ignored on Windows??? |
| 39 | + |
| 40 | +* The extension modules will need to have a different name, I think. Currently |
| 41 | + waf is controlling that. Do current versions of waf support py-limited-api |
| 42 | + or will something new need to be hacked into it? |
| 43 | + |
| 44 | +* Check into what Extension(py_limited_api=True, ...) does in recent versions |
| 45 | + of setuptools. |
| 46 | + |
| 47 | + |
| 48 | + |
| 49 | + |
| 50 | +Issues discovered so far |
| 51 | +------------------------ |
| 52 | + |
| 53 | + * We WILL need a separate Python version-specific API module, siplib can give |
| 54 | + us lots of help, but doesn't cover everything |
| 55 | + |
| 56 | + * all the PyFoo_GET_ITEM type of "faster" macros will need to be changed to |
| 57 | + their function call equivalents, meaning that our optimizations for those |
| 58 | + things will be undone. |
| 59 | + |
| 60 | + * At least most of the new buffer APIs are not available in the limited API |
| 61 | + |
| 62 | + * It appears that PyDateTime APIs are also not available |
| 63 | + |
| 64 | + * We access elements of PyMethod and such in a few places, in the limited API |
| 65 | + those are opaque types. |
| 66 | + |
| 67 | + * Ditto for sipSimpleWrapper |
| 68 | + |
| 69 | + * There are a few things currently in wxpy_api like wxPyNoAppError that are |
| 70 | + expected to end up in the _core module. |
0 commit comments