Skip to main content

Paradigm panes meant to provide layout specification to be reused elsewhere.

Project description

paradigm-panes

Installable package that produces a paradigm for a given word, given a pointer to paradigm layouts and FST file. Originally built for itwêwina.

PyPi Package

Latest version of the package posted to PyPi: paradigm-panes 0.3.2

Install

pip install paradigm-panes

Developing

Developing is done and managed through Python Poetry package manager.

To start development:

# Download the repo
git clone https://github.com/UAlbertaALTLab/paradigm-panes.git

# Set up virutal env
virtualenv venv --python=python3.9
source venv/bin/activate

# Install dependencies
poetry install

# Now cd into main directory and try out the package
cd paradigm_panes
python
    >>> import paradigm_manager
    >>> ...

Package Documentation:

The package is very simple to use and requires two types of linguistic files to operate. First:

Installing

Install the paradigm manager with:

pip install paradigm-manager

Usage and Configuration

Import the library:

import paradigm_manager

Create PaneManager and specify path to FST file and layouts resources:

pm = paradigm_manager.ParadigmManager(
            layout_directory="/home/ubuntu/paradigm_panes/resources/layouts", 
            generation_fst="/home/ubuntu/paradigm_panes/resources/fst/crk-strict-generator.hfstol")

Paths to the layout directory and generation FST are required arguments.

Pass lemma and paradigm type to generate a paradigm:

lemma = "amisk"
p_type = "NA"
pm.set_lemma(lemma)
pm.set_paradigm(p_type)

Generate the paradigm:

paradigm = pm.generate()

Optionally add recordings to the paradigm with the following steps:

wordforms = pm.get_all_wordforms()
matched_recordings = <fetch recordings for all wordforms>
paradigm = pm.bulk_add_recordings(matched_recordings)

Testing

To run the tests you need to install required dependencies, it is easier by using a virtual environment like this:

# Set up virutal env
virtualenv venv --python=python3.9
source venv/bin/activate

# Install dependencies
poetry install

Once the dependencies are installed you can run tests by calling pytest.

pytest

Release

Package version number is sorted in pyproject.toml. With every release to PyPi the version needs to be updated.
Build the package from the main directory before publishing it:

poetry build

To publish to Test PyPi use poetry and enter credentials associated with Test PyPi account

poetry publish -r testpypi

To publish to real PyPi use poetry and enter credentials associated with PyPi

poetry publish

All relevant package specifications and dependencies are managed in pyproject.toml file.

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

paradigm-manager-0.3.5.tar.gz (9.4 kB view details)

Uploaded Source

Built Distribution

paradigm_manager-0.3.5-py3-none-any.whl (14.0 kB view details)

Uploaded Python 3

File details

Details for the file paradigm-manager-0.3.5.tar.gz.

File metadata

  • Download URL: paradigm-manager-0.3.5.tar.gz
  • Upload date:
  • Size: 9.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.9.12 Darwin/21.6.0

File hashes

Hashes for paradigm-manager-0.3.5.tar.gz
Algorithm Hash digest
SHA256 4b0b0f387c4de11230a91bf7246102aedf389eb4cfb56c3ff9328ff90b9b3f9a
MD5 863644d31e9a51c10982c540392d8b09
BLAKE2b-256 ec2f8c02155367d1430ca7a36a85bf4609b0462533f0c774447a96c24306e367

See more details on using hashes here.

File details

Details for the file paradigm_manager-0.3.5-py3-none-any.whl.

File metadata

File hashes

Hashes for paradigm_manager-0.3.5-py3-none-any.whl
Algorithm Hash digest
SHA256 04dce00f558bbb7af1f6829c4e1724e9265d2f51a8099c0fcb6f74e9e5cfb47f
MD5 3aa450ed535ecf25a0cbc190fcab0521
BLAKE2b-256 24c7b575f01bf2f700f8b8399a00feacc9bf26c2102edc5ecf4b8aa5b8b2a34d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page