portableQDA facilitates round-trip information exchange using the REFI-QDA standard: codebooks (QDC files) and QDPX projects. This portable information can be used by any Qualitative Data Analysis (CAQDAS) Software conforming to that XML-based standard, as per https://www.qdasoftware.org
Project description
portableQDA
portableQDA facilitates round-trip information exchange using the REFI-QDA standard: codebooks (QDC files) and QDPX projects. This portable information can be used by any Qualitative Data Analysis (CAQDAS) Software conforming to that XML-based standard.
Import/Export formats QDC and QDPX are:
- suitable for structured archiving of any kind of files, including:
- personal corpus of information analysis (text coding, cites, comments)
- the source documents themselves (any arbitrary format, including office docs, PDF, html, audio, surverys)
- well-defined and maintained by the REF-QDA working group
- supported and developed by a growing number of participants
QDA stands for Qualitative Data Analysis, as known in social sciences. Related Wikipedia article states: “Qualitative research relies on data obtained by the researcher by first-hand observation, interviews, recordings, […]. The data are generally non-numerical. Qualitative methods include ethnography, grounded theory, discourse analysis […]. These methods have been used in sociology, anthropology, and educational research.”
Installation
# pip install portableqda
Basic usage
testing the output format
# python -m portableqda
produces an empty codebook file in your home directory, should be suitable for import by your CAQDAS software.
testing the input format
- export a codebook from the QDA software of your choise
- run the following script:
import portableqda
codebook = portableqda.codebookCls(output=None) #create a codebook, will export to the screen
codebook.readQdcFile(input="/path/to/your/exported.qdc")
codebook.writeQdcFile()
- no errors should ocurr, check the output for completeness
developing
# examples/ex1_codesAndSets.py
import portableqda
#look for output in system logging
codebook = portableqda.codebookCls(output="codebook_example.qdc") #create a codebook
# create 3 codes and group them in two sets
for number in range(3):
codebook.createElement(elementCls=portableqda.codeCls,
name=f"code{number}",
sets=["set1","set2"])
# for error checking, see examples/ex2_flowControl.py
codebook.writeQdcFile() # export the codebook as a REFI-QDA 1.5 compatible QDC file
Look for the file codebook_example.qdc
at your home directory. You can see more of what's happening (portableQDA is a library thus not intended for direct use), inserting the following code where the comment "look for output in system logging" is, right after the import portableqda
statement:
import logging
handler = logging.StreamHandler(sys.stdout)
handler.setLevel(logging.DEBUG)
formatter = logging.Formatter('%(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)
portableqda.log.addHandler(handler)
portableqda.log.setLevel(logging.DEBUG)
Output should look like this:
portableqda.refi_qda - DEBUG - tree created, root node: 'CodeBook'. see REFI-QDA 1.5
portableqda.refi_qda - INFO - output is C:\Users\X\codebook_example.qdc
portableqda.refi_qda - DEBUG - added code code0 to set set1
portableqda.refi_qda - DEBUG - added code code2 to set set2
portableqda.refi_qda - INFO - exporting as REFI-QDC codebook to file: C:\Users\X\codebook_example.qdc
Documentation
Contributing
Acknowledgents
LMXL: portableQDA relies on the excellent lxml package for the underlying tree data structure and XML handling
REFI-QDA: working group pushing interoperability and open standards
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for portableQDA-0.3.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2af17eb67cc3e3d5ef521ae0cf6919c8c4169861754206b91a6d04ea114ea104 |
|
MD5 | df2136be72775911f3e4c98b9a030014 |
|
BLAKE2b-256 | 360ce7d0b8a26e80aef275316ab84bfdcbc0bd86b6317ea620981991a78e8704 |