Kitconc 3.5.0
Kitconc is a package for Corpus Linguistics and text analysis with Python. It contains, among other things, tools for creating:
Corpora;
Frequency wordlists;
Keywords (Log-Likelihood, Chi-Square, TF-IDF);
Concordance lines;
Collocates;
N-gram lists;
Dispersion plots;
Excel data files;
Semantic search with sentence embeddings.
The package is built on top of platforms and packages for scientific research: numpy, pandas, XlsxWriter and matplotlib. Corpus tokenization and tagging use built-in dependency-free components.
Requirements
Kitconc requires Python 3.10 or later.
Core dependencies (managed by uv):
numpy>=1.26.4,<2.0.0 pandas>=2.2.0,<3.0.0 matplotlib>=3.7.0,<4.0.0 xlsxwriter>=3.2.3,<4.0.0 ttkbootstrap>=1.12.0,<2.0.0 pillow>=12.3.0,<13.0.0 requests>=2.31.0,<3.0.0 chardet>=5.2.0,<6.0.0 pypdf>=4.0.0,<7.0.0 cryptography>=50.0.0,<51.0.0 mcp>=1.0.0,<2.0.0 setuptools>=70.0.0
Optional full dependencies (embeddings, API and local environment):
torch>=2.6,<2.10 (CPU wheels from the configured pytorch-cpu uv index) transformers>=4.45,<6.0.0 sentence-transformers>=3.0,<6.0.0 sqlite-vec>=0.1.7,<1.0.0 fastapi>=0.110,<1.0.0 uvicorn[standard]>=0.27,<1.0.0 python-dotenv>=1.0.0,<2.0.0
Installation with uv
uv sync
For the complete local environment:
uv sync –all-extras
Run commands with uv run, for example:
uv run kitconc-mcp –transport stdio uv run pytest
Kitconc App (graphical interface)
kitconc-app
The desktop app continues to use the filesystem workspace format (info.tab, corpus indexes, and output files). Corpus creation accepts source folders whose paths contain spaces. Corpus names may contain letters, numbers, underscores, dots, and hyphens, except . and ..
ZIP imports are validated and will not replace a corpus already present in the workspace. The default maximum expanded archive size is 2 GiB (KITCONC_MAX_IMPORT_BYTES); URL imports are limited to 512 MiB by default (KITCONC_MAX_DOWNLOAD_BYTES). Export creates or atomically replaces <corpus>.zip in the selected destination and continues to exclude Excel result files.
Agent Layer (internal actions)
Kitconc now includes an internal action layer for agent/tool orchestration:
kitconc.agent.actions.KitconcActions
Full parity with shell commands from kit_cmd.py (do_*)
Typed schemas in kitconc.agent.schemas
Contract documentation in kitconc/agent/CONTRACT.md
Semantic retrieval action: semantic_search(…)
Basic usage:
from kitconc.agent import KitconcActions actions = KitconcActions(“kitconc_workspace”) actions.create(“ads”, “kitconc_corpora/ads”, “english”) actions.use(“ads”) rows = actions.keywords(limit=10)
MCP Server (for agent integrations)
kitconc-mcp –transport stdio
For HTTP clients (recommended):
kitconc-mcp –transport streamable-http –host 127.0.0.1 –port 8001
or (legacy SSE):
kitconc-mcp –transport sse –host 127.0.0.1 –port 8001
Semantic MCP tools:
semantic_index_status (corpus_name, db_path)
index_corpus (corpus_name, source_folder, db_path, model_name, chunk_size,
chunk_overlap, batch_size, rebuild)
semantic_search (query, top_k, db_path, model_name, corpus_name)
export_analysis_result (analysis_result, output_path, sheet_name)
Use index_corpus to create a per-corpus semantic index from TXT, Markdown, RST, and PDF files in the source folder recorded in info.tab. Set source_folder when that original path is unavailable. The index is stored under <workspace>/.semantic_indexes/<corpus>.sqlite3. Existing indexes are retained unless rebuild=True is requested. Then call semantic_search, optionally after selecting the corpus with actions.use(“name”).
Install optional embedding dependencies with: uv sync –extra full
To save an analysis result, pass its complete response object to export_analysis_result and set output_path to a filename ending in .tab, .tsv, or .xlsx. Only the response’s rows are written; metadata such as total is not exported. TAB and TSV files are UTF-8 tab-delimited; XLSX accepts an optional sheet_name (1-31 characters; invalid characters: []:*?/\\). Files are written atomically and replace an existing destination only after a successful export. Parent directories are created when needed. The result reports the resolved output_path, format, rows_written, and columns_written.
Example: pass the complete result from wordlist(corpus_name=”ads”) as analysis_result, with output_path=”C:/exports/wordlist.xlsx” and sheet_name=”Wordlist”.
MCP runtime is included in package dependencies (uv sync is enough).
What’s new in 3.2.0
Tkinter launcher command – start GUI with kitconc-app
Agent action layer – kitconc.agent.actions.KitconcActions with command parity from kit_cmd.py
Typed schemas – available in kitconc.agent.schemas
MCP server entrypoint – run with kitconc-mcp
Semantic search MCP tool – semantic_search for sqlite-vec indexes
MCP tools to build per-corpus embedding indexes and inspect index status
Embedding index hardening – transactional writes and thread-safe SQLite access
Progress flag rename – use verbose=True (replacing show_progress=True)
What’s new in 3.1.0
TF-IDF keywords – third keyword extraction method alongside Log-Likelihood and Chi-Square
Keyword filters – ignore numbers, ignore words with strange characters, minimum word length
PDF support – add PDF files directly to a corpus
Embeddings module – semantic search with sentence-transformers and SQLite vector storage
Dialog improvements – dialog boxes now center correctly in fullscreen and large-window mode
Language resources
Kitconc comes with built-in language resources for Portuguese and English corpora. It also provides functions for adding your own language resources.
Usage example
See how easy it is to use Kitconc:
Metadata
Release files for kitconc 4.0.0
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 | |
|---|---|---|---|---|
| kitconc-4.0.0.tar.gz | 5.4 MB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| kitconc-4.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.8 MB
Release files / kitconc-4.0.0.tar.gz
| Download URL | kitconc-4.0.0.tar.gz |
|---|---|
| Size | 5.4 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9fc1dacefe92cd1ca179cd77a82bf4099895d14c05786ba41236d9527169e36e
|
|
BLAKE2b-256 checksum How to use checksums |
9db6c825771800afcee5f9dfdabeb03434efc18b2faf5b30baafd5b47ff901cd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.
Transparency logRelease files / kitconc-4.0.0-py3-none-any.whl
| Download URL | kitconc-4.0.0-py3-none-any.whl |
|---|---|
| Size | 5.4 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
958cc2f47a2e092a604dd5b739b092f4f41d6e2c9aca79b22beeeaf186e97109
|
|
BLAKE2b-256 checksum How to use checksums |
88558ff049c1c7703343736368c86e842e3145fcf99d9c911f08cac73d576b1f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.
Transparency logSecurity for kitconc 4.0.0
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.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for kitconc-4.0.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.
Transparency logA 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.