Coder Social home page Coder Social logo

OpenEXR - Python IntelliSense about openexr HOT 5 OPEN

404Vector avatar 404Vector commented on June 2, 2024
OpenEXR - Python IntelliSense

from openexr.

Comments (5)

meshula avatar meshula commented on June 2, 2024

Do you know why Intellisense can't autocomplete on OpenEXR? It sounds like a good thing to support if it doesn't require special maintenance. I don't know if anyone on the team has experience with Python and Intellisense.

from openexr.

404Vector avatar 404Vector commented on June 2, 2024

My guess is that the file does not exist in *.py format.

For Imath it exists as Imath.py, but for OpenEXR it does not.
c

I created a simple python wrapper to solve this problem. I hope this project helps you in your decision making.
(https://github.com/404Vector/OpenEXR-Python?tab=readme-ov-file)

Although I haven't done much testing, I confirmed that it works well within the range I need (reading and writing files, extracting metadata, and intellisense support).
d

I don't know if this is the best way to support intellisense (there may be a way to expose it automatically).

However, I think OpenEXR is a very stable project.
And the number of interfaces exposed in the Python runtime environment is small.
Therefore, I think this method will also be easy to maintain.

from openexr.

meshula avatar meshula commented on June 2, 2024

Your solution does look easy to maintain, thanks for putting it together.

I'm not a Python expert, so please forgive my basic questions.

  • Is this something we could incorporate into our project to solve the problem, or is it an example?
  • will this benefit other systems, such as LSP, or environments like PyCharm?
  • Is the problem solvable at the cpython level (or should we be investigating the problem at the c level?)

from openexr.

404Vector avatar 404Vector commented on June 2, 2024
  • Is this something we could incorporate into our project to solve the problem, or is it an example?

This is a project I created for my convenience, but since it's just a simple wrapper, I think it can be integrated into your project without any problems.

  • will this benefit other systems, such as LSP, or environments like PyCharm?

As a result of the experiment, PyCharm reads the cython file and creates an OpenEXR.py file. (It automatically generates python code, just like automatically generating a document with code and comments.)
Therefore, in PyCharm, intellisense works for the methods in OpenEXR and I was able to read them.
But PyCharm failed to read the file completely.
I knew the name of each method, but I couldn't tell what the parameters were.
ex: It is written as InputFile(*args, **kwargs), so it is impossible to guess what the parameters are.

  • Is the problem solvable at the cpython level (or should we be investigating the problem at the c level?)

In order for all IDEs to support this, it is assumed that the code must exist as *.py rather than solving it at the C or CPython level.

from openexr.

meshula avatar meshula commented on June 2, 2024

Thanks @404Vector !

@reinecke is there any guidance from the OpenTimelineIO project on this? I think OTIO went through a couple of iterations to get this working across the board.

from openexr.

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.