py(thon)2(too)ls
Project description
Install
pip install py2ls
- Minimal version: pip install py2ls
- Light version: pip install py2ls[light]
- Full version: pip install py2ls[full]
- Or any combination like pip install py2ls[full,ml]
ips
listdir, basename, dirname, newfolder, finfo
e.g.,
fpath = "....../"
ips.listdir(fpath, kind='pdf', sort_by="size", ascending=0, output = 'df')
it filters the ‘.pdf’ files, and sort by the (file-size/name, length of name, create_time, mod_time, last_open_time …) it returns a DataFrame or BoxList (setting by ‘output’)
dir_data, dir_fig = newfolder(fpath, {'data', 'fig'}) # create folder
finfo(fpath) # get info: size, creation time, mod time, parent_path, fname, kind...
dir_lib(lib_of_interest) # get the fpath
list_func/func_list (same)
list functions in a package
fload, fsave, figsave
e.g.,
fload(fpath, kind=None, **kwargs)
load file (docx, pdf, image, md, json,csv,txt, html, yaml, xml, xlsx…) or save file.
# figsave, as used in matlab.
figsave(dir_save, "fname.pdf", dpi=300)
pdf2img, img2pdf, docx2pdf
extract images from a PDF, or merge images into a pdf file
pdf2img(dir_pdf, dir_save=None, page=None, kind="png",verbose=True, **kws)
pdf2img(fpath, page=[None, None]) # means extract all pages
# processing page: 1
# processing page: 2
# processing page: 3
# processing page: 4
# processing page: 5
img2pdf(dir_img, kind="jpeg",page=None, dir_save=None, page_size="a4", dpi=300)
docx2pdf(dir_docx, dir_save) # convert docx to pdf
paper_size
quickly get the size info
paper_size('a4') # [210, 297]
paper_size('card') # [85.6, 53.98]
str2num, num2str, str2list
str2num(“123.345 dollers”,2)# => 123.35 (float)
str2list("abcd") # ['a','b','c','d']
list2str(['a','b','c','d']) # 'abcd'
ssplit, sreplace
sreplace(text, dict_replace=None, robust=True)
ssplit(text, by="space", verbose=False, **kws) # by = "word", "sentence", ", ","num_strings","digital".....,"length", "upper followed lower", "lower followed upper"
text = "The most pronounced physiological changes in sleep occur in the brain.[10] The brain uses significantly less energy during sleep than it does when awake, especially during non-REM sleep. In areas with reduced activity, the brain restores its supply of adenosine triphosphate (ATP), the molecule used for short-term storage and transport of energy.[11] In quiet waking, the brain is responsible for 20% of the body's energy use, thus this reduction has a noticeable effect on overall energy consumption.[12]"
ssplit(text, by=["[10]", "[11]", "[12]"])
# ['The most pronounced physiological changes in sleep occur in the brain.',
# ' The brain uses significantly less energy during sleep than it does when awake, especially during non-REM sleep. In areas with reduced activity, the brain restores its supply of adenosine triphosphate (ATP), the molecule used for short-term storage and transport of energy.',
# " In quiet waking, the brain is responsible for 20% of the body's energy use, thus this reduction has a noticeable effect on overall energy consumption.",
# '']
ssplit(text[:30], by="len", length=5)
# ['The m', 'ost p', 'ronou', 'nced ', 'physi', 'ologi']
ssplit(text, by="non_alphanumeric")
# ['The most pronounced physiological changes in sleep occur in the brain.[',
# '10',
# '] The brain uses significantly less energy during sleep than it does when awake, especially during non-REM sleep. In areas with reduced activity, the brain restores its supply of adenosine triphosphate (ATP), the molecule used for short-term storage and transport of energy.[',
# '11',
# '] In quiet waking, the brain is responsible for ',
# '20',
# "% of the body's energy use, thus this reduction has a noticeable effect on overall energy consumption.[",
# '12',
# ']']
ssplit(text, by="sent")
#['The most pronounced physiological changes in sleep occur in the brain.',
#'[10] The brain uses significantly less energy during sleep than it does when awake, especially during non-REM sleep.',
#'In areas with reduced activity, the brain restores its supply of adenosine triphosphate (ATP), the molecule used for short-term storage and transport of energy.',
#"[11] In quiet waking, the brain is responsible for 20% of the body's energy use, thus this reduction has a noticeable effect on overall energy consumption.",
#'[12]']
ssplit(text, by="lowup")
# ["The most pronounced physiological changes in sleep occur in the brain.[10] The brain uses significantly less energy during sleep than it does when awake, especially during non-REM sleep. In areas with reduced activity, the brain restores its supply of adenosine triphosphate (ATP), the molecule used for short-term storage and transport of energy.[11] In quiet waking, the brain is responsible for 20% of the body's energy use, thus this reduction has a noticeable effect on overall energy consumption.[12]"]
sreplace(text, dict_replace=None, robust=True)
text= 'The most pronounced physiological changes in sleep occur in the brain.[10] '
'The brain uses significantly less energy during sleep than it does when '
'awake, especially during non-REM sleep. In areas with reduced activity, the '
'brain restores its supply of adenosine triphosphate (ATP), the molecule used '
'for short-term storage and transport of energy.[11] In quiet waking, the '
"brain is responsible for 20% of the body's energy use, thus this reduction "
'has a noticeable effect on overall energy consumption.[12]'
sreplace(text)
"The most pronounced physiological changes in sleep occur in the brain"
sreplace(text,{"sleep":"wakewake"}) # sreplace(text,dict(sleep="wakewake"))
"The most pronounced physiological changes in wakewake occur in the brain."
stats
FuncCmpt ( two groups cmp)
FuncCmpt(X1, X2, pmc='auto', pair='unpaired')
e.g.,
X1 = [19, 22, 16, 29, 24]
X2 = [20, 11, 17, 12, 22]
p, res = FumcCmpt(X1,X2, pmc='pmc', pair = 'unpair')
# normally distributed
# normally distributed
# unpaired t text
# t(8) = 1.81117, p=0.1077
p,res = FuncCmpt(x1,x2, pmc='pmc',pair='pair')
# paired t test
# t(4)=1.55556,p=0.19479
FuncMultiCmpt ( multiple groups cmp)
FuncMultiCmpt(pmc='pmc', pair='unpair', data=None, dv=None, factor=None,
ss_type=2, detailed=True, effsize='np2',
correction='auto', between=None, within=None,
subject=None, group=None
)
df = pd.DataFrame({'score': [64, 66, 68, 75, 78, 94, 98, 79, 71, 80,
91, 92, 93, 90, 97, 94, 82, 88, 95, 96,
79, 78, 88, 94, 92, 85, 83, 85, 82, 81],
'group': np.repeat(['strat1', 'strat2', 'strat3'],repeats=10)})
res = FuncMultiCmpt(pmc='auto',pair='unpaired',data=df, dv='score', factor='group', group='group')
res["APA"]
# ['group:F(2, 17)=9.71719,p=0.0016']
FuncStars
FuncStars(ax,
pval=None,
Ylim=None,
Xlim=None,
symbol='*',
yscale=0.95,
x1=0,
x2=1,
alpha=0.05,
fontsize=14,
fontsize_note=6,
rotation=0,
fontname='Arial',
values_below=None,
linego=True,
linestyle='-',
linecolor='k',
linewidth=.8,
nsshow='off',
symbolcolor='k',
tailindicator=[0.06, 0.06],
report=None,
report_scale=-0.1,
report_loc=None)
plots
stdshade
stdshade(ax=None,*args, **kwargs)
add_colorbar
add_colorbar(im, width=None, pad=None, **kwargs)
get_color
get_color(n=1, cmap='auto')
get_color(12)
# ['#474747',
# '#FF2C00',
# '#0C5DA5',
# '#845B97',
# '#58BBCC',
# '#FF9500',
# '#D57DBE',
# '#474747',
# '#FF2C00',
# '#0C5DA5',
# '#845B97',
# '#58BBCC']
get_color(5, cmap="jet") # ['#000080', '#000084', '#000089', '#00008d', '#000092']
get_color(5,cmap="rainbow") #['#8000ff', '#7e03ff', '#7c06ff', '#7a09ff', '#780dff']
img appearance
imgsets
imgsets(
img,
sets=None,
show=True,
show_axis=False,
size=None,
dpi=100,
figsize=None,
auto=False,
filter_kws=None,
)
img = imgsets(
fpath,
sets={"rota": -5, "sharp": 10},
dpi=200,
# show_axis=True,
)
figsave(dir_save, "test1_sharp.pdf")
img2 = imgsets(
fpath,
sets={"rota": -5, "crop": [100, 100, 300, 400], "sharp": 10},
dpi=200,
filter_kws={
"sharpen": 10,
},
# show_axis=True,
)
figsave(dir_save, "test2_crop.pdf")
fload(dir_img)
imgsets(img, sets={"color": 1.5}, show=0)
imgsets(img, sets={"pad": (300, 300), "bgcolor": (73, 162, 127)}, show=0)
imgsets(
img,
sets={"contrast": 1.3, "color": 1.5, "pad": (300, 300)},
show=0,
filter_kws=dict(sh=1050, EDG=10, gaus=5),
)
imgsets(
img,
sets={"color": 10.5},
show=0,
filter_kws=dict(EDGE_ENHANCE=50, EDGE_NHANCEmore=50),
)
imgsets(
img,
sets=dict(contr=1.5, rm="default"),
show=0,
# filter_kws=dict(sharp=1),
)
imgsets(
img,
sets=dict(contr=0, rm="default"),
show=0,
filter_kws=dict(sharp=1),
)
figsets
figsets(*args)
cm = 1 / 2.54
# plt.style.use("paper")
plt.figure(figsize=[8 * cm, 5 * cm])
for i in range(2, 4):
plt.plot(x, y * i, ls="-")
figsets(
plt.gca(),
{
"xlabel": f"time([{x[0]}:{x[-1]}])",
"ylabel": "Amplitude (signals)",
# "titel": "paper",
"xlim": [0, 600],
"xtick": np.arange(0, 620, 150),
"xlabel": "test xticklabel",
# "ylim": [-2.5, 2.5],
"sp": "go",
# "style": "paper",
"box": ":",
"grid": "on",
"minorticks": "on",
"ticks": {"c": "k"},
},
)
figsets('style','paper')
cm = 1/2.54 # centimeters in inches
fig, ax = plt.subplots(1, 1, figsize=(7*cm, 5*cm))
x = np.linspace(0, 2 * np.pi, 50) * 100
y = np.sin(x)
c=get_color(7)
for i in range(2,7):
plt.plot(x, y*i,c=c[i])
figsets(
ax,
{
"xlim": [0, 450],
# "ylim": [-1.5, 1.5],
"xlabel": "2222",
# "style":"paper",
"yticks": np.arange(-5,5, 2),
"ylabel": "ylabelsssss",
"xtkbel": range(0, 800, 100),
# "spine": 5,
"suptitle": "supertitle",
# "minorticks": "y",
# "ticksloc":"lt",
# "ticks": {"direction": "out",'c':'b'},
"rotation":45,
# 'box':"lt",
# "labellocation":'r',
# "ax_color":'b',
# 'grid':{"which":'minor','lw':1,"ls":'-.','c':'b','al':0.3},
},
)
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file py2ls-0.2.7.15.tar.gz.
File metadata
- Download URL: py2ls-0.2.7.15.tar.gz
- Upload date:
- Size: 5.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.4 Darwin/25.2.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
206590642fdb1f4724d3bb4b13f05245319b9934ffed3172731e348f3f75e9be
|
|
| MD5 |
9271959566e42e670cd078088fa75f2a
|
|
| BLAKE2b-256 |
0cacfba717e97bca32396ee397c960621558ee033ffb96dfe551a2064ab53df5
|
File details
Details for the file py2ls-0.2.7.15-py3-none-any.whl.
File metadata
- Download URL: py2ls-0.2.7.15-py3-none-any.whl
- Upload date:
- Size: 5.0 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.4 Darwin/25.2.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
79095d44f475d93ad7a16f8b410d1cf9a0db019a70e206db5a699cfd8bd05e32
|
|
| MD5 |
fee71281f1a53195bdf8b3c117cd5ae9
|
|
| BLAKE2b-256 |
84f6fdfe5b4d2fcee138a703575b55e445a244d9e8ec5a401365d14aa47d47c9
|