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.
A guide to writing stable and secure Python applications.
A handy guide to understanding Ruby's expressive syntax and making the most of it.
The answers to every what, why, when and how about JavaScript static code analysis.
Find and fix 170+ issues in your Java code. Currently in beta.
Static analysis can help you ship stable and secure Ruby applications.
Learn how to plan your code and make it bug-free.
Let these tools automate style formatting for your Python code.
DeepSource Ruby analyzer lands in GA, with over 260 issues, Autofix & Transformers.
TL;DR Get contributors to fix code quality issues in your open-source project. Escape the spam.
On communication in open-source collaboration, with Cheuk Ting Ho.
An in-depth analysis of deployments in Kubernetes
Walkthrough of setting up static analysis for a Python repository on GitHub.
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.