Bootstrap Apertium language modules and pairs using apertium-init.py.
There are 3 ways to obtain Apertium-Init:
- Download the script from https://apertium.org/apertium-init to your local directory
- Clone this repository and run
make install - Install from PyPi with
pip install apertium-init
If the script was downloaded directly, it can be run with python3 apertium-init.py. Otherwise it will be installed as 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.
To bootstrap a monolingual language module apertium-foo using the
lttoolbox formalism,
$ python3 apertium-init.py fooTo bootstrap and compile it at the same time,
$ python3 apertium-init.py foo && ( cd apertium-foo/ && make )To bootstrap a monolingual language module apertium-foo using the
HFST formalism,
$ python3 apertium-init.py foo --analyser=hfstTo bootstrap and compile it at the same time,
$ python3 apertium-init.py foo --analyser=hfst && ( cd apertium-foo/ && make )To include a twoc file for handling prefixes,
$ python3 apertium-init.py foo --analyser=hfst --with-twocTo include a spellrelax file for handling typographical variance,
$ python3 apertium-init.py foo --analyser=hfst --with-spellrelaxTo 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-barTo bootstrap and compile it at the same time,
$ python3 apertium-init.py foo-bar && ( cd apertium-foo-bar/ && ./autogen.sh && make test)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 HFSTTo 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 HFSTTo 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 .probTo 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 .rlxTo bootstrap a bilingual module which uses apertium-recursive,
$ python3 apertium-init.py foo-bar --transfer=rtxTo bootstrap a bilingual module which uses apertium-anaphora,
$ python3 apertium-init.py foo-bar --with-anaphoraTo bootstrap a bilingual module which uses apertium-separable,
$ python3 apertium-init.py foo-bar --with-separableApertium-init can reconfigure an existing module or pair. For example, to add apertium-separable to an existing pair:
$ python3 apertium-init.py foo-bar -r --with-separableNote that all desired options must be specified. If the foo-bar pair used apertium-anaphora, the above command would remove it.
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 GithubTo 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 barAfter updating vanilla files, run make in the root of the repository to
generate apertium-init.py.
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.
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.