Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Jedi 0.9.0 release #566

Closed
7 of 8 tasks
davidhalter opened this issue Apr 8, 2015 · 6 comments
Closed
7 of 8 tasks

Jedi 0.9.0 release #566

davidhalter opened this issue Apr 8, 2015 · 6 comments

Comments

@davidhalter
Copy link
Owner

I will try to release Jedi in the next two days.

The only issues that I still want to tackle in this release are:

If there's something else that you really need or want in Jedi 0.9.0, please let me know. I would also be happy if a few people tried the current dev branch already. Thanks in advance!

~ Dave

Changelog:

  • Integrated the parser of 2to3. This will make refactoring possible. It will
    also be possible to check for error messages (like compiling an AST would give)
    in the future.
  • With the new parser, the evaluation also completely changed. It's now simpler
    and more readable.
  • Completely rewritten REPL completion.
  • Added jedi.names, a command to do static analysis. Thanks to that
    sourcegraph guys for sponsoring this!
  • Alpha version of the linter.
@davidhalter
Copy link
Owner Author

It's finished. I will now push it to PyPI. It took me a bit longer, because I ended up rewriting the whole import logic. The import logic looks now way more like Python's and has a sys.modules kind of cache as well.

@davidhalter
Copy link
Owner Author

Uploaded. (After a few more sith tests).

It's definitely the best Jedi version, yet. :)

@asmeurer
Copy link
Contributor

The release seems to work well for me so far (not much testing yet, though).

I have a question, though. What is jedi.names? It is referenced in the changelog and the README, but I can't find it. Is it supposed to be a command, or a module, or what?

@davidhalter
Copy link
Owner Author

@asmeurer
Copy link
Contributor

I'm not clear how that is static analysis (at least any more than Jedi already is). Also, is this different from what was already there? I'm mainly a user of jedi via emacs-jedi, not the Python API, but I know that there has been something that does what seems to me to be the same thing for some time. Can you explain what's new here, that couldn't be done before?

@davidhalter
Copy link
Owner Author

You're right. It's not a bit change.

IMO there are two reasons why I would call it an improvement:

  1. It's now easier to do bulk calculations. Basically everything that PySonar2 does is now easily possible: https://github.com/yinwang0/pysonar2. Before that was possible, too. However it wasn't easy to speed up, because you had to scan for names yourself and then call jedi.goto_definitions on it, which would flush the caches all the time. Now it should be fast and easy to use.
  2. Not mentioned in the changelog, but you can now call goto_definitions and goto_assignments on a name found with names (or any other Jedi operation). This is basically a generalization of what we've had before, but it also makes things easier. There's also a few other new api details that make inspecting source code better.

Is that enough?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants