--- id: solc-select version: "1.2.0" license: GNU AFFERO GENERAL PUBLIC LICENSE Version 3, 19 November 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this… (full text in the JSON record) license_treatment: agpl maintenance: active --- # solc-select — Manage multiple Solidity compiler versions. License: agpl · Maintenance: active · Downloads: 284.1K/mo ## What it is and what it does solc-select is a command-line tool that manages multiple Solidity compiler versions on your machine. It downloads official solc binaries from binaries.soliditylang.org and stores them locally, then provides a wrapper command that automatically selects the correct compiler version based on your configuration. The tool consists of two utilities: solc-select for managing versions and a solc wrapper that picks the right binary to execute. The package is built on three runtime dependencies—pycryptodome, packaging, and requests—and works across Linux, macOS (including ARM64 with native support for recent versions), and Windows. You set a global default version or override it per-invocation using the SOLC_VERSION environment variable, making it easy to work with projects that require different compiler versions without manual binary management. Use it for: - Develop Ethereum smart contracts that require specific Solidity versions for compatibility or testing across compiler releases - Maintain multiple projects with different solc version requirements without manual binary switching or PATH manipulation - Test smart contract code against historical and current Solidity compiler versions to verify behavior and catch regressions - Set up CI/CD pipelines that need to compile contracts with exact compiler versions specified per project ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Manages installation and switching between multiple Solidity compiler versions via CLI, downloading official binaries and wrapping the solc command to use the selected version. Yes. solc-select is actively maintained, has no known vulnerabilities, and solves a genuine friction point for Solidity developers. The AGPLv3 license is standard for this project type and poses no barrier for internal or open-source use. Install it if you work with Solidity and need to manage multiple compiler versions; the low friction and straightforward CLI make it a practical choice. ## Install pip install solc-select uv add solc-select poetry add solc-select ## Installing solc-select Before you install: Low install friction with a pure-Python wheel and three lightweight runtime dependencies (pycryptodome, packaging, requests). Actively maintained with recent commits and no known vulnerabilities. License in practice: Licensed under AGPLv3, a copyleft license requiring that any modifications or network-served versions must make source code available to users. Suitable for internal tools and open-source projects; review terms if distributing modified versions. Quickstart: pip install solc-select solc-select use 0.8.19 --always-install solc --version Requires Python 3.8 or later. On macOS with ARM processors, versions before 0.8.5 require Rosetta; versions 0.8.5–0.8.23 run natively; 0.8.24+ use universal binaries. On Windows, requires current solc-select version. Verify before relying: - Whether SSL certificate verification issues on macOS (mentioned in FAQ) remain unresolved in current versions - Current status of ISP-level blocking issues reported with GitHub domain access for binary downloads ## Package facts - License: GNU AFFERO GENERAL PUBLIC LICENSE Version 3, 19 November 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this… (full text in the JSON record) (agpl) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 284.1K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags solidity compiler version manager, switch between solc versions, manage solidity compiler, solc version switcher, ethereum solidity tooling, solc binary manager, compiler version control, solidity, ethereum, version-manager [View on SkillFed](https://skillfed.io/packages/solc-select) · [View on PyPI](https://pypi.org/project/solc-select/)