A performance testing framework for Django that helps you understand and fix performance issues, not just detect them
Project description
[warning] I am in the process of getting the CI/CD to build a proper Windows version, for now Windows uses python fallbacks which are 900x slower.
Django Mercury ๐
Part of the Human in the Loop ecosystem
Test Django app speed. Learn why it's slow. Fix it.
๐ Quick Install
pip install django-mercury-performance
Then in your test files:
from django_mercury import DjangoMercuryAPITestCase
class MyPerformanceTest(DjangoMercuryAPITestCase):
def test_api_performance(self):
response = self.client.get('/api/endpoint/')
# Performance is automatically monitored and reported!
๐ Origin Story
Mercury started at EduLite. EduLite helps students learn with slow internet. We found our UserSearchView made 825 database queries to show one page!
We built Mercury to find these problems and teach you how to fix them. Mercury follows EduLite's values: Fair, Free, and Open. Everyone can use it and learn.
๐ฏ Current Status: v0.0.2 on PyPI! ๐
What Works Now:
- โ
Install from PyPI -
pip install django-mercury-performance - โ
NEW: Educational Mode (
--edu) - Interactive learning while testing - โ Finds N+1 query problems
- โ Grades speed (S, A+, A, B, C, D, F)
- โ
Two test types:
DjangoMercuryAPITestCaseandDjangoPerformanceAPITestCase - โ Knows what type of code runs
- โ Teaches when tests fail
- โ Fast C code for speed
- โ Tracks time, queries, and memory
What We Actually Found:
๐จ POTENTIAL N+1 QUERY PROBLEM! ๐จ
Severity: CRITICAL (825 queries)
Coming Soon:
- ๐ค AI Agent Mode (
--agent) for smart automation - ๐ Track speed changes over time
- ๐ฏ Test all Django view types
- ๐ Find exactly when code gets slower
- ๐ ๏ธ Better testing tools
๐ฆ Installation
Install from PyPI (Recommended)
pip install django-mercury-performance
Install from Source
# Clone the repository
git clone https://github.com/Django-Mercury/Performance-Testing.git
cd Django-Mercury-Performance-Testing
# Install in development mode
pip install -e .
# If you want to modify the C extensions
cd django_mercury/c_core
make clean && make
Choose Your Mode
Django Mercury adapts to your needs. Pick the mode that fits you:
๐ Educational Mode - For Learning & Understanding
Learn while you test! Mercury becomes your performance tutor.
What it does:
- โธ๏ธ Pauses when it finds problems to teach you
- ๐ Explains issues in simple language
- ๐ฎ Interactive quizzes test your understanding
- ๐ Tracks your learning progress
- ๐ง Shows step-by-step fixes
Three Ways to Enable (Choose Your Favorite):
Option 1: mercury-test Command (Easiest! ๐)
# Just use mercury-test instead of python manage.py test
mercury-test
# Run specific tests
mercury-test users.tests
# Set difficulty level
mercury-test --level advanced
# Run without pauses (for CI)
mercury-test --no-pause
Option 2: Environment Variable (Great for CI/CD ๐ค)
# Set the environment variable
export MERCURY_EDU=1
export MERCURY_EDU_LEVEL=intermediate # optional
# Then run tests normally
python manage.py test
Option 3: Python Configuration (For manage.py ๐)
# Add to your manage.py or settings.py
from django_mercury import enable_educational_testing
# Enable educational mode
enable_educational_testing('beginner') # or 'intermediate', 'advanced'
# Then run tests normally
python manage.py test
Example experience:
โญโโโโโโโโโโโโ ๐จ Learning Opportunity โโโโโโโโโโโโโฎ
โ โ
โ โ ๏ธ Performance Issue Detected! โ
โ โ
โ Test: test_user_list_api โ
โ Issue: N+1 Queries โ
โ Queries executed: 230 | Response time: 450ms โ
โ โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
๐ What's happening?
When you fetch users without their related data,
Django makes a new query for each relationship.
๐ค Quick Check: Which method would fix this?
[1] filter()
[2] select_related()
[3] annotate()
[4] values()
Your answer: _
๐ Full Educational Mode Documentation
๐ผ Professional Mode (Default) - For Experts
Fast, efficient, no hand-holding. You know what you're doing.
What it does:
- โ Automatic performance monitoring
- ๐ Detailed reports and grades (S, A+, A, B, C, D, F)
- โก Fast execution without interruptions
- ๐ฏ Precise performance metrics
- ๐ N+1 query detection
How to use:
from django_mercury import DjangoMercuryAPITestCase
class MyTest(DjangoMercuryAPITestCase):
def test_api_performance(self):
response = self.client.get('/api/endpoint/')
# Automatically monitored!
๐ค Agent Mode (--agent) - Coming Soon!
Let AI help optimize your code while you keep control.
What will it do:
- ๐ Auto-fix level 1-2 complexity issues
- ๐ Generate optimization suggestions
- ๐จ Flag critical issues for human review
- ๐ Structured JSON output for tool integration
- ๐ง Preserve human decision points
Future usage:
python manage.py test --agent
{
"auto_fix_immediately": ["missing_select_related", "unused_imports"],
"requires_human_review": ["architecture_change", "security_update"],
"complexity_breakdown": {
"1/5_trivial": 12,
"2/5_routine": 8,
"3/5_moderate": 3,
"4/5_complex": 2,
"5/5_critical": 1
}
}
๐ Quick Start
Step 1: Choose Your Experience
- ๐ Student/Beginner? Use
--edufor interactive learning - ๐ผ Expert? Use default mode for fast results
- ๐ค AI Agent?
--agentmode coming soon!
Step 2: Run Your Tests
๐ Educational Mode - Learn While Testing
# Enable in settings.py
import sys
if '--edu' in sys.argv:
TEST_RUNNER = 'django_mercury.test_runner.EducationalTestRunner'
# Run with learning
python manage.py test --edu
Mercury will pause at performance issues to teach you!
๐ผ Professional Mode - Automatic Monitoring (Default)
from django_mercury import DjangoMercuryAPITestCase
class UserSearchPerformanceTest(DjangoMercuryAPITestCase):
"""Mercury monitors every test automatically."""
def test_user_search(self):
# Write your normal test
response = self.client.get('/api/users/search/?q=test')
self.assertEqual(response.status_code, 200)
# Mercury checks performance automatically
What Mercury does:
- Counts database queries
- Measures response time
- Tracks memory usage
- Finds N+1 problems
- Shows clear reports
๐ผ Advanced: Manual Control
You control when to monitor. Good for specific performance checks.
from django_mercury import DjangoPerformanceAPITestCase
from django_mercury import monitor_django_view
class AdvancedPerformanceTest(DjangoPerformanceAPITestCase):
"""Control exactly what you test."""
def test_with_assertions(self):
with monitor_django_view("search") as monitor:
response = self.client.get('/api/users/search/')
# Check specific limits
self.assertResponseTimeLess(monitor, 100) # Under 100ms
self.assertQueriesLess(monitor, 10) # Under 10 queries
self.assertNoNPlusOne(monitor) # No N+1 problems
You control:
- When monitoring starts
- What to check
- Your performance limits
๐ Real Output from Mercury
This is actual output from testing EduLite:
๐จ MERCURY PERFORMANCE DASHBOARD - UserSearchPerformanceTest
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ ๐ Overall Status: NEEDS IMPROVEMENT โ
โ ๐ Overall Grade: F (20.5/100) โ
โ ๐ Tests Executed: 12 โ
โ โฑ๏ธ Avg Response Time: 105.6ms โ
โ ๐ง Avg Memory Usage: 91.7MB โ
โ ๐๏ธ Total Queries: 2761 (230.1 avg) โ
โ ๐จ N+1 Issues: 10/12 tests affected โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
๐ Your Learning Journey
Start Here โ Master Performance โ Help Others
๐ Educational Mode ๐ผ Professional Mode ๐ค Agent Mode
Learn the basics โ Apply your skills โ Automate wisely
Interactive lessons Fast, efficient testing AI-assisted optimization
Quizzes & progress Expert-level control (Coming soon!)
Your Path:
- Begin with
--edumode to understand concepts - Practice with real projects in professional mode
- Master performance optimization patterns
- Contribute improvements back to the community
- Future: Use AI agents to scale your expertise
๐ How Mercury Works
Mercury follows the Human in the Loop philosophy:
80% Computer Help:
- Watches performance automatically
- Finds N+1 problems
- Grades your code speed
- Manages limits
20% Human Control:
- You understand WHY speed matters
- You choose how to fix problems
- You learn from the guides
- You make design choices
Example: How Mercury Teaches
When a test fails, Mercury helps you learn:
๐ MERCURY EDUCATIONAL GUIDANCE
============================================================
๐ฏ Test: test_user_list_view
โ ๏ธ Default thresholds exceeded
๐๏ธ Query Count: 230 (limit: 10)
โ 220 extra queries (2200% exceeded)
๐ก SOLUTION: N+1 Query Pattern Detected
Your code is likely missing select_related() or prefetch_related()
Try: User.objects.select_related('profile').prefetch_related('groups')
๐ ๏ธ Quick Fix for Testing:
cls.set_performance_thresholds({'query_count_max': 250})
But the REAL fix is optimizing your queries!
============================================================
๐ ๏ธ Performance Checks
Test Methods You Can Use
# Check response time
self.assertResponseTimeLess(monitor, 100) # Must be under 100ms
self.assertPerformanceFast(monitor) # Must be fast
self.assertPerformanceNotSlow(monitor) # Must not be slow
# Check database queries
self.assertQueriesLess(monitor, 10) # Must use less than 10 queries
self.assertNoNPlusOne(monitor) # Must not have N+1 problems
# Check memory use
self.assertMemoryLess(monitor, 50) # Must use less than 50MB
self.assertMemoryEfficient(monitor) # Must use memory well
# Check cache use
self.assertGoodCachePerformance(monitor, 0.8) # Must hit cache 80% of time
๐ง Setup Options
class MyTest(DjangoMercuryAPITestCase):
@classmethod
def setUpClass(cls):
super().setUpClass()
# Turn Mercury features on or off
cls.configure_mercury(
enabled=True, # Turn on Mercury
auto_scoring=True, # Grade tests automatically
verbose_reporting=False, # Show less detail
educational_guidance=True # Show help messages
)
# Set your speed limits
cls.set_performance_thresholds({
'response_time_ms': 100, # Max time: 100ms
'query_count_max': 10, # Max queries: 10
'memory_overhead_mb': 20, # Max extra memory: 20MB
})
๐งช Testing Django Mercury
We provide two test runners to help you test the framework.
What Our Tests Do
Tests make sure Django Mercury works correctly. They check:
- Python code works as expected
- C extensions compile and run fast
- Performance monitoring catches problems
- Everything works together
Two Test Runners
1. Python Test Runner: test_runner.py
Tests all Python code with performance timing.
Features:
- Shows test speed with colors (๐ข fast, ๐ก medium, ๐ด slow, ๐ very slow)
- Coverage reports (how much code is tested)
- Finds slow tests automatically
- Groups results by module
2. C Test Runner: c_test_runner.sh
Tests all C extensions for speed and correctness.
Features:
- Builds C libraries
- Runs unit tests
- Checks memory safety
- Generates coverage reports
How to Run Tests
Quick Start (Test Everything)
# Test Python code
python test_runner.py
# Test C code
./c_test_runner.sh test
Detailed Testing
# Python tests with coverage report
python test_runner.py --coverage --verbose
# C tests with coverage analysis
./c_test_runner.sh coverage
# Test everything
python test_runner.py --all
./c_test_runner.sh all
Understanding Test Output
Python Test Colors
Your tests show timing with colors:
| Color | Time | Meaning |
|---|---|---|
| ๐ข Green | <0.1s | Fast - Great! |
| ๐ก Yellow | 0.1-0.5s | Medium - OK |
| ๐ด Red | 0.5-2s | Slow - Needs work |
| ๐ Purple | >2s | Very slow - Problem! |
Example Output
๐ Starting Timed Test Run
==================================================
Legend: ๐ข <0.1s | ๐ก 0.1-0.5s | ๐ด >0.5s | ๐ >2s
==================================================
๐ Running: tests.monitor.test_django_base ... ๐ข 0.045s โ
๐ Running: tests.monitor.test_metrics ... ๐ก 0.234s โ
๐ Running: tests.integration.test_api ... ๐ด 0.678s โ
๐ PERFORMANCE SUMMARY
Total time: 0.957s
Average per test: 0.319s
Common Testing Tasks
Run Specific Tests
# Test only monitor module
python test_runner.py --module monitor
# List all test modules
python test_runner.py --list-modules
Build and Clean
# Clean everything
./c_test_runner.sh clean
# Rebuild C libraries
./c_test_runner.sh build
# Run benchmarks
./c_test_runner.sh benchmark
Before You Commit
Always run these commands:
# 1. Check Python tests pass
python test_runner.py
# 2. Check C tests pass
./c_test_runner.sh test
# 3. Check code style
black django_mercury/
ruff check django_mercury/
Adding Your Own Tests
Python Tests
Create a file in tests/ directory:
# tests/test_my_feature.py
import unittest
from django_mercury import DjangoMercuryAPITestCase
class TestMyFeature(DjangoMercuryAPITestCase):
def test_feature_works(self):
# Your test here
response = self.client.get('/api/test/')
self.assertEqual(response.status_code, 200)
C Tests
Create a file in django_mercury/c_core/tests/:
// simple_test_myfeature.c
#include <stdio.h>
#include <assert.h>
int main() {
printf("Testing my feature...\n");
// Your test here
assert(1 == 1);
printf("โ
Test passed!\n");
return 0;
}
Getting Help
- Test failures? Check the error message first
- Slow tests? Look for
time.sleep()or database queries - C compilation errors? Run
./c_test_runner.sh cleanthenbuild - Still stuck? Open an issue with your test output
๐ Documentation
- GitHub Actions Deployment Guide - How our CI/CD works (for beginners, experts, and AI agents)
- More docs coming soon!
๐ฏ Real Results at EduLite
Before Mercury:
- UserSearchView used 825 queries to show one page
- We could not see speed problems
- Students with slow internet could not use the app
After Mercury:
- Found the exact problem
- Fixed it to use only 12 queries
- Now we check speed on every code change
๐ง Future Plans
Phase 1: Foundation โ
- โ Performance monitoring
- โ N+1 query detection
- โ Educational guidance
- โ PyPI availability
- โ
Educational Mode (
--edu)
Phase 2: Enhancement (In Progress)
- ๐จ Improve test stability
- ๐จ Support all Django view types
- ๐จ Track performance trends
- ๐จ Better learning materials
Phase 3: AI Agent Mode (Coming Soon)
- ๐ค Agent Mode (
--agent) with structured output - ๐ค Auto-fix level 1-2 complexity issues
- ๐ค Generate optimization suggestions
- ๐ค Preserve human decision points for level 4-5 issues
- ๐ค Integration with AI development tools
๐ค Contributing
Mercury is part of EduLite and Human in the Loop. We welcome everyone.
Our Values
- Education First: Tools should teach, not just find problems
- Human Understanding: You control your code
- Open Source: Built together, shared with everyone
How You Can Help
- Test Mercury - Try it on your Django project
- Report Problems - Tell us what doesn't work
- Share Ideas - Suggest improvements
- Write Code - Fix bugs or add features
- Improve Docs - Make them clearer
- Help Others - Answer questions
Getting Started
See CONTRIBUTING.md for details.
New to open source? Start here:
- Look for "good first issue" labels
- Ask questions - we're here to help
- Small fixes matter too
๐ซ Made for Learning
Mercury was made for EduLite. EduLite helps students learn even with slow internet. Mercury helps by:
- Working on slow computers
- Teaching as it tests
- Helping developers learn
- Making apps work for everyone
๐ License
This project is licensed under the GNU General Public License v3.0 (GPL-3.0).
Why GPL-3.0?
We use GPL-3.0 because it matches our values:
- ๐ Open: Code stays open for everyone
- ๐ Free: You can use, study, share, and improve it
- โ๏ธ Fair: Improvements must be shared
- ๐ค Copyleft: Stays free forever
If you share a changed version, you must:
- Share your code
- Use GPL-3.0 license
- Keep all notices
- List your changes
This keeps knowledge open for all.
For the full license text, see LICENSE.txt or visit GNU GPL v3.0.
๐ Thanks To
- EduLite Team - For showing us the need
- Human in the Loop - For the ideas
- Django/DRF Community - For the tools
Mercury: Making performance testing simple for everyone.
Built with โค๏ธ by developers who believe people should understand their code.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file django_mercury_performance-0.0.6.tar.gz.
File metadata
- Download URL: django_mercury_performance-0.0.6.tar.gz
- Upload date:
- Size: 829.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1230fa3bebb99464f8ee8ed5ef9dc9c3c3ea3ca9fecce63515e35ef04c87b164
|
|
| MD5 |
669a4e73b446658a094939ef06f5b5ee
|
|
| BLAKE2b-256 |
6b830d0f9769538c39428fb39ddfaf625414ceae298bdbff6adbf6ac31d74698
|
File details
Details for the file django_mercury_performance-0.0.6-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: django_mercury_performance-0.0.6-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 318.2 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
badd3ff01d554eb005721dc7dcef8459a2c7916aa445ff0868229445c527905a
|
|
| MD5 |
494f18c500994d5d150f7f909eff4aea
|
|
| BLAKE2b-256 |
9d604f4325495f620d11048be6885475225a965dfcda10d3ecee8b1589448deb
|
File details
Details for the file django_mercury_performance-0.0.6-cp312-cp312-manylinux_2_34_x86_64.whl.
File metadata
- Download URL: django_mercury_performance-0.0.6-cp312-cp312-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 449.5 kB
- Tags: CPython 3.12, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
652294371abd15c03e0ea1aa29fcd0d1283f3f3d23c723f426d504a95dfbc3ff
|
|
| MD5 |
588dc9da90f414d9adaf4adc7f2ae012
|
|
| BLAKE2b-256 |
7c0528ee6a67f4dc170f25d029a4e56529277ba43d02496fdddb9e7bb94f6645
|
File details
Details for the file django_mercury_performance-0.0.6-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: django_mercury_performance-0.0.6-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 321.3 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
96841705e458eec85052e8469bf40d9bddbdf19ef22eeb9faa5c1429c1805acb
|
|
| MD5 |
b32cc89ea1d04bdceb2067c4e5c66a97
|
|
| BLAKE2b-256 |
9d654072b9e0acb07d803bf04c3d6414252801c4c4c78526171da08258af97a8
|
File details
Details for the file django_mercury_performance-0.0.6-cp312-cp312-macosx_10_13_x86_64.whl.
File metadata
- Download URL: django_mercury_performance-0.0.6-cp312-cp312-macosx_10_13_x86_64.whl
- Upload date:
- Size: 323.4 kB
- Tags: CPython 3.12, macOS 10.13+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
475da24112d80d61d505683d92d7b9e91d14da621d426754ca7b7cef9bb671c7
|
|
| MD5 |
100a5f44d1bbd55197dee03d87ca4941
|
|
| BLAKE2b-256 |
c8d67815756fe1e52e07d0fb9b29381797fd901308c9515fc9e37a374c90793b
|
File details
Details for the file django_mercury_performance-0.0.6-cp312-cp312-macosx_10_13_universal2.whl.
File metadata
- Download URL: django_mercury_performance-0.0.6-cp312-cp312-macosx_10_13_universal2.whl
- Upload date:
- Size: 376.3 kB
- Tags: CPython 3.12, macOS 10.13+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
73fe69063d5e6c5f39dc36420f55826fc05d02b8fc87be8677ec6dc73c4fd838
|
|
| MD5 |
9a9034d7837c1f22219f4252a5ac6656
|
|
| BLAKE2b-256 |
199c025e90e02ced8886c293a2d31880936ac5fe42219c209a35baf38b082e5d
|
File details
Details for the file django_mercury_performance-0.0.6-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: django_mercury_performance-0.0.6-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 318.2 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ce074b89974f9caeb2f12adeae1a0e3aa37115aa131a705884ba0fb847adaccf
|
|
| MD5 |
66f0ba8cebcbf5708dccc9d5d18625f1
|
|
| BLAKE2b-256 |
cf42c9c1d0ea631af76c070603951ea5c3cb25b587ea94c481fbf096ac8899fc
|
File details
Details for the file django_mercury_performance-0.0.6-cp311-cp311-manylinux_2_34_x86_64.whl.
File metadata
- Download URL: django_mercury_performance-0.0.6-cp311-cp311-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 447.9 kB
- Tags: CPython 3.11, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b83afc99dc3f729351728d4c1b241b343c25c8bf3e7a6947f1805e8c9a1e884f
|
|
| MD5 |
d92cbfeb89d16a14396add95bcd42501
|
|
| BLAKE2b-256 |
093c1e8296f2f5afcd2362ee0c3314366d24be97020eec6ec8ea1968458b574c
|
File details
Details for the file django_mercury_performance-0.0.6-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: django_mercury_performance-0.0.6-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 321.3 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2a6aadba9ddc936cafea18436aaf1cfbf1f50cb93f3003e87b29b22b90592d91
|
|
| MD5 |
cf8101bdaadd38ebadf47a5d92523927
|
|
| BLAKE2b-256 |
da44c25d40f0470dace1e53c21804f06b9f21ac4e71c25ab22836ccca91c63a0
|
File details
Details for the file django_mercury_performance-0.0.6-cp311-cp311-macosx_10_9_x86_64.whl.
File metadata
- Download URL: django_mercury_performance-0.0.6-cp311-cp311-macosx_10_9_x86_64.whl
- Upload date:
- Size: 323.3 kB
- Tags: CPython 3.11, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9f2472d7d63392100bcfe48ff81342096e03417cb5d49df16ec98ed288b618dd
|
|
| MD5 |
52ba1d1b21785f4428ffcc1a43bcb99d
|
|
| BLAKE2b-256 |
1b794bed65aa846be8d299bf93927a0d6dfcbf6227d5248999a7cb56753565f8
|
File details
Details for the file django_mercury_performance-0.0.6-cp311-cp311-macosx_10_9_universal2.whl.
File metadata
- Download URL: django_mercury_performance-0.0.6-cp311-cp311-macosx_10_9_universal2.whl
- Upload date:
- Size: 376.2 kB
- Tags: CPython 3.11, macOS 10.9+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e0b7f0359ed882d7e08228ff27cf66bc1143891d7a8457ef1bc80276c85d35bd
|
|
| MD5 |
6551430e88fa161d0a8f9b087f15ca7f
|
|
| BLAKE2b-256 |
7aa7cf8a1bcad53e08bace87939ef8e1054b03e3c600d55be5608790d455d192
|
File details
Details for the file django_mercury_performance-0.0.6-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: django_mercury_performance-0.0.6-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 318.2 kB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e91542355784935d803a88c01e23a653dcf16b9f80cd1cf247037c3c43e9b31b
|
|
| MD5 |
817e5ade68c74b254b59a6085e9c4b90
|
|
| BLAKE2b-256 |
1ffcd1d8b4c45b9536cc02a87f904d76dbd415987ddf44fbb6dc06c86ffb5749
|
File details
Details for the file django_mercury_performance-0.0.6-cp310-cp310-manylinux_2_34_x86_64.whl.
File metadata
- Download URL: django_mercury_performance-0.0.6-cp310-cp310-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 447.3 kB
- Tags: CPython 3.10, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0e36aa133086a3bb291e84372d4e125c07ca5e6d615164250e61c7c7ca3789d3
|
|
| MD5 |
c34793a36ae4e71f7f6af0d776187893
|
|
| BLAKE2b-256 |
1c11c37462fcc4f5e2db233068b934302b16aa1683e3fd5318d8581daf12dac7
|
File details
Details for the file django_mercury_performance-0.0.6-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: django_mercury_performance-0.0.6-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 321.3 kB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
15c97c95e903a3685cb94d83b09b94c4e4e692957a6dd218cf3cd50a0f849edf
|
|
| MD5 |
fbc6713520bdb5f7fe753991d9845dec
|
|
| BLAKE2b-256 |
71521a3e001e6ec471f44b28c21be92cb495430f8ee214cee5b2059e81b381b0
|
File details
Details for the file django_mercury_performance-0.0.6-cp310-cp310-macosx_10_9_x86_64.whl.
File metadata
- Download URL: django_mercury_performance-0.0.6-cp310-cp310-macosx_10_9_x86_64.whl
- Upload date:
- Size: 323.3 kB
- Tags: CPython 3.10, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4d69b1a86f43174836719ca72696ade5a29247614a4231c38f4c29a7103b3037
|
|
| MD5 |
f31148e746c25a6c75f28d62dd68835e
|
|
| BLAKE2b-256 |
10f8fa006c58bc287bd06bd79dbf03baec084bf0a6dbb321469b329b7249ee60
|
File details
Details for the file django_mercury_performance-0.0.6-cp310-cp310-macosx_10_9_universal2.whl.
File metadata
- Download URL: django_mercury_performance-0.0.6-cp310-cp310-macosx_10_9_universal2.whl
- Upload date:
- Size: 376.2 kB
- Tags: CPython 3.10, macOS 10.9+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4d3f28666124c8a49e4c9df63fe141d85de87315de8aa05e689ef09f2f2ad8ec
|
|
| MD5 |
818302e7a5d1ad53ccc8d13f66f24083
|
|
| BLAKE2b-256 |
4783ef586bd0ab571c89ed1927774accd2ed4e28c7434ca41329b2e1d96c4524
|