A tiny wrapper around `wordcloud.WordCloud` to support Arabic WordCloud
Project description
ar_wordcloud
A tiny wrapper around wordcloud.WordCloud
to support WordCloud with Arabic text.
Installation:
$ pip install ar_wordcloud
Usage:
Also, see the notebook example.
Import and instantiate the main class:
from ar_wordcloud import ArabicWordCloud
awc = ArabicWordCloud(background_color="white")
Then, either build a word cloud from a raw text string:
t = 'أهلاً وسهلا، اللغة العربية جميلة'
wc = awc.from_text(t)
wc.to_file('hello.png')
Or, build a word cloud from a dictionary:
d = {"مرحبا": 12, "برمج": 8, "من": 10, "رمضان كريم": 15, "العيد قرب": 12, "اهلين": 1, "كورونا": 3}
dict_wc = awc.from_dict(d, ignore_stopwords=True)
awc.plot(dict_wc, title="كل عام وانتم بخير", width=2, height=2)
Or, read text from a file:
wc = awc.from_file('examples/arabic.txt')
wc.to_file('examples/arabic.png')
Using a mask
Also, you can use a mask:
from ar_wordcloud import ArabicWordCloud
from ar_wordcloud.utils import read_mask_image
mask_img = read_mask_image() # NOTE: pass `mask_img_url` param to use a different mask, the default is a heart
awc = ArabicWordCloud(background_color="white", mask=mask_img, contour_width=4, scale=0.5)
awc.from_file('examples/arabic.txt').to_image()
Multiple fonts support
It's also possible to choose a different Arabic font:
from ar_wordcloud import ArabicWordCloud
awc = ArabicWordCloud(font='NotoSansArabic-ExtraBold.ttf')
t = f"عيدفطر2020 سعيد، كل عام وانتم بخير"
awc.from_text(t).to_image()
# To see the available fonts:
print(awc.fonts.available_fonts)
If the entered font name is not correct, there'll be a friendly assertion message:
AssertionError: بالله أتأكد ان اسم الخط المُدخل صحيح
Please make sure the selected font name is correct!
TODO:
- support mask plots
- clean input text (remove punct .. etc)
- support input from file e.g.
awc.from_file(fname)
- browse available fonts and select favorite
- fix English font
- cli support
PRs are welcome, thanks 🙏
Credit: this repo was born from the discussion in this PR.
Project details
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
File details
Details for the file ar_wordcloud-0.0.4.tar.gz
.
File metadata
- Download URL: ar_wordcloud-0.0.4.tar.gz
- Upload date:
- Size: 545.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.18.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 80b5cafca6fae4f940853bfc9606bc738bbfcd215cbd638353bd981173acb86b |
|
MD5 | 1c32324e40e3064022100dacedb27c3c |
|
BLAKE2b-256 | 335b7c18da129cae10f53d1a9e7a5228632e9e17515906c6738c4ae3ccdfc91d |
File details
Details for the file ar_wordcloud-0.0.4-py3-none-any.whl
.
File metadata
- Download URL: ar_wordcloud-0.0.4-py3-none-any.whl
- Upload date:
- Size: 6.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.18.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b2b22d5cabe705cc38a4f0135ceab66df3b5958551934a8e33a641e90fbff4fc |
|
MD5 | 4d3cd850eec3cf25dc716a5ffb68ff7e |
|
BLAKE2b-256 | d86f174754e845e9e9795efdc8b54189ffd4a781ab11b72f539e1525f0a68be9 |