Comments (6)
If our way of using annotations is indeed "incompatible", then I'd rather do something to fix it. Especially if it requires changing the spelling, we better do it sooner than later.
If this issue was limited to this repo, I would not care so much, but it applies to all code that defines python shaders.
from pyshader.
This is also a problem in any library that uses pyshader.
from pyshader.
The weird thing is, if I change the spelling to what we (more or less) had earlier:
@python2shader
def vertex_shader(
index: Input("VertexId", i32),
out_pos: Output("Position", vec4),
out_color: Output(0, vec3),
):
...
-> flake8 still produces the error for the arguments, which are str...
from pyshader.
We could use default-values instead of annotations. Though it would be sad, because we are using it exactly for its purpose, to annotate types. It's just shader types...
from pyshader.
The weird thing is, if I change the spelling to what we (more or less) had earlier:
@python2shader def vertex_shader( index: Input("VertexId", i32), out_pos: Output("Position", vec4), out_color: Output(0, vec3), ): ...-> flake8 still produces the error for the arguments, which are str...
That's either because str are considered "forward type declarations" or because flake8 does not evaluate the type declarations. I was bothered by this too and decided to ditch F821 in pylinalg. With good enough test coverage, it's not a big deal imho.
from pyshader.
Looking at the discussion here: PyCQA/pyflakes#529
Our use seems to be incompatible with the PEP indeed. Attaching arbitrary data is not yet supported. Apparently we should keep an eye out for PEP 593.
For now I suggest we just keep using it and ignore the flake8 error.
from pyshader.
Related Issues (20)
- Syntax for defining input and output HOT 10
- First release to PyPi HOT 1
- pypi package is broken because readme is not included in the package. HOT 4
- Implicit type conversions HOT 4
- Trace debug info so we can produce more useful error messages. HOT 1
- Be more consistent about exception types raised by the parsers
- Add support for runtime constants (specialization)? HOT 1
- WebGPU shading language (WGSL) HOT 5
- Option to spell co_select in Python?
- Support shaders with jumps in bytecode >255 bytes
- Compute example crashes in create_compute_pipeline HOT 19
- Support some form of templating of entry points? HOT 2
- Compiling to file HOT 2
- Error processing resulting SPIR-V shader in Vulkan 1.2.x (Kompute v0.4.2) HOT 2
- [FEATURE] Add support for layout local size(s) HOT 4
- Document math / built-in functions HOT 5
- Support for Python 3.9
- Is this worth it? HOT 9
- Archive this repo
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 pyshader.