[Python-ideas] Re: New Tool Proposal

Del Mervine scooky2000 at gmail.com
Tue May 10 12:45:20 EDT 2022


On 5/10/22 5:14 AM, Chris Angelico wrote:
> On Tue, 10 May 2022 at 19:57, anthony.flury
> <anthony.flury at btinternet.com> wrote:
>>
>> On 10/05/2022 09:20, Chris Angelico wrote:
>>
>> On Tue, 10 May 2022 at 18:06, anthony.flury via Python-ideas
>> <python-ideas at python.org> wrote:
>>
>> A proposal for a new tool to be implemented  -
>>
>> It is often the case that developer write Code in Python and then convert to a C extension module for performance regions.
>>
>> A C extension module has a lot of boiler plate code - for instance the Structures required for each class, the functions for Module initialization etc.
>>
>> My Idea is a simple tool that uses introspection tools to take a Python module and to generate the relevant boiler plate for the module - including blank functions for the module classes and for methods. This tool would use type annotations (if given) to make sensible choices for parameter and attribute types, including using int and float directly rather than Internal objects (depending on tool options).
>>
>> Yep, that's an awesome idea! Are you aware of Cython? You might be
>> able to make use of that.
>>
>> Chris, Thank you.
>>
>> I am aware of Cython but that isn't quite what I had in mind. I want a tool for a developer who doesn't want to continue to support the Python 'prototype' for whatever reason, ie where they want a complete conversion to C.
>>
>> It might even be possible with inspection of the AST to write some of the code inside the C functions - but that is not for release 0.1 :-)
>>
> You may still be able to take advantage of Cython as part of the
> process. One thing that's really cool about source code is that,
> fundamentally, it's all text... and Python is *great* at manipulating
> text files :) It might be that you can write a script that transforms
> a Python module into a Cython module, which can then be compiled
> as-is, or further processed as needed.
>
> BTW, not sure which list you're intending to discuss this on, so I'm
> just replying on the same list you sent this message to.
>
> ChrisA

This might be what you are looking for?
<https://mypyc.readthedocs.io/en/latest/introduction.html>


More information about the Python-list mailing list