{"id":20943,"library":"arelle-release","title":"Arelle","description":"Arelle is an open-source XBRL platform for creating, validating, and analyzing XBRL, iXBRL, and other financial reporting standards. Current version is 2.39.10, released regularly with updates for taxonomy support and bug fixes.","status":"active","version":"2.39.10","language":"python","source_language":"en","source_url":"https://github.com/Arelle/Arelle","tags":["XBRL","financial reporting","validation","iXBRL","ESEF"],"install":[{"cmd":"pip install arelle-release","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"Required for XML parsing","package":"lxml","optional":false},{"reason":"Used for regex operations","package":"regex","optional":false}],"imports":[{"note":"Common mistake: importing from arelle.CntlrCmdLine when Arelle is the main entry point","symbol":"Arelle","correct":"from arelle import Arelle"},{"note":"Old path was from arelle.model.Document; now ModelDocument is the top-level class","wrong":"from arelle.model import Document","symbol":"ModelDocument","correct":"from arelle import ModelDocument"}],"quickstart":{"code":"import os\nfrom arelle import Arelle\n\n# Set up Arelle with minimal options\noptions = {\n    'logFile': '-',  # stdout\n    'logLevel': 'INFO',\n    'plugins': [],\n    'validate': True,\n    'packages': []\n}\n# Arelle will validate if validation called further\nprint(\"Arelle imported successfully\")\n\n# Example: validate an XBRL instance (commented out)\n# options['entrypoint'] = os.environ.get('XBRL_FILE', 'instance.xbrl')\n# result = Arelle.main(options)\n","lang":"python","description":"Basic import and setup of Arelle for XBRL processing. Replace 'instance.xbrl' with your file path."},"warnings":[{"fix":"Update imports to use the new top-level module: 'from arelle import Arelle' and call Arelle.main().","message":"Arelle 2.30+ changed the import structure: 'from arelle import Arelle' instead of 'from arelle.CntlrCmdLine import main'.","severity":"breaking","affected_versions":">=2.30.0"},{"fix":"Set 'logFile' option to '-' for stdout or '/path/to/log.txt' for a file.","message":"Arelle's default log output goes to stderr; use 'logFile': '-' to redirect to stdout or a file path.","severity":"gotcha","affected_versions":"all"},{"fix":"Pass 'validate' as a key in the options dictionary (e.g., options['validate'] = True).","message":"The 'validate' argument in Arelle.main is deprecated; use the 'validate' option in the options dict instead.","severity":"deprecated","affected_versions":">=2.35.0"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Run 'pip install arelle-release' instead of 'pip install arelle'.","cause":"Arelle not installed or installed under different package name 'arelle-release'.","error":"ModuleNotFoundError: No module named 'arelle'"},{"fix":"Use 'from arelle import Arelle' and then 'Arelle.main(options)'.","cause":"Old import path no longer valid in newer versions of arelle.","error":"ImportError: cannot import name 'main' from 'arelle.CntlrCmdLine'"},{"fix":"Ensure options dict includes at minimum 'logFile': '-' and 'plugins': [].","cause":"Arelle instance not created because options dict missing required keys like 'logFile' or 'plugins'.","error":"AttributeError: 'NoneType' object has no attribute 'validate'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}