codefind
Find code objects and their referents
What it is and what it does
Codefind is a low-level introspection and code-patching library that lets you locate Python code objects by their qualified name or filename, find all function instances that share the same code object, and dynamically replace a function's code with another's. It has no runtime dependencies and installs cleanly.
The package is primarily used as a building block for hot-reload and live-coding tools (notably jurigged). It exposes three main operations: find_code() to retrieve a code object from a module, get_functions() to enumerate all functions referencing a given code object, and conform() to swap one function's code for another's. This enables runtime patching of functions and their closures without reloading modules.
Use it for:
- Hot-reload and live-coding frameworks that need to update function implementations without restarting.
- Interactive development environments where you want to patch a function's behavior on the fly.
- Debugging tools that need to locate and inspect code objects by their qualified name.
- Testing frameworks that need to replace function implementations during test execution.
- Closure introspection when you need to find all instances of a closure created by a factory function.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Codefind locates code objects by filename and qualified name, retrieves all functions sharing a code object, and can replace a function's code with another's—enabling runtime code patching.
Yes, if you are building a hot-reload or live-coding tool and accept the maintenance risk. The package is lightweight, has no dependencies, and solves a specific low-level problem well. However, maintenance is dormant, licensing is undeclared, and it is a niche tool—install only if you have a concrete use case and can tolerate lack of active support.
Install
codefind on PyPI
pip
pip install codefinduv
uv add codefindpoetry
poetry add codefindInstalling codefind
Before you install
Low install friction with no runtime dependencies. Maintenance is dormant—last commit was 2024-09-08 with only 3 repository stars, so expect no active support or updates.
License in practice
License status is unclear; the package declares neither SPDX nor raw license metadata. Verify licensing terms before use in proprietary or restricted contexts.
Quickstart
pip install codefind
from codefind import find_code, get_functions, conform
def f(x):
return x + x
code_obj = find_code("f", filename=__file__)
funcs = get_functions(code_obj)
conform(f, lambda x: x * x) # Replace f's code
Requires Python 3.8 or later.
Verify before relying
- Whether the package works reliably across Python 3.8 through current versions despite dormant maintenance.
- Actual license terms—SPDX and raw license fields are null, creating ambiguity for distribution.
- Whether conform() safely handles all closure types and edge cases in production use.
Package facts
| License | not declared (unclear) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | dormant — 705 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 571,784/month — #5,947 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: codefind-0.1.7-py3-none-any.whl
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
juriggedJurigged lets you edit and hot-patch Python…
permissive · top 15,000 on PyPI
qualnameProvides a `qualname()` function that emulates…
permissive · top 15,000 on PyPI
autopep8autopep8 automatically reformats Python code to…
permissive · top 5,000 on PyPI
ovldOvld provides fast multiple dispatch for Python…
permissive · top 15,000 on PyPI
locateProvides utilities to locate the current Python…
unclear · top 5,000 on PyPI
rootpathDetects a Python project or package root…
permissive · top 15,000 on PyPI
ipynbnameReturns the filename or full path of the…
permissive · top 15,000 on PyPI
wraptwrapt provides a Python module for building…
permissive · top 100 on PyPI
lib-detect-testenvDetects whether code is running in a test…
permissive · top 5,000 on PyPI
rootutilsFinds your project root directory and…
permissive · top 15,000 on PyPI