Files
brew/completions
Mike McQuaidandPatrick Linnane c2439e92e0 formula-analytics: replace PyCall with subprocess
- `pycall` was Homebrew's only in-process Python embedding: a native
  gem that dlopens `libpython`, needed the `__PYVENV_LAUNCHER__` hack
  for macOS framework Pythons, hand-written Sorbet stubs and
  tapioca/RuboCop exclusions.
- A pure Ruby HTTP port was rejected: InfluxDB Cloud Serverless only
  serves SQL over Arrow Flight gRPC (it has no `/api/v3/query_sql`
  endpoint) and the analytics schema keeps `package`, `tap_name` and
  `options` as fields, which InfluxQL cannot `GROUP BY`; Flux is
  deprecated on InfluxDB 3. Ruby Flight clients need heavier native
  dependencies than `pycall` itself.
- Moving the whole query operation into Python was rejected: the JSON
  output depends on `Homebrew::EnvConfig` defaults, `MacOSVersion`
  pretty names and WSL suffix handling that would drift if duplicated
  outside Ruby.
- `influxdb-query.py` runs from a `uv`-managed virtualenv with the
  same pinned `influxdb3-python` and speaks a documented protocol: a
  JSON request on stdin, JSON Lines rows on stdout and the token read
  from `HOMEBREW_INFLUXDB_TOKEN` so credentials stay off the command
  line.
- Arrow record batches now stream via `mode="reader"` instead of
  being copied record-by-record across PyCall's FFI bridge.
- Python dependencies moved from `pip-compile`d `requirements.txt` to
  `pyproject.toml` and a hash-verified `uv.lock` installed with
  `uv sync --frozen`: `uv` is a single dependency-free bottle
  installed 2.5x as often as versioned Python formulae, replaces the
  five bottles `python@3.13` needed and cold-installs the whole
  virtualenv faster than `pip` installed the packages alone, so
  `actions/setup-python` and dependabot's `pip` ecosystem are
  replaced by `astral-sh/setup-uv` and the `uv` ecosystem.
- `uv` also provisions the interpreter: `.python-version` pins 3.14,
  the newest Python in Homebrew, and `requires-python = ">=3.13"`
  keeps future bumps to a one-line `.python-version` change.
- `brew formula-analytics --setup` still prepares everything for
  offline runs and verifies the bridge import via the script's
  `--check` flag.
- `brew verify-undefined` also guards `InfluxDBClient3` and `PyCall`
  after requiring `dev-cmd/formula-analytics`.
- The TSM-era `transform_analytics_to_counts.json` Flux task was
  referenced by nothing so is removed.
2026-07-31 16:55:26 -07:00
..
2026-07-28 16:05:36 +00:00
2019-06-08 17:39:44 -04:00

Completions

This directory contains subdirectories for brew's tab completions for bash, zsh, and fish.