Comments (5)
This is something that is orthogonal to our new UX ... the completion support is coming from the IPython kernel itself, which we'll continue to use. We should definitely look into how to improve it ... but do so in a way that it can be upstreamed back to the ipython/jupyter project.
I agree ... it would be much nicer if it can be based on a more sophisticated type inference approach.
However a bit of a technical question - how would you infer? There is nothing in the signature of a python method that indicates what it returns, and the python doc-comments (as verbose as they are) aren't exactly guaranteed to be machine readable (unlike jsdoc comments).
from datalab.
Jedi does code analysis to do type inference.
If we were to do it ourselves at low cost, we would need annotations. There are many ways to do these, but the best is probably the standard function_annotations (for 3.x) or annotations (2.x); see http://python-future.org/func_annotations.html.
Note that Python 3.5 is expected to have optional typing and 3.x function annotations will be deprecated or removed at that point in favor of these; probably not a big deal though.
from datalab.
It looks like IPython semi-handles this by having a greedy option to autocomplete; however, its a hack - it executes the code before . in order to get something it can introspect on. No good for our purposes.
from datalab.
Oh, I didn't realize IPython tries to evaluate the code... seems dangerous, and error prone. Tempted to say we should try to turn it off. Wouldn't want to inadvertently do something that is costly, long running or worse has unexpected side-effects.
from datalab.
Atom has a great Python plugins (linter-flake8, linter-pep8, linter-pydocstyle, linter-pylama, linter-pylint, linter-python-pep257, linter-python-pep8, linter-python-pyflakes, python-isort, etc.) that we are missing in Datalab, Jupyter team is working on Jupyter-notebook. If you can make the Datalab experience closer to Atom it will be great.
from datalab.
Related Issues (20)
- utils.py python3 error with create: write() argument must be str, not bytes HOT 19
- Should ungit work out of the box when the service-account option is used with datalab create?
- How to copy data from datalab ssh instance to gs://
- Datalab is not responding after machine learning model training
- Data lab shell not opening after giving message that no more space in my VM. How could I delete the files and start using it again .
- Help please: started with [Errno 28] No space left on device and not trying to save the notebooks to GCS HOT 2
- Error using ungit using IAP.
- I can not connect or ssh to datalab machine
- The library installed into the custom docker image is not available. HOT 2
- installing datalab with pip3 HOT 1
- Cannot create new Notebook/folder HOT 3
- Cells not runing, changes are not saved in datalab notebook HOT 9
- AttributeError: module 'google.auth' has no attribute 'credentials'
- scikit-learn installation - numpy.testing.decorators error HOT 1
- GCloud Shell Web preview says "Couldn't connect to a server on port 8080" HOT 1
- Python 3.6 or later HOT 2
- Cannot display subprocess error, but show TypeError: write() argument must be str, not bytes
- During tunneling shh facing this subjected issue
- During Tunneling found this subjected error
- INFO:apache_beam.runners.portability.stager:Executing command:
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 datalab.