Bootstrap Apertium language modules and pairs
Project description
Apertium-Init (a.k.a. Apertium Bootstrap)
Bootstrap Apertium language modules and pairs using apertium-init.py
.
Usage
First, download the script
or install from PyPi with pip install apertium-init
.
Usage depends on the desired module and is described below. Remember to
search for TODO
in the generated module to add example sentences, etc.
Monolingual Lttoolbox module
To bootstrap a monolingual language module apertium-foo
using the
lttoolbox formalism,
$ python3 apertium-init.py foo
To bootstrap and compile it at the same time,
$ python3 apertium-init.py foo && ( cd apertium-foo/ && ./autogen.sh && make )
Monlingual HFST module
To bootstrap a monolingual language module apertium-foo
using the
HFST formalism,
$ python3 apertium-init.py foo --analyser=hfst
To bootstrap and compile it at the same time,
$ python3 apertium-init.py foo --analyser=hfst && ( cd apertium-foo/ && ./autogen.sh && make )
To include a twoc file for handling prefixes,
$ python3 apertium-init.py foo --analyser=hfst --with-twoc
To include a spellrelax file for handling typographical variance,
$ python3 apertium-init.py foo --analyser=hfst --with-spellrelax
Bilingual Lttoolbox module
To bootstrap a bilingual language module apertium-foo-bar
where the
monolingual packages apertium-foo
and apertium-bar
both use the
lttoolbox formalism,
$ python3 apertium-init.py foo-bar
To bootstrap and compile it at the same time,
$ python3 apertium-init.py foo-bar && ( cd apertium-foo-bar/ && ./autogen.sh && make test)
Bilingual HFST/Lttoolbox module
To bootstrap a bilingual language module apertium-foo-bar
where the
monolingual packages apertium-foo
and apertium-bar
use the
HFST formalism and/or the
lttoolbox formalism,
$ python3 apertium-init.py foo-bar --analysers=hfst # Both foo and bar use HFST
$ python3 apertium-init.py foo-bar --analyser1=hfst # Only foo (first language) uses HFST
$ python3 apertium-init.py foo-bar --analyser2=hfst # Only bar (second language) uses HFST
To bootstrap and compile it at the same time,
$ python3 apertium-init.py foo-bar --analysers=hfst && ( cd apertium-foo-bar/ && ./autogen.sh && make test) # Both foo and bar use HFST
$ python3 apertium-init.py foo-bar --analyser1=hfst && ( cd apertium-foo-bar/ && ./autogen.sh && make test) # Only foo (first language) uses HFST
$ python3 apertium-init.py foo-bar --analyser2=hfst && ( cd apertium-foo-bar/ && ./autogen.sh && make test) # Only bar (second language) uses HFST
Bilingual module for monolinguals that don't use apertium-tagger or CG
To bootstrap a bilingual module when one or both of the monolingual modules don't use apertium-tagger,
$ python3 apertium-init.py foo-bar --no-prob1 # Only foo doesn't have .prob
$ python3 apertium-init.py foo-bar --no-prob2 # Only bar doesn't have .prop
$ python3 apertium-init.py foo-bar --no-prob1 --no-prob2 # Neither foo nor bar have .prob
To bootstrap a bilingual module when one or both of the monolingual modules don't use CG,
$ python3 apertium-init.py foo-bar --no-rlx1 # Only foo doesn't have .rlx
$ python3 apertium-init.py foo-bar --no-rlx2 # Only bar doesn't have .rlx
$ python3 apertium-init.py foo-bar --no-rlx1 --no-rlx2 # Neither foo nor bar have .rlx
Pushing to Github
To bootstrap a module or pair and also add it to the apertium incubator,
$ python3 apertium-init.py foo -p # Bootstrap module apertium-foo and push to Github
$ python3 apertium-init.py foo-bar -p # Bootstrap pair apertium-foo-bar and push to Github
To specify what username to push as (rather than relying on git config
),
$ python3 apertium-init.py foo -p -u bar # Bootstrap module apertium-foo and push to Github under username bar
Development
After updating vanilla files, run ./updateBootstraper.py
to update the
relevant encoded files in apertium-init.py
. Or, run make
in the root
of the repository to update all the encoded files.
You can also do sudo make install
to install to /usr/local/bin/apertium-init
or e.g. PREFIX=$HOME/local make install
to install to $HOME/local/bin/apertium-init
.
Use pipenv install --dev
to install the requirements required for
development, e.g. linters.
Releasing
After installing development resources following the instructions above, deploying to PyPi is relatively straightforward.
Use make dist
to create a source distributable inside the dist
directory
that can be installed locally via pip
.
Use make test-release
and make release
to deploy to the testing PyPi instance
and the production PyPi instance respectively. Either
step requires PyPi authentication credentials with access to the apertium-init
package.
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
Hashes for apertium_init-2.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9bd9cbb50fd6d680c97744e0c1f0ba478e851df7d85f3a91a3eb6d0730f90c7b |
|
MD5 | c3eb508607908e1eb9fe85e43c85457e |
|
BLAKE2b-256 | 6279a1a96ffab3830bf54478cd31dff487659fe3a5dbeeb6212c59b4e1a45c42 |