ialdev-core 0.2.0__tar.gz → 0.2.2__tar.gz

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.
Files changed (52) hide show
  1. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/PKG-INFO +3 -1
  2. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/pyproject.toml +4 -1
  3. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/src/iad/core/data/pdtools.py +12 -3
  4. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/src/iad/core/strings.py +2 -2
  5. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/.gitignore +0 -0
  6. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/.pixi/config.toml +0 -0
  7. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/README.md +0 -0
  8. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/src/iad/core/__init__.py +0 -0
  9. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/src/iad/core/cache.py +0 -0
  10. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/src/iad/core/codetools.py +0 -0
  11. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/src/iad/core/data/__init__.py +0 -0
  12. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/src/iad/core/data/array.py +0 -0
  13. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/src/iad/core/data/binary.py +0 -0
  14. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/src/iad/core/data/label.py +0 -0
  15. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/src/iad/core/data/nptools.py +0 -0
  16. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/src/iad/core/data/unc_panda.py +0 -0
  17. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/src/iad/core/data/units.py +0 -0
  18. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/src/iad/core/datatools.py +0 -0
  19. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/src/iad/core/docs/locators.ipynb +0 -0
  20. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/src/iad/core/events.py +0 -0
  21. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/src/iad/core/fnctools.py +0 -0
  22. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/src/iad/core/fs/__init__.py +0 -0
  23. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/src/iad/core/fs/env.py +0 -0
  24. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/src/iad/core/fs/filesproc.py +0 -0
  25. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/src/iad/core/fs/paths.py +0 -0
  26. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/src/iad/core/logs.py +0 -0
  27. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/src/iad/core/one_dark.puml +0 -0
  28. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/src/iad/core/param/__init__.py +0 -0
  29. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/src/iad/core/param/confargparse.py +0 -0
  30. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/src/iad/core/param/paramaze.py +0 -0
  31. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/src/iad/core/regexp.py +0 -0
  32. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/src/iad/core/short.py +0 -0
  33. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/src/iad/core/tbox.py +0 -0
  34. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/src/iad/core/wrap.py +0 -0
  35. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/tests/array.ipynb +0 -0
  36. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/tests/conftest.py +0 -0
  37. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/tests/data/.env +0 -0
  38. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/tests/dot_styles_examples.ipynb +0 -0
  39. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/tests/test_array.py +0 -0
  40. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/tests/test_binar.py +0 -0
  41. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/tests/test_cachepipe.py +0 -0
  42. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/tests/test_codetools.py +0 -0
  43. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/tests/test_coltools.py +0 -0
  44. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/tests/test_datatools.py +0 -0
  45. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/tests/test_events.py +0 -0
  46. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/tests/test_filesproc.py +0 -0
  47. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/tests/test_nptools.py +0 -0
  48. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/tests/test_paths.py +0 -0
  49. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/tests/test_pdtools.py +0 -0
  50. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/tests/test_regexp.py +0 -0
  51. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/tests/test_shorts.py +0 -0
  52. {ialdev_core-0.2.0 → ialdev_core-0.2.2}/tests/test_tbox.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ialdev-core
3
- Version: 0.2.0
3
+ Version: 0.2.2
4
4
  Summary: iad.core — algorithmic utilities: data tools, parameters, paths, caching, and more
5
5
  Author: ipcoder
6
6
  Requires-Python: >=3.10
@@ -36,9 +36,11 @@ Requires-Dist: toolz>=0.11.0
36
36
  Requires-Dist: numba>=0.55.0
37
37
  Requires-Dist: scikit-learn>=1.0.0
38
38
  Requires-Dist: python-dotenv>=0.19.0
39
+ Requires-Dist: ipython>=7.0.0 ; extra == "ipython"
39
40
  Project-URL: Homepage, https://github.com/ipcoder/ialdev/tree/master/algutils
40
41
  Project-URL: Issues, https://github.com/ipcoder/ialdev/issues
41
42
  Project-URL: Repository, https://github.com/ipcoder/ialdev
43
+ Provides-Extra: ipython
42
44
 
43
45
  # ialdev-core
44
46
 
@@ -4,7 +4,7 @@ build-backend = "flit_core.buildapi"
4
4
 
5
5
  [project]
6
6
  name = "ialdev-core"
7
- version = "0.2.0"
7
+ version = "0.2.2"
8
8
  description = "iad.core — algorithmic utilities: data tools, parameters, paths, caching, and more"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -49,6 +49,9 @@ dependencies = [
49
49
  "python-dotenv>=0.19.0",
50
50
  ]
51
51
 
52
+ [project.optional-dependencies]
53
+ ipython = ["ipython>=7.0.0"]
54
+
52
55
  [project.urls]
53
56
  Homepage = "https://github.com/ipcoder/ialdev/tree/master/algutils"
54
57
  Repository = "https://github.com/ipcoder/ialdev"
@@ -16,7 +16,6 @@ if TYPE_CHECKING:
16
16
 
17
17
  import numpy as np
18
18
  import pandas as pd
19
- from IPython import display as ipy_disp
20
19
  from pandas.core.dtypes.common import is_list_like
21
20
 
22
21
  from .. import strings as stt, codetools as cdt, wrap
@@ -46,6 +45,16 @@ _ALL = slice(None)
46
45
  NA = cdt.NamedObj('NA')
47
46
 
48
47
 
48
+ def _ipython_display(*args, **kwargs):
49
+ from IPython import display
50
+ return display.display(*args, **kwargs)
51
+
52
+
53
+ def _ipython_display_html(*args, **kwargs):
54
+ from IPython import display
55
+ return display.display_html(*args, **kwargs)
56
+
57
+
49
58
  def toy_table(rows: int = 4, cols: int | Collection[str] = 2, index: int | Collection[str] = 2):
50
59
  """
51
60
  Create a sample DataTable for experiments
@@ -762,7 +771,7 @@ class TablePainter:
762
771
 
763
772
  if not self.disp:
764
773
  return styled
765
- ipy_disp.display(styled)
774
+ _ipython_display(styled)
766
775
 
767
776
  def __repr__(self):
768
777
  return str(f"{self.__class__.__qualname__}{'[rev]' if self.rev else ''}{self.kws}")
@@ -817,7 +826,7 @@ def side_tables(*tables, caps=None, hide_index=None, painter=None, **kws):
817
826
  .set_caption(cap)._repr_html_()
818
827
  for tb, cap in iter_styled(tables, caps))
819
828
 
820
- ipy_disp.display_html(reduce(str.__add__, tables), raw=True)
829
+ _ipython_display_html(reduce(str.__add__, tables), raw=True)
821
830
 
822
831
 
823
832
  def sample(dt: DTable, selection: slice | int | list[int] | float,
@@ -67,11 +67,11 @@ def short_form(s: str, head=0, tail=0):
67
67
 
68
68
 
69
69
  def smart_warp(s, width=80, **splitters):
70
- """
70
+ r"""
71
71
  Warp string py applying `splitters` in order to limit each line by requested `width`.
72
72
 
73
73
  Every splitter must be a regular expression to use by `re.split(splitter, line, maxsplit=1)`
74
- If splitters not provided, defaults are used:
74
+ If splitters are not provided, defaults are used:
75
75
  ::
76
76
 
77
77
  splitters = dict(
File without changes
File without changes
File without changes