pkg.soopen package index

brew / rank 960

Install periphery with Homebrew, Nix

Identify unused code in Swift projects. Version 3.8.0 via Homebrew; verified 2026-09-16. Also installable with nix: nix profile install nixpkgs#periphery.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install periphery

local Homebrew formula metadata

Linux

Nixverified · 92%
nix profile install nixpkgs#periphery

nixpkgs package indexes · pkgs/by-name/pe/periphery/package.nix · source: api.github.com

overview

Package summary

Identify unused code in Swift projects

Commands and aliases

  • periphery

history

Project history and usage

Periphery is an archived open-source command-line analyzer that identifies unused declarations in Swift projects by combining build index data with source analysis.

Project history

Periphery was developed as an open-source Swift static-analysis tool centered on Xcode and Swift Package Manager projects. Its changelog identifies version 1.3.0 in February 2019 as the first open-source release.

The scanner evolved from syntax-oriented analysis toward index-store-based whole-project analysis, adding configuration persistence, CI reuse of existing builds, Bazel support, and handling for newer Swift and Xcode constructs.

The last documented release before archival was in the 3.8 series in July 2026. The official GitHub repository was archived the following month.

Adoption history

Periphery was adopted in iOS, macOS, and Swift package maintenance as a focused way to detect declarations that compile but are no longer reachable. Its support for Xcode, Swift Package Manager, Bazel, local command-line use, and continuous integration made it practical across several Swift build workflows.

Official Homebrew support was added in 2019. In December 2024 the project moved from its custom Homebrew tap into Homebrew's main formula collection. The upstream repository was archived and made read-only on 12 August 2026.

How it is used

Run `periphery scan --setup` for guided initial configuration, then persist established options in `.periphery.yml` at the project root and use `periphery scan` for repeatable analysis.

Periphery builds projects to generate an index store, or CI can reuse a previous build with `--skip-build` and `--index-store-path`. All relevant targets must be built to reduce false positives; standalone frameworks may require `--retain-public`.

Why package nerds care

Periphery fills a narrow gap between compiler diagnostics and general linting: it builds or consumes an index store, constructs a declaration-reference graph, and searches that graph for unused code across project targets.

Its archived status is operationally important to package users. Existing releases remain useful, but adopters should account for the absence of ongoing upstream maintenance when new Swift, Xcode, or project-file formats appear.

Timeline

  • 2019: Version 1.3.0 is identified as the first open-source release.
  • 2019: Official Homebrew installation support is added.
  • 2021: Guided setup gains support for saving `.periphery.yml`.
  • 2024: Periphery moves from its custom tap into Homebrew's main formula collection.
  • 2026: Version 3.8.0 is released in July.
  • 2026: The upstream repository is archived on 12 August.

Related projects

  • SwiftLint enforces Swift style and conventions, while SwiftFormat rewrites Swift source into a consistent format. Both address different code-quality concerns from Periphery's unused-code reachability analysis.

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 5 platform targets.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

local files

Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.

Configuration files

Config paths the tool may read or write during local use.

Unix
.periphery.yml

executables

Installed executables

CommandKindExposureNote
peripherycliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-11-04
manager version3.8.0
manager updated2026-09-16
local dataok
upstreamcurrent
latest detected3.8.0

https://github.com/peripheryapp/periphery

  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:periphery
Version3.8.0
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/periphery
Homepagehttps://github.com/peripheryapp/periphery
Repositoryhttps://github.com/peripheryapp/periphery
LicenseMIT
Source archivehttps://github.com/peripheryapp/periphery/archive/refs/tags/3.8.0.tar.gz
Last updated2026-09-16T13:21:41Z
Pulseupdated
Uses from macOScurl, libxml2, swift
Bottleavailable (on arm64_golden_gate, arm64_linux, arm64_sequoia, arm64_tahoe, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Nameperiphery
Version Scheme0
Revision0
Head VersionHEAD
Requirements
  • macos
  • xcode
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedyes
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Nix95%

periphery

nix profile install nixpkgs#periphery
  • normalized package name match
  • Matched by: Periphery
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/pe/periphery/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • cross-ecosystem install command graph
  • curated configuration and credential file locations
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment
  • pkg.so package database
  • pkgdb category and tag curation