Need help? See FAQ & Troubleshooting or post in GitHub Discussions.
Best for: Users who want to run CORE without installing Python or managing dependencies.
Download the latest executable for your operating system from the Releases page and unzip the downloaded file.
Open a terminal in the unzipped directory and run:
Windows (PowerShell):
.\core.exe --helpLinux / Mac:
# Make it executable (one-time setup)
chmod +x ./core
./core --helpMac users: If you see a security warning, remove the quarantine attribute first:
xattr -rd com.apple.quarantine .
Executable releases ship with a pre-populated cache, so you can skip this step and go straight to validation. If you want the latest published rules, see CLI Reference → update-cache for API key setup and options.
Note: Rules published after a release may depend on engine features not present in that executable. When in doubt, wait for the next release rather than updating the cache manually.
Windows:
.\core.exe validate -s sdtmig -v 3-4 -d C:\path\to\datasetsLinux / Mac:
./core validate -s sdtmig -v 3-4 -d /path/to/datasetsCORE ships with a self-test command to confirm the executable is working:
# Windows
.\core.exe test-validate json
# Linux/Mac
./core test-validate jsonTest files are cleaned up automatically after completion.
Best for: Developers, contributors, or users who need the latest features.
- Python 3.12 is required. Other versions are not supported. Check your version:
python --versionInstall Python 3.12 from python.org if needed.
- Git is required to clone the repository. Check your version:
git --versionInstall Git from git-scm.com if needed.
git clone https://github.com/cdisc-org/cdisc-rules-engine.git
cd cdisc-rules-engineLinux / Mac:
python -m venv venv
source venv/bin/activateWindows:
python -m venv venv
.\venv\Scripts\ActivateIf you have multiple Python versions, use
python3.12 -m venv venvexplicitly.
python -m pip install -r requirements-dev.txtpython core.py update-cachepython core.py validate -s sdtmig -v 3-4 -d /path/to/datasetsCORE supports the following input formats:
| Format | Description |
|---|---|
| XPT | SAS Transport Format (version 5) |
| JSON | Dataset-JSON ≥ v1.1 (CDISC standard) |
| NDJSON | Newline Delimited JSON |
| XLSX | Microsoft Excel |
| CSV | CORE Comma Separated Value Test Data |
Note: See here for a description of CSV formatting Note: Define-XML files must be provided via
--define-xml-path(-dxp), not through the dataset directory.
All commands and flags are documented in the CLI Reference.
Command summary:
| Command | Purpose |
|---|---|
validate |
Run conformance validation |
update-cache |
Download/refresh rules, CT, and metadata |
list-rules |
List rules available in the cache |
list-rule-sets |
List standards and versions in the cache |
list-ct |
List controlled terminology packages in the cache |
Throughout these docs, examples use
python core.py. If you're using the executable, replace this with.\core.exe(Windows) or./core(Linux/Mac).