Python toolkit for Greek morphological analysis and tag similarity comparison.
Project description
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:
- Source code in
morphkit/is released under the MIT License. - Documentation, notebooks, and other non-code repository content remain under Creative Commons Attribution 4.0 International (CC BY 4.0), unless stated otherwise in a specific file.
This keeps the software package under a standard OSI-approved software license while preserving CC BY attribution terms for research-oriented non-code materials.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file morphkit-1.0.0.tar.gz.
File metadata
- Download URL: morphkit-1.0.0.tar.gz
- Upload date:
- Size: 47.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8f30a55ada8124c54c52a493df1458185453490859be5e690288698b7ed644c7
|
|
| MD5 |
48e8d5d96cc86506bbc2f0bc9ae3c5ca
|
|
| BLAKE2b-256 |
9784d275f362b87acb0e5b96a463046be7e9c062f0b5fd211abac01439b0ac44
|
Provenance
The following attestation bundles were made for morphkit-1.0.0.tar.gz:
Publisher:
publish.yml on tonyjurg/morphkit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
morphkit-1.0.0.tar.gz -
Subject digest:
8f30a55ada8124c54c52a493df1458185453490859be5e690288698b7ed644c7 - Sigstore transparency entry: 1520424085
- Sigstore integration time:
-
Permalink:
tonyjurg/morphkit@dc17449d1315794cf772e448932ebd5aceaf6b73 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/tonyjurg
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@dc17449d1315794cf772e448932ebd5aceaf6b73 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file morphkit-1.0.0-py3-none-any.whl.
File metadata
- Download URL: morphkit-1.0.0-py3-none-any.whl
- Upload date:
- Size: 53.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
334e231dd8039fdf203b90412b668272fcb004e2f225b934a329a7ff91c8ace9
|
|
| MD5 |
e7ae8cd4c9f09af65249ba5df6a61ac0
|
|
| BLAKE2b-256 |
eb34a5241e8d78c20789732ddd359008dae5f17b960bda802b75654f3ca8850f
|
Provenance
The following attestation bundles were made for morphkit-1.0.0-py3-none-any.whl:
Publisher:
publish.yml on tonyjurg/morphkit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
morphkit-1.0.0-py3-none-any.whl -
Subject digest:
334e231dd8039fdf203b90412b668272fcb004e2f225b934a329a7ff91c8ace9 - Sigstore transparency entry: 1520424099
- Sigstore integration time:
-
Permalink:
tonyjurg/morphkit@dc17449d1315794cf772e448932ebd5aceaf6b73 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/tonyjurg
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@dc17449d1315794cf772e448932ebd5aceaf6b73 -
Trigger Event:
workflow_dispatch
-
Statement type: