dqc_us_rules is a plugin for Arelle
- Final rules that the XBRL US Data Quality Committee approved for public release
- Draft rules that the XBRL US Data Quality Committee approved to expose for public comment
- Reference implementation of the rules, using Arelle as an XBRL processor
- Unit tests for the reference implementation
- Test suite
- Deploy with Arelle
- Specify the sec directory as a plugin with Arelle
- Python 3.x (3.2 or greater is preferred)
- Git 1.7+
- C compiler toolchain (for LXML)
- libxml2 (also for LXML)
- Arelle
It is strongly recommended that one uses a python virtual environment, such as virtualenv, to do development. To make development and management of virtual environments easier, we recommend checking out virtualenvwrapper.
The rest of this setup will assume you have installed virtualenv and virtualenvwrapper.
To create a virtual environment, change your directory to the root of this project, and execute the following command:
mkvirtualenv dqc -a $PWD -p <path_to_python3>
This will give you a virtual environment that you can then work within by inputting
workon dqc
any time you need to work in it.
To install the dependencies for development of only the DQC ruleset, you will use pip to install the requirements. Install the development requirements using:
pip install -r requirements-dev.txt
To run the unit tests, simply run the included shell script
./run-unit-tests.sh
See documentation in the test suite
The rule definition index is here.
We actively accept, and encourage, pull requests for code changes. A list of the requirements for a pull request follows, and the request will be reviewed by the technical leads of the project. If the request is accepted it will be merged into the appropriate branch. Some requests may require Committee approval which may take longer to implement. If the request is found to be missing parts or is otherwise incomplete, comments will be noted regarding the missing or incomplete parts.
- Branch off master, develop on your independent fork, PR back to master or other appropriate branch on the root fork.
- Your code should pass flake8.
- Unit test coverage is required or an explanation for why the change is already covered or not coverable.
- Good Docstrings are required.
- Good commit messages are required.
- The pull request must have at least one
+1
from another community member. - There must be no unaddressed comments.
- PR text must be in the specified format:
#### Changes: - Change_one with reasoning - Change_two with reasoning Please review: @hefischer @andrewperkins-wf
See License for license information.
See Patent Notice for patent infringement notice.
Copyright 2015 - 2016, XBRL US Inc. All rights reserved.