Metadata-Version: 2.1
Name: xbrl
Version: 0.0.0
Summary: Parsing and navigating XBRL documents
Home-page: https://github.com/divbzero/xbrl
Author: William Go
Author-email: will@divbzero.com
License: MIT
Keywords: xbrl humans simple forhumans
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Financial and Insurance Industry
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Topic :: Office/Business
Classifier: Topic :: Office/Business :: Financial
Classifier: Topic :: Office/Business :: Financial :: Accounting
Classifier: Topic :: Office/Business :: Financial :: Investment
Requires-Python: >=3.5

XBRL
====

Features
--------

-  [ ] (P0) Parse XBRL instance documents
-  [ ] (P0) Parse XBRL linkbases

   -  [ ] (P2) Calculation linkbase
   -  [ ] (P2) Definition linkbase
   -  [ ] (P1) Label linkbase
   -  [ ] (P0) Presentation linkbase

-  [ ] (P0) Parse XBRL schemas

Classes
-------

XBRL Instance
~~~~~~~~~~~~~

Document
^^^^^^^^

.. code:: python

   class XBRL(list):
       """An XBRL instance document"""
       ...

Fact
^^^^

.. code:: python

   class Fact(dict):
           """An XBRL fact: concept, context, value"""
           ...

Concept
^^^^^^^

.. code:: python

   class Concept(dict):
       """An XBRL concept"""
       ...

Context
^^^^^^^

.. code:: python

   class Context(dict):
       """An XBRL context: company, segment, period"""
       ...

.. code:: python

   class Period(dict):
       """An XBRL period: start date, end date"""
       ...

Value
^^^^^

.. code:: python

   class Value(dict):
       """An XBRL value: amount, unit"""

.. code:: python

   class Unit(dict):
           """An XBRL unit"""
       ...

XBRL Linkbase
~~~~~~~~~~~~~

Linkbase
^^^^^^^^

.. code:: python

   class Linkbase(list):
       """An XBRL linkbase"""
       ...

.. code:: python

   class CalculationLinkbase(Linkbase):
       """An XBRL calculation linkbase"""
       ...

.. code:: python

   class DefinitionLinkbase(Linkbase):
       """An XBRL definition linkbase"""
       ...

.. code:: python

   class LabelLinkbase(Linkbase):
       """An XBRL label linkbase"""
       ...

.. code:: python

   class PresentationLinkbase(Linkbase):
       """An XBRL Presentation linkbase"""
       ...

Link
^^^^

.. code:: python

   class Link(dict):
       """An XBRL link"""
       ...

.. code:: python

   class CalculationLink(Link):
       """An XBRL calculation link"""
       ...

.. code:: python

   class DefinitionLink(Link):
       """An XBRL definition link"""
       ...

.. code:: python

   class LabelLink(Link):
       """An XBRL label link"""
       ...

.. code:: python

   class PresentationLink(Link):
       """An XBRL Presentation link"""
       ...

Usage
-----

.. _xbrl-instance-1:

XBRL Instance
~~~~~~~~~~~~~

.. code:: python

   brka = XBRL(file='brka-20151231.xml')
   brka = XBRL('BRKA', 2015)
   brka = XBRL('BRKA', 2015, 'FY')

.. code:: python

   brka = XBRL(file='brka-20160331.xml')
   brka = XBRL('BRKA', 2016, 'Q1')

.. code:: python

   facts = list(brka)
   contexts = list(brka.contexts)
   units = list(brka.units)

.. _xbrl-linkbase-1:

XBRL Linkbase
~~~~~~~~~~~~~

.. code:: python

   brka_cal = CalculationLinkbase(file='brka-20151231_cal.xml')
   brka_cal = CalculationLinkbase('BRKA', 2015)
   brka_cal = CalculationLinkbase('BRKA', 2015, 'FY')

.. code:: python

   brka_def = DefinitionLinkbase(file='brka-20151231_def.xml')
   brka_def = DefinitionLinkbase('BRKA', 2015)
   brka_def = DefinitionLinkbase('BRKA', 2015, 'FY')

.. code:: python

   brka_lab = LabelLinkbase(file='brka-20151231_lab.xml')
   brka_lab = LabelLinkbase('BRKA', 2015)
   brka_lab = LabelLinkbase('BRKA', 2015, 'FY')

.. code:: python

   brka_pre = PresentationLinkbase(file='brka-20151231_pre.xml')
   brka_pre = PresentationLinkbase('BRKA', 2015)
   brka_pre = PresentationLinkbase('BRKA', 2015, 'FY')


