https://github.com/tiesdekok/fast_xbrl_parser
  
  
    An XBRL parser built in Rust that provides a fast, easy, and lightweight way to convert XBRL XML files into JSON or CSV. 
    https://github.com/tiesdekok/fast_xbrl_parser
  
csv json rust xbrl xml
        Last synced: 9 months ago 
        JSON representation
    
An XBRL parser built in Rust that provides a fast, easy, and lightweight way to convert XBRL XML files into JSON or CSV.
- Host: GitHub
- URL: https://github.com/tiesdekok/fast_xbrl_parser
- Owner: TiesdeKok
- Created: 2021-12-13T05:05:27.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2023-09-28T17:25:47.000Z (about 2 years ago)
- Last Synced: 2023-09-28T20:37:42.686Z (about 2 years ago)
- Topics: csv, json, rust, xbrl, xml
- Language: Rust
- Homepage:
- Size: 9.31 MB
- Stars: 19
- Watchers: 4
- Forks: 7
- Open Issues: 2
- 
            Metadata Files:
            - Readme: readme.md
 
Awesome Lists containing this project
README
          
    Fast XBRL Parser
    
    
   
:warning:Unfortunately, I am unable to maintain this repository in my new role. Issues are not monitored.
    
An XBRL parser built in Rust that provides a fast, easy, and lightweight way to convert XBRL XML files into JSON or CSV. Available as a Python library or a standalone command line utility. 
  Author: Ties de Kok (Personal Page)
## Table of contents
  * [Introduction](#introduction)
  	* [Design philosophy](#philosophy)
  	* [Caveats](#caveats)
  * [Installation](#installation)
      * [Python](#python-install)
      * [Command Line Tool](#cli-install) 
  * [How to use](#howtouse)
      * [Python](#python)
      * [Command line](#commandline)
  * [Questions?](#questions)
  * [License](#license)
Introduction
  
Design philosophy
The objective of `fast-xbrl-parser` is to provide a fast, easy, and lightweight way to parse XBRL XML files into JSON or CSV. 
It is built with the following objectives in mind:
- An easy to use interface   
- Very fast      
- Lightweight and easy to install    
- Cross-platform support (Windows, Linux, and Mac OS are supported)    
Caveats
- Only tested on US XBRL files from SEC EDGAR   
- Opinionated conversion to CSV     
- Not validated against the XBRL specification    
Use at your own discretetion and always verify the results yourself. 
Installation
Python package
**Note:** `fast-xbrl-parser` requires Python 3.6+
```bash
pip install fast-xbrl-parser
```
CLI tool
Download the executable file from:
https://github.com/TiesdeKok/fast_xbrl_parser/releases/
Basic use
For full examples and documentation see: [notebook](https://github.com/TiesdeKok/fast_xbrl_parser/blob/master/examples/example.ipynb)
As a Python package
```python
import fast_xbrl_parser as fxp
input = "https://www.sec.gov/Archives/edgar/data/1326380/000132638021000129/gme-20211030_htm.xml" ## Edgar URL
#input = "gme-20211030_htm.xml" ## Local XML file
xbrl_dict = fxp.parse(
    input, 
    output=['json', 'facts', 'dimensions'],   ### You can adjust this to only return certain outputs. 
    email = "demo@fast-xbrl-parser.com"       ### Adjust this to reflect your email address. This is required by the SEC Edgar system when passing a URL.  
) 
json_valid_dict = xbrl_dict['json']
facts_list = xbrl_dict['facts']
facts_df = pd.DataFrame(facts_list)
```
Standalone using the command line
```bash
fast_xbrl_parser.exe
--input "https://www.sec.gov/Archives/edgar/data/1589526/000158952621000140/blbd-20211002_htm.xml" 
--json --facts --dimensions 
--save-dir "D:\xbrl_storage" --email "demo@fast-xbrl-parser.com"
## This will save the JSON / CSV files in the `save-dir`
```
Questions?
If you have questions or experience problems please use the `issues` tab of this repository.
License
[MIT](LICENSE) - Ties de Kok - 2022