GithubHelp home page GithubHelp logo

Comments (3)

lalvarezt avatar lalvarezt commented on May 27, 2024 1

@jf--- Hi, I've been working on something similar. Check the code here https://github.com/lalvarezt/pythonocc-generator/commit/6e7fede28114c466ba5428242cb15ebefd02570d.

This generates the additional .pyi files that you referred to. It's not complete yet, I need to manage the overload cases, for now it only adds the first occurrence of an overload function. I checked gp and graphic3d module and it looks OK. I'm generating all the modules now. If you have the time check to see if the generated code is OK, I've tested it with PyCharm and it works for the selected modules.

Edit: I've updated the link with the latest changes

from pythonocc-generator.

jf--- avatar jf--- commented on May 27, 2024

oh my @lalvarezt , that's super exciting 🚀

what about the more explicit way as how mypy handles type hinting for python 2?

perhaps having inlined type hints is preferable to .pyi files, since its valuable documentation / avoids having yet another file opened in your editor...

from pythonocc-generator.

lalvarezt avatar lalvarezt commented on May 27, 2024

@jf--- I've tried that already, the problem I found is that on the .i files you can only affect the GetObject and GetHandle functions, since they are explicitly on the code. Another thing is that swig generates the typing information using the c/c++ type and then writes it on the python generated file. So from what I saw the procedure is the following
-Edit .i
-Compile
-Edit .py to correct the type

Its much easier to generate the .pyi files, and copy them. Actually you would never have to open the .pyi because the only information on them is the type.

from pythonocc-generator.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.