<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/pycoder-s-weekly-dz5dmmzhf" -->

---
title: PyCoder’s Weekly | daily.dev
description: PyCoder's Weekly Issue #746 covers a range of Python topics including scaling NumPy on free-threaded CPython, managing wildcard imports with `__all__`, a...
canonical: https://daily.dev/posts/pycoder-s-weekly-dz5dmmzhf
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: PyCoder’s Weekly | daily.dev
og:description: PyCoder's Weekly Issue #746 covers a range of Python topics including scaling NumPy on free-threaded CPython, managing wildcard imports with `__all__`, a...
og:url: https://daily.dev/posts/pycoder-s-weekly-dz5dmmzhf
og:image: https://api.daily.dev/og/posts/DZ5dmMzHF.png
og:image:alt: PyCoder’s Weekly
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# PyCoder’s Weekly

**[Planet Python](https://daily.dev/sources/planetpython)** · 3 min read · 1 upvotes · 0 comments

## Summary

PyCoder's Weekly Issue #746 covers a range of Python topics including scaling NumPy on free-threaded CPython, managing wildcard imports with `__all__`, a PyTorch deep learning tutorial, and PSF Fellow announcements. Articles include using CrewAI for multi-agent AI workflows, running subprocesses in Python, SIMD in pure Python, Django security tips (DEBUG settings, django-crawl for testing), streaming subprocess output in PyQt6, and spying on function calls with unittest.mock. Notable projects include django-orm-lens, icalendar parser, and a pure-Python full-text search library (Whoosh).

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://pycoders.com/issues/746>

## Questions this post answers

### What does Python's __all__ variable actually control in a module?

The __all__ variable controls which names are exported when another module does a wildcard import (from module import *), letting a package or module explicitly define its public API surface rather than exposing every top-level name by default. Setting it helps prevent accidental use of internal helpers as if they were part of the supported interface.

_daily.dev surfaces practical guides like this for developers shaping clean package APIs._

### What is the difference between a mock and a spy in Python's unittest.mock library?

A mock replaces real-world behavior with a substitute object, while a spy wraps an existing function and records information about calls to it without replacing its behavior. Despite the module's name, Python's unittest.mock supports both testing patterns, letting developers choose whether to isolate code under test or observe real function calls.

_Developers refining test doubles can track patterns like this via daily.dev._

### How can I crawl my own Django site to check for missing security headers?

A library called django-crawl consolidates a crawling technique built on the Django test harness to scan a site for missing security headers. Using this approach during a site migration uncovered seven additional bugs in a project that already had 100% code coverage, showing that coverage alone does not catch every issue.

_daily.dev helps Django developers stay on top of practical testing and security techniques._

## Similar posts on daily.dev

- [PyCoder’s Weekly](https://daily.dev/posts/pycoder-s-weekly-sdr7pr1nu) · Planet Python · 0 upvotes · 0 comments
- [PyCoder’s Weekly](https://daily.dev/posts/pycoder-s-weekly-eg2o8u0ws) · Planet Python · 0 upvotes · 0 comments
- [PyCoder’s Weekly](https://daily.dev/posts/pycoder-s-weekly-2miqfhqso) · Planet Python · 0 upvotes · 0 comments
- [PyCoder’s Weekly](https://daily.dev/posts/pycoder-s-weekly-oqwpneq66) · Planet Python · 0 upvotes · 0 comments

---

Tags: [#python](https://daily.dev/tags/python), [#django](https://daily.dev/tags/django), [#pytorch](https://daily.dev/tags/pytorch), [#numpy](https://daily.dev/tags/numpy)

[View this post on daily.dev](https://daily.dev/posts/pycoder-s-weekly-dz5dmmzhf)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"PyCoder’s Weekly","url":"https://daily.dev/posts/pycoder-s-weekly-dz5dmmzhf","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/pycoder-s-weekly-dz5dmmzhf"},"datePublished":"2026-08-04T19:53:17.073Z","dateModified":"2026-09-14T07:29:38.006Z","description":"PyCoder's Weekly Issue #746 covers a range of Python topics including scaling NumPy on free-threaded CPython, managing wildcard imports with `__all__`, a...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/3019a598bb7011e2897c32cd2e686224?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/3019a598bb7011e2897c32cd2e686224?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Planet Python","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Planet Python","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/eac3cc584cb043b5a242d13752bd3d0c","url":"https://daily.dev/sources/planetpython"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/pycoder-s-weekly-dz5dmmzhf","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":1},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"python,django,pytorch,numpy","timeRequired":"PT3M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Planet Python","item":"https://daily.dev/sources/planetpython"},{"@type":"ListItem","position":3,"name":"PyCoder’s Weekly"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/pycoder-s-weekly-dz5dmmzhf#faq","mainEntity":[{"@type":"Question","name":"What does Python's __all__ variable actually control in a module?","acceptedAnswer":{"@type":"Answer","text":"The __all__ variable controls which names are exported when another module does a wildcard import (from module import *), letting a package or module explicitly define its public API surface rather than exposing every top-level name by default. Setting it helps prevent accidental use of internal helpers as if they were part of the supported interface. daily.dev surfaces practical guides like this for developers shaping clean package APIs."}},{"@type":"Question","name":"What is the difference between a mock and a spy in Python's unittest.mock library?","acceptedAnswer":{"@type":"Answer","text":"A mock replaces real-world behavior with a substitute object, while a spy wraps an existing function and records information about calls to it without replacing its behavior. Despite the module's name, Python's unittest.mock supports both testing patterns, letting developers choose whether to isolate code under test or observe real function calls. Developers refining test doubles can track patterns like this via daily.dev."}},{"@type":"Question","name":"How can I crawl my own Django site to check for missing security headers?","acceptedAnswer":{"@type":"Answer","text":"A library called django-crawl consolidates a crawling technique built on the Django test harness to scan a site for missing security headers. Using this approach during a site migration uncovered seven additional bugs in a project that already had 100% code coverage, showing that coverage alone does not catch every issue. daily.dev helps Django developers stay on top of practical testing and security techniques."}}]}
```

