Skip to main content

Project Status: Active – The project has reached a stable, usable state and is being actively developed. Docs License: MIT DOI SWH Python PyPI Version

Morphkit is a Python toolkit for Greek morphological analysis and tag similarity comparison. It uses the betacode library, the API of Morpheus (e.g., running in a Docker virtualisation environment) and a porting of the Sandborg-Petersen morphological decoder.

In v1.0.0, Morphkit should be understood first as a research tool. It acts as a semantic translation layer between two incompatible morphological systems: Morpheus output on the one hand, and the SP / N1904-TF conventions used in the Nestle1904 Text-Fabric workflow on the other. The initial release is therefore tightly bound to that project environment and should not be read as a claim that Morphkit is a general-purpose standalone morphology package.

Documentation

The documentation site is versioned. The stable release docs live at tonyjurg.github.io/morphkit/stable, and the site includes a version selector for switching between stable, dev, and tagged releases.

Package

For the actual code see /morphkit.

Installation

The 1.0.0 release is packaged as-is for internal and research use. The pip installation exists primarily so collaborators can recreate the exact software snapshot used in notebooks, scripts, and data processing runs.

Install the reproducible release snapshot with:

pip install morphkit==1.0.0

This pinned installation is the recommended route when you need reproducibility inside the N1904-TF research environment. It does not make the project independent from Morpheus, nor does it remove the project-specific assumptions baked into the translation logic.

For local development from this repository:

pip install -e .

Use the editable install when you are actively modifying the code for the same research workflow or adapting it for closely related internal experiments.

Configuration

Morphkit supports configurable HTTP timeouts and retry behavior for Morpheus API requests.

Default timeout: 30 seconds

Per-request timeout:

response = morphkit.get_word_blocks("tou=", "localhost:1315", timeout=10)

Global configuration:

from morphkit.config import config

config.timeout = 45
config.retry_attempts = 3
config.retry_delay = 2.0

Environment variables:

export MORPHKIT_TIMEOUT=60
export MORPHKIT_RETRY_ATTEMPTS=2
export MORPHKIT_RETRY_DELAY=1.5

Tools used

The standard set of tools (Python documentation, tech sites like stackoverflow, and Python syntax checkers like Pythonium) were used to create this package. Furthermore, for the creation of a subset of features, also the Anaconda Assistant (using OpenAI as backend) and GitHub Copilot in Visual Studio were used to debug and/or optimize parts of the code. Where specified, OpenAI Codex was used to create PRs.

License

Morphkit uses a split licensing model:

This keeps the software package under a standard OSI-approved software license while preserving CC BY attribution terms for research-oriented non-code materials.

Release files for morphkit 1.0.0

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

Source distribution (sdist)

Source distribution for morphkit 1.0.0
File Size Uploaded
morphkit-1.0.0.tar.gz 47.8 kB Details

Built distribution (wheel)

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

Total release size: 101.2 kB

Release files / morphkit-1.0.0.tar.gz

Download URL morphkit-1.0.0.tar.gz
Size 47.8 kB
Tags Source
SHA-256 checksum
How to use checksums
8f30a55ada8124c54c52a493df1458185453490859be5e690288698b7ed644c7
BLAKE2b-256 checksum
How to use checksums
9784d275f362b87acb0e5b96a463046be7e9c062f0b5fd211abac01439b0ac44
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 May 12, 2026.

Transparency log

Release files / morphkit-1.0.0-py3-none-any.whl

Download URL morphkit-1.0.0-py3-none-any.whl
Size 53.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
334e231dd8039fdf203b90412b668272fcb004e2f225b934a329a7ff91c8ace9
BLAKE2b-256 checksum
How to use checksums
eb34a5241e8d78c20789732ddd359008dae5f17b960bda802b75654f3ca8850f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 May 12, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.0 This release

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