Metadata-Version: 2.4
Name: glossaico
Version: 1.2
Summary: Language learning application
Home-page: https://codeberg.org/dimkard/glossaico
Author: Dimitris Kardarakos
Author-email: dimkard@posteo.net
Maintainer: Dimitris Kardarakos
Maintainer-email: dimkard@posteo.net
Project-URL: Plarform, https://github.com/kantord/LibreLingo
Project-URL: Spanish Course, https://github.com/kantord/LibreLingo-ES-from-EN/
Project-URL: German Course, https://codeberg.org/Lamdarer/LibreLingo-DE-from-EN
Keywords: librelingo,language,learn
Classifier: Development Status :: 5 - Production/Stable
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Intended Audience :: End Users/Desktop
Classifier: Topic :: Education
Classifier: Programming Language :: Python
Classifier: Operating System :: POSIX :: Linux
Description-Content-Type: text/markdown
License-File: LICENSES/GPL-3.0-or-later.txt
License-File: LICENSES/LGPL-3.0-or-later.txt
License-File: LICENSES/CC0-1.0.txt
License-File: LICENSES/CC-BY-SA-4.0.txt
Requires-Dist: requests
Requires-Dist: pyyaml<6.0.0,>=5.3.1
Requires-Dist: python-slugify<9.0.0,>=8.0.0
Requires-Dist: librelingo_audios>=1.3.0
Requires-Dist: librelingo_yaml_loader>=1.10.5
Requires-Dist: librelingo_utils>=2.6.2
Requires-Dist: librelingo_types>=3.3.0
Requires-Dist: Markdown<4.0.0,>=3.3.4
Requires-Dist: SQLAlchemy>=1.4.0
Provides-Extra: dev
Requires-Dist: click<8.0.0,>=7.1.2; extra == "dev"
Requires-Dist: isort<6,>=4.2.5; extra == "dev"
Requires-Dist: mypy; extra == "dev"
Requires-Dist: pylint<=2.15.3; extra == "dev"
Requires-Dist: types-requests; extra == "dev"
Requires-Dist: types-PyYAML; extra == "dev"
Requires-Dist: types-Markdown<=4.0.0,>=3.3.0; extra == "dev"
Requires-Dist: types-python-slugify; extra == "dev"
Requires-Dist: black<=21.6b; extra == "dev"
Requires-Dist: pytest-mock<=4.0.0,>=3.5.1; extra == "dev"
Requires-Dist: pytest<8.0.0,>=7.0.0; extra == "dev"
Requires-Dist: reuse<2.0.0,>=1.0.0; extra == "dev"
Dynamic: license-file

# Glossaico
Glossaico is a language learning application based on [LibreLingo](https://github.com/kantord/LibreLingo).

Its primary target is Linux Mobile devices but it also runs on any environment where Python, Qt and Kirigami are available.

![](screenshots/glossaico-pm.png)

At the moment, it contains three language courses:

- Spanish for English speakers
- German for English speakers
- Basque for English speakers

## Install

Glossaico is available as a flatpak package and it can be installed from flathub. First, [ensure](https://flatpak.org/setup/) that flatpak has been installed and the flathub repository has been added. Then, install Glossaico:

```
flatpak install org.codeberg.dimkard.glossaico
```

## Contribute

- Install the Kirigami UI components from the repository of your Linux distribution. E.g., on Ubuntu:

```sudo apt install qml-module-org-kde-kirigami2```

- Ensure that sqlite is installed (most probably) on your system

- Clone the repository and create a virtual environment:

```
python3 -m venv env/
```

- Activate it using the activate script:

```
source env/bin/activate
```

- Ensure that pip, wheel and setuptools exist:

```python3 -m pip install --upgrade pip setuptools wheel```

- Install the PySide2 build dependencies

  - qtbase5-dev
  - qtdeclarative5-dev
  - qtdeclarative5-private-dev
  - llvm
  - libclang-dev

with the package manager of your distribution

- Build and install PySide2:

```
wget https://download.qt.io/official_releases/QtForPython/pyside2/PySide2-5.15.6-src/pyside-setup-opensource-src-5.15.6.tar.xz
tar xvf pyside-setup-opensource-src-5.15.6.tar.xz
cd pyside-setup-opensource-src-5.15.6
mkdir build
cmake -B build -G Ninja -DCMAKE_INSTALL_PREFIX=../../env/ -DBUILD_SHARED_LIBS=True -DCMAKE_BUILD_TYPE=None -DPYTHON_EXECUTABLE=/usr/bin/python3 -DBUILD_TESTS=OFF ..
cmake --build build
cmake --install build
export LD_LIBRARY_PATH=/path/to/env/lib
```

- Install the editable developer version of the application:

```
pip install -e ".[dev]"
```

- Check the file(s) changed:

```
./check_file.sh NEW_OR_MODIFIED_FILE
```

- Run the tests:

```
python -m pytest -sv tests/
```

- Run the application

```
glossaico
```

- Create a [pull request](https://codeberg.org/dimkard/glossaico/pulls)

## Translate

You can translate Glossaico on the [Weblate](https://translate.codeberg.org/projects/glossaico/) instance provided by Codeberg.

## License
Glossaico is licensed under GPL v3+.
