Build interfaces · Lesson 01
Install Apizr and inspect four real projects
The recording installs the same Apizr version four ways, then inspects four existing Python projects. The installation method determines how the tool is managed; the inspected source determines its readiness findings. A nonzero inspection status does not necessarily mean installation failed.
By the end of this lesson
- Choose one of pip with venv, uv tools, pipx or Homebrew.
- Identify the executable and version your shell uses.
- Distinguish a successful installation from a source-contract diagnostic.
Watch the lesson
English · 6:39 · Recorded with Apizr 0.4.3.
Chapters in this recording
| Time | Chapter |
|---|---|
| 00:00 | Install Apizr. Understand your setup. |
| 00:14 | Choose where the tool lives. |
| 00:46 | 01 / pip + venv |
| 01:25 | Read the code before exposing it. |
| 01:55 | A tool can live outside your project. |
| 02:11 | 02 / uv tool install |
| 02:40 | A working tool can report unsupported code. |
| 03:14 | Already using pipx? |
| 03:29 | 03 / pipx install |
| 04:00 | Find the actual Python source. |
| 04:28 | Let Homebrew manage the installation. |
| 04:49 | 04 / Homebrew — recorded reinstall |
| 05:28 | The same inspection, another installation. |
| 05:59 | Three checks before the next step. |
| 06:26 | Installed. Verified. Ready to inspect. |
Read the recording transcript and commands
This is the retained English narration, in the original chapter order. Commands keep the recorded version and prerequisites; setup additions in the lesson are labelled separately.
00:00 — Install Apizr. Understand your setup.
Let us install Apizr in a real Bash terminal. We will try four installation methods, then inspect Python code from four different GitHub projects. Choose the method that fits your workflow.
00:14 — Choose where the tool lives.
Use one of these methods, not all four. Pip with a virtual environment keeps the tool inside a project. U V and pip X manage a separate tool environment. Homebrew manages the application on your Mac. These recordings use Apizr version zero point four point three, on Apple Silicon, with Python three point fourteen. The Python methods support versions three point eleven through three point fourteen. Install your chosen package manager first.
00:46 — 01 / pip + venv
First, let us clone Boltons, a collection of Python utilities. We select a release tag so the example is reproducible. Inside the checkout, create a virtual environment with a supported Python version. Activate it in this shell. Now install outerspace Apizr with Python dash m pip. That uses the pip belonging to the active environment. Finally, check the version. When returning to this project, activate the same environment again.
git clone --depth 1 --branch 25.0.0 https://github.com/mahmoud/boltons.git
cd boltons
python3.14 -m venv .venv
source .venv/bin/activate
python -m pip install outerspace-apizr==0.4.3
apizr --version
01:25 — Read the code before exposing it.
Here is the origin and the exact revision of our Boltons checkout. Let us inspect its math utilities and save the report. We display just the opening lines to keep them readable. Apizr identifies three functions. Conditional means that the analysis has unresolved questions. It does not mean the installation failed. Inspect reads the source without importing or executing the project.
git remote get-url origin
git rev-parse --short HEAD
apizr inspect boltons/mathutils.py > inspection.txt
sed -n '1,15p' inspection.txt
01:55 — A tool can live outside your project.
With U V, the tool gets its own managed environment. Your project can use a different environment for its dependencies. We will try this arrangement with More Itertools, a library of building blocks for working with iterables.
02:11 — 02 / uv tool install
Check that U V is installed. Then ask it to install outerspace Apizr using Python three point fourteen. The tool environment is created automatically. Check the Apizr version before cloning the example. We now clone a tagged More Itertools release. This checkout does not need an activated project environment just to run the Apizr command.
uv --version
uv tool install --python python3.14 outerspace-apizr==0.4.3
apizr --version
git clone --depth 1 --branch v10.7.0 https://github.com/more-itertools/more-itertools.git
cd more-itertools
02:40 — A working tool can report unsupported code.
Now inspect the recipes module. This inspection returns a nonzero status because the report contains diagnostics. The first capability shown is a generator, marked unsupported by this interface contract. The report also explains other limitations, including variadic signatures. Reinstalling Apizr would not change these findings. Reading the report is the next step; automatically exposing the entire library is not.
Expected refusal: exit 1.
apizr inspect more_itertools/recipes.py > inspection.txt
echo $?
sed -n '1,15p' inspection.txt
tail -n 10 inspection.txt
03:14 — Already using pipx?
Pip X offers the same useful separation: an isolated Python application that you can call from different projects. For this example, we will use Humanize, which formats values for people to read.
03:29 — 03 / pipx install
Check pip X, then install the same Apizr package and version. Select a supported Python interpreter explicitly. Pip X creates the environment and exposes the command. Our tool directory is already on the shell path; follow pip X setup instructions if yours is not. Verify the version, then clone the tagged Humanize release.
pipx --version
pipx install --python python3.14 outerspace-apizr==0.4.3
apizr --version
git clone --depth 1 --branch 4.12.3 https://github.com/python-humanize/humanize.git
cd humanize
04:00 — Find the actual Python source.
Humanize uses a source directory layout. The number module lives under source, then humanize. We can inspect that file directly without installing Humanize into the Apizr environment. Nine functions are identified. The report flags unresolved imports and other conditions. The tool environment and the dependencies needed to run this project are separate concerns.
ls src/humanize
apizr inspect src/humanize/number.py > inspection.txt
sed -n '1,18p' inspection.txt
04:28 — Let Homebrew manage the installation.
On a supported Apple Silicon Mac, add the official Alien six Studio tap, then use brew install with the Apizr formula. This workstation already has Apizr, so the recording uses brew reinstall instead. It is a real reinstall of the existing version. A new machine would use install.
04:49 — 04 / Homebrew — recorded reinstall
The official tap provides the formula. We inspect its package information, then reinstall Apizr. Homebrew manages the Python runtime and dependencies for this method. Read the version actually reported on your machine: the tap can change after a tutorial is recorded. Once the reinstall completes, we verify the command. Our fourth example will be Python Slugify, a library that turns text into URL friendly slugs.
brew tap alien6-studio/tap
brew info alien6-studio/tap/apizr
brew reinstall alien6-studio/tap/apizr
apizr --version
05:28 — The same inspection, another installation.
Let us clone the tagged Python Slugify release and inspect its main module. Two functions are identified. The conditional result points to unresolved details in this source file. Notice that the inspection command is the same after a Homebrew installation. The installation method decides how the tool is managed, while the source code determines the analysis result.
git clone --depth 1 --branch v8.0.4 https://github.com/un33k/python-slugify.git
cd python-slugify
apizr inspect slugify/slugify.py > inspection.txt
sed -n '1,18p' inspection.txt
05:59 — Three checks before the next step.
Choose one installation method. Check which executable your shell will run with command dash v Apizr, then verify its version and help. Keep the tool environment distinct from your project runtime. These examples only inspect source code. Generating an interface and running it are separate steps, with their own requirements. The next tutorial can start from those inspection results.
06:26 — Installed. Verified. Ready to inspect.
You now have four ways to install Apizr, and a first inspection of real Python code. Keep the method that fits your workflow, and use the report to decide what comes next.
1. Follow the installation you need
The video was recorded with Apizr 0.4.3, Python 3.14 and Apple Silicon. Use one method, rather than installing four competing executables. For a new installation, use the current installation guide; keep its version separate from the historical commands shown in the transcript.
| Recorded method | Project and revision | Inspected file |
|---|---|---|
| pip + project venv | mahmoud/boltons, 25.0.0 |
boltons/mathutils.py |
| uv tool | more-itertools/more-itertools, v10.7.0 |
more_itertools/recipes.py |
| pipx | python-humanize/humanize, 4.12.3 |
src/humanize/number.py |
| Homebrew | un33k/python-slugify, v8.0.4 |
slugify/slugify.py |
For example, the first recorded path is:
git clone --depth 1 --branch 25.0.0 https://github.com/mahmoud/boltons.git
cd boltons
python3.14 -m venv .venv
. .venv/bin/activate
python -m pip install outerspace-apizr==0.4.3
apizr --version
apizr inspect boltons/mathutils.py > inspection.txt
sed -n '1,15p' inspection.txt
The uv and pipx paths use separate tool environments. Humanize demonstrates why you must locate a package's actual source directory. In the Homebrew segment the workstation already has Apizr, so the recorded operation is brew reinstall; a first installation uses brew install.
2. Read the result before reinstalling
The More Itertools inspection reports an unsupported generator and variadic signatures. Reinstalling the CLI cannot change that source contract. Humanize and Slugify also have conditional findings: unresolved evidence is a result to investigate, rather than an installation diagnosis.
Inspection reads source without importing the inspected application. Dependencies required to run that application remain separate from the environment hosting the CLI.
Practice
Choose one recorded installation path and inspect its matching project. Then perform the video's three final checks:
command -v apizr
apizr --version
apizr --help
Explain why an unsupported generator in recipes.py does not establish that uv installed Apizr incorrectly.
Check your reasoning
The checks identify the executable, version and available command interface. The generator finding describes the inspected Python contract. Keep the installed tool environment and the project's execution dependencies distinct; read the reason before choosing a supported interface boundary.