Py-xbrl is a python library that allows the user to easily parse XBRL-Documents. Py-xbrl is primarily build to parse Instance Documents (originally from the SEC) but can also be used to parse any type of XBRL Document as long as it follows the XBRL 2.1 Specification (2003)^1 or the iXBRL 1.1 Specification(2013)^2.
XBRL is a very information-rich markup language that can have highly complex structures. This library tries to capture as much of the original information as possible. Py-xbrl will automatically download and parse all referenced XBRL-Files like taxonomy schemas and linkbases. After parsing py-xbrl will organize all information in an object structure and return it to the user.
Please read the documentation for more information and examples!: https://py-xbrl.readthedocs.io
Py-xbrl can be installed via PIP:
pip install py-xbrl
see the documentation for more info.
If you have questions regarding the library please post them into the GitHub discussion forum.
I am always happy to receive contributions. You can either work on an already created issue or create a new pull request. You can also create a pull request if you want to propose a change to the documentation on readthedocs.io. Please keep in mind that the goal of this library is to parse XBRL files correctly. Therefore, it is important that the unit tests work on any pull request. Additionally, py-xbrl should still be able to parse all xbrl files correctly. It is best to create a discussion in the GitHub discussion board before creating the pull request to avoid that a lot of work is done, but the pull request is not merged in the end.