liblaf-cherries 0.0.0__tar.gz → 0.0.1__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 (72) hide show
  1. liblaf_cherries-0.0.1/.config/.restic-ignore +179 -0
  2. liblaf_cherries-0.0.1/.config/resticprofile.toml +17 -0
  3. {liblaf_cherries-0.0.0 → liblaf_cherries-0.0.1}/.cspell.json +20 -1
  4. liblaf_cherries-0.0.1/.envrc +15 -0
  5. {liblaf_cherries-0.0.0 → liblaf_cherries-0.0.1}/.github/copier/.copier-answers.python.yaml +1 -1
  6. {liblaf_cherries-0.0.0 → liblaf_cherries-0.0.1}/.github/copier/.copier-answers.release.yaml +1 -1
  7. {liblaf_cherries-0.0.0 → liblaf_cherries-0.0.1}/.github/copier/.copier-answers.share.yaml +1 -1
  8. liblaf_cherries-0.0.1/.github/linters/pyrightconfig.json +12 -0
  9. liblaf_cherries-0.0.1/.github/release-please/.manifest.json +1 -0
  10. {liblaf_cherries-0.0.0 → liblaf_cherries-0.0.1}/.github/workflows/auto-repo.yaml +2 -0
  11. {liblaf_cherries-0.0.0 → liblaf_cherries-0.0.1}/.gitignore +4 -1
  12. liblaf_cherries-0.0.1/CHANGELOG.md +41 -0
  13. {liblaf_cherries-0.0.0 → liblaf_cherries-0.0.1}/PKG-INFO +2 -1
  14. liblaf_cherries-0.0.1/exp/hello-cherries.py +14 -0
  15. {liblaf_cherries-0.0.0 → liblaf_cherries-0.0.1}/pixi.lock +163 -1
  16. {liblaf_cherries-0.0.0 → liblaf_cherries-0.0.1}/pyproject.toml +2 -1
  17. liblaf_cherries-0.0.1/pyrightconfig.json +4 -0
  18. liblaf_cherries-0.0.1/src/liblaf/cherries/__init__.pyi +34 -0
  19. liblaf_cherries-0.0.1/src/liblaf/cherries/_config.py +22 -0
  20. liblaf_cherries-0.0.1/src/liblaf/cherries/_env.py +4 -0
  21. liblaf_cherries-0.0.1/src/liblaf/cherries/_experiment.py +111 -0
  22. liblaf_cherries-0.0.1/src/liblaf/cherries/_main.py +38 -0
  23. liblaf_cherries-0.0.1/src/liblaf/cherries/_start.py +26 -0
  24. liblaf_cherries-0.0.1/src/liblaf/cherries/integration/__init__.pyi +5 -0
  25. liblaf_cherries-0.0.1/src/liblaf/cherries/integration/_backend.py +53 -0
  26. liblaf_cherries-0.0.1/src/liblaf/cherries/integration/_factory.py +13 -0
  27. liblaf_cherries-0.0.1/src/liblaf/cherries/integration/_neptune.py +66 -0
  28. {liblaf_cherries-0.0.0 → liblaf_cherries-0.0.1}/src/liblaf/cherries/plugin/__init__.pyi +2 -1
  29. {liblaf_cherries-0.0.0 → liblaf_cherries-0.0.1}/src/liblaf/cherries/plugin/_abc.py +6 -6
  30. liblaf_cherries-0.0.1/src/liblaf/cherries/plugin/_default.py +9 -0
  31. {liblaf_cherries-0.0.0 → liblaf_cherries-0.0.1}/src/liblaf/cherries/plugin/_git.py +2 -2
  32. liblaf_cherries-0.0.1/src/liblaf/cherries/plugin/_logging.py +58 -0
  33. {liblaf_cherries-0.0.0 → liblaf_cherries-0.0.1}/src/liblaf/cherries/plugin/_restic.py +20 -5
  34. liblaf_cherries-0.0.0/.envrc +0 -10
  35. liblaf_cherries-0.0.0/.github/release-please/.manifest.json +0 -1
  36. liblaf_cherries-0.0.0/CHANGELOG.md +0 -24
  37. liblaf_cherries-0.0.0/src/liblaf/cherries/__init__.pyi +0 -23
  38. liblaf_cherries-0.0.0/src/liblaf/cherries/_start.py +0 -48
  39. liblaf_cherries-0.0.0/src/liblaf/cherries/integration/__init__.pyi +0 -4
  40. liblaf_cherries-0.0.0/src/liblaf/cherries/integration/_abc.py +0 -134
  41. liblaf_cherries-0.0.0/src/liblaf/cherries/integration/_neptune.py +0 -53
  42. liblaf_cherries-0.0.0/src/liblaf/cherries/plugin/_default.py +0 -5
  43. liblaf_cherries-0.0.0/src/liblaf/cherries/plugin/_logging.py +0 -20
  44. {liblaf_cherries-0.0.0 → liblaf_cherries-0.0.1}/.github/.mega-linter.yaml +0 -0
  45. {liblaf_cherries-0.0.0 → liblaf_cherries-0.0.1}/.github/linters/.ruff.toml +0 -0
  46. {liblaf_cherries-0.0.0 → liblaf_cherries-0.0.1}/.github/release-please/config.json +0 -0
  47. {liblaf_cherries-0.0.0 → liblaf_cherries-0.0.1}/.github/release-please.yml +0 -0
  48. {liblaf_cherries-0.0.0 → liblaf_cherries-0.0.1}/.github/renovate.json +0 -0
  49. {liblaf_cherries-0.0.0 → liblaf_cherries-0.0.1}/.github/workflows/auto-pr.yaml +0 -0
  50. {liblaf_cherries-0.0.0 → liblaf_cherries-0.0.1}/.github/workflows/mega-linter.yaml +0 -0
  51. {liblaf_cherries-0.0.0 → liblaf_cherries-0.0.1}/.github/workflows/release.yaml +0 -0
  52. {liblaf_cherries-0.0.0 → liblaf_cherries-0.0.1}/.ruff.toml +0 -0
  53. {liblaf_cherries-0.0.0 → liblaf_cherries-0.0.1}/.vscode/settings.json +0 -0
  54. {liblaf_cherries-0.0.0 → liblaf_cherries-0.0.1}/Justfile +0 -0
  55. {liblaf_cherries-0.0.0 → liblaf_cherries-0.0.1}/LICENSE +0 -0
  56. {liblaf_cherries-0.0.0 → liblaf_cherries-0.0.1}/__builtins__.pyi +0 -0
  57. {liblaf_cherries-0.0.0 → liblaf_cherries-0.0.1}/docs/README.md +0 -0
  58. {liblaf_cherries-0.0.0 → liblaf_cherries-0.0.1}/scripts/gen-init.sh +0 -0
  59. {liblaf_cherries-0.0.0 → liblaf_cherries-0.0.1}/src/liblaf/cherries/__init__.py +0 -0
  60. {liblaf_cherries-0.0.0 → liblaf_cherries-0.0.1}/src/liblaf/cherries/git/__init__.py +0 -0
  61. {liblaf_cherries-0.0.0 → liblaf_cherries-0.0.1}/src/liblaf/cherries/git/__init__.pyi +0 -0
  62. {liblaf_cherries-0.0.0 → liblaf_cherries-0.0.1}/src/liblaf/cherries/git/_commit.py +0 -0
  63. {liblaf_cherries-0.0.0 → liblaf_cherries-0.0.1}/src/liblaf/cherries/git/_entrypoint.py +0 -0
  64. {liblaf_cherries-0.0.0 → liblaf_cherries-0.0.1}/src/liblaf/cherries/git/_repo.py +0 -0
  65. {liblaf_cherries-0.0.0 → liblaf_cherries-0.0.1}/src/liblaf/cherries/git/github/__init__.py +0 -0
  66. {liblaf_cherries-0.0.0 → liblaf_cherries-0.0.1}/src/liblaf/cherries/git/github/__init__.pyi +0 -0
  67. {liblaf_cherries-0.0.0 → liblaf_cherries-0.0.1}/src/liblaf/cherries/git/github/_link.py +0 -0
  68. {liblaf_cherries-0.0.0 → liblaf_cherries-0.0.1}/src/liblaf/cherries/git/github/_repo.py +0 -0
  69. {liblaf_cherries-0.0.0 → liblaf_cherries-0.0.1}/src/liblaf/cherries/integration/__init__.py +0 -0
  70. {liblaf_cherries-0.0.0 → liblaf_cherries-0.0.1}/src/liblaf/cherries/plugin/__init__.py +0 -0
  71. {liblaf_cherries-0.0.0 → liblaf_cherries-0.0.1}/src/liblaf/cherries/utils/__init__.py +0 -0
  72. {liblaf_cherries-0.0.0 → liblaf_cherries-0.0.1}/src/liblaf/cherries/utils/__init__.pyi +0 -0
@@ -0,0 +1,179 @@
1
+ # vim: syntax=ignore
2
+ # Created by https://www.toptal.com/developers/gitignore/api/python
3
+ # Edit at https://www.toptal.com/developers/gitignore?templates=python
4
+
5
+ ### Python ###
6
+ # Byte-compiled / optimized / DLL files
7
+ __pycache__/
8
+ *.py[cod]
9
+ *$py.class
10
+
11
+ # C extensions
12
+ *.so
13
+
14
+ # Distribution / packaging
15
+ .Python
16
+ build/
17
+ develop-eggs/
18
+ dist/
19
+ downloads/
20
+ eggs/
21
+ .eggs/
22
+ lib/
23
+ lib64/
24
+ parts/
25
+ sdist/
26
+ var/
27
+ wheels/
28
+ share/python-wheels/
29
+ *.egg-info/
30
+ .installed.cfg
31
+ *.egg
32
+ MANIFEST
33
+
34
+ # PyInstaller
35
+ # Usually these files are written by a python script from a template
36
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
37
+ *.manifest
38
+ *.spec
39
+
40
+ # Installer logs
41
+ pip-log.txt
42
+ pip-delete-this-directory.txt
43
+
44
+ # Unit test / coverage reports
45
+ htmlcov/
46
+ .tox/
47
+ .nox/
48
+ .coverage
49
+ .coverage.*
50
+ .cache
51
+ nosetests.xml
52
+ coverage.xml
53
+ *.cover
54
+ *.py,cover
55
+ .hypothesis/
56
+ .pytest_cache/
57
+ cover/
58
+
59
+ # Translations
60
+ *.mo
61
+ *.pot
62
+
63
+ # Django stuff:
64
+ # *.log
65
+ local_settings.py
66
+ db.sqlite3
67
+ db.sqlite3-journal
68
+
69
+ # Flask stuff:
70
+ instance/
71
+ .webassets-cache
72
+
73
+ # Scrapy stuff:
74
+ .scrapy
75
+
76
+ # Sphinx documentation
77
+ docs/_build/
78
+
79
+ # PyBuilder
80
+ .pybuilder/
81
+ target/
82
+
83
+ # Jupyter Notebook
84
+ .ipynb_checkpoints
85
+
86
+ # IPython
87
+ profile_default/
88
+ ipython_config.py
89
+
90
+ # pyenv
91
+ # For a library or package, you might want to ignore these files since the code is
92
+ # intended to run in multiple environments; otherwise, check them in:
93
+ # .python-version
94
+
95
+ # pipenv
96
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
97
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
98
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
99
+ # install all needed dependencies.
100
+ #Pipfile.lock
101
+
102
+ # poetry
103
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
104
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
105
+ # commonly ignored for libraries.
106
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
107
+ #poetry.lock
108
+
109
+ # pdm
110
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
111
+ #pdm.lock
112
+ # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
113
+ # in version control.
114
+ # https://pdm.fming.dev/#use-with-ide
115
+ .pdm.toml
116
+
117
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
118
+ __pypackages__/
119
+
120
+ # Celery stuff
121
+ celerybeat-schedule
122
+ celerybeat.pid
123
+
124
+ # SageMath parsed files
125
+ *.sage.py
126
+
127
+ # Environments
128
+ .env
129
+ .venv
130
+ env/
131
+ venv/
132
+ ENV/
133
+ env.bak/
134
+ venv.bak/
135
+
136
+ # Spyder project settings
137
+ .spyderproject
138
+ .spyproject
139
+
140
+ # Rope project settings
141
+ .ropeproject
142
+
143
+ # mkdocs documentation
144
+ /site
145
+
146
+ # mypy
147
+ .mypy_cache/
148
+ .dmypy.json
149
+ dmypy.json
150
+
151
+ # Pyre type checker
152
+ .pyre/
153
+
154
+ # pytype static type analyzer
155
+ .pytype/
156
+
157
+ # Cython debug symbols
158
+ cython_debug/
159
+
160
+ # PyCharm
161
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
162
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
163
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
164
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
165
+ #.idea/
166
+
167
+ ### Python Patch ###
168
+ # Poetry local configuration file - https://python-poetry.org/docs/configuration/#local-configuration
169
+ poetry.toml
170
+
171
+ # ruff
172
+ .ruff_cache/
173
+
174
+ # LSP config files
175
+ # pyrightconfig.json
176
+
177
+ # End of https://www.toptal.com/developers/gitignore/api/python
178
+
179
+ .pixi/
@@ -0,0 +1,17 @@
1
+ #:schema https://creativeprojects.github.io/resticprofile/jsonschema/config.json
2
+
3
+ [global]
4
+ initialize = true
5
+ prevent-auto-repository-file = true
6
+ prevent-sleep = true
7
+
8
+ [default]
9
+ insecure-no-password = true
10
+ repository = "~/restic/cherries"
11
+
12
+ [default.backup]
13
+ check-after = true
14
+ check-before = true
15
+ source = ["."]
16
+ source-relative = true
17
+ exclude-file = [".restic-ignore"]
@@ -6,23 +6,42 @@
6
6
  "asyncio",
7
7
  "bdabdac",
8
8
  "cuda",
9
+ "customise",
10
+ "cython",
11
+ "dmypy",
12
+ "dotenv",
9
13
  "getattr",
10
14
  "hynek",
15
+ "ipynb",
16
+ "ipython",
11
17
  "libc",
12
18
  "liblaf",
19
+ "mkdocs",
20
+ "mypy",
13
21
  "numpy",
22
+ "pipenv",
14
23
  "pixi",
24
+ "pybuilder",
25
+ "pycache",
15
26
  "pydantic",
16
27
  "pydocstyle",
28
+ "pyenv",
29
+ "pyflow",
17
30
  "pypa",
31
+ "pypackages",
18
32
  "pypi",
19
33
  "pyplot",
20
34
  "pyproject",
21
35
  "pyrightconfig",
36
+ "pytest",
37
+ "pytype",
22
38
  "pyvista",
39
+ "scrapy",
40
+ "sdist",
23
41
  "stefanzweifel",
24
42
  "trimesh",
25
- "ubelt"
43
+ "ubelt",
44
+ "venv"
26
45
  ],
27
46
  "ignorePaths": [
28
47
  "**/.cspell.*",
@@ -0,0 +1,15 @@
1
+ #!/bin/bash
2
+ watch_file "pyproject.toml" "pixi.toml" "pixi.lock"
3
+ if [[ -t 2 ]]; then
4
+ color="always"
5
+ else
6
+ color="auto"
7
+ fi
8
+ eval "$(pixi --color "$color" shell-hook)"
9
+
10
+ NEPTUNE_API_TOKEN="$(rbw get --field "API_TOKEN" "Neptune.ai")"
11
+ export LIBLAF_CHERRIES_BACKEND="neptune"
12
+ export LIBLAF_CHERRIES_GIT_AUTO_COMMIT=false
13
+ export NEPTUNE_API_TOKEN
14
+ export NEPTUNE_MONITORING_NAMESPACE="monitoring"
15
+ export NEPTUNE_PROJECT="cherries"
@@ -1,5 +1,5 @@
1
1
  # Changes here will be overwritten by Copier; NEVER EDIT MANUALLY
2
- _commit: bdabdac
2
+ _commit: 8113e1f
3
3
  _src_path: gh:liblaf/copier-python
4
4
  author: liblaf
5
5
  email: 30631553+liblaf@users.noreply.github.com
@@ -1,5 +1,5 @@
1
1
  # Changes here will be overwritten by Copier; NEVER EDIT MANUALLY
2
2
  # prettier-ignore
3
- _commit: '9967666'
3
+ _commit: 6eb13bc
4
4
  _src_path: gh:liblaf/copier-release
5
5
  release_type: python
@@ -1,6 +1,6 @@
1
1
  # Changes here will be overwritten by Copier; NEVER EDIT MANUALLY
2
2
  # prettier-ignore
3
- _commit: 7c66741
3
+ _commit: d4351e7
4
4
  _src_path: gh:liblaf/copier-share
5
5
  copyright_holder: liblaf
6
6
  license: MIT
@@ -0,0 +1,12 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/microsoft/pyright/main/packages/vscode-pyright/schemas/pyrightconfig.schema.json",
3
+
4
+ "enableTypeIgnoreComments": false,
5
+
6
+ "typeCheckingMode": "standard",
7
+
8
+ "reportArgumentType": "information",
9
+ "reportAssignmentType": "information",
10
+ "reportPrivateImportUsage": "none",
11
+ "reportRedeclaration": "none"
12
+ }
@@ -0,0 +1 @@
1
+ {".":"0.0.1"}
@@ -2,6 +2,8 @@ name: (Auto) Repo
2
2
 
3
3
  on:
4
4
  push:
5
+ branches:
6
+ - main
5
7
  paths:
6
8
  - .github/workflows/auto-repo.yaml
7
9
  schedule:
@@ -171,6 +171,9 @@ poetry.toml
171
171
  .ruff_cache/
172
172
 
173
173
  # LSP config files
174
- pyrightconfig.json
174
+ # pyrightconfig.json
175
175
 
176
176
  # End of https://www.toptal.com/developers/gitignore/api/python
177
+
178
+ .neptune
179
+ *.log.jsonl
@@ -0,0 +1,41 @@
1
+ # Changelog
2
+
3
+ ## [0.0.1](https://github.com/liblaf/cherries/compare/v0.0.0...v0.0.1) (2025-01-19)
4
+
5
+
6
+ ### ✨ Features
7
+
8
+ * **cherries:** enhance experiment tracking and logging capabilities ([093e56e](https://github.com/liblaf/cherries/commit/093e56ec73b1d1c86a46bfe9893a09f0f51f4f39))
9
+ * **cherries:** refactor experiment tracking and add new features ([8594ac1](https://github.com/liblaf/cherries/commit/8594ac1ff3f782d4aba7072c9f92ad3091ea64b7))
10
+ * **integration:** enhance logging support for unsupported types ([019b5b7](https://github.com/liblaf/cherries/commit/019b5b7130f9a2612c3f58c4e89c3e4b954f724a))
11
+ * log experiment entrypoint for better traceability ([06c3f84](https://github.com/liblaf/cherries/commit/06c3f84bf4e675229ae73be2ad5978b2d9a282c1))
12
+ * **logging:** enhance file logging with custom filter for cherries module ([d03a6a1](https://github.com/liblaf/cherries/commit/d03a6a1b3bab3eeca929520dee33e6542a46766e))
13
+
14
+
15
+ ### ♻ Code Refactoring
16
+
17
+ * remove unused integration base class and update gitignore ([4015f84](https://github.com/liblaf/cherries/commit/4015f846b0d7436280cc018cf60f46a46d5e3ec5))
18
+ * sort plugins by priority and reverse iteration order ([33d98e4](https://github.com/liblaf/cherries/commit/33d98e4f613adad1f756950e6cf26e0b0bf6787d))
19
+
20
+ ## 0.0.0 (2025-01-16)
21
+
22
+
23
+ ### ✨ Features
24
+
25
+ * add logging and restic plugins, extend run capabilities ([f28d30f](https://github.com/liblaf/cherries/commit/f28d30f990a9cbc876c16e98f8fdf5a2e7f54746))
26
+
27
+
28
+ ### 🎫 Chores
29
+
30
+ * **release:** trigger release-please ([c9a55bf](https://github.com/liblaf/cherries/commit/c9a55bf870bce514a76288827d817d0f3777f65a))
31
+
32
+
33
+ ### ♻ Code Refactoring
34
+
35
+ * simplify Run class by removing abstract base class ([d267065](https://github.com/liblaf/cherries/commit/d26706537fc81d4abd4be87d29511259774053ad))
36
+
37
+
38
+ ### 👷 Build System
39
+
40
+ * initialize project structure and configuration ([91d27cf](https://github.com/liblaf/cherries/commit/91d27cf861b724b1cbaf923eceac7e0177edcadb))
41
+ * restructure project and enhance git integration ([bbc24c0](https://github.com/liblaf/cherries/commit/bbc24c019640371f110aaae98d3bf178c8f353f0))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: liblaf-cherries
3
- Version: 0.0.0
3
+ Version: 0.0.1
4
4
  Summary: Add your description here
5
5
  Project-URL: Changelog, https://github.com/liblaf/cherries/blob/main/CHANGELOG.md
6
6
  Project-URL: Homepage, https://github.com/liblaf/cherries
@@ -11,6 +11,7 @@ Author-email: liblaf <30631553+liblaf@users.noreply.github.com>
11
11
  License-Expression: MIT
12
12
  License-File: LICENSE
13
13
  Requires-Python: >=3.12
14
+ Requires-Dist: comet-ml<4,>=3.47.6
14
15
  Requires-Dist: gitpython<4,>=3.1.44
15
16
  Requires-Dist: lazy-loader<0.5,>=0.4
16
17
  Requires-Dist: liblaf-grapes<0.0.1,>=0.0.0
@@ -0,0 +1,14 @@
1
+ from liblaf import cherries
2
+
3
+
4
+ class Config(cherries.BaseConfig):
5
+ name: str = "world"
6
+
7
+
8
+ @cherries.main()
9
+ def main(cfg: Config) -> None:
10
+ ic(f"Hello, {cfg.name}!")
11
+
12
+
13
+ if __name__ == "__main__":
14
+ main(Config())
@@ -43,8 +43,12 @@ environments:
43
43
  - pypi: https://files.pythonhosted.org/packages/52/ed/b7f4f07de100bdb95c1756d3a4d17b90c1a3c53715c1a476f8738058e0fa/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
44
44
  - pypi: https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl
45
45
  - pypi: https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl
46
+ - pypi: https://files.pythonhosted.org/packages/0e/19/5a2107c759335100bdf19473ab5c24996da55ce16018b7176f16b92c1a7c/comet_ml-3.47.6-py3-none-any.whl
47
+ - pypi: https://files.pythonhosted.org/packages/a6/c4/0679472c60052c27efa612b4cd3ddd2a23e885dcdc73461781d2c802d39e/configobj-5.0.9-py2.py3-none-any.whl
48
+ - pypi: https://files.pythonhosted.org/packages/da/ac/7b60ccbf6259545ddc387d6c92844cb5f9d3b9a2a257955318c214cc2542/dulwich-0.22.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
46
49
  - pypi: https://files.pythonhosted.org/packages/d5/ad/57cfa3e8a006df88e723524127dbab2971a4877c97e7bad070257e15cb6c/environs-14.1.0-py3-none-any.whl
47
50
  - pypi: https://files.pythonhosted.org/packages/4f/4a/ff8aa2c57300613b69905308c5afe92c5b01112d766c25a305fd6796170a/etils-1.11.0-py3-none-any.whl
51
+ - pypi: https://files.pythonhosted.org/packages/91/9a/d882fd7562208456236fb2e62b762bf16fbc9ecde842bb871f676ca0f7e1/everett-3.1.0-py2.py3-none-any.whl
48
52
  - pypi: https://files.pythonhosted.org/packages/b5/fd/afcd0496feca3276f509df3dbd5dae726fcc756f1a08d9e25abe1733f962/executing-2.1.0-py2.py3-none-any.whl
49
53
  - pypi: https://files.pythonhosted.org/packages/cf/58/8acf1b3e91c58313ce5cb67df61001fc9dcd21be4fadb76c1a2d540e09ed/fqdn-1.5.1-py3-none-any.whl
50
54
  - pypi: https://files.pythonhosted.org/packages/da/71/ae30dadffc90b9006d77af76b393cb9dfbfc9629f339fc1574a1c52e6806/future-1.0.0-py3-none-any.whl
@@ -80,6 +84,7 @@ environments:
80
84
  - pypi: https://files.pythonhosted.org/packages/b4/46/93416fdae86d40879714f72956ac14df9c7b76f7d41a4d68aa9f71a0028b/pydantic_settings-2.7.1-py3-none-any.whl
81
85
  - pypi: https://files.pythonhosted.org/packages/8a/0b/9fcc47d19c48b59121088dd6da2488a49d5f72dacf8262e2790a1d2c7d15/pygments-2.19.1-py3-none-any.whl
82
86
  - pypi: https://files.pythonhosted.org/packages/61/ad/689f02752eeec26aed679477e80e632ef1b682313be70793d798c1d5fc8f/PyJWT-2.10.1-py3-none-any.whl
87
+ - pypi: https://files.pythonhosted.org/packages/88/c6/6d1e368710cb6c458ed692d179d7e101ebce80a3e640b2e74cc7ae886d6f/python_box-6.1.0-py3-none-any.whl
83
88
  - pypi: https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl
84
89
  - pypi: https://files.pythonhosted.org/packages/6a/3e/b68c118422ec867fa7ab88444e1274aa40681c606d59ac27de5a5588f082/python_dotenv-1.0.1-py3-none-any.whl
85
90
  - pypi: https://files.pythonhosted.org/packages/11/c3/005fcca25ce078d2cc29fd559379817424e94885510568bc1bc53d7d5846/pytz-2024.2-py2.py3-none-any.whl
@@ -87,12 +92,15 @@ environments:
87
92
  - pypi: https://files.pythonhosted.org/packages/b7/59/2056f61236782a2c86b33906c025d4f4a0b17be0161b63b70fd9e8775d36/referencing-0.35.1-py3-none-any.whl
88
93
  - pypi: https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl
89
94
  - pypi: https://files.pythonhosted.org/packages/3b/5d/63d4ae3b9daea098d5d6f5da83984853c1bbacd5dc826764b249fe119d24/requests_oauthlib-2.0.0-py2.py3-none-any.whl
95
+ - pypi: https://files.pythonhosted.org/packages/3f/51/d4db610ef29373b879047326cbf6fa98b6c1969d6f6dc423279de2b1be2c/requests_toolbelt-1.0.0-py2.py3-none-any.whl
90
96
  - pypi: https://files.pythonhosted.org/packages/7b/44/4e421b96b67b2daff264473f7465db72fbdf36a07e05494f50300cc7b0c6/rfc3339_validator-0.1.4-py2.py3-none-any.whl
91
97
  - pypi: https://files.pythonhosted.org/packages/9e/51/17023c0f8f1869d8806b979a2bffa3f861f26a3f1a66b094288323fba52f/rfc3986_validator-0.1.1-py2.py3-none-any.whl
92
98
  - pypi: https://files.pythonhosted.org/packages/19/71/39c7c0d87f8d4e6c020a393182060eaefeeae6c01dab6a84ec346f2567df/rich-13.9.4-py3-none-any.whl
93
99
  - pypi: https://files.pythonhosted.org/packages/27/fc/403e65e56f65fff25f2973216974976d3f0a5c3f30e53758589b6dc9b79b/rpds_py-0.22.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
94
100
  - pypi: https://files.pythonhosted.org/packages/c2/36/dfc1ebc0081e6d39924a2cc53654497f967a084a436bb64402dfce4254d9/ruamel.yaml-0.18.10-py3-none-any.whl
95
101
  - pypi: https://files.pythonhosted.org/packages/19/74/940311734dfbe36bf06ed86e4c367c8fb2b137448762c4724142180411fb/s3transfer-0.11.0-py3-none-any.whl
102
+ - pypi: https://files.pythonhosted.org/packages/6a/23/8146aad7d88f4fcb3a6218f41a60f6c2d4e3a72de72da1825dc7c8f7877c/semantic_version-2.10.0-py2.py3-none-any.whl
103
+ - pypi: https://files.pythonhosted.org/packages/e6/0f/6f7e6cd0f4a141752caef3f79300148422fdf2b8b68b531f30b2b0c0cbda/sentry_sdk-2.20.0-py2.py3-none-any.whl
96
104
  - pypi: https://files.pythonhosted.org/packages/69/8a/b9dc7678803429e4a3bc9ba462fa3dd9066824d3c607490235c6a796be5a/setuptools-75.8.0-py3-none-any.whl
97
105
  - pypi: https://files.pythonhosted.org/packages/b5/4b/109af50006af77133653c55b5b91b4bd2d579ff8254ce11216c0b75f911b/simplejson-3.19.3-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
98
106
  - pypi: https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl
@@ -106,6 +114,8 @@ environments:
106
114
  - pypi: https://files.pythonhosted.org/packages/c8/19/4ec628951a74043532ca2cf5d97b7b14863931476d117c471e8e2b1eb39f/urllib3-2.3.0-py3-none-any.whl
107
115
  - pypi: https://files.pythonhosted.org/packages/60/e8/c0e05e4684d13459f93d312077a9a2efbe04d59c393bc2b8802248c908d4/webcolors-24.11.1-py3-none-any.whl
108
116
  - pypi: https://files.pythonhosted.org/packages/5a/84/44687a29792a70e111c5c477230a72c4b957d88d16141199bf9acb7537a3/websocket_client-1.8.0-py3-none-any.whl
117
+ - pypi: https://files.pythonhosted.org/packages/d5/66/5d973e9f3e7370fd686fb47a9af3319418ed925c27d72ce16b791231576d/wrapt-1.17.2-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
118
+ - pypi: https://files.pythonhosted.org/packages/9a/24/93ce54550a9dd3fd996ed477f00221f215bf6da3580397fbc138d6036e2e/wurlitzer-3.1.1-py3-none-any.whl
109
119
  - pypi: .
110
120
  packages:
111
121
  - conda: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2
@@ -321,6 +331,46 @@ packages:
321
331
  version: 0.4.6
322
332
  sha256: 4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6
323
333
  requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*'
334
+ - pypi: https://files.pythonhosted.org/packages/0e/19/5a2107c759335100bdf19473ab5c24996da55ce16018b7176f16b92c1a7c/comet_ml-3.47.6-py3-none-any.whl
335
+ name: comet-ml
336
+ version: 3.47.6
337
+ sha256: dec2507fbb8283ee22b021864a38e5c45c13fecc9164e5749a5dc56e8405cb50
338
+ requires_dist:
339
+ - everett[ini]>=1.0.1,<3.2.0
340
+ - jsonschema>=2.6.0,!=3.1.0
341
+ - psutil>=5.6.3
342
+ - python-box<7.0.0
343
+ - requests-toolbelt>=0.8.0
344
+ - requests>=2.18.4
345
+ - semantic-version>=2.8.0
346
+ - sentry-sdk>=1.1.0
347
+ - simplejson
348
+ - urllib3>=1.21.1
349
+ - wrapt>=1.11.2
350
+ - wurlitzer>=1.0.2
351
+ - importlib-metadata ; python_full_version < '3.8'
352
+ - dulwich>=0.20.6,!=0.20.33 ; python_full_version >= '3.0'
353
+ - setuptools ; python_full_version >= '3.12'
354
+ - rich>=13.3.2 ; python_full_version >= '3.7'
355
+ requires_python: '>=3.6'
356
+ - pypi: https://files.pythonhosted.org/packages/a6/c4/0679472c60052c27efa612b4cd3ddd2a23e885dcdc73461781d2c802d39e/configobj-5.0.9-py2.py3-none-any.whl
357
+ name: configobj
358
+ version: 5.0.9
359
+ sha256: 1ba10c5b6ee16229c79a05047aeda2b55eb4e80d7c7d8ecf17ec1ca600c79882
360
+ requires_python: '>=3.7'
361
+ - pypi: https://files.pythonhosted.org/packages/da/ac/7b60ccbf6259545ddc387d6c92844cb5f9d3b9a2a257955318c214cc2542/dulwich-0.22.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
362
+ name: dulwich
363
+ version: 0.22.7
364
+ sha256: 9f418779837a3249b7dfc4b3dc7266fa40687e5f0249eedfa7185560ba1ee148
365
+ requires_dist:
366
+ - urllib3>=1.25
367
+ - fastimport ; extra == 'fastimport'
368
+ - urllib3>=1.24.1 ; extra == 'https'
369
+ - gpg ; extra == 'pgp'
370
+ - paramiko ; extra == 'paramiko'
371
+ - ruff==0.8.3 ; extra == 'dev'
372
+ - mypy==1.13.0 ; extra == 'dev'
373
+ requires_python: '>=3.9'
324
374
  - pypi: https://files.pythonhosted.org/packages/d5/ad/57cfa3e8a006df88e723524127dbab2971a4877c97e7bad070257e15cb6c/environs-14.1.0-py3-none-any.whl
325
375
  name: environs
326
376
  version: 14.1.0
@@ -412,6 +462,13 @@ packages:
412
462
  - etils[etree] ; extra == 'etree-tf'
413
463
  - etils[ecolab] ; extra == 'lazy-imports'
414
464
  requires_python: '>=3.10'
465
+ - pypi: https://files.pythonhosted.org/packages/91/9a/d882fd7562208456236fb2e62b762bf16fbc9ecde842bb871f676ca0f7e1/everett-3.1.0-py2.py3-none-any.whl
466
+ name: everett
467
+ version: 3.1.0
468
+ sha256: db13891b849e45e54faea93ee79881d12458c5378f5b9b7f806eeff03ce1de3c
469
+ requires_dist:
470
+ - configobj ; extra == 'ini'
471
+ - pyyaml ; extra == 'yaml'
415
472
  - pypi: https://files.pythonhosted.org/packages/b5/fd/afcd0496feca3276f509df3dbd5dae726fcc756f1a08d9e25abe1733f962/executing-2.1.0-py2.py3-none-any.whl
416
473
  name: executing
417
474
  version: 2.1.0
@@ -647,8 +704,9 @@ packages:
647
704
  - pypi: .
648
705
  name: liblaf-cherries
649
706
  version: 0.0.0
650
- sha256: 602b8b507b5e96ab289aff66547ade5a2fff7bf07a70d1eee800b7ee03b2f535
707
+ sha256: bba80c73a1297f5890cb952c22705a6c065a3e9415888c6b61964720d5541b9a
651
708
  requires_dist:
709
+ - comet-ml>=3.47.6,<4
652
710
  - gitpython>=3.1.44,<4
653
711
  - lazy-loader>=0.4,<0.5
654
712
  - liblaf-grapes>=0.0.0,<0.0.1
@@ -1176,6 +1234,22 @@ packages:
1176
1234
  size: 33169840
1177
1235
  timestamp: 1736763984540
1178
1236
  python_site_packages_path: lib/python3.13/site-packages
1237
+ - pypi: https://files.pythonhosted.org/packages/88/c6/6d1e368710cb6c458ed692d179d7e101ebce80a3e640b2e74cc7ae886d6f/python_box-6.1.0-py3-none-any.whl
1238
+ name: python-box
1239
+ version: 6.1.0
1240
+ sha256: bdec0a5f5a17b01fc538d292602a077aa8c641fb121e1900dff0591791af80e8
1241
+ requires_dist:
1242
+ - pyyaml ; extra == 'pyyaml'
1243
+ - ruamel-yaml>=0.17 ; extra == 'all'
1244
+ - toml ; extra == 'all'
1245
+ - msgpack ; extra == 'all'
1246
+ - msgpack ; extra == 'msgpack'
1247
+ - ruamel-yaml>=0.17 ; extra == 'ruamel-yaml'
1248
+ - toml ; extra == 'toml'
1249
+ - tomli-w ; extra == 'tomli'
1250
+ - tomli ; python_full_version < '3.11' and extra == 'tomli'
1251
+ - ruamel-yaml>=0.17 ; extra == 'yaml'
1252
+ requires_python: '>=3.7'
1179
1253
  - pypi: https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl
1180
1254
  name: python-dateutil
1181
1255
  version: 2.9.0.post0
@@ -1250,6 +1324,13 @@ packages:
1250
1324
  - requests>=2.0.0
1251
1325
  - oauthlib[signedtoken]>=3.0.0 ; extra == 'rsa'
1252
1326
  requires_python: '>=3.4'
1327
+ - pypi: https://files.pythonhosted.org/packages/3f/51/d4db610ef29373b879047326cbf6fa98b6c1969d6f6dc423279de2b1be2c/requests_toolbelt-1.0.0-py2.py3-none-any.whl
1328
+ name: requests-toolbelt
1329
+ version: 1.0.0
1330
+ sha256: cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06
1331
+ requires_dist:
1332
+ - requests>=2.0.1,<3.0.0
1333
+ requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*'
1253
1334
  - pypi: https://files.pythonhosted.org/packages/7b/44/4e421b96b67b2daff264473f7465db72fbdf36a07e05494f50300cc7b0c6/rfc3339_validator-0.1.4-py2.py3-none-any.whl
1254
1335
  name: rfc3339-validator
1255
1336
  version: 0.1.4
@@ -1295,6 +1376,77 @@ packages:
1295
1376
  - botocore>=1.33.2,<2.0a0
1296
1377
  - botocore[crt]>=1.33.2,<2.0a0 ; extra == 'crt'
1297
1378
  requires_python: '>=3.8'
1379
+ - pypi: https://files.pythonhosted.org/packages/6a/23/8146aad7d88f4fcb3a6218f41a60f6c2d4e3a72de72da1825dc7c8f7877c/semantic_version-2.10.0-py2.py3-none-any.whl
1380
+ name: semantic-version
1381
+ version: 2.10.0
1382
+ sha256: de78a3b8e0feda74cabc54aab2da702113e33ac9d9eb9d2389bcf1f58b7d9177
1383
+ requires_dist:
1384
+ - django>=1.11 ; extra == 'dev'
1385
+ - nose2 ; extra == 'dev'
1386
+ - tox ; extra == 'dev'
1387
+ - check-manifest ; extra == 'dev'
1388
+ - coverage ; extra == 'dev'
1389
+ - flake8 ; extra == 'dev'
1390
+ - wheel ; extra == 'dev'
1391
+ - zest-releaser[recommended] ; extra == 'dev'
1392
+ - readme-renderer<25.0 ; python_full_version == '3.4.*' and extra == 'dev'
1393
+ - colorama<=0.4.1 ; python_full_version == '3.4.*' and extra == 'dev'
1394
+ - sphinx ; extra == 'doc'
1395
+ - sphinx-rtd-theme ; extra == 'doc'
1396
+ requires_python: '>=2.7'
1397
+ - pypi: https://files.pythonhosted.org/packages/e6/0f/6f7e6cd0f4a141752caef3f79300148422fdf2b8b68b531f30b2b0c0cbda/sentry_sdk-2.20.0-py2.py3-none-any.whl
1398
+ name: sentry-sdk
1399
+ version: 2.20.0
1400
+ sha256: c359a1edf950eb5e80cffd7d9111f3dbeef57994cb4415df37d39fda2cf22364
1401
+ requires_dist:
1402
+ - urllib3>=1.26.11
1403
+ - certifi
1404
+ - aiohttp>=3.5 ; extra == 'aiohttp'
1405
+ - anthropic>=0.16 ; extra == 'anthropic'
1406
+ - arq>=0.23 ; extra == 'arq'
1407
+ - asyncpg>=0.23 ; extra == 'asyncpg'
1408
+ - apache-beam>=2.12 ; extra == 'beam'
1409
+ - bottle>=0.12.13 ; extra == 'bottle'
1410
+ - celery>=3 ; extra == 'celery'
1411
+ - celery-redbeat>=2 ; extra == 'celery-redbeat'
1412
+ - chalice>=1.16.0 ; extra == 'chalice'
1413
+ - clickhouse-driver>=0.2.0 ; extra == 'clickhouse-driver'
1414
+ - django>=1.8 ; extra == 'django'
1415
+ - falcon>=1.4 ; extra == 'falcon'
1416
+ - fastapi>=0.79.0 ; extra == 'fastapi'
1417
+ - flask>=0.11 ; extra == 'flask'
1418
+ - blinker>=1.1 ; extra == 'flask'
1419
+ - markupsafe ; extra == 'flask'
1420
+ - grpcio>=1.21.1 ; extra == 'grpcio'
1421
+ - protobuf>=3.8.0 ; extra == 'grpcio'
1422
+ - httpcore[http2]==1.* ; extra == 'http2'
1423
+ - httpx>=0.16.0 ; extra == 'httpx'
1424
+ - huey>=2 ; extra == 'huey'
1425
+ - huggingface-hub>=0.22 ; extra == 'huggingface-hub'
1426
+ - langchain>=0.0.210 ; extra == 'langchain'
1427
+ - launchdarkly-server-sdk>=9.8.0 ; extra == 'launchdarkly'
1428
+ - litestar>=2.0.0 ; extra == 'litestar'
1429
+ - loguru>=0.5 ; extra == 'loguru'
1430
+ - openai>=1.0.0 ; extra == 'openai'
1431
+ - tiktoken>=0.3.0 ; extra == 'openai'
1432
+ - openfeature-sdk>=0.7.1 ; extra == 'openfeature'
1433
+ - opentelemetry-distro>=0.35b0 ; extra == 'opentelemetry'
1434
+ - opentelemetry-distro ; extra == 'opentelemetry-experimental'
1435
+ - pure-eval ; extra == 'pure-eval'
1436
+ - executing ; extra == 'pure-eval'
1437
+ - asttokens ; extra == 'pure-eval'
1438
+ - pymongo>=3.1 ; extra == 'pymongo'
1439
+ - pyspark>=2.4.4 ; extra == 'pyspark'
1440
+ - quart>=0.16.1 ; extra == 'quart'
1441
+ - blinker>=1.1 ; extra == 'quart'
1442
+ - rq>=0.6 ; extra == 'rq'
1443
+ - sanic>=0.8 ; extra == 'sanic'
1444
+ - sqlalchemy>=1.2 ; extra == 'sqlalchemy'
1445
+ - starlette>=0.19.1 ; extra == 'starlette'
1446
+ - starlite>=1.48 ; extra == 'starlite'
1447
+ - tornado>=6 ; extra == 'tornado'
1448
+ - unleashclient>=6.0.1 ; extra == 'unleash'
1449
+ requires_python: '>=3.6'
1298
1450
  - pypi: https://files.pythonhosted.org/packages/69/8a/b9dc7678803429e4a3bc9ba462fa3dd9066824d3c607490235c6a796be5a/setuptools-75.8.0-py3-none-any.whl
1299
1451
  name: setuptools
1300
1452
  version: 75.8.0
@@ -1471,3 +1623,13 @@ packages:
1471
1623
  - wsaccel ; extra == 'optional'
1472
1624
  - websockets ; extra == 'test'
1473
1625
  requires_python: '>=3.8'
1626
+ - pypi: https://files.pythonhosted.org/packages/d5/66/5d973e9f3e7370fd686fb47a9af3319418ed925c27d72ce16b791231576d/wrapt-1.17.2-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
1627
+ name: wrapt
1628
+ version: 1.17.2
1629
+ sha256: 8112e52c5822fc4253f3901b676c55ddf288614dc7011634e2719718eaa187dc
1630
+ requires_python: '>=3.8'
1631
+ - pypi: https://files.pythonhosted.org/packages/9a/24/93ce54550a9dd3fd996ed477f00221f215bf6da3580397fbc138d6036e2e/wurlitzer-3.1.1-py3-none-any.whl
1632
+ name: wurlitzer
1633
+ version: 3.1.1
1634
+ sha256: 0b2749c2cde3ef640bf314a9f94b24d929fe1ca476974719a6909dfc568c3aac
1635
+ requires_python: '>=3.5'
@@ -13,6 +13,7 @@ authors = [
13
13
  { email = "30631553+liblaf@users.noreply.github.com", name = "liblaf" },
14
14
  ]
15
15
  dependencies = [
16
+ "comet-ml>=3.47.6,<4",
16
17
  "gitpython>=3.1.44,<4",
17
18
  "lazy-loader>=0.4,<0.5",
18
19
  "liblaf-grapes>=0.0.0,<0.0.1",
@@ -27,7 +28,7 @@ license = "MIT"
27
28
  name = "liblaf-cherries"
28
29
  readme = "docs/README.md"
29
30
  requires-python = ">=3.12"
30
- version = "0.0.0"
31
+ version = "0.0.1"
31
32
 
32
33
  [project.urls]
33
34
  "Changelog" = "https://github.com/liblaf/cherries/blob/main/CHANGELOG.md"
@@ -0,0 +1,4 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/microsoft/pyright/main/packages/vscode-pyright/schemas/pyrightconfig.schema.json",
3
+ "extends": ".github/linters/pyrightconfig.json"
4
+ }