Comments (3)
@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.
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.
@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)
- Improvement: Make runtime issues to compile time errors HOT 1
- OCCT 7.4.0: Missing package XCAFNoteObjects HOT 1
- OCCT 7.4.0: Missing package IGESToBRep
- Bug: Wrong position of %wrap_handle HOT 7
- OCCT 7.4.0: Missing package MoniTool HOT 1
- OCCT 7.4.0: Missing package IMeshTools and IMeshData HOT 1
- OCCT 7.4.0: No handle detected for class BRepMesh_DataStructureOfDelaun HOT 2
- OCCT 7.4.0: No handle detected for class BRepMesh_VertexTool HOT 2
- Update correct module dependecies HOT 11
- Missing TopoDS_Shape constructor HOT 3
- OCCT 7.4.0: BRepMesh_Delaun.hxx must be first BRepMesh header file HOT 9
- OCCT 7.4.0: Fix windows compilation again HOT 1
- OCCT 7.4.0: BRepAlgoAPI must import BRepBuilderAPI HOT 15
- Remove operating system header information in wrapper files HOT 1
- OCCT 7.4.0: Missing function TDF_Labl::FindAttribute
- OCCT 7.4.0: TDF_Tool is empty HOT 1
- Make a clean wrapper for Standard_OStream&
- Reuse potential HOT 1
- Bindings for OCCT 7.6 HOT 17
- C# Generator HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pythonocc-generator.