Skip to main content

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

RequirementVersion
Extensionv2026.08.22
DuckDB1.5.5 or later (v1.4.5 LTS builds are also published; Windows requires the 1.5.x line)
C++17 compilerGCC 7+, Clang 5+, MSVC 2017+ (build from source only)
CMake3.15+ (build from source only)
vcpkgFor 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

🍪 Cookie Settings