Data types to be used in Python packages for LibreLingo
Project description
librelingo_types
Data types to be used in Python packages for LibreLingo
librelingo_types.data_types
TextToSpeechSettings Objects
class TextToSpeechSettings(
namedtuple(
"TextToSpeechSettings",
[
"provider",
"voice",
"engine",
],
defaults=["Polly", "Lupe", "standard"],
))
Settings about how to use TTS to generate audios
Usage example:
TextToSpeechSettings( ... provider="Polly", ... voice="Aditi", ... engine="standard" ... ) TextToSpeechSettings(provider='Polly', voice='Aditi', engine='standard')
AudioSettings Objects
class AudioSettings(
namedtuple(
"AudioSettings",
[
"enabled",
"text_to_speech_settings_list",
],
defaults=[False, []],
))
Settings for audio in a course
Usage example:
AudioSettings( ... enabled=True, ... text_to_speech_settings_list=[TextToSpeechSettings()] ... ) AudioSettings(enabled=True, text_to_speech_settings_list=[TextToSpeechSettings(provider='Polly', voice='Lupe', engine='standard')])
HunspellSettings Objects
class HunspellSettings(
namedtuple(
"HunspellSettings",
[
"source_language",
"target_language",
],
defaults=[None, None],
))
Settings for hunspell spell checking
Usage example:
HunspellSettings( ... source_language="en-US", ... target_language="es-ES", ... ) HunspellSettings(source_language='en-US', target_language='es-ES')
Settings Objects
class Settings(
namedtuple(
"Settings",
["audio_settings", "hunspell"],
defaults=[AudioSettings(), HunspellSettings()],
))
Settings for a course
Usage example:
Settings() Settings(audio_settings=AudioSettings(enabled=False, text_to_speech_settings_list=[]), hunspell=HunspellSettings(source_language=None, target_language=None))
Course Objects
class Course(
namedtuple(
"Course",
[
"target_language",
"source_language",
"special_characters",
"modules",
"license",
"dictionary",
"repository_url",
"course_dir",
"settings",
],
defaults=[Settings()],
))
A LibreLingo course
Usage example:
my_course = Course(
target_language=Language("English", "en"),
source_language=Language("Spanish", "es"),
special_characters=[],
modules=[module1, module2, module3, module4],
license=License(
full_name="Attribution 4.0 International (CC BY 4.0)",
name="CC BY 4.0",
link="https://creativecommons.org/licenses/by/4.0/"
),
dictionary=[dict_item1, dict_item2, dict_item3, dict_item4],
repository_url="https://example.com",
course_dir="some_language/course",
settings=Settings()
)
Language Objects
class Language(namedtuple("Language", ["name", "code"]))
Metadata about a language
Usage example:
Language("English", "en") Language(name='English', code='en')
License Objects
class License(
namedtuple(
"License",
[
"name",
"full_name",
"link",
],
))
Metadata about the license of a LibreLingo course
Usage example:
License( ... full_name="Attribution 4.0 International (CC BY 4.0)", ... name="CC BY 4.0", ... link="https://creativecommons.org/licenses/by/4.0/" ... ) License(name='CC BY 4.0', full_name='Attribution 4.0 International (CC BY 4.0)', link='https://creativecommons.org/licenses/by/4.0/')
Module Objects
class Module(
namedtuple(
"Module",
[
"title",
"filename",
"skills",
],
))
A module of a LibreLingo course.
Usage examples:
my_module = Module(title="Basics", filename="basic/module.yaml", skills=[skill1, skill2])
Skill Objects
class Skill(
namedtuple(
"Skill",
[
"name",
"filename",
"id",
"words",
"phrases",
"image_set",
"dictionary",
"introduction",
],
))
A skill of a module of a LibreLingo course.
Notes:
id: Needs to be a unique ID. Use uuidv4.
Usage examples:
my_skill = Skill(
name="Animals",
filename="basic/skills/hello.yaml",
id="3adc78da-ea42-4ecd-9e3d-2e0986a3b914",
words=[word1, word2, word3],
phrases=[phrases1, phrases2, phrases3],
image_set=["cat1", "dog2", "horse1"],
dictionary=[dict_item_1, dict_item_2, dict_item_3, dict_item_4],
introduction="My *markdown* text",
)
Word Objects
class Word(
namedtuple(
"Word",
[
"in_target_language",
"in_source_language",
"pictures",
],
))
A new word taught in a LibreLingo skill.
Notes:
in_source_language: List of accepted forms in the target language of the course. The first item in the list is the main form. The main form is the only form that is shown in the course but all forms are accepted as answers.
in_target_language: List of accepted forms in the target language of the course. The first item in the list is the main form. The main form is the only form that is shown in the course but all forms are accepted as answers.
Usage example:
Word( ... in_target_language=["perro"], ... in_source_language=["dog"], ... pictures=["dog1", "dog2", "dog3"] ... ) Word(in_target_language=['perro'], in_source_language=['dog'], pictures=['dog1', 'dog2', 'dog3'])
Phrase Objects
class Phrase(
namedtuple(
"Phrase",
[
"in_target_language",
"in_source_language",
],
))
A new phrase taught in a LibreLingo skill.
Notes:
in_source_language: List of accepted forms in the target language of the course. The first item in the list is the main form. The main form is the only form that is shown in the course but all forms are accepted as answers.
in_target_language: List of accepted forms in the target language of the course. The first item in the list is the main form. The main form is the only form that is shown in the course but all forms are accepted as answers.
Usage example:
Phrase( ... in_target_language=["perro", "can"], ... in_source_language=["dog"], ... ) Phrase(in_target_language=['perro', 'can'], in_source_language=['dog'])
DictionaryItem Objects
class DictionaryItem(
namedtuple("DictionaryItem", ["word", "definition", "is_in_target_language"]))
A dictionary item for a LibreLingo course. It contains the definition of a word. The word can be either in the source language or the target language.
Definition in the source language (Spanish in this case)
DictionaryItem("hablo", "I speak", False) DictionaryItem(word='hablo', definition='I speak', is_in_target_language=False)
Definition in the target language (English in this case)
DictionaryItem("speak", "hablo", True) DictionaryItem(word='speak', definition='hablo', is_in_target_language=True)
PhraseIdentity Objects
class PhraseIdentity(namedtuple("PhraseIdentity", ["text", "source"]))
This is the set of information that identifies a phrase as 'the same'. If any of these things change, the phrase will be seen as 'new' and re-generated.
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 librelingo_types-3.3.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 12a41062d5c0b3728637b577dd687a07c186b1ae281dd476e7381b6950c04de8 |
|
MD5 | 368093d4a766f7b91842cc8d37bf10d4 |
|
BLAKE2b-256 | b22e7931caacdd2f32eaf8b60c306c448b3a6d3d9248ef1dbb6286e51e5b8dea |