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) Use in shell (command line)
Note: support Linux and Mac OS (try git bash if using Windows)
#install
#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
#try luna!
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
(2) Use in python
from wzk.luna import *
p = "/Users/wzk/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.