skip to navigation
skip to content

python-xbrl 1.0.2

library for parsing xbrl documents

Latest Version: 1.1.0

python-xbrl is a library for parsing xbrl documents providing output as both a basic model object and serialized objects thur marshmallow for rendering into standards formats like JSON or HTTP API


The easiest way to install python-xbrl is with pip

sudo pip install python-xbrl


If you really want to become familiar with this library, read the docstrings in the code.


To start using the library, first import the XBRLParser

from xbrl import XBRLParser

Simple Parsing Workflow

First parse the incoming XRBL file into a new XBRL basic object

xbrl_parser = XBRLParser()
xbrl = XBRLParser.parse(file("sam-20131228.xml"))

Then you can parse the document using different parsers

gaap_obj = XBRLParser.parseGAAP(xbrl, doc_date="20131228", doc_type="10-K", context="current")

Now we have a GAAP model object that has the GAAP parsed elements from the document.

This model object supports the several different features including:

  • doc_type currently only 10-K and 10-Q is supported
  • context current, year, and instant contexts are supported

You can serialize the GAAP model object into a serialized object acceptable for rending into a standard format such as JSON or HTTP API.

serialized = GAAPSerializer(gaap_obj)

You can also just view the data in the serialized object


You can apply various parsers to the base XBRLParser object to get different data than just GAAP data from the document. In addition as expected you can also create different serialized objects on the resulting parsed data object.


To run the unit tests, you need pytest

pip install pytest

Once you have that, cd into the root directory of this repo and

py.test --tb=line -vs


Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the license.
File Type Py Version Uploaded on Size
python-xbrl-1.0.2.tar.gz (md5) Source 2014-09-01 2KB