Insights, stories, and updates from team DeepSource.
Support for Bitbucket Data Center
From Zero To Secure
Introducing, Community Analyzers
Introducing, DeepSource Runner
Introducing support for Monorepos
Introducing, DeepSource for Kotlin
Announcing DeepSource’s Vanta integration
Introducing, DeepSource for Swift
Scanning JavaScript Code For Security Vulnerabilities
The Hidden Costs of False Positives in Code Quality
Risks of Disparate Code Quality Tools
Introducing, DeepSource Reports
Introducing, Pinned Reports
What to Look for in SAST Tools
Improve Security Posture with Static Application Security Testing (SAST)
Better Audit Logs
Writing Secure Rust Code with SAST
Rust stdlib vulnerability in fs::remove_dir_all
Parallel processing in Node.js using worker threads
What's new in Python 3.9?
What's new in Python 3.10?
Log4Shell: Apache Log4j Vulnerability
Learn Python ASTs by building your own linter
Beginner's guide to JavaScript static code analysis
5 Common mistakes in Go
Breaking builds, baseball bats, and the code quality DNA
Common anti-patterns in Go
Python code review checklist
Guidelines for Java code reviews
JavaScript best practices to improve code quality
Good Code Podcast: Episode 4
Python code formatters
Managing multiple Git profiles
Why you should use the key directive in Vue.js with v-for
Good Code Podcast: Episode 3
Demystifying Python’s Descriptor Protocol
How Reactivity works in Vue.js
Git branch naming conventions
All that happened: PyCon India 2019
OWASP Top 10: Sensitive Data Exposure
Comparison of new Python web frameworks
7 popular web frameworks in Go
DeepSource at PyConf Hyderabad - Experience & Reflections
"isn't a title of this post" isn't a title of this post
Good Code Podcast: Episode 2
Easy performance optimizations in Python
Package management in Go
Positional-only arguments in Python
Good Code Podcast: Episode 1
OWASP Top 10: Broken Authentication
Walrus operator in Python 3.8: a primer
Good First Issue: August 2019
How Masonite ships good code with DeepSource
OWASP Top 10: Injection
What's new in Python 3.8?
Common beginner mistakes in Python
Python and Kubernetes Events: March 2019
Code review best practices
Best practices for using Git
The exponential cost of fixing bugs
Benefits of Continuous Quality
Importance of software documentation
What is technical debt?
Don't use Math.random()
DeepSource is now SOC 2 Type II compliant
What's new in Python 3.11?
Problems & pains in parsing: a story of lexer-hack
Using Roslyn APIs to build a .NET IL interpreter
Debugging Heisenbugs: A tale of parallel processing
Aligning software development with business strategy
DeepSource's Guide to SAST
Balancing code quality and developer productivity
Ruby 3.2's WASI Integration: A Closer Look
DeepSource Discuss
Introducing Bitbucket support for DeepSource
Introducing, DeepSource for C#
DeepSource at PyCon India 2019
Common anti-patterns in Python
Release: Test coverage, meta config for analyzers
Release: Actions on issues, ignore rules
Release: Granular analysis on diffs
Release: Permanently silence issues in code
Release: Ignore issues in all test files
Release: Re-thinking test coverage
Release: Go analyzer lands in beta
Release: GitLab support, new actions on issues
Release: Static type checker in Python
Release: Static analysis for Dockerfile
DeepSource Go analyzer is now generally available
Release: Improved issues interface
Release: DeepSource Ruby analyzer lands in beta
Release: Improved repository onboarding workflow
Release: Static analysis for Terraform
Autofix: The future of code reviews is here
Actionable issue reporting with DeepSource
Make your Dockerfile better with DeepSource
Tips for writing glob patterns in DeepSource configuration
Automate code formatting with Transformers
Code formatting on autopilot
DeepSource JavaScript analyzer lands in beta
A guide to risk-free SAST implementation for AppSec teams.
New `str` methods, better typing support, new modules, and more.
Find and fix issues in your Scala code. Currently in beta.
Access to best-in-class developer tools for early-stage startups
We're hosting our first virtual conference, and you'll love it!
Learn how some of the new features in JavaScript can help you write cleaner code.
Get a jump-start on your next code review session with this list.
How to cover all aspects of the code in a review.
A list of anti-patterns you should avoid while writing code in Golang.
A conversation with Badri Rajasekar on how companies of different sizes ship good code.
A short list of patterns that beginners miss while writing Go.
Setting up a GitHub workflow CI pipeline powered by Rubocop.
Letting bots do the mundane parts of code review leaves time for devs to see the bigger picture.
DeepSource is free forever for small teams and open-source projects. Start analyzing your code in less than 2 minutes.
Read product updates, company announcements, how we build DeepSource, what we think about good code, and more.