A Python CLI for obtaining emojis as files and favicons.
Project description
pycture
A Python CLI for obtaining emojis as files and favicons.
Quickstart
Usage: pycture [OPTIONS] EMOJI
Get EMOJI as a file or favicon via its CLDR short name.
Use Unicode 9.0 and Emoji 3.0 as a reference.
Options:
-o, --output-dir DIRECTORY The path to the output directory.
[default: (current directory)]
-p, --pretty Pretty-print the SVG code.
-s, --source [Twemoji|OpenMoji]
The source of the emoji to obtain.
[default: Twemoji]
--version Show the version and exit.
--help Show this message and exit.
Tech Stack
- Click (for the interface)
- Requests (for HTTP requests)
- defusedxml (for parsing XML/SVG data)
Packaging and Development
This CLI was created with Cookiecutter and the joaopalmeiro/cookiecutter-templates/python-cli
project template.
Development
poetry install
poetry shell
Notes
- click-contrib (a collection of third-party extensions).
- click-man package (man pages).
- click-help-colors package.
- click-didyoumean package.
- click_params package (extra types).
- OpenMoji.
- emoji package.
- demoji package.
- Twemoji.
- Inflection package.
- Unicode:
- Full Emoji List.
- Full Emoji Modifier Sequences.
- Emoji Counts.
- Emoji List, v13.0.
- unicodedata (Python 3.6 -> Unicode 9.0).
- Emoji Version 3.0 (this emoji version coincided with the release of Unicode 9.0).
- cookiecutter-poetry (only the
pyproject.toml
file and nopoetry.lock
file). cli.py
orconsole.py
.- Asyncio integration issue (Click).
- asyncclick package (fork of Click).
- XML vulnerabilities.
- Bandit:
- B405 complains about any xml.etree.ElementTree import, not just parse-related ones (open) issue.
- from xml.etree.ElementTree import Element Flagged (open) issue.
- Error message refers to "defusedxml.defuse_stdlib()" but calling that does not silence bandit (open) issue.
- defusedxml provides alternatives for parsing-related functions.
- Shell completion (for commands, options, and choice values):
- Generate the activation script:
_PYCTURE_COMPLETE=source_zsh pycture > pycture-complete.sh
. - In
.bashrc
or.zshrc
, source the script:. /path/to/pycture-complete.sh
. - Alternative:
eval "$(_PYCTURE_COMPLETE=source_zsh pycture)"
.
- Generate the activation script:
- aiohttp package (vs. Requests):
- "(...) you can picture the session object as a user starting and closing a browser: it wouldn't make sense to do that every time you want to load a new tab." (source)
# aiohttp
async with aiohttp.ClientSession() as session:
async with session.get("http://python.org") as response:
print(await response.text())
# vs.
# Requests
response = requests.get("http://python.org")
print(response.text)
# or
with requests.Session() as session:
response = session.get("http://python.org")
print(response.text)
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
pycture-0.1.0.tar.gz
(7.0 kB
view details)
Built Distribution
File details
Details for the file pycture-0.1.0.tar.gz
.
File metadata
- Download URL: pycture-0.1.0.tar.gz
- Upload date:
- Size: 7.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.4 CPython/3.6.13 Linux/5.4.0-1046-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 918dad2ce282c1516fc59a682a1872a7d158c3da4acef68a710cb96deb866a0e |
|
MD5 | 32305ca502437a9a79b2f033ae4c6986 |
|
BLAKE2b-256 | 99bd00cc8f1a806459b21fc759aa162dc211443d5a3dc9562ba98deb7602cc5f |
File details
Details for the file pycture-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: pycture-0.1.0-py3-none-any.whl
- Upload date:
- Size: 7.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.4 CPython/3.6.13 Linux/5.4.0-1046-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a87b326f8b8ce23faa8392bf2e396d3730861c8909b19dc7630032fdd744587 |
|
MD5 | 6654e7558578c42c7e96f05568c76933 |
|
BLAKE2b-256 | 622229b6f342ef9e031f95501be5351908fa55be2edff390a4844318a3f54b3b |