Introduction to FlexiConc
FlexiConc is a Python package developed to facilitate and enhance the computational analysis of concordances, primarily intended for use in corpus linguistic research. The package is rooted in theoretical insights from the “Reading Concordances in the 21st Century” research project supported by the Arts and Humanities Research Council (AHRC) (grant references: AH/X002047/1 & AH/X002047/2) and the Deutsche Forschungsgemeinschaft (DFG) (grant reference: 508235423).
FlexiConc systematically supports analysts in organizing, filtering, and interpreting concordance data through algorithmic assistance, making complex corpus research reproducible and accountable.
What is FlexiConc?
FlexiConc provides computational methods to assist corpus linguists in systematically exploring concordances—lists of text segments centered around keywords or query matches (nodes). It enables flexible manipulation of concordances through a structured approach that includes selecting subsets of data, ordering concordance lines based on specific criteria, and grouping them into meaningful clusters or partitions.
Core Features
Concordance Views
A concordance view is a filtered, ordered, grouped, or otherwise transformed subset of a concordance, designed to help analysts identify and interpret patterns. Concordance views support "vertical reading" via traditional KWIC (Keyword in Context) format, allowing efficient examination of recurring linguistic patterns.
Core Analytical Strategies
FlexiConc is built around three main strategies:
- Selecting: Focusing on subsets of concordance lines based on criteria such as metadata categories, contextual keywords, or random sampling.
- Ordering: Arranging concordance lines either through sorting (pairwise comparisons) or ranking (based on numeric preference scores to prioritize lines of interest).
- Grouping: Organizing concordance lines into meaningful categories, either by partitioning based on explicit criteria or clustering by semantic, syntactic, or lexical similarity.
Analysis Trees
The analytical workflow in FlexiConc is structured via an analysis tree, a hierarchical history of applied algorithms and operations. Each node in the tree represents either a subset selection or a rearrangement (ordering/grouping) of concordance lines, preserving a complete record of the analyst's exploratory steps. This ensures research transparency, facilitates reproducibility, and enables easy revisiting of previous analytical steps.
Integration and Extensibility
FlexiConc is designed primarily as a backend library for integration into concordancer applications. The host application handles corpus queries, initial concordance generation, user interaction, and visualization, while FlexiConc processes concordances, applies algorithms, and manages analysis trees. This clear division ensures FlexiConc can be integrated into various concordancing environments easily.
FlexiConc's modular design supports adding new analytical algorithms seamlessly, fostering ongoing innovation and adaptability to evolving research needs.
Intended Users and Use Cases
FlexiConc is suited for:
- Corpus linguists performing qualitative and quantitative pattern analyses.
- Developers of concordance applications seeking computational backend solutions.
- Educators and researchers requiring reproducible and systematic documentation of analytical steps.
Technical Overview
FlexiConc operates on structured concordance data containing token and metadata annotations provided by the host application.
Algorithm outputs—subset selections, sorting keys, clustering information—are returned as structured concordance views, enabling host applications to provide clear visual representations.
Documentation
The documentation is available. However, it is still in development and the details of the API are subject to change.
Metadata
Release files for FlexiConc 0.1.22
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| flexiconc-0.1.22.tar.gz | 119.1 kB | Without provenance | Details for flexiconc-0.1.22.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| flexiconc-0.1.22-py3-none-any.whl | Python 3 | none | any | Details for flexiconc-0.1.22-py3-none-any.whl |
Total release size: 253.6 kB
Release files / flexiconc-0.1.22.tar.gz
| Download URL | flexiconc-0.1.22.tar.gz |
|---|---|
| Size | 119.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1ad31d3692477ddb2f3feb77d1ef308bc309abeaeaae9070ae99d53cd7cd4148
|
|
BLAKE2b-256 checksum How to use checksums |
89db2e81f6b999aa58792c5adb43e5e2932016409c4727aa2fd84ab370d75552
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.6
|
Release files / flexiconc-0.1.22-py3-none-any.whl
| Download URL | flexiconc-0.1.22-py3-none-any.whl |
|---|---|
| Size | 134.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
503e0b07bbbcbf1baee998735f27475953747d8614a5a94f35eef27fda7b33c9
|
|
BLAKE2b-256 checksum How to use checksums |
9decfea751841bf0a60b22d2a434955c266af314d791b04e2db6b30076611094
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.6
|
Security for FlexiConc 0.1.22
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.