All Projects → jmsv → ety-python

jmsv / ety-python

Licence: MIT license
A Python module to discover the etymology of words

Programming Languages

python
139335 projects - #7 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to ety-python

go-pluralize
Pluralize and singularize any word (golang adaptation of https://www.npmjs.com/package/pluralize)
Stars: ✭ 60 (-45.45%)
Mutual labels:  english, words
words-aas
📕 a simple API to generate unique randomized words & phrases.
Stars: ✭ 69 (-37.27%)
Mutual labels:  english, words
similar-english-words
Give me a word and I’ll give you an array of words that differ by a single letter.
Stars: ✭ 25 (-77.27%)
Mutual labels:  english, words
Profane Words
A very long list of English profanity.
Stars: ✭ 95 (-13.64%)
Mutual labels:  english, words
An Array Of English Words
List of ~275,000 English words
Stars: ✭ 114 (+3.64%)
Mutual labels:  english, words
Vocabs
📚 A lightweight online dictionary integration to the command line. No browsers. No paperbacks.
Stars: ✭ 226 (+105.45%)
Mutual labels:  english, words
Pluralize
Pluralize or singularize any word based on a count
Stars: ✭ 1,808 (+1543.64%)
Mutual labels:  english, words
rhymes
Give me an English word and I’ll give you a list of rhymes
Stars: ✭ 34 (-69.09%)
Mutual labels:  english, words
FCH-TTS
A fast Text-to-Speech (TTS) model. Work well for English, Mandarin/Chinese, Japanese, Korean, Russian and Tibetan (so far). 快速语音合成模型,适用于英语、普通话/中文、日语、韩语、俄语和藏语(当前已测试)。
Stars: ✭ 154 (+40%)
Mutual labels:  english
DigitText
The module allows to translate numbers into a text equivalent. This is important in the billing.
Stars: ✭ 22 (-80%)
Mutual labels:  words
python-aos-lesson
Python for Atmosphere and Ocean Scientists
Stars: ✭ 78 (-29.09%)
Mutual labels:  english
SmartReview
💠 单词智能复习项目 - 艾宾浩斯遗忘曲线 + 混淆词
Stars: ✭ 43 (-60.91%)
Mutual labels:  english
BSD
The Business Scene Dialogue corpus
Stars: ✭ 51 (-53.64%)
Mutual labels:  english
Britfone
British English pronunciation dictionary
Stars: ✭ 66 (-40%)
Mutual labels:  english
SoMeWeTa
A part-of-speech tagger with support for domain adaptation and external resources.
Stars: ✭ 20 (-81.82%)
Mutual labels:  english
bento
🍱 bento is an English-based automation language designed to be used by non-technical people.
Stars: ✭ 32 (-70.91%)
Mutual labels:  english
YouTube to m3u
Grab .m3u8 from YouTube live channels and makes .m3u IPTV Playlist from various languages and Events. Tamil / Malayalam / English / Hindi / French / Kids / Sports / Urudu etc.
Stars: ✭ 48 (-56.36%)
Mutual labels:  english
new-word-tab
A browser extension to learn a new word per new tab
Stars: ✭ 30 (-72.73%)
Mutual labels:  english
COVID19Tweet
WNUT-2020 Task 2: Identification of informative COVID-19 English Tweets
Stars: ✭ 26 (-76.36%)
Mutual labels:  english
HistoryOfMe
Your own personal diary.
Stars: ✭ 50 (-54.55%)
Mutual labels:  english

ety

PyPI version Python versions Wheel Support Documentation Status
Build Status Code style: black


Intro

@jmsv and @parker57 started a side project to analyse etymologies of text written by various historical authors, expecting there to already be a library for retrieving etymological data. On discovering that this wasn't the case, ety was created!

There isn't a single source of truth for etymologies; words' origins can be heavily disputed. This package's source data, Gerard de Melo's Etymological Wordnet, is mostly mined from Wiktionary. Since this is a collaboratively edited dictionary, its data could be seen as the closest we can get to a public consensus.

Install

pip

pip install ety

Usage

Module

>>> import ety

>>> ety.origins("potato")
[Word(batata, language=Taino)]

>>> ety.origins("drink", recursive=True)
[Word(drync, language=Old English (ca. 450-1100)), Word(drinken, language=Middle English (1100-1500)), Word(drincan, language=Old English (ca. 450-1100))]

>>> print(ety.tree("aerodynamically"))
aerodynamically (English)
├── -ally (English)
└── aerodynamic (English)
    ├── aero- (English)
    │   └── ἀήρ (Ancient Greek (to 1453))
    └── dynamic (English)
        └── dynamique (French)
            └── δυναμικός (Ancient Greek (to 1453))
                └── δύναμις (Ancient Greek (to 1453))
                    └── δύναμαι (Ancient Greek (to 1453))

CLI

After installing, a command-line tool is also available. ety -h outputs the following help text describing arguments:

usage: ety [-h] [-r] [-t] words [words ...]

positional arguments:
  words            the search word(s)

optional arguments:
  -h, --help       show this help message and exit
  -r, --recursive  search origins recursively
  -t, --tree       display etymology tree

Examples

$ ety drink
drink   # List direct origins
 • drync (Old English (ca. 450-1100))
 • drinken (Middle English (1100-1500))

$ ety drink -r   # Recursive search
drink
 • drync (Old English (ca. 450-1100))
 • drinken (Middle English (1100-1500))
 • drincan (Old English (ca. 450-1100))

$ ety drink -t   # Etymology tree
drink (English)
├── drinken (Middle English (1100-1500))
│   └── drincan (Old English (ca. 450-1100))
└── drync (Old English (ca. 450-1100))

Development

In a virtual environment - Pipenv is recommended:

python setup.py install
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].