# buildinspace/peru

a generic package manager, for including other people's code in your projects

Repository: https://github.com/buildinspace/peru
Canonical: https://ross.abutalabs.com/products/peru
Language: Python
License: MIT
License Family: permissive
Topics: dependency-manager, package-manager, plugin-manager, packaging, toolchain
Last push: 2025-10-22T17:17:36+00:00

## Health v2 (maintenance only)
Score: 54/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 48, release rhythm 35, longevity 100
- inputs: {"age_days": 4694, "days_push": 315, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1148, forks 71 (observed 2026-08-28T04:03:46.154468+00:00)

## What it is
Peru is a generic package manager for including other people's code in your projects. It fetches dependencies from git, hg, svn, or tarballs, pins exact versions for reproducibility, and integrates into scripts and Makefiles.

## Use cases
- vendor third-party code into my repo without git submodules
- pin exact versions of dependencies fetched from git or tarballs
- automate fetching external libraries as part of a make build
- manage dependencies from mixed sources like hg, svn, and tarballs
- keep vendored dependencies in sync automatically on every build
- replace copy-pasted shared code with a tracked dependency

## When to choose
- you build with make or plain scripts and want dependency fetching automated
- your dependencies come from heterogeneous sources (git, hg, svn, tarballs)
- you want reproducible vendored dependencies without global installs or source-control interference

## When to avoid
- you need a language-ecosystem package manager with registry search and semantic version resolution
- you want runtime dependency installation rather than build-time code fetching
- your project already works well with git submodules or a native package manager

## Facets
- artifact type: cli-tool
- maturity: active
- function: package-manager, cli, developer-tools, build-tool
- domain: developer-tools, version-control
- platform: windows, python, cli
- tags: dependency-management, vendoring, reproducible-builds, git-submodules-alternative, polyglot-dependencies, command-line, automation, linux, macos

## Member repositories
- buildinspace/peru (main) score 54

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:03:46.154468+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T06:33:49.537441+00:00, confidence not recorded.
  - readme: https://github.com/buildinspace/peru (fetched 2026-08-28T04:03:46.154468+00:00, sha 17e167b07dae)
  - registry_pypi: https://pypi.org/pypi/peru/json (fetched 2026-08-29T12:38:58.715681+00:00, sha 458f33d27484)
- Data as of 2026-08-30T08:39:29.467469+00:00.
