-
Notifications
You must be signed in to change notification settings - Fork 2
Home
smattymatty edited this page Aug 25, 2025
·
3 revisions
Test Django app speed. Learn why it's slow. Fix it.
Django Mercury embodies the 80-20 Human-in-the-Loop philosophy - automating repetitive analysis while preserving human learning and decision-making.
- β‘ Quick Start Guide - Install and use Mercury in 5 minutes
- π Workflow Best Practices - Integrate Mercury into your development workflow
- π Educational Mode - Learn performance optimization interactively
- π Understanding Reports - Read and interpret performance grades
- π οΈ Development Setup - Set up your development environment
- π Python Standards - Code style and contribution guidelines
- π§ͺ Testing Guide - How to test your contributions
- π Why Plugins? - The 80-20 architecture philosophy
- π Student Plugins - Educational tools for learning
- πΌ Expert Plugins - Professional efficiency tools
- π€ Agent Plugins - AI integration and automation
Django Mercury adapts to your needs through profiles:
# First-time setup - choose your profile
mercury-test --profile student # Educational mode with quizzes
mercury-test --profile expert # Fast, efficient testing
mercury-test --profile agent # Structured output for AI/CIEach profile automatically configures the right plugins for your workflow.
- 80% Automation: Mercury handles query counting, timing, memory tracking
- 20% Human Intelligence: You understand the context and make optimization decisions
Mercury was created for EduLite to help students learn with limited internet. Our tools work for:
- Students on slow connections
- Developers with older hardware
- Global contributors with varying resources
Mercury uses a small core, big plugin design:
- Minimal core functionality
- Rich plugin ecosystem
- Profile-based plugin configuration
- Audience-aware features
# Automatic monitoring (investigation)
from django_mercury import DjangoMercuryAPITestCase
class MyTest(DjangoMercuryAPITestCase):
def test_api(self):
response = self.client.get('/api/endpoint/')
# Mercury monitors automatically!
# Manual control (production)
from django_mercury import DjangoPerformanceAPITestCase
from django_mercury import monitor_django_view
class MyTest(DjangoPerformanceAPITestCase):
def test_with_assertions(self):
with monitor_django_view("operation") as monitor:
response = self.client.get('/api/endpoint/')
self.assertResponseTimeLess(monitor, 100)
self.assertQueriesLess(monitor, 10)# List available plugins for your profile
mercury-test --list-plugins
# Use specific plugin features
mercury-test --wizard # Interactive test selection
mercury-test --learn # Start learning mode
mercury-test --search-deep # Deep project discovery- Getting Started: Installation, basic usage, first tests
- API Reference: Complete API documentation
- Test Case Examples: Real-world usage patterns
- Plugin System Overview: Architecture and design
- Creating Plugins: Build your own extensions
- Plugin Configuration: Profile-based settings
- Development Setup: Environment configuration
- Coding Standards: Python and C guidelines
- Testing Requirements: Quality assurance
- Fair: Equal opportunity for all contributors
- Free: No barriers to participation
- Open: Transparent development
- Tools make developers smarter, not obsolete
- Automate the mundane, preserve the meaningful
- Every error is a learning opportunity
- Quick Questions: Check Getting Help
- Bug Reports: GitHub Issues
- Discussions: GitHub Discussions
- Community: 80-20 Human-in-the-Loop
Current version: 1.0.0
- β Plugin system with profile support
- β Educational mode with quizzes
- β Smart project discovery
- β Performance grading (S, A+, A, B, C, D, F)
Django Mercury: Making performance testing accessible to developers worldwide.
Built with β€οΈ by the 80-20 Human-in-the-Loop community.