Skip to content

⚡ Bolt: Caching Printify Variant Fetches#58

Open
merg357 wants to merge 1 commit into
mainfrom
perf/cache-printify-variants-8547418131812005411
Open

⚡ Bolt: Caching Printify Variant Fetches#58
merg357 wants to merge 1 commit into
mainfrom
perf/cache-printify-variants-8547418131812005411

Conversation

@merg357

@merg357 merg357 commented Jun 5, 2026

Copy link
Copy Markdown
Owner

💡 What: Memoized get_variants in printify_manager.py using @functools.lru_cache and cast its response to an immutable tuple to avoid side-effects.
🎯 Why: Prevents repeated (N+1) API calls when repeatedly requesting identical blueprint variants during the bulk product creation loop.
📊 Impact: Considerably reduces the number of network requests sent to the Printify API during bulk operations.
🔬 Measurement: Verify by executing the create loop which will complete noticeably faster.


PR created automatically by Jules for task 8547418131812005411 started by @merg357

Memoizes `get_variants` in `printify_manager.py` using `@functools.lru_cache` to prevent N+1 API calls when fetching variants for the same blueprints during bulk product creation loops. Casts the return to an immutable tuple to ensure safe memoization.

Co-authored-by: merg357 <221854052+merg357@users.noreply.github.com>
@google-labs-jules

Copy link
Copy Markdown

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant