Tools for creating and packaging data products
Project description
Dataforge is a Python package containing tools for creating and packaging data products.
Installation
To install dataforge:
pip install dataforge
Optional Frictionless plugins can be enabled by installing with the frictionless option:
pip install dataforge[frictionless]
Optional REDCap support requires xmarshal, which must be compiled using Cython. Thus, prior to installation, you will need a C compiler:
- Linux
sudo apt-get install build-essential
- Mac OS X
Install Apple’s XCode from the App Store
- Windows
Install Microsoft’s C++ Build Tools
Once you have a C compiler, you may install dataforge with REDCap support using:
pip install dataforge[redcap]
Configuration
For ease of use, many arguments and options for executable commands as well as many function arguments may be specified in a file called config.yaml located at the root of your project. For example, you could specify arguments and options for the redcap_export command by creating a config.yaml file containing something like this:
sources.redcap.api: url: https://redcap.uchicago.edu/api/ project_name: MyREDCapProject outdir: tmp/redcap
REDCap
Management of API Tokens
To access a REDCap project via the API, you will need to obtain a REDCap API token. To avoid having to enter the token each time you export data, it is convenient to add the token to your system keyring. You may do this with the following command:
keyring set <redcap_hostname> [<project_name>]
where <redcap_hostname> is the hostname of your REDCap server (e.g., redcap.uchicago.edu) and <project_name> is an abbreviated (no spaces) name of the REDCap project (e.g., MyREDCapProject). Although specifying a project name is not required, doing so will allow you to store API tokens for multiple projects. When you are asked to enter a password, enter the API token you obtained for your project.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.