Skip to main content

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 Research/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

Qualitative Research, also known as 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 (specially the output format)

change your current directory to portableQDA's root, then

poetry shell
python tests

produces various codebooks (QDC files) 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="portableQDA-output-test.qdc")
codebook.readQdcFile(input="/path/to/file-from-first-step.qdc")
codebook.writeQdcFile()
  • should throw no errors, check the file portableQDA-output-test.qdc at your home directory for completeness
  • try to import into your CAQDAS software

Developing

You will find examples for many use cases at the examples directory. Some of them are:

# 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 compliant 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

GNU Lesser General Public License v3 (LGPLv3)

Metadata

Release files for portableqda 0.4.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for portableqda 0.4.2
File Size Uploaded
portableQDA-0.4.2.tar.gz 31.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for portableqda 0.4.2
File Interpreter ABI Platform
portableQDA-0.4.2-py3-none-any.whl Python 3 none any Details

Total release size: 63.9 kB

Release files / portableQDA-0.4.2.tar.gz

Download URL portableQDA-0.4.2.tar.gz
Size 31.1 kB
Tags Source
SHA-256 checksum
How to use checksums
0564b1f6c2295e38c4fae4148d226bfc16510564e733fc7f654268f978c67151
BLAKE2b-256 checksum
How to use checksums
b49bc3232cc105e202e85c12845817a9f01a77ad7daaf3fc0e62d4a8b1182c12
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.4 CPython/3.8.10 Linux/5.8.0-59-generic

Release files / portableQDA-0.4.2-py3-none-any.whl

Download URL portableQDA-0.4.2-py3-none-any.whl
Size 32.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
02df7e595724cd3acc69469440b5ffd627fdbe7b99cf25fae08ebdd6648ba6dd
BLAKE2b-256 checksum
How to use checksums
c6306589028828c28585e82fb70f2f92e03c7540c6f6b39694a9268416bc45b1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.4 CPython/3.8.10 Linux/5.8.0-59-generic

Release history Release notifications | RSS feed

This release

0.4.2 This release

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.2

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page