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.
The DeepSource team was at the annual Python conference. Here's a report about all the fanfare.
Analyze your code from GitLab, starting now. And more!
On developer workflows with Javed Khan of Handshake.
Announcing our Silver sponsorship for India's annual Python conference.
Low-hanging fruits that give your Python code little speed-ups.
DeepSource now supports Go, with 120+ types of issues.
Test coverage tracking support is now available for Python, Go and Ruby.
Brief overview of package management in Go — pre and post Go modules
An introduction to the new `/` syntax in Python 3.8.
An overview of the broken authentication security threat from OWASP Top 10.
On API design with Shabda Raaj of Agiliq.
The definitive tutorial for the all-new assignment expressions syntax in Python 3.8 with examples.
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.