Skip to content

Repository files navigation

An open-source XBRL processor for business rules, rendering and custom data reporting. See https://xbrl.us/xule for documentation and https://xbrl.us/xule-editor for a VS Code syntax highlighter.

XULE README

Interactive Example - Running XULE in Arelle
Binder
Colab
Learn about using XULE and XBRL

GitHub Codespaces

Opening this repository in a Codespace uses the devcontainer config to set up a ready-to-use development environment: Python, Arelle, the EDGAR transform/validate plugins, and the XULE plugin (linked live from this checkout, so edits under plugin/xule take effect immediately). The XULE Editor VS Code extension is installed automatically for .xule syntax highlighting.

It also pulls in content from the latest DataQualityCommittee/dqc_us_rules release into a dqc_us_rules folder at the repo root: resources/Effective_Dates, resources/rule-form-lookup, source/lib, and the latest source/us/<year> and taxonomy/us/<year> folders. Inside source/us/<year>, the .vscode config is overwritten with xbrlus/xule-editor's copy for that year — open dqc_us_rules/source/us/<year> directly in VS Code/Codespaces to pick it up.

Docker

A Dockerfile is provided that builds a ready-to-run environment with Python, Arelle, and the XULE and EDGAR plugins installed. The Build XULE Container GitHub Action builds this image and pushes it to ghcr.io/xbrlus/xule.

Using the pre-built image

docker pull ghcr.io/xbrlus/xule:latest
docker run --rm -v "$(pwd):/workspace" ghcr.io/xbrlus/xule:latest \
  python -m arelle.CntlrCmdLine --plugin xule --about

Building locally

docker build -t xule .

Versions can be overridden with build args:

docker build \
  --build-arg PYTHON_VERSION=3.14 \
  --build-arg ARELLE_VERSION=2.41.6 \
  --build-arg EDGAR_VERSION=26.1 \
  --build-arg XULE_VERSION=30052 \
  -t xule .
  • PYTHON_VERSION - Python base image version (default 3.14)
  • ARELLE_VERSION - Arelle-release PyPI package version (default 2.41.6)

Building via the GitHub Action

Run the Build XULE Container workflow from the Actions tab (workflow_dispatch). Leave the inputs blank to build with the latest available release of Python, Arelle, and XULE, or set any of them to pin a specific version:

  • ref - branch, tag, or SHA of this repo to build XULE from
  • python_version - Python version for the base image
  • arelle_version - Arelle-release package version

License and Patent

See License for license information.
See Patent Notice for patent infringement notice.

Copyright 2015 - 2026 XBRL US, Inc. All rights reserved.

About

An open-source XBRL processor for business rules, rendering and custom data reporting. See https://xbrl.us/xule for documentation and https://xbrl.us/xule-editor for a VS Code syntax highlighter.

Topics

Resources

Stars

38 stars

Watchers

11 watching

Forks

Releases

Used by

Contributors

Languages