{"id":29127720,"url":"https://github.com/katjakarhu/opencaqda","last_synced_at":"2026-04-28T15:37:36.403Z","repository":{"id":298282720,"uuid":"988911193","full_name":"katjakarhu/OpenCAQDA","owner":"katjakarhu","description":"Open source tool for qualitative data analysis. Supports text and PDF files","archived":false,"fork":false,"pushed_at":"2025-06-29T11:17:08.000Z","size":148,"stargazers_count":0,"open_issues_count":12,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-29T12:27:25.391Z","etag":null,"topics":["graphical-user-interface","python3","qt6","qualitative-analysis","qualitative-data-analysis","qualitative-research","research-tool"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/katjakarhu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-23T09:06:36.000Z","updated_at":"2025-06-29T11:17:11.000Z","dependencies_parsed_at":"2025-06-10T10:26:57.098Z","dependency_job_id":"691915d1-da17-4504-bbc2-7bc30497583d","html_url":"https://github.com/katjakarhu/OpenCAQDA","commit_stats":null,"previous_names":["katjakarhu/opencaqda"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/katjakarhu/OpenCAQDA","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/katjakarhu%2FOpenCAQDA","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/katjakarhu%2FOpenCAQDA/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/katjakarhu%2FOpenCAQDA/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/katjakarhu%2FOpenCAQDA/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/katjakarhu","download_url":"https://codeload.github.com/katjakarhu/OpenCAQDA/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/katjakarhu%2FOpenCAQDA/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262690388,"owners_count":23349168,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["graphical-user-interface","python3","qt6","qualitative-analysis","qualitative-data-analysis","qualitative-research","research-tool"],"created_at":"2025-06-30T01:01:40.031Z","updated_at":"2026-04-28T15:37:34.622Z","avatar_url":"https://github.com/katjakarhu.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OpenCAQDA - Open Source Computer-Assisted Qualitative Data Analysis Tool\n\nWORK-IN-PROGRESS: Use at your own risk! See open issues for known defects and missing features: https://github.com/katjakarhu/OpenCAQDA/issues \n\nIf you would like to participate, feel free to tackle unassigned issues! \n\nOpenCAQDA is an easy-to-use open source desktop application for qualitative data analysis. The goal is to provide the user with high visibility and control over the coding process, and therefore no AI feature are planned. \n\nYou can:\n\n- Code plain text, PDF and HTML files\n\n\u003cimg width=\"1000\" alt=\"Screenshot 2025-06-12 at 12 08 01\" src=\"https://github.com/user-attachments/assets/601e591b-51cb-4665-a2a5-3bd7fe3233bc\" /\u003e\n\n\n\n## Features\n\nCreate research projects, that contain a set of files and codes.\n\nDrag and drop coding: select text and drag code over it (left mouse button).\nDrag and drop code hierarchy: with right button, drag and drop codes over each other to create a hierarchy (TODO: save relationship to database, now this resets everytime you restart the application)\n\nQuick filter codes: find the relevant codes easily\n\n\n### Supported file formats:\n\n- Plain text (*.txt)\n- PDF (*.pdf)\n- HTML (*.html)\n\n## Technical details\n\nThe data is stored in an SQLite database locally (TODO: add possibility for user the change the URL to database for shared database use)\n\n\n### Running the application\n\nYou will need to have Python 3 installed.\n\nInstall requirements:\n\n`pip install -r requirements.txt`\n\nRun app:\n\n`python main.py`\n\n### Architecture\n\n- **database/**       contains classes related to database connectivity \n- **data/**           contains enums, entities (models.py)\n- **services/**       handles fetching and saving data, call these methods from the UI\n- **ui/**             contains the views \n- **utils/**          contains useful methods that can be used anywhere\n\n\n## Planned features\n\nSee also \"Issues\" for open issues.\n\n### Mandatory\n\n- Define hierarchies and relationships between codes\n    - Save drag and drop code relationships to database\n    - Relationships can have labels\n    - You can define parent-child hierarchies with codes that you can use for\nexample in defining themes, sub-themes and categories.\n- Better user flow when:\n    - Settings file does not exist\n    - Database does not exist\n- Coding functionality\n    - Uncoding: TODO, see issues\n    - Managing codes: TODO, see issues\n- Configuration\n    - User configuration: preliminary version exists\n    - Database configuration: preliminary version exists \n- Note/memo functionality\n    - For codes\n    - For files\n    - For text selection?\n    - For whole project?\n- More unit tests\n\n### High priority:\n\n- Text search within multiple files\n- Multi-user projects (with shared database)\n    - Editable DB settings\n    - Storing DB credentials\n    - Other than SQLite support (MySQL, Postgres, etc.)\n- Code relationship visualization and editing\n\n### Nice to have:\n\n- Importing and exporting:\n    - Codes\n    - Notes/memos\n    - Projects\n- Activity log:\n    - Who did what\n    - Can be used as a basis for reporting your analysis process\n- Case study features:\n    - Cross case analysis view: compare the codes in cases\n\n### Maybe some day\n\n- Many projects open at the same time\n- Codes to word cloud\n- Notes to word cloud\n- Sentiment analysis\n- Investigate other data analysis possibilities with Python that could be added here\n- Image coding support (e.g. image to text, or other)\n- Video file coding support\n- CSV and Excel file coding (can be circumvented by converting to PDF or HTML)\n- DOCX coding (can be circumvented by converting to PDF or HTML)\n- RTF file coding (can be circumvented by converting to PDF ot HTML)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkatjakarhu%2Fopencaqda","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkatjakarhu%2Fopencaqda","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkatjakarhu%2Fopencaqda/lists"}