Comments (6)
@thofler @marcoskirsch This seems like a duplicate of #1887 .
Based on the link in @thofler 's description, stub generation seems like something primarily created for users of libraries, not owners.
I think we'd prefer to add actual type hints. I don't think these stubs would be very useful.
From the documentation:
Stubgen generates draft stubs. The auto-generated stub files often require some manual updates, and most types will default to Any. The stubs will be much more useful if you add more precise type annotations, at least for the most commonly used functionality.
from nimi-python.
Further explanation for @thofler. We code-generate our APIs based on metadata, with only a few hand-coded functions. It wouldn't make sense for us to have a bunch of manually-edited stubs. Better to just generate the annotations.
from nimi-python.
Seems like a duplicate of #1887
from nimi-python.
We're in agreement, then. I'll close it.
from nimi-python.
Duplicate of #1887
from nimi-python.
Stub files are a way of adding type hints without changing your actual code. It doesn't matter to users whether you add type hints to your code or you add .pyi
stub files.
You can even generate .pyi
stub files if you want. That's what protoc does, if you opt in via the --mypy_out
and --mypy_grpc_out
options.
That said, I think the main reasons to use stub files (Python 2.x compatibility, package stubs separately from the code they are annotating) don't apply here, so it's better to add type hints to the actual code.
from nimi-python.
Related Issues (20)
- Add "cancel build" workflow
- P2PStreamRelativeTo enum is included in the niscope API, despite not having a P2P Python module
- nifgen API has useless enum value StartTriggerType.P2P_ENDPOINT_FULLNESS
- niscope.Session.fetch() is very slow with large fetches HOT 5
- nimi-python APIs inefficiently allocate Python arrays
- Mixing an nidmm PXI-407x session and niswitch sessions causes unexpected failures finding the NI-SWITCH Functions on Linux HOT 2
- niswitch.errors.DriverError: -1074118644: No legacy device supports the specified topology HOT 10
- nidmm system test test_vi_string_attribute fails with NI-DMM 2023Q3 and later HOT 1
- codecov-action does not reliably upload system-test coverage to codecov HOT 1
- coverage rcs need to be updated HOT 4
- nimodinst system tests are not running on Linux
- Investigate how many APIs can be tested in parallel by nimibot. HOT 1
- Incorrect tip/example for nifgen.session.create_waveform_numpy() HOT 1
- Repeated capability accessors return internal `_SessionBase` type HOT 2
- Incorrect documentation for the channel_name parameter of niFgen.Session HOT 2
- Documentation is failing to build on Read the Docs due to the read_the_docs theme not being found.
- Error in return type for most 'autorange' properties in nidcpower library HOT 7
- Unnecessary write access request when trying to read a property HOT 5
- Silently ignore and change value when passing minimum value to source_delay attribute in nidcpower HOT 4
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 nimi-python.