Did you know that Altova has a sample source code repository on GitHub? We are building this out based on customer requests, and at the moment we’ve posted a collection of XBRL example files, code snippets, and Python scripts for working with XBRL data, including instructions for accessing and processing the vast amount of data from filing companies available on the SEC web site, as well as some essential tools for performing validation on EDGAR filing data.
Here are some details on what you can find there.
How to Download and Process SEC XBRL Data from EDGAR
The sec-xbrl repository provides the source code described in the accompanying webinar “How to Download and Process SEC XBRL Data Directly from EDGAR” from XBRL US. It includes Python scripts that let you first download data from the SEC EDGAR filing system, and then process, validate, and extract information from this XBRL data using RaptorXML Server.
SEC EDGAR Tools
The sec-edgar-tools repository contains the complete Python source code to implement the extra checks and rules defined in the EDGAR Filer Manuals Volume II for EDGAR Filing Version 31 using RaptorXML Server. This is essential for all SEC EDGAR filing and is otherwise extremely difficult.
We recently added support for EDGAR validation in RaptorXML Server – look out for a blog post on this topic in the coming weeks.
Example Scripts for RaptorXML
The RaptorXML-Examples repository contains a collection of examples source code fragments on how to use the new Python v2.1 API in RaptorXML Server. Each example contains a brief documentation on top of the source file and then demonstrates a particular feature of the API, including downloading all remote parts of a schema as a whole/discoverable taxonomy set (DTS), traversing the entire calculation linkbase found in a DTS, adding custom validation rules, traversing all of the dimensional relationship set (DRS), generating HTML forms from an XBRL Table Linkbase, and much more.
Stay tuned, as we expect to release more sample code and interesting snippets as time goes on, as well as some interesting MobileTogether projects. If there’s something you’d like to see, please let us know in the comments.