Skip to main content

Installation

Get Tabular running in minutes.


Prerequisites

  • DuckDB 0.8.1+ (installed and in PATH)
  • C++17 compiler (GCC 7+, Clang 5+, MSVC 2017+)
  • CMake 3.15+
  • vcpkg (for dependency management, recommended)

Option 1: Community Registry (Easiest)

# Install from official DuckDB registry
duckdb -c "INSTALL anofox_tabular; LOAD anofox_tabular;"

# Verify installation
duckdb -c "SELECT anofox_email_validate('test@example.com', 'regex');"

Expected output:

true

Option 2: Build from Source

1. Clone the Repository

git clone https://github.com/datazoo/anofox.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

mkdir build && cd build
cmake .. -DVCPKG_ROOT=/path/to/vcpkg
cmake --build . --config Release

4. Install to DuckDB

# Copy the compiled extension
cp build/anofox_tabular.duckdb_extension ~/.duckdb/extensions/

# Verify
duckdb -c "LOAD anofox_tabular; SELECT version();"

Verification Script

Copy and run this SQL to verify installation:

-- Test email validation
SELECT
anofox_email_validate('john@example.com', 'regex') as regex_check,
anofox_email_validate('jane@company.org', 'dns') as dns_check;

-- Test VAT validation
SELECT anofox_vat_is_valid('DE123456789');

-- Test money validation
SELECT anofox_money_is_positive(99.99);

-- Test phone validation
SELECT anofox_phone_format('+1-555-0123', 'US');

-- Test data quality metrics
SELECT COUNT(*) as total, COUNT(*) FILTER (WHERE value IS NOT NULL) as non_null
FROM (SELECT NULL as value UNION ALL SELECT 1);

Expected output: All TRUE or valid results.


Troubleshooting

Extension Won't Load

Error: Unknown function: anofox_email_validate

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

Next Steps

🍪 Cookie Settings