Running from source

The implementation is in Python 3.5 – 3.8, and is intended for Windows (any recent), Mac OS-X 10.5/10.6, Unix or Linux. The standard installation includes both desktop GUI and a localhost RESTful web server. Sources for the standard version are on gitHub (master branch). An older non-certified Python 2.7 server version of the non-desktop portion supports servers such as Google App Engine (source zip is on the download page).

Memory required for desktop use is about twice of comparable commercial products, e.g., a US-GAAP filing might need 30-60MB (x32 ok), comparing two 2011 us-gaap’s for versioning report generation might take 4.5G (x64 needed). Memory required for server use for large dimensional instances has been reported to be less than some comparable commercial products.


  1. First, you need to install Python. We suggest using the ActiveState ActivePython Community Edition version of Python rather than stock python from, because it includes many important modules by default, that you would otherwise need to manually install. For both varieties, we suggest the x86-64 build and version 3.x (where x >= 2).
    • On Windows, the x86-64 version is needed for us-gaap comparisons, however it may have some tkinter problems causing exceptions such as when running long sequences of test cases.

  3. Please download Arelle’s zip file (from the downloads web page) and unzip somewhere convenient.

  5. Arelle uses the python module lxml significantly. Due to a lack of resources by the lxml’s developers, they likely do not provide current binaries for windows. For instance, at the time this sentence was written, the latest version is 2.3.6, while the most recent version with binaries is 2.3. It is important to be current on this library. Compiling them yourself is challenging because they must be linked with other libraries, so in their faq, they direct users to these unofficial builds. The package lxml is not included in either version of python and must be installed manually, but the aforementioned unofficial builds make this is easy.

  7. Start Arelle: double click unzipped file runGUI.pyw or scripts\runGUI.bat (you may also run from a shell prompt in the installed directory, cd to the top level directory (which has scripts and arelle as child directories) launch the GUI version by typing “\python32\python -m arelle.CntlrWinMain” or the command line version by typing “\python32\python -m arelle.CntlrCmdLine”.


  1. You need your password to update the system (google what to do if you lost it).

  3. to update Mac tcl/tk graphics (the original Mac tck/tk won’t work); click ActiveTcl 8.6b5 (8.5 won’t work); click download from the ActiveState web sitetakes you to Download ActiveTCL (or newer) for Mac OS (when this was written the big blue buttons were 8.5, but 8.6 was the bottom row of table below)(needs your administrator password to continue)

  5. (or click your way to 3.2 downloads) click a Mac OS X installer for 3.2 (NOT 3.1.3, which won’t work); complete python installation (requires clicking on Python.mpkg in the download directory)

  7. (the downloaded files will be probably under your home directory/Downloads/arelle)

  9. Open a terminal window (application -> Utilities -> Terminal); cd to arelle folder ( probably enter “cd Downloads/somewhere”), this is the directory that has arelle and scripts as child directories; enter “python3.2 -marelle.CntlrWinMain”.

Server (Google App Engine or Unix)


Server installation may be based on the Python 3.2 source code from gitHub, or for Google App Engine, a pre-configured Python 2.7 zip file is available on the download page. Server installation support is available on a consulting basis.

Ubuntu setup

To set up Python 2.7, 3.2 and git for Ubuntu, please try these:

sudo apt-get install python2.7 python2.7-lxml python2.7-tk
sudo apt-get install python3.2 python3.2-lxml python3.2-tk
sudo apt-get install git-core

Ubuntu does not need ActivePython because plugins, including lxml, should be easy to install with the package manager. Eventually, “cd” to arelle’s directory and run the shell script (The executable flag may have to be set for the shell script, and its python3.2 command may need editing or a full path.)


Leave a Reply

Your email address will not be published. Required fields are marked *