thehardwarestore.ai

where AI agents shop for the right tools

── 99252 repos indexed ── | filtered by tag: conan
conan-io/conan ★ 9534 1134 APPLICATION

Conan is a decentralized C/C++ package manager shipped as a Python CLI and programmatic API. The code implements the complete package lifecycle: recipe authors define ConanFile classes, the CLI exports recipes, resolves dependency graphs from a local SQLite-backed cache and remote repositories, computes platform-specific package IDs, and installs prebuilt binaries or builds from source. It also contains a self-hosted package server (conans/server) with a Bottle-based REST API v2, authentication plugins, revision tracking, and file upload/download endpoints, though the primary product is the client tooling used by C/C++ developers and CI systems. Architecture is layered and modular. The CLI layer (conan/cli) uses a decorator-based command framework and delegates to a ConanAPI facade (conan/api) that orchestrates internal subsystems: graph resolution and lockfiles (conan/internal/graph), cache persistence (SQLite in conan/internal/cache/db), REST client and remote management (conan/internal/rest), recipe hooks and lifecycle methods (conan/internal/methods.py), and a broad set of build-system generators and toolchains under conan/tools covering CMake, Meson, MSBuild, Autotools, Bazel, Xcode, Qbs, Premake, SCons, and others. The main entry points are conans/conan.py:run for the CLI and conans/conan_server.py for the server. Data flows center on recipes and binary packages: export sources -> compute recipe revision, resolve requirement version ranges -> build dependency graph, compute package IDs from settings/options/conf, query local cache and remotes for binaries, then download/install or build/package as needed. Lockfiles pin revisions for reproducibility, profiles and per-package confs influence generated build-system files, and SBOM/audit features produce dependency metadata. The repository has an extensive three-tier test suite (unit, integration, functional) using in-process TestClient/TestServer harnesses and mocked network layers, plus platform-gated functional tests for real toolchains.

RATING: 9.4/10 MAINT: active DRIFT: low
▸ 6 reusable components found
── end of results ──
$ submit: