Installation
Install the AnoFox Tabular extension for DuckDB. You can install from the community registry with a single command or build from source for custom configurations.
System Requirements
| Requirement | Version |
|---|---|
| Extension | v2026.08.22 |
| DuckDB | 1.5.5 or later (v1.4.5 LTS builds are also published; Windows requires the 1.5.x line) |
| C++17 compiler | GCC 7+, Clang 5+, MSVC 2017+ (build from source only) |
| CMake | 3.15+ (build from source only) |
| vcpkg | For dependency management (build from source only) |
Option 1: Community Registry (Easiest)
INSTALL anofox_tabular FROM community;
LOAD anofox_tabular;
Verify the installation:
SELECT email_is_valid('test@example.com');
Expected output:
true
Option 2: Build from Source
1. Clone the Repository
git clone https://github.com/DataZooDE/anofox-tabular.git
cd anofox-tabular
2. Install Dependencies
macOS:
brew install cmake vcpkg
Ubuntu/Debian:
sudo apt-get install cmake build-essential libssl-dev
git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg && ./bootstrap-vcpkg.sh
Windows:
choco install cmake vcpkg
3. Build the Extension
GEN=ninja make release
4. Load the Built Extension
# The build produces a standalone DuckDB CLI with the extension statically linked
./build/release/duckdb
# Or load the compiled extension into your own DuckDB
duckdb -unsigned -c "LOAD './build/release/extension/anofox_tabular/anofox_tabular.duckdb_extension'; SELECT email_is_valid('test@example.com');"
Verification Script
Copy and run this SQL to verify installation:
-- Test email validation
SELECT email_is_valid('test@example.com');
-- Test VAT validation
SELECT vat_is_valid('DE123456789');
-- Test a data quality check
CREATE TABLE my_table AS SELECT 1 AS value;
SELECT * FROM volume('my_table', 1, NULL);
Expected output: All TRUE or valid results.
Troubleshooting
Extension Won't Load
Error: Unknown function: email_is_valid
Solution:
-- Explicitly load the extension
LOAD anofox_tabular;
-- Check what's installed
SELECT * FROM duckdb_functions() WHERE function_name LIKE '%anofox%';
Build Compilation Fails
error: 'optional' is not a member of 'std'
Solution: Ensure C++17 is enabled:
cmake .. -DCMAKE_CXX_STANDARD=17
Dependency Issues
could not find libpostal or libphonenumber
Solution: Use vcpkg:
./vcpkg install libpostal libphonenumber
cmake .. -DVCPKG_ROOT=/path/to/vcpkg
Windows MSVC Build
If CMake doesn't auto-detect the compiler:
cmake .. -G "Visual Studio 16 2019" -A x64