Install

There are a few different ways to install Arelle depending on your requirements.

Prepackaged Distributions

The Arelle distribution builds are self contained bundles that provide an executable and include the Arelle source code along with its dependencies and a Python runtime ready to run out of the box. These distributions include all of the plugins in the Arelle repo, along with the Arelle ixbrl-viewer, the SEC EDGAR, and XULE.

Distributions are provided for Windows, macOS, and Linux and can be downloaded from the Arelle website and GitHub release page.

Clean Install

Arelle stores configuration data and comes with a number of installation files. If your installation of Arelle isn’t behaving as expected it can be beneficial to try deleting (or moving) these files and performing a fresh installation.

Linux

  1. Delete the directory where you extracted the Arelle download.

  2. If the ~/.config/arelle/ configuration directory exists, delete it.

  3. Reinstall Arelle using the latest release.

macOS

  1. If the /Applications/Arelle.app application exists, delete it.

  2. If the ~/Library/Application Support/Arelle configuration directory exists, delete it.

  3. If the ~/Library/Caches/Arelle cache directory exists, delete it.

  4. Reinstall Arelle using the latest release.

Windows

  1. If the file C:\Program Files\Arelle\Uninstall.exe exists, run it.

  2. If the C:\Program Files\Arelle application directory exists, delete it.

  3. If the %LOCALAPPDATA%\Arelle configuration directory exists, delete it.

  4. Reinstall Arelle using the latest release.

From Python Source

See the contributing documentation for setting up your environment if you’re comfortable setting up your own Python environment and would like to run Arelle from source.

Note

Some plugins bundled with the prepackaged distributions, such as XULE, EDGAR, and the Arelle iXBRL Viewer, are maintained in separate repositories and are not included when running from source or when installing the Python package. See their documentation for installation instructions.

Python Package

If you would like to use Arelle as a Python library or you want to use your own Python runtime, but would rather not clone the repo, you can use pip to install Arelle.

The Arelle Python package defines optional extra dependencies for various plugins and use cases.

  • Crypto (security plugin dependencies)

  • DB (database plugin dependencies)

  • EFM (EDGAR dependencies - does not include the EDGAR plugins, just the dependencies required to run them)

  • ObjectMaker (ObjectMaker plugin dependencies)

  • WebServer (dependencies for running the Arelle web server)

# to install Arelle and its base dependencies
pip install arelle-release
# to install Arelle with all optional dependencies
pip install arelle-release[Crypto,DB,EFM,ObjectMaker,WebServer]

The Arelle command line and GUI applications should then be available on your path.

# To run the command line
arelleCmdLine --help

# To launch the GUI
arelleGUI

Docker

Run Arelle with Docker. New releases are tagged and published to Docker Hub and the GitHub Container registry. There are a couple different configurations/tags:

Command Line

docker run arelleproject/arelle:latest python arelleCmdLine.py --help
# From GitHub Container registry
docker run ghcr.io/arelle/arelle:latest python arelleCmdLine.py --help

Web Server

The webserver will be available at http://127.0.0.1:8080

docker run --name arelle-webserver -p 8080:8080 arelleproject/arelle:latest /opt/start.sh
# From GitHub Container registry
docker run --name arelle-webserver -p 8080:8080 ghcr.io/arelle/arelle:latest /opt/start.sh

Docker Compose

# docker-compose.yml
services:
  ...
  arelle-webserver:
    container_name: arelle-webserver
    image: arelleproject/arelle:latest
    # GitHub Container registry
    # image: ghcr.io/arelle/arelle:latest
    command: /opt/start.sh
    ports: 
      - 8080:8080
    healthcheck:
      test: /opt/healthcheck.sh
      interval: 60s
      timeout: 5s
      retries: 3
      start_period: 10s

Dockerfile

# Dockerfile
FROM arelleproject/arelle:latest
# GitHub Container registry
# FROM ghcr.io/arelle/arelle:latest

WORKDIR /usr/src/app

# Install additional dependencies
ENV PYTHONUNBUFFERED=1
ENV PATH="/opt/venv/bin:$PATH"
RUN pip install #custom-plugin

# Replace /opt/start.sh with a custom start script
COPY --chmod=755 start.sh /opt/

# Add user with home directory (Arelle caches to the user's home directory by default)
# Assign app ownership and switch to new user
RUN useradd -m arelle \
  && chown -R arelle:arelle /usr/src/app
USER arelle

ENTRYPOINT ["/opt/entrypoint.sh"]