wzk's library
Project description
This is wzk's personal python library~
How to install?
simply run pip install wzk
. That's it!
(make sure your python version >= 3.7)
What can you do?
Entertainment
play games
Each with an interesting console game
import wzk
wzk.flight_game()
wzk.game2048()
wzk.mine_sweep()
wzk.texas_poker()
wzk.pokemon()
wzk.mahjong()
鬼畜
What happens if you translate one sentence 20 times with Baidu translation?
import wzk
wzk.funny_translate("二臣贼子,你枉活七十有六,一生未立寸功,只会摇唇鼓舌,助曹为虐!")
Academic
look up english words in dictionary
Off-line Chinese-English dictionary with more than 100k words;
Translate with baidu or off-line dictionary
import wzk
wzk.lookup("good", verbose=True, non_alpha=False)
#translate with baidu
wzk.translate("I love you")
#translate with dictionary
wzk.direct_translate("I love you")
check your OO homework
Generate data, judge your results, and beatmatch with peers
Note: made in 2020, may not be applicable in later years
from wzk.oo2020 import *
check_files(["test1.txt","test2.txt","test3.txt"])
print(hw3_generator(10))
print(hw7_generator(10,3,10))
print(hw11_generator(10,5))
print(hw13_generator())
print(derivative_judge("3*x**2","x**3"))
print(hw5_judge(open("out.txt").read(), open("data.txt").read()))
NLP metric
Calculate BLEU score
from wzk.nlp import bleu
print(bleu("they are good", "they are not good", k=2))
Useful Tools
Luna: simple version control system
"luna" can mean anything, depending on your mood.
- the goddess of the moon in Roman mythology: isn't it great?
"light unix-like navigating assistant"
: you're in a good mood, and it actually works for you. Angels sing, and a light suddenly fills the room."loony unsteady nerd as**ole"
: when it breaks- Luna Lovegood in HP: correct!
(1) installation
- method 1: python -- recommended
import wzk.luna
wzk.luna.install()
- method 2: shell
#change PATH to the absolute path of wzk/luna.py
#change .bashrc if using another shell. e.g. ~/.zshrc
echo "alias luna='python PATH/luna.py' " >> ~/.bashrc
source ~/.bashrc
#for single trial, "alias luna='python PATH/luna.py'" is enough
(2) Use in shell (command line) -- recommended
Note: support Linux and Mac OS (try git bash if using Windows)
mkdir test
cd test
luna init
touch 666.txt
luna commit "first commit"
touch hahaha
echo "hello world" >> 666.txt
luna diff
luna commit "second commit"
luna log
luna diff 1 2
luna diff 1 666.txt
luna reset 1
luna reset 2
luna history
luna delete 1
luna info
luna discard
(3) Use in python
from wzk.luna import *
p = "~/Desktop/"
init(p)
makefile(p, "1")
commit(p, "commit 1")
makefile(p, "2")
commit(p, "commit 2")
revise(p, 2, "commit 3 new message")
reset(p, 1)
reset(p, 2)
history(p)
send email
Send email with SMTP
import wzk
mail_host = ...
mail_user = ...
mail_pass = ...
sender = wzk.parser.MailSender(mail_host, mail_user, mail_pass)
sender.send_mail(title="hi~", content="nothing~", receiver=None)
check web page update
Automatically check web page and send notification email upon update
import wzk
mail_host = ...
mail_user = ...
mail_pass = ...
checker = wzk.parser.WebPageUpdateChecker(mail_host, mail_user, mail_pass, cookies=None)
checker.check("www.baidu.com", interval=10)
check system information
see information on your system and python
from wzk.os import *
show_os_all_info()
show_python_all_info()
For Developers
improved data structure
Dictionary supporting inverse-mapping and attribute-indexing
Number type supporting setting bound and loop
from wzk import DD, N
a = DD({"good": "kk"})
a.bad = "nyima"
print(a.good)
print(a["bad"])
print(a.inv())
print(a.inv().inv())
b = N(4, upper_bound=8, lower_bound=3)
b += 5
c = N(4, upper_bound=8, lower_bound=3, loop=True)
print(c+5)
interestring utensils
Several interesing utensils
import time
from wzk import ErrorFucker, Separate, Clock
with ErrorFucker(raises=False) as ef1:
d1 = int("f")
with Separate("separate zone", count=True) as s:
print("ohhh")
with s:
with Clock("test") as c:
time.sleep(2)
print(c)
with ErrorFucker(raises=True) as ef2:
d2 = int("d")
simplified pytorch(?)
Scalar autograd mechanism
from wzk.autograd.thing import *
a = thing(2)
b = thing(3)
c = a + leaky_relu(b)
d = thing(5)
e = tanh(d)
f = relu(e)
g = log(f)
g.backward()
print(a, b, c, d, e, f, g)
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 Distributions
Built Distribution
File details
Details for the file wzk-0.1.5-py3-none-any.whl
.
File metadata
- Download URL: wzk-0.1.5-py3-none-any.whl
- Upload date:
- Size: 4.1 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 760e54f2b1e62afa57653979f448de25af4b58a53298cff01104f9d0cb3a6b96 |
|
MD5 | 0d877ffbc9a5b399876a07e9faa35b3e |
|
BLAKE2b-256 | 5bfe0b74209274e789081deeb1a90ba8802713634ddc403db7c2c1c6567eaea2 |