crytic-compile
Util to facilitate smart contracts compilation.
Decision gist · record as of 2026-08-14
Yes, if you are building Ethereum development tooling, security analysis, or automation that needs to work across multiple smart contract frameworks. The low install friction, active maintenance, and zero known vulnerabilities make it a safe dependency. However, do not install if your project cannot comply with AGPL-3.0-only copyleft requirements—this license mandates open-source redistribution of any derivative work.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python >=3.10 and !=3.12.0.
- The underlying solc-select dependency will download compiler binaries on first use, which may take time depending on network and disk availability.
- Low install friction with a pure Python wheel distribution.
License · maintenance · safety
AGPL-3.0-only (agpl) — Licensed under AGPL-3.0-only, which requires that any derivative work or modification be distributed under the same license and that source code be made available. This is a copyleft license; use it only if your project can comply with open-source redistribution requirements.
last release 2026-07-28 (17 days) · last repo commit 2026-08-11 · 199 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 220,676 downloads/mo, #9,294 on PyPI
Alternatives
Verify before relying
pip install crytic-compile
crytic-compile . --compile-force-framework hardhat
# Generates crytic-export/contracts.json with AST/ABI and bytecodes- Whether solc-select automatically downloads required Solidity compiler versions or if manual setup is needed.
- Performance characteristics when compiling large projects with many contracts.
- Compatibility details with alt-chain explorers and testnets mentioned in the description.
What it is and what it does
Crytic-compile is a compilation abstraction layer for Ethereum smart contracts. It detects and invokes the build system used in your project—whether that's Foundry, Hardhat, Brownie, Truffle, or direct Solc—and normalizes the output into a standard JSON format containing contract AST, ABI, and bytecode. This eliminates the need to write framework-specific build logic when you want to analyze or process contracts programmatically.
The package is primarily used as a dependency in security analysis tools like Slither and Echidna, but can also be invoked as a command-line utility or imported as a library. It handles library linking, supports forcing compilation with a specific framework, and integrates with Etherscan and Sourcify for retrieving already-compiled contracts. The three runtime dependencies (pycryptodome, cbor2, solc-select) provide cryptographic utilities, binary encoding support, and Solidity compiler version management.
Use it for
- Analyze smart contracts with Slither or Echidna without manually configuring each project's build system.
- Extract contract AST and ABI from projects using different frameworks in a unified format for custom tooling.
- Retrieve and compile verified contracts from Etherscan or Sourcify as part of an automated audit pipeline.
- Link external libraries to their deployed addresses before fuzzing or formal verification.
- Build a CI/CD pipeline that compiles contracts regardless of the underlying framework used in the repository.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are building Ethereum development tooling, security analysis, or automation that needs to work across multiple smart contract frameworks.
The low install friction, active maintenance, and zero known vulnerabilities make it a safe dependency. However, do not install if your project cannot comply with AGPL-3.0-only copyleft requirements—this license mandates open-source redistribution of any derivative work.
Install
crytic-compile on PyPI
Before you install
Low install friction with a pure Python wheel distribution. The package is actively maintained with a recent release and supports current Python versions (3.10–3.14). Three runtime dependencies (pycryptodome, cbor2, solc-select) are all standard and widely available.
Requires Python >=3.10 and !=3.12.0. The underlying solc-select dependency will download compiler binaries on first use, which may take time depending on network and disk availability.
License in practice
Licensed under AGPL-3.0-only, which requires that any derivative work or modification be distributed under the same license and that source code be made available. This is a copyleft license; use it only if your project can comply with open-source redistribution requirements.
Quickstart
pip install crytic-compile
crytic-compile . --compile-force-framework hardhat
# Generates crytic-export/contracts.json with AST/ABI and bytecodes
Verify before relying
- Whether solc-select automatically downloads required Solidity compiler versions or if manual setup is needed.
- Performance characteristics when compiling large projects with many contracts.
- Compatibility details with alt-chain explorers and testnets mentioned in the description.
Package facts
| License | AGPL-3.0-only agpl |
| Python support | Supports the current Python release !=3.12.0,>=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 3 packagespycryptodomecbor2solc-select |
| Maintenance | Actively maintained 17 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 220,676 / month, #9,294 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14 |
Evidence: crytic_compile-0.4.2-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “smart contract compilation abstraction”
- crytic-compileCrytic-compile abstracts smart contract compilation across multiple…
- clvm-tools-rsCompiles and executes Chialisp programs to CLVM bytecode, providing…
- clvm-toolsCompiles a LISP-like smart-contract language (CLVM) into executable…
Give your agent the search over MCP, or paste the wish link into any chat.
More Build Tools packages
Provides reusable utilities for Python packaging interoperability, including version handling, specifiers, markers, requirements, tags, and metadata parsing according to standards like PEP 440 and PEP 425.
Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.
pip is the standard installer for Python packages, enabling you to download and install packages from the Python Package Index and other indexes into your Python environment.
Hatchling is a standards-compliant Python build backend that handles packaging, metadata, and distribution of Python projects when configured in a project's pyproject.toml file.
Generates Python gRPC service stubs and message classes from Protocol Buffer definitions, enabling developers to build gRPC clients and servers.
pre-commit is a framework for installing and running git hooks written in any language before commits are made, automating code quality and validation checks across multi-language projects.
Install it if your team needs consistent, automated validation at commit time.
See also eth-brownie · py-solc-x · solc-select · slither-analyzer · ethereum-dasm · vyper · faster-eth-abi · clvm · mythril · eth-typing