diff --git a/lib/modules/datasource/common.spec.ts b/lib/modules/datasource/common.spec.ts
index 703283f9c0e4a7069221e1e1023e7b02c8e66169..a86c6a2d3f43de62ec1a778d67aa438bf4f8e6ef 100644
--- a/lib/modules/datasource/common.spec.ts
+++ b/lib/modules/datasource/common.spec.ts
@@ -226,6 +226,25 @@ describe('modules/datasource/common', () => {
         releases: [{ version: '1.0.0' }, { version: '2.0.0' }],
       });
     });
+
+    it('should match exact constraints', () => {
+      const config = {
+        datasource: 'pypi',
+        packageName: 'bar',
+        versioning: 'pep440',
+        constraintsFiltering: 'strict' as const,
+        constraints: { python: '>=3.8' },
+      };
+      const releaseResult = {
+        releases: [
+          { version: '1.0.0', constraints: { python: ['^1.0.0'] } },
+          { version: '2.0.0', constraints: { python: ['>=3.8'] } },
+        ],
+      };
+      expect(applyConstraintsFiltering(releaseResult, config)).toEqual({
+        releases: [{ version: '2.0.0' }],
+      });
+    });
   });
 
   describe('applyVersionCompatibility', () => {
diff --git a/lib/modules/datasource/common.ts b/lib/modules/datasource/common.ts
index 6b952da4f49ac733f8468723793a393900464275..efda4b39c46799ef254b321ac03b6b65228045f6 100644
--- a/lib/modules/datasource/common.ts
+++ b/lib/modules/datasource/common.ts
@@ -208,6 +208,11 @@ export function applyConstraintsFiltering<
           break;
         }
 
+        if (configConstraint === releaseConstraint) {
+          satisfiesConstraints = true;
+          break;
+        }
+
         if (versioning.subset?.(configConstraint, releaseConstraint)) {
           satisfiesConstraints = true;
           break;