Sourcery makes sure all of your code is following best practices from standard Pythonic rules to issues that pop up during code reviews. Add to your IDE to get instant feedback, use the CLI to review existing code, or integrate it into your CI.
We have been using Sourcery for more than a year now. Our team is able to find some really good and time saving optimisations using this. I would recommend this.
Gave it a spin and am amazed!
Not much into python though.
Any plans on supporting other languages?
Golang maybe? could probably be among the more accessible ones and would be great to have!
I would be very happy to see a tool like this for JS/Typescript or even Rust, but I assume that's more ambitious.
@johanneshund1 thank you!
We're planning on adding in support for additional languages and are aiming for early next year for the first one.
We ultimately want to support a broad array of languages including Golang, JS, & Rust
@johanneshund1 Thanks a lot.
Additional languages are definitely on our roadmap. Right now, we're planning to release a second language in early 2023 and then adding more languages successively.
We haven't decided on the 2nd language yet, but JavaScript and Golang are among the candidates.
This product is great! The suggestions are helpful while still being easy enough to ignore if you have reason to. It has become such a natural piece of my IDE workflow now that I sometimes forget it's an extension
@kylelaws0n Thanks a lot.
"It has become such a natural piece of my IDE workflow now that I sometimes forget it's an extension" That's quite a compliment. :-)
We're looking forward to your feedback to the new & improved CLI.
Trying Sourcery for a few weeks now and I've been very impressed. It suggested useful refactorings and it works blazingly fast (with the PyCharm plugin). Probably will start using this while teaching as well!
Sourcery is an absolute gem in this area. I'm using it since the beginning and I will tell you, there is no better solution than that. It is in my must-have plugins for every IDE I'm using. Godspeed Sourcery 👍🚀
@varunrazora for now we're Python only, so don't have direct support for android studio or visual studio (but we do have support for visual studio code). As we expand to add more languages we'll also expand what IDEs we support
@rishabh_agrawal2 Good question.
SonarQube is also a great code quality tool. There's an overlap between their functionalities, but there are also some differences.
1) Automated fixes
Sourcery provides automated fixes for more than 100 common code quality issues.
You can apply these immediately in your IDE as you type.
Or you can fix dozens of issues at once in the command line.
https://docs.sourcery.ai/Guides/...
@tjamesjones good question! You can handle legacy code in two ways:
1. Do a full project review to identify all existing issues. We recommend doing this with our command line interface (https://docs.sourcery.ai/Guides/...). You can run `sourcery review ` to check all of your existing code and get a baseline for what issues you have. You can then choose which of those you want to fix right away and which you want to wait to deal with.
2. Set up Sourcery in your CI (https://docs.sourcery.ai/Guides/...) or as a pre-commit hook (https://docs.sourcery.ai/Guides/...) and set it to only review changed code using the --diff option. Then Sourcery will only look at the changed code and only suggest changes on those.
Hey Product Hunt 👋 -
@brendan_maginnis, @nick_thapen, and I are back and we’re very excited to be sharing the new version of Sourcery with you all.
Sourcery sits in the background while you work analyzing your code, finding problems, and suggesting improvements to make sure it’s following best practices. You can think of it as the first layer of code review, catching mistakes before a human reviewer needs to take a look. As always - Sourcery runs fully locally, so your code is private.
Here’s what’s new:
1. Extend Sourcery to handle your best practices. You shouldn’t have to make the same comment more than one time in a code review. When you see issues coming up frequently you can create a Sourcery rule, and these issues will get caught for your whole team before the code is merged.
2. Leverage Pre-Built Rulesets. We’ve taken the Google Python Style Guide and made it available as a (set of Sourcery rules). Pick and choose the rules that make sense for you (and customize them how you want) or add in the full ruleset.
3. CLI for bulk review. We’ve extended the Sourcery CLI to make it more powerful (and much quicker) for reviewing multiple files, or your entire repo. With a single command you can scan hundreds of files, identify common issues, and make bulk changes to improve your code.
4. Review every commit with Sourcery in CI. Let Sourcery handle the first layer of your code reviews by adding it to your CI. Sourcery is easily configurable to run only on changed code to help cut down on noise from legacy code.
Anyone can start using Sourcery for free, and teams coming through ProductHunt with promo code PRODUCTHUNT2022 can use the full team version (includes full use in CI or as a pre—commit hook - see more details at https://sourcery.ai/team/) for free for 2 months.
I use sorcery everyday for the last 2 years. I love combining it with GitHub Copilot to really speed up my development process!
For example CoPilot generates code, then Sourcery improves it and fits it into our style guides.
Finally there is nothing quite as satisfying as using the CLI to refactor a huge out-of-date repo.
@brendan_maginnis@nick_thapen@tim_sourcery
@gregoire_lecomte thank you! We're looking to start supporting new languages early next year, but we haven't fully settled on which the first new languages will be. Any preferences?