py2ls 0.1.9.5__py3-none-any.whl → 0.1.9.7__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
py2ls/.DS_Store CHANGED
Binary file
py2ls/netfinder.py CHANGED
@@ -209,6 +209,13 @@ def get_soup(url, driver="req"):
209
209
  return soup_
210
210
 
211
211
 
212
+ def get_cookies(url, login={"username": "your_username", "password": "your_password"}):
213
+ session = requests.Session()
214
+ response = session.post(url, login)
215
+ cookies_dict = session.cookies.get_dict()
216
+ return cookies_dict
217
+
218
+
212
219
  def fetch_all(
213
220
  url,
214
221
  parser="lxml",
@@ -230,6 +237,7 @@ def fetch_all(
230
237
  javascript=True, # Add JavaScript option
231
238
  disable_images=False, # Add option to disable images
232
239
  iframe_name=None,
240
+ login_dict=None,
233
241
  ): # Add option to handle iframe): # lxml is faster, # parser="html.parser"
234
242
  try:
235
243
  # # Generate a random user-agent string
@@ -302,6 +310,12 @@ def fetch_all(
302
310
 
303
311
  driver_ = webdriver.Chrome(service=service, options=chrome_options)
304
312
 
313
+ if login_url and login_dict:
314
+ cookies = get_cookies(url=login_url, login=login_dict)
315
+ driver_.get(url)
316
+ for cookie_name, cookie_value in cookies.items():
317
+ driver_.add_cookie({"name": cookie_name, "value": cookie_value})
318
+
305
319
  if not javascript:
306
320
  driver_.execute_cdp_cmd(
307
321
  "Emulation.setScriptExecutionDisabled", {"value": True}
py2ls/plot.py CHANGED
@@ -10,7 +10,7 @@ from cycler import cycler
10
10
  import logging
11
11
  import os
12
12
 
13
- from .ips import fsave, fload, mkdir, listdir
13
+ from .ips import fsave, fload, mkdir, listdir, figsave
14
14
  from .stats import *
15
15
 
16
16
  # Suppress INFO messages from fontTools
@@ -311,13 +311,118 @@ def catplot(data, *args, **kwargs):
311
311
  violin_positions = np.nanmean(violin_positions, axis=0)
312
312
  for i, (x, ys) in enumerate(zip(violin_positions, data.T)):
313
313
  ys = ys[~np.isnan(ys)]
314
- kde = gaussian_kde(ys, bw_method=opt_v["BandWidth"])
315
- min_val, max_val = ys.min(), ys.max()
316
- y_vals = np.linspace(min_val, max_val, opt_v["NumPoints"])
317
- kde_vals = kde(y_vals)
318
- kde_vals = kde_vals / kde_vals.max() * opt_v["x_width"]
319
- if label is not None and i < len(label):
320
- if len(ys) > 1:
314
+ if np.all(ys == ys[0]): # Check if data is constant
315
+ print(
316
+ "Data is constant; KDE cannot be applied. Plotting a flat line instead."
317
+ )
318
+ if vertical:
319
+ ax.plot(
320
+ [x - opt_v["x_width"] / 2, x + opt_v["x_width"] / 2],
321
+ [ys[0], ys[0]],
322
+ color=opt_v["FaceColor"][i % len(opt_v["FaceColor"])],
323
+ lw=2,
324
+ label=label[i] if label else None,
325
+ )
326
+ else:
327
+ ax.plot(
328
+ [ys[0], ys[0]],
329
+ [x - opt_v["x_width"] / 2, x + opt_v["x_width"] / 2],
330
+ color=opt_v["FaceColor"][i % len(opt_v["FaceColor"])],
331
+ lw=2,
332
+ label=label[i] if label else None,
333
+ )
334
+ else:
335
+ kde = gaussian_kde(ys, bw_method=opt_v["BandWidth"])
336
+ min_val, max_val = ys.min(), ys.max()
337
+ y_vals = np.linspace(min_val, max_val, opt_v["NumPoints"])
338
+ kde_vals = kde(y_vals)
339
+ kde_vals = kde_vals / kde_vals.max() * opt_v["x_width"]
340
+ if label is not None and i < len(label):
341
+ if len(ys) > 1:
342
+ if "r" in opt_v["loc"].lower():
343
+ ax.fill_betweenx(
344
+ y_vals,
345
+ x,
346
+ x + kde_vals,
347
+ color=opt_v["FaceColor"][i % len(opt_v["FaceColor"])],
348
+ alpha=opt_v["FaceAlpha"],
349
+ edgecolor=opt_v["EdgeColor"],
350
+ label=label[i],
351
+ lw=opt_v["LineWidth"],
352
+ hatch=opt_v["hatch"][i % len(opt_v["FaceColor"])],
353
+ )
354
+ elif (
355
+ "l" in opt_v["loc"].lower()
356
+ and not "f" in opt_v["loc"].lower()
357
+ ):
358
+ ax.fill_betweenx(
359
+ y_vals,
360
+ x - kde_vals,
361
+ x,
362
+ color=opt_v["FaceColor"][i % len(opt_v["FaceColor"])],
363
+ alpha=opt_v["FaceAlpha"],
364
+ edgecolor=opt_v["EdgeColor"],
365
+ label=label[i],
366
+ lw=opt_v["LineWidth"],
367
+ hatch=opt_v["hatch"][i % len(opt_v["FaceColor"])],
368
+ )
369
+ elif (
370
+ "o" in opt_v["loc"].lower()
371
+ or "both" in opt_v["loc"].lower()
372
+ ):
373
+ ax.fill_betweenx(
374
+ y_vals,
375
+ x - kde_vals,
376
+ x + kde_vals,
377
+ color=opt_v["FaceColor"][i % len(opt_v["FaceColor"])],
378
+ alpha=opt_v["FaceAlpha"],
379
+ edgecolor=opt_v["EdgeColor"],
380
+ label=label[i],
381
+ lw=opt_v["LineWidth"],
382
+ hatch=opt_v["hatch"][i % len(opt_v["FaceColor"])],
383
+ )
384
+ elif "i" in opt_v["loc"].lower():
385
+ if i % 2 == 1: # odd number
386
+ ax.fill_betweenx(
387
+ y_vals,
388
+ x - kde_vals,
389
+ x,
390
+ color=opt_v["FaceColor"][
391
+ i % len(opt_v["FaceColor"])
392
+ ],
393
+ alpha=opt_v["FaceAlpha"],
394
+ edgecolor=opt_v["EdgeColor"],
395
+ label=label[i],
396
+ lw=opt_v["LineWidth"],
397
+ hatch=opt_v["hatch"][i % len(opt_v["FaceColor"])],
398
+ )
399
+ else:
400
+ ax.fill_betweenx(
401
+ y_vals,
402
+ x,
403
+ x + kde_vals,
404
+ color=opt_v["FaceColor"][
405
+ i % len(opt_v["FaceColor"])
406
+ ],
407
+ alpha=opt_v["FaceAlpha"],
408
+ edgecolor=opt_v["EdgeColor"],
409
+ label=label[i],
410
+ lw=opt_v["LineWidth"],
411
+ hatch=opt_v["hatch"][i % len(opt_v["FaceColor"])],
412
+ )
413
+ elif "f" in opt_v["loc"].lower():
414
+ ax.fill_betweenx(
415
+ y_vals,
416
+ x - kde_vals,
417
+ x + kde_vals,
418
+ color=opt_v["FaceColor"][i % len(opt_v["FaceColor"])],
419
+ alpha=opt_v["FaceAlpha"],
420
+ edgecolor=opt_v["EdgeColor"],
421
+ label=label[i],
422
+ lw=opt_v["LineWidth"],
423
+ hatch=opt_v["hatch"][i % len(opt_v["FaceColor"])],
424
+ )
425
+ else:
321
426
  if "r" in opt_v["loc"].lower():
322
427
  ax.fill_betweenx(
323
428
  y_vals,
@@ -326,7 +431,8 @@ def catplot(data, *args, **kwargs):
326
431
  color=opt_v["FaceColor"][i % len(opt_v["FaceColor"])],
327
432
  alpha=opt_v["FaceAlpha"],
328
433
  edgecolor=opt_v["EdgeColor"],
329
- label=label[i],
434
+ lw=opt_v["LineWidth"],
435
+ hatch=opt_v["hatch"][i % len(opt_v["FaceColor"])],
330
436
  )
331
437
  elif (
332
438
  "l" in opt_v["loc"].lower() and not "f" in opt_v["loc"].lower()
@@ -338,7 +444,8 @@ def catplot(data, *args, **kwargs):
338
444
  color=opt_v["FaceColor"][i % len(opt_v["FaceColor"])],
339
445
  alpha=opt_v["FaceAlpha"],
340
446
  edgecolor=opt_v["EdgeColor"],
341
- label=label[i],
447
+ lw=opt_v["LineWidth"],
448
+ hatch=opt_v["hatch"][i % len(opt_v["FaceColor"])],
342
449
  )
343
450
  elif "o" in opt_v["loc"].lower() or "both" in opt_v["loc"].lower():
344
451
  ax.fill_betweenx(
@@ -348,7 +455,8 @@ def catplot(data, *args, **kwargs):
348
455
  color=opt_v["FaceColor"][i % len(opt_v["FaceColor"])],
349
456
  alpha=opt_v["FaceAlpha"],
350
457
  edgecolor=opt_v["EdgeColor"],
351
- label=label[i],
458
+ lw=opt_v["LineWidth"],
459
+ hatch=opt_v["hatch"][i % len(opt_v["FaceColor"])],
352
460
  )
353
461
  elif "i" in opt_v["loc"].lower():
354
462
  if i % 2 == 1: # odd number
@@ -359,7 +467,8 @@ def catplot(data, *args, **kwargs):
359
467
  color=opt_v["FaceColor"][i % len(opt_v["FaceColor"])],
360
468
  alpha=opt_v["FaceAlpha"],
361
469
  edgecolor=opt_v["EdgeColor"],
362
- label=label[i],
470
+ lw=opt_v["LineWidth"],
471
+ hatch=opt_v["hatch"][i % len(opt_v["FaceColor"])],
363
472
  )
364
473
  else:
365
474
  ax.fill_betweenx(
@@ -369,7 +478,8 @@ def catplot(data, *args, **kwargs):
369
478
  color=opt_v["FaceColor"][i % len(opt_v["FaceColor"])],
370
479
  alpha=opt_v["FaceAlpha"],
371
480
  edgecolor=opt_v["EdgeColor"],
372
- label=label[i],
481
+ lw=opt_v["LineWidth"],
482
+ hatch=opt_v["hatch"][i % len(opt_v["FaceColor"])],
373
483
  )
374
484
  elif "f" in opt_v["loc"].lower():
375
485
  ax.fill_betweenx(
@@ -379,64 +489,9 @@ def catplot(data, *args, **kwargs):
379
489
  color=opt_v["FaceColor"][i % len(opt_v["FaceColor"])],
380
490
  alpha=opt_v["FaceAlpha"],
381
491
  edgecolor=opt_v["EdgeColor"],
382
- label=label[i],
492
+ lw=opt_v["LineWidth"],
493
+ hatch=opt_v["hatch"][i % len(opt_v["FaceColor"])],
383
494
  )
384
- else:
385
- if "r" in opt_v["loc"].lower():
386
- ax.fill_betweenx(
387
- y_vals,
388
- x,
389
- x + kde_vals,
390
- color=opt_v["FaceColor"][i % len(opt_v["FaceColor"])],
391
- alpha=opt_v["FaceAlpha"],
392
- edgecolor=opt_v["EdgeColor"],
393
- )
394
- elif "l" in opt_v["loc"].lower() and not "f" in opt_v["loc"].lower():
395
- ax.fill_betweenx(
396
- y_vals,
397
- x - kde_vals,
398
- x,
399
- color=opt_v["FaceColor"][i % len(opt_v["FaceColor"])],
400
- alpha=opt_v["FaceAlpha"],
401
- edgecolor=opt_v["EdgeColor"],
402
- )
403
- elif "o" in opt_v["loc"].lower() or "both" in opt_v["loc"].lower():
404
- ax.fill_betweenx(
405
- y_vals,
406
- x - kde_vals,
407
- x + kde_vals,
408
- color=opt_v["FaceColor"][i % len(opt_v["FaceColor"])],
409
- alpha=opt_v["FaceAlpha"],
410
- edgecolor=opt_v["EdgeColor"],
411
- )
412
- elif "i" in opt_v["loc"].lower():
413
- if i % 2 == 1: # odd number
414
- ax.fill_betweenx(
415
- y_vals,
416
- x - kde_vals,
417
- x,
418
- color=opt_v["FaceColor"][i % len(opt_v["FaceColor"])],
419
- alpha=opt_v["FaceAlpha"],
420
- edgecolor=opt_v["EdgeColor"],
421
- )
422
- else:
423
- ax.fill_betweenx(
424
- y_vals,
425
- x,
426
- x + kde_vals,
427
- color=opt_v["FaceColor"][i % len(opt_v["FaceColor"])],
428
- alpha=opt_v["FaceAlpha"],
429
- edgecolor=opt_v["EdgeColor"],
430
- )
431
- elif "f" in opt_v["loc"].lower():
432
- ax.fill_betweenx(
433
- y_vals,
434
- x - kde_vals,
435
- x + kde_vals,
436
- color=opt_v["FaceColor"][i % len(opt_v["FaceColor"])],
437
- alpha=opt_v["FaceAlpha"],
438
- edgecolor=opt_v["EdgeColor"],
439
- )
440
495
 
441
496
  def plot_ridgeplot(data, x, y, opt_r, **kwargs_figsets):
442
497
  # in the sns.FacetGrid class, the 'hue' argument is the one that is the one that will be represented by colors with 'palette'
@@ -939,11 +994,13 @@ def catplot(data, *args, **kwargs):
939
994
  opt["v"].setdefault("x_dist", opt["v"]["x_width"])
940
995
  opt["v"].setdefault("loc", "r")
941
996
  opt["v"].setdefault("EdgeColor", "none")
997
+ opt["v"].setdefault("LineWidth", 0.5)
942
998
  opt["v"].setdefault("FaceColor", color_custom)
943
999
  opt["v"].setdefault("FaceAlpha", 1)
944
1000
  opt["v"].setdefault("BandWidth", "scott")
945
1001
  opt["v"].setdefault("Function", "pdf")
946
1002
  opt["v"].setdefault("Kernel", "gau")
1003
+ opt["v"].setdefault("hatch", None)
947
1004
  opt["v"].setdefault("NumPoints", 500)
948
1005
  opt["v"].setdefault("BoundaryCorrection", "reflection")
949
1006
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: py2ls
3
- Version: 0.1.9.5
3
+ Version: 0.1.9.7
4
4
  Summary: py(thon)2(too)ls
5
5
  Author: Jianfeng
6
6
  Author-email: Jianfeng.Liu0413@gmail.com
@@ -1,4 +1,4 @@
1
- py2ls/.DS_Store,sha256=TrIRWvsmm5K2ZOHOl-Xg5QGwFENxbPivhMQVowzk3qw,6148
1
+ py2ls/.DS_Store,sha256=BloZZz2vlFVfF-I3X7ZsqXusvqOawJMx7erKcnIP-b0,6148
2
2
  py2ls/.git/COMMIT_EDITMSG,sha256=5xj-jWMbrdOc9m7gSn-UcsAQ9FMNvWSbLWSsrOUIO5w,7
3
3
  py2ls/.git/FETCH_HEAD,sha256=6cJaQzb6VhkvNNm-KsABX6R28FNKZB8qMmqacDEP_dQ,100
4
4
  py2ls/.git/HEAD,sha256=KNJb-Cr0wOK3L1CVmyvrhZ4-YLljCl6MYD2tTdsrboA,21
@@ -174,13 +174,13 @@ py2ls/doc.py,sha256=xN3g1OWfoaGUhikbJ0NqbN5eKy1VZVvWwRlhHMgyVEc,4243
174
174
  py2ls/export_requirements.py,sha256=x2WgUF0jYKz9GfA1MVKN-MdsM-oQ8yUeC6Ua8oCymio,2325
175
175
  py2ls/freqanalysis.py,sha256=F4218VSPbgL5tnngh6xNCYuNnfR-F_QjECUUxrPYZss,32594
176
176
  py2ls/ips.py,sha256=N7MdOCgJXDQu73YkJQTtDN3RSntzXX7V0MOJ1NYBLEk,100572
177
- py2ls/netfinder.py,sha256=KJIvg3JZSsy1dJZHNJvd9Y3oyYG0mbdTjtXimdRs8e8,49182
178
- py2ls/plot.py,sha256=DeGchynrr5KHivV-vgrOj3pUMi75SaBVRbUc3XkZe7c,82630
177
+ py2ls/netfinder.py,sha256=vBwadoT0c9doz11qD1VxpagvYaaTHocMasa2xvHjAkI,49733
178
+ py2ls/plot.py,sha256=Cpx0cZoU-TN-q3Awmk75DYZsN4nGpnB_dHh262l_-Is,86130
179
179
  py2ls/setuptools-70.1.0-py3-none-any.whl,sha256=2bi3cUVal8ip86s0SOvgspteEF8SKLukECi-EWmFomc,882588
180
180
  py2ls/sleep_events_detectors.py,sha256=bQA3HJqv5qnYKJJEIhCyhlDtkXQfIzqksnD0YRXso68,52145
181
181
  py2ls/stats.py,sha256=U2yeTYUkInI4JXtfhdSbSAzna_h8rh8MZmY31o51_EU,38169
182
182
  py2ls/translator.py,sha256=bc5FB-wqC4TtQz9gyCP1mE38HqNRJ_pmuRIgKnAlMzM,30581
183
183
  py2ls/wb_detector.py,sha256=7y6TmBUj9exCZeIgBAJ_9hwuhkDh1x_-yg4dvNY1_GQ,6284
184
- py2ls-0.1.9.5.dist-info/METADATA,sha256=sQK7r2gM_Az7cKffERl81if1FJ7Qn0viiNTkijjcmvI,20017
185
- py2ls-0.1.9.5.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
186
- py2ls-0.1.9.5.dist-info/RECORD,,
184
+ py2ls-0.1.9.7.dist-info/METADATA,sha256=srGoKyBsLj4Lkid5Ao60j521vzOKgkXl8Zyoyd6SFLI,20017
185
+ py2ls-0.1.9.7.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
186
+ py2ls-0.1.9.7.dist-info/RECORD,,