Installation
Tablassert uses Nix flakes for reproducible development environments. Below are all supported usage patterns.
Prerequisites
- Nix with flakes enabled - Install Nix
- Databases (required at runtime):
dbssert.duckdb- Entity resolution database (DuckDB)PubMed.db- PubMed metadata (SQLite)PMCSuppCaptions.db- PMC figure captions (SQLite)
Method 1: Development Shell (Recommended)
Best for exploring Tablassert or active development.
# Clone repository
git clone https://github.com/SkyeAv/Tablassert.git
cd Tablassert
# Enter development shell
nix develop -L .
# CLI is now available
tablassert-cli --help
The development shell provides:
- tablassert-cli command
- mkdocs for documentation
- All Python dependencies
- Chromium, AWK, JQ binaries (auto-configured)
Method 2: Direct Run from Flake
Run Tablassert without cloning or installing.
nix run github:SkyeAv/Tablassert#default -- -i /path/to/config.yaml
Useful for: - One-off graph builds - CI/CD pipelines - Testing latest version
Method 3: User Profile Installation
Install Tablassert persistently to your user environment.
# Install
nix profile install github:SkyeAv/Tablassert#default
# Use anywhere
tablassert-cli -i /path/to/config.yaml
# Upgrade
nix profile upgrade tablassert
# Remove
nix profile remove tablassert
Method 4: Use as Overlay
Integrate Tablassert into your own Nix flake or NixOS configuration.
{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
tablassert.url = "github:SkyeAv/Tablassert";
};
outputs = { self, nixpkgs, tablassert }: {
# Add overlay to nixpkgs
pkgs = import nixpkgs {
system = "x86_64-linux";
overlays = [ tablassert.overlays.default ];
};
# Now tablassert is available as pkgs.python313Packages.tablassert
devShells.default = pkgs.mkShell {
packages = [ pkgs.python313Packages.tablassert ];
};
};
}
Environment Variables
Tablassert requires these environment variables (automatically set by Nix wrapper):
CHROMIUM_PATH- Path to Chromium browser for Playwright downloadsPLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1- Use system ChromiumAWK_PATH- Path to GNU AWK for NDJSON processingJQ_PATH- Path to JQ for JSON cleanup
Note: When using the Nix-provided package, these are configured automatically. Manual installation would require setting these.
Python Requirements
If installing outside Nix (not recommended):
- Python 3.13+
- See
nix/overlay.nixfor complete dependency list
Verifying Installation
# Check CLI is available
tablassert-cli --help
# Should output:
# Usage: tablassert-cli [OPTIONS]
#
# Tablassert Builds Knowledge Graphs From Declarative Configuration
#
# Options:
# -i, --ingest PATH Knowledge Graph Configuration -- See Docs
# [required]
# --help Show this message and exit.
Next Steps
- Tutorial - Build your first knowledge graph
- Configuration - Learn configuration syntax