mirror of
https://github.com/davidhalter/jedi.git
synced 2026-01-03 18:53:25 +08:00
reformat feature documentation
This commit is contained in:
@@ -64,8 +64,8 @@ Caveats
|
||||
**Malformed Syntax**
|
||||
|
||||
Syntax errors and other strange stuff may lead to undefined behaviour of the
|
||||
completion. |jedi| is **NOT** a Python compiler, that tries to correct you. It is
|
||||
a tool that wants to help you. But **YOU** have to know Python, not |jedi|.
|
||||
completion. |jedi| is **NOT** a Python compiler, that tries to correct you. It
|
||||
is a tool that wants to help you. But **YOU** have to know Python, not |jedi|.
|
||||
|
||||
**Legacy Python 2 Features**
|
||||
|
||||
@@ -78,19 +78,20 @@ older Python 2 features have been left out:
|
||||
|
||||
**Slow Performance**
|
||||
|
||||
Importing ``numpy`` can be quite slow sometimes, as well as loading the builtins
|
||||
the first time. If you want to speed things up, you could write import hooks in
|
||||
|jedi|, which preload stuff. However, once loaded, this is not a problem anymore.
|
||||
The same is true for huge modules like ``PySide``, ``wx``, etc.
|
||||
Importing ``numpy`` can be quite slow sometimes, as well as loading the
|
||||
builtins the first time. If you want to speed things up, you could write import
|
||||
hooks in |jedi|, which preload stuff. However, once loaded, this is not a
|
||||
problem anymore. The same is true for huge modules like ``PySide``, ``wx``,
|
||||
etc.
|
||||
|
||||
**Security**
|
||||
|
||||
Security is an important issue for |jedi|. Therefore no Python code is executed.
|
||||
As long as you write pure python, everything is evaluated statically. But: If
|
||||
you use builtin modules (``c_builtin``) there is no other option than to execute
|
||||
those modules. However: Execute isn't that critical (as e.g. in pythoncomplete,
|
||||
which used to execute *every* import!), because it means one import and no more.
|
||||
So basically the only dangerous thing is using the import itself. If your
|
||||
``c_builtin`` uses some strange initializations, it might be dangerous. But if
|
||||
it does you're screwed anyways, because eventualy you're going to execute your
|
||||
code, which executes the import.
|
||||
Security is an important issue for |jedi|. Therefore no Python code is
|
||||
executed. As long as you write pure python, everything is evaluated
|
||||
statically. But: If you use builtin modules (``c_builtin``) there is no other
|
||||
option than to execute those modules. However: Execute isn't that critical (as
|
||||
e.g. in pythoncomplete, which used to execute *every* import!), because it
|
||||
means one import and no more. So basically the only dangerous thing is using
|
||||
the import itself. If your ``c_builtin`` uses some strange initializations, it
|
||||
might be dangerous. But if it does you're screwed anyways, because eventualy
|
||||
you're going to execute your code, which executes the import.
|
||||
|
||||
Reference in New Issue
Block a user