Python support in Upsource
The latest Upsource release brings Python code insight functionality to help developers understand new changes in a familiar manner and be more efficient when reviewing them.
The code insight features in Upsource include server-side static code analysis and code-aware navigation. These features allow you to understand code better when browsing through it and perform code reviews more efficiently. Let’s take a look at them.
It might seem like a trivial thing, but the ability to navigate through the code is something we simply take for granted when using an IDE. Yet these features are often missing when viewing code in a web-based tool. Upsource, however, lets you click on a symbol to navigate to its declaration.
When there’s a new change, you most likely would like to see its impact. Say, if a function has been modified, you’d probably want to know how it affected its usages. You can see in the screenshot above that you can simply highlight symbol’s usages in the file when browsing it, or find all usages. When viewing the contents of a commit, in addition to Find Usages action, you can get a usages diff that helps to learn how this change affected the usages of a particular symbol.
Intuitive navigation is great for a reviewer as it lets you browse through the code in a way that’s natural for you, rather than having some arbitrary order imposed on you – it makes it easier to see the context of the changes under review.
Static code analysis
There’s another IDE feature that would be extremely useful during code review – code inspections. You’re probably used to an IDE, like PyCharm, giving you pointers on where the code could be simpler, clearer, and generally a bit better. If your code review tool offered the same kind of advice, it would be easier to evaluate the quality of the code.
Introduced and fixed issues
You can see the static code analysis results for any revision when simply browsing the code or doing a code review. However, when a change is part of a code review, you get additional help from Upsource. It shows what problems have been fixed with the new change and what new possible issues the change introduced.
Upsource aims to make code review not only as painless as possible but also provide as much help as a tool can, freeing you up to worry about the things that humans are really good at.
Great! How do I get started?
To configure Python support in Upsource, go to the Code Intelligence in your project’s settings. Choose the version of Python and make sure to have python, pip, and virtualenv installed on your Upsource service. Happy reviewing!
As of February 1, 2022, we will no longer sell new licenses or renewals for Upsource or Upsource user packs. We will continue to provide technical support and critical security updates until January 31, 2023. After this, no further updates or technical support will be provided. Why we are dis…
Orderly code reviews in Upsource
Code review like no other development practice relies on humans being efficient. And for most of us to achieve that, it's important to have our tasks well organized and our time well planned. Upsource takes care of a lot of things for you without any need to configure anything. For example, if y…
JIRA Workflows support in Upsource
If you're using JIRA workflows and have code review as a part of it, you'll be pleased to find out that Upsource 2017.2 can apply issue transitions automatically. Let's say you have a JIRA workflow set up that looks something like this. We won't go into detail on how to configure a JIRA workflow…
NPM support in Upsource 2017.2