Python librairy for parsing NooJ's dictionary files
Project description
pynooj
Python library for parsing NooJ's dictionary files.
Overview
pynooj is a Python library that parses NooJ dictionary files (.dic) and extracts lexical information including inflected forms, lemmas, grammatical categories, and morphological traits.
For more information about NooJ, visit the NooJ website.
Installation
pip install pynooj
Usage
Basic Example
from pynooj import read_dic
# Parse a NooJ dictionary file
entries = read_dic("path/to/dictionary.dic")
# Each entry is a dictionary containing:
# - "inflected form": the word form
# - "lemma": the base form (optional)
# - "category": grammatical category (e.g., "V", "N", "A")
# - "traits": morphological attributes
for entry in entries:
print(entry["inflected form"], "→", entry["lemma"])
print(f" Category: {entry['category']}")
print(f" Traits: {entry['traits']}")
Dictionary File Format
NooJ dictionary files use a comma-separated format:
inflected_form,lemma,category+Trait1=Value1+Trait2=Value2
Examples:
amo,amare,V+Theme=INF+FLX=GP1_INF+GP=1
casa,casa,N+Number=SG+Gender=F
API Reference
read_dic(path)
Parses a NooJ dictionary file and returns a list of lexical entries.
Parameters:
path(str): Path to the.dicfile
Returns:
- List of dictionaries, each containing:
"inflected form": the word form (string)"lemma": the base form (string, optional)"category": grammatical category (string)"traits": dictionary of morphological traits (dict)
Running Tests
To run the test suite with unittest:
python -m unittest discover -s tests
Publishing to PyPI
Prerequisites
Ensure you have the necessary tools installed:
pip install build twine
Steps
-
Update version in
pyproject.toml -
Build the package:
python -m build
-
Upload to PyPI:
twine upload dist/*
-
Upload to TestPyPI (optional, for testing):
twine upload --repository testpypi dist/*
Contributing
Contributions are welcome! Please feel free to submit issues and pull requests.
License
See the LICENSE file for details.
Related Resources
Project details
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 pynooj-0.1.2.tar.gz.
File metadata
- Download URL: pynooj-0.1.2.tar.gz
- Upload date:
- Size: 3.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
410b186f6064fd5f38c991749fd7e5536842b0a5197dd393328ded14b1f95021
|
|
| MD5 |
021f2ed7b062ddee17127e8991e1dadd
|
|
| BLAKE2b-256 |
b84595e3f3de6e46792500437f86b2e8eff66ec122ab2be5656e86c386fcd731
|
File details
Details for the file pynooj-0.1.2-py3-none-any.whl.
File metadata
- Download URL: pynooj-0.1.2-py3-none-any.whl
- Upload date:
- Size: 3.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
205bfeaec1045fa79fff188a1fb6bd98b51417e215cea34a7e86bf20bb9c5381
|
|
| MD5 |
30e2f4ac4d17a0033a481e73d0b89f5a
|
|
| BLAKE2b-256 |
b5e24fdeaa35d519bb88cff4ad97006a945d814e8c1539fa3523a61f65efe2ba
|