penwings 0.3.0.dev0__tar.gz → 0.3.0.dev2__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 (24) hide show
  1. {penwings-0.3.0.dev0/src/penwings.egg-info → penwings-0.3.0.dev2}/PKG-INFO +1 -1
  2. penwings-0.3.0.dev2/src/penwings/io/__init__.py +5 -0
  3. {penwings-0.3.0.dev0 → penwings-0.3.0.dev2}/src/penwings/io/cache.py +2 -0
  4. penwings-0.3.0.dev2/src/penwings/paths/__init__.py +6 -0
  5. {penwings-0.3.0.dev0 → penwings-0.3.0.dev2}/src/penwings/paths/project_paths.py +16 -17
  6. {penwings-0.3.0.dev0 → penwings-0.3.0.dev2/src/penwings.egg-info}/PKG-INFO +1 -1
  7. penwings-0.3.0.dev0/src/penwings/paths/__init__.py +0 -0
  8. penwings-0.3.0.dev0/src/penwings/utils/__init__.py +0 -0
  9. {penwings-0.3.0.dev0 → penwings-0.3.0.dev2}/.gitignore +0 -0
  10. {penwings-0.3.0.dev0 → penwings-0.3.0.dev2}/LICENSE +0 -0
  11. {penwings-0.3.0.dev0 → penwings-0.3.0.dev2}/README.md +0 -0
  12. {penwings-0.3.0.dev0 → penwings-0.3.0.dev2}/pyproject.toml +0 -0
  13. {penwings-0.3.0.dev0 → penwings-0.3.0.dev2}/setup.cfg +0 -0
  14. {penwings-0.3.0.dev0 → penwings-0.3.0.dev2}/src/penwings/__init__.py +0 -0
  15. {penwings-0.3.0.dev0 → penwings-0.3.0.dev2}/src/penwings/exploration/__init__.py +0 -0
  16. {penwings-0.3.0.dev0/src/penwings/io → penwings-0.3.0.dev2/src/penwings/modeling}/__init__.py +0 -0
  17. {penwings-0.3.0.dev0/src/penwings/modeling → penwings-0.3.0.dev2/src/penwings/utils}/__init__.py +0 -0
  18. {penwings-0.3.0.dev0 → penwings-0.3.0.dev2}/src/penwings/utils/_decorators.py +0 -0
  19. {penwings-0.3.0.dev0 → penwings-0.3.0.dev2}/src/penwings/utils/_typing.py +0 -0
  20. {penwings-0.3.0.dev0 → penwings-0.3.0.dev2}/src/penwings.egg-info/SOURCES.txt +0 -0
  21. {penwings-0.3.0.dev0 → penwings-0.3.0.dev2}/src/penwings.egg-info/dependency_links.txt +0 -0
  22. {penwings-0.3.0.dev0 → penwings-0.3.0.dev2}/src/penwings.egg-info/requires.txt +0 -0
  23. {penwings-0.3.0.dev0 → penwings-0.3.0.dev2}/src/penwings.egg-info/top_level.txt +0 -0
  24. {penwings-0.3.0.dev0 → penwings-0.3.0.dev2}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: penwings
3
- Version: 0.3.0.dev0
3
+ Version: 0.3.0.dev2
4
4
  Summary: Lightweight library to handle data and reproduce workflows
5
5
  Author-email: Raf Blanckaert <r.blanckaert@outlook.com>
6
6
  License-Expression: MIT
@@ -0,0 +1,5 @@
1
+ from .cache import SQLParquetCache
2
+
3
+ __all__ = [
4
+ "SQLParquetCache",
5
+ ]
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  import pandas as pd
2
4
 
3
5
  from pathlib import Path
@@ -0,0 +1,6 @@
1
+ from .project_paths import ProjectPaths, ConfigPaths
2
+
3
+ __all__ = [
4
+ "ProjectPaths",
5
+ "ConfigPaths",
6
+ ]
@@ -159,7 +159,7 @@ class PathMixin:
159
159
  def show(self):
160
160
  for k, v in self._paths.items():
161
161
  if isinstance(v, Path) and k != "root":
162
- print(f"{k:10}{v}")
162
+ print(f"{k:10}{v.resolve()}")
163
163
 
164
164
 
165
165
  class ProjectPaths(PathBase, PathMixin):
@@ -180,8 +180,7 @@ class ProjectPaths(PathBase, PathMixin):
180
180
  • dictionary-style access to paths
181
181
 
182
182
  Root detection searches the current working directory and its parents
183
- for common project markers such as ``data/``, ``models/``, ``notebooks/``,
184
- ``configs/``, ``README.md`` or ``pyproject.toml``.
183
+ for common project marker ``pyproject.toml``.
185
184
 
186
185
  Parameters
187
186
  ----------
@@ -453,7 +452,7 @@ class ConfigPaths(PathBase, PathMixin):
453
452
 
454
453
  def __init__(
455
454
  self,
456
- config: str | Path,
455
+ config: str | Path = None,
457
456
  root: Optional[str | Path] = None,
458
457
  create: bool = True,
459
458
  ):
@@ -466,7 +465,7 @@ class ConfigPaths(PathBase, PathMixin):
466
465
  self._create_dirs()
467
466
 
468
467
  def _load_config(self, config):
469
- config_path = Path(config)
468
+ config_path = self.root / "config.json" if config is None else Path(config)
470
469
  if not config_path.exists():
471
470
  raise ValueError(f"Config file not found: {config_path}")
472
471
  if not config_path.suffix == ".json":
@@ -494,10 +493,10 @@ class ConfigPaths(PathBase, PathMixin):
494
493
 
495
494
 
496
495
  if __name__ == "__main__":
497
- # print("___Test_1___")
498
- # test = ProjectPaths(create=False, folders=["data", "ml"], custom_dirs={"modules": "modules", "view": "modules/view"})
499
- # print(test.view)
500
- # test.show()
496
+ print("___Test_1___")
497
+ test = ProjectPaths(create=False, folders=["data", "ml"], custom_dirs={"modules": "modules", "view": "modules/view"})
498
+ print(test.view)
499
+ test.show()
501
500
  # print("___Test_2___")
502
501
  # test2 = ProjectPaths(create=True)
503
502
  # test2.show()
@@ -518,11 +517,11 @@ if __name__ == "__main__":
518
517
  # print("___Test_7___")
519
518
  # print(test6.as_dict())
520
519
 
521
- print("___Test_8___")
522
- test8 = ConfigPaths(config="src/penwings/paths/test.json", create=False)
523
- print(test8.root)
524
- print(test8.data)
525
- print(test8["config"])
526
- print(test8.show())
527
- print(test8._paths)
528
- print(test8.as_dict())
520
+ # print("___Test_8___")
521
+ # test8 = ConfigPaths(config="src/penwings/paths/test.json", create=False)
522
+ # print(test8.root)
523
+ # print(test8.data)
524
+ # print(test8["config"])
525
+ # print(test8.show())
526
+ # print(test8._paths)
527
+ # print(test8.as_dict())
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: penwings
3
- Version: 0.3.0.dev0
3
+ Version: 0.3.0.dev2
4
4
  Summary: Lightweight library to handle data and reproduce workflows
5
5
  Author-email: Raf Blanckaert <r.blanckaert@outlook.com>
6
6
  License-Expression: MIT
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes