pam-python 0.2.4__py3-none-any.whl → 0.2.5__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.
pam/__init__.py CHANGED
@@ -1,3 +1,3 @@
1
1
  """PAM Data Plugin framework."""
2
2
 
3
- __version__ = "0.2.4"
3
+ __version__ = "0.2.5"
pam/cli.py CHANGED
@@ -255,9 +255,12 @@ def init_project(package_manager: str | None = None):
255
255
  **PACKAGE_MANAGER_TEMPLATES[package_manager],
256
256
  }
257
257
  if preinitialized_uv:
258
+ preserved_uv_files = {".python-version", "pyproject.toml"}
259
+ if (destination / ".gitignore").exists():
260
+ preserved_uv_files.add(".gitignore")
258
261
  templates = {
259
262
  src: dest for src, dest in templates.items()
260
- if dest not in {".gitignore", ".python-version", "pyproject.toml"}
263
+ if dest not in preserved_uv_files
261
264
  }
262
265
 
263
266
  with tempfile.TemporaryDirectory(prefix=".pam-init-", dir=destination) as temp_dir:
@@ -1,178 +1,65 @@
1
- # Created by https://www.toptal.com/developers/gitignore/api/python
2
- # Edit at https://www.toptal.com/developers/gitignore?templates=python
3
-
4
- ### Python ###
5
- # Byte-compiled / optimized / DLL files
1
+ # Python bytecode and native extensions
6
2
  __pycache__/
7
3
  *.py[cod]
8
- *$py.class
9
-
10
- # C extensions
11
4
  *.so
12
5
 
13
- # Distribution / packaging
14
- .Python
6
+ # Virtual environments
7
+ .venv/
8
+ venv/
9
+ env/
10
+
11
+ # Package build output
15
12
  build/
16
- develop-eggs/
17
13
  dist/
18
- downloads/
19
- eggs/
20
- .eggs/
21
- lib/
22
- lib64/
23
- parts/
24
- sdist/
25
- var/
26
- wheels/
27
- share/python-wheels/
28
14
  *.egg-info/
29
- .installed.cfg
30
- *.egg
31
- MANIFEST
32
-
33
- # PyInstaller
34
- # Usually these files are written by a python script from a template
35
- # before PyInstaller builds the exe, so as to inject date/other infos into it.
36
- *.manifest
37
- *.spec
38
-
39
- # Installer logs
40
- pip-log.txt
41
- pip-delete-this-directory.txt
15
+ .eggs/
42
16
 
43
- # Unit test / coverage reports
44
- htmlcov/
17
+ # Test, coverage, and tool caches
18
+ .pytest_cache/
19
+ .hypothesis/
45
20
  .tox/
46
21
  .nox/
47
22
  .coverage
48
23
  .coverage.*
49
- .cache
50
- nosetests.xml
51
24
  coverage.xml
52
- *.cover
53
- *.py,cover
54
- .hypothesis/
55
- .pytest_cache/
56
- cover/
57
-
58
- # Translations
59
- *.mo
60
- *.pot
61
-
62
- # Django stuff:
63
- *.log
64
- local_settings.py
65
- db.sqlite3
66
- db.sqlite3-journal
67
-
68
- # Flask stuff:
69
- instance/
70
- .webassets-cache
71
-
72
- # Scrapy stuff:
73
- .scrapy
74
-
75
- # Sphinx documentation
76
- docs/_build/
77
-
78
- # PyBuilder
79
- .pybuilder/
80
- target/
81
-
82
- # Jupyter Notebook
83
- .ipynb_checkpoints
84
-
85
- # IPython
86
- profile_default/
87
- ipython_config.py
88
-
89
- # pyenv
90
- # For a library or package, you might want to ignore these files since the code is
91
- # intended to run in multiple environments; otherwise, check them in:
92
- # .python-version
93
-
94
- # pipenv
95
- # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
96
- # However, in case of collaboration, if having platform-specific dependencies or dependencies
97
- # having no cross-platform support, pipenv may install dependencies that don't work, or not
98
- # install all needed dependencies.
99
- #Pipfile.lock
100
-
101
- # poetry
102
- # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
103
- # This is especially recommended for binary packages to ensure reproducibility, and is more
104
- # commonly ignored for libraries.
105
- # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
106
- #poetry.lock
107
-
108
- # pdm
109
- # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
110
- #pdm.lock
111
- # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
112
- # in version control.
113
- # https://pdm.fming.dev/#use-with-ide
114
- .pdm.toml
115
-
116
- # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
117
- __pypackages__/
118
-
119
- # Celery stuff
120
- celerybeat-schedule
121
- celerybeat.pid
122
-
123
- # SageMath parsed files
124
- *.sage.py
125
-
126
- # Environments
127
- .env
128
- .venv
129
- env/
130
- venv/
131
- ENV/
132
- env.bak/
133
- venv.bak/
134
-
135
- # Spyder project settings
136
- .spyderproject
137
- .spyproject
138
-
139
- # Rope project settings
140
- .ropeproject
141
-
142
- # mkdocs documentation
143
- /site
144
-
145
- # mypy
25
+ htmlcov/
146
26
  .mypy_cache/
147
- .dmypy.json
148
- dmypy.json
149
-
150
- # Pyre type checker
151
27
  .pyre/
152
-
153
- # pytype static type analyzer
154
28
  .pytype/
155
-
156
- # Cython debug symbols
157
- cython_debug/
158
-
159
- # PyCharm
160
- # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
161
- # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
162
- # and can be added to the global gitignore or merged into this file. For a more nuclear
163
- # option (not recommended) you can uncomment the following to ignore the entire idea folder.
164
- #.idea/
165
-
166
- ### Python Patch ###
167
- # Poetry local configuration file - https://python-poetry.org/docs/configuration/#local-configuration
168
- poetry.toml
169
-
170
- # ruff
171
29
  .ruff_cache/
172
30
 
173
- # LSP config files
174
- pyrightconfig.json
175
-
176
- # End of https://www.toptal.com/developers/gitignore/api/python
177
-
178
- TEMP_TEST_DATA/
31
+ # Local secrets. Keep example files available for version control.
32
+ .env
33
+ .env.*
34
+ !.env.example
35
+ !.env.*.example
36
+
37
+ # PAM-generated test and runtime data
38
+ TEMP_TEST_DATA/
39
+ *.sqlite
40
+ *.sqlite3
41
+ *.db
42
+ *.duckdb
43
+ *.sqlite-journal
44
+ *.sqlite-wal
45
+ *.sqlite-shm
46
+ *.sqlite3-journal
47
+ *.sqlite3-wal
48
+ *.sqlite3-shm
49
+ *.duckdb.wal
50
+
51
+ # Logs and temporary editor files
52
+ *.log
53
+ *.tmp
54
+ *.swp
55
+ *.swo
56
+ *~
57
+
58
+ # IDE and operating-system metadata
59
+ .idea/
60
+ .vscode/
61
+ .DS_Store
62
+ Thumbs.db
63
+
64
+ # Keep uv.lock, .python-version, .pam-project, and project configuration files
65
+ # under version control for reproducible builds and PAM project detection.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pam-python
3
- Version: 0.2.4
3
+ Version: 0.2.5
4
4
  Summary: Pam Python Library
5
5
  Author-email: Narongrit Kanhanoi <narongrit@pams.ai>
6
6
  Project-URL: Homepage, https://github.com/heart/pam-python
@@ -1,6 +1,6 @@
1
- pam/__init__.py,sha256=cSLmJntln2OVNNJ07_9Z2eKFLloAZc33rsRlnRTj0wk,56
1
+ pam/__init__.py,sha256=dAD9_uqp7e4_JTMb8qBUONsVy-Phbw9FSWnwuC-xR50,56
2
2
  pam/api.py,sha256=4t64ey_Jc4gC3SvfI-mtedEGzkX2cPTt0cdZgP_huLk,7231
3
- pam/cli.py,sha256=Kbl5K4xS5KtW1cU3QRZOi8eAdKzUaJqe2JDGuhy4wQA,14131
3
+ pam/cli.py,sha256=bMwQ8UjeCWXXhOKOBbUy135PFNHhC_roYIGUy7dge3c,14264
4
4
  pam/interface_task_manager.py,sha256=moKUjSpAeNF9C2dluDFPAdU4IyvwXckB0RK-jINTLm4,1665
5
5
  pam/logger.py,sha256=JYPfIpaQZy6QrfVKrzEMrxOgTzWIEhoegvIZgHTGWoc,3021
6
6
  pam/request_file_format.py,sha256=fSRlJagbvVGqdIEqhINSeqBNUTNQdm8GL5JfqgX9bxU,317
@@ -51,7 +51,7 @@ pam/templates/buildcmd/pamb-base.sh,sha256=Q0DkbeHtPx33PIjc68EeI7ZIwBOLlwcSmPhpx
51
51
  pam/templates/init/AGENT.md,sha256=uEvHox6K43Em2vWQ8H_5a2NswLUdlSmfve3cWEwLDes,18524
52
52
  pam/templates/init/REPORTS.md,sha256=rg9oi0_xDYr0BZBluJh0vPF8lSx7mCRFpDCpUgNl68A,42851
53
53
  pam/templates/init/dockerignore.tmpl,sha256=Ht1eCgQLqalEwpUjih0FQavzhYJbT2jH-FP4btM3960,52
54
- pam/templates/init/gitignore.tmpl,sha256=U59ynPRu_Kw6evqQzOOTAhWKdIXbf1uBOF2V8223tU8,3510
54
+ pam/templates/init/gitignore.tmpl,sha256=xi8KBrPKSCPiuwtKP8xsF4shQbYowh1_LGW3fKbl09M,917
55
55
  pam/templates/init/main.tmpl,sha256=CtrwBpk5610OGa0KscawpfcDuAciRfpnqQvGydvD0KI,260
56
56
  pam/templates/init/pylintrc.tmpl,sha256=jQLRIR_L9XhvOm7xwO0b9nxkB3Q2bGDbIcweQfhP05E,194
57
57
  pam/templates/init/run_unit_test.bat,sha256=VJL7lfFg-MyrlKxAIOUBXdvoG7-0Gqa_OJeMZQDJAhg,165
@@ -69,9 +69,9 @@ pam/templates/service/pandas/service_class.tmpl,sha256=Pzw2Wcv1FZMDbWAcfakM2V0Qh
69
69
  pam/templates/service/polars/functions.tmpl,sha256=nMKFC5GqIm2Q1dSg2zDOscSwQaOpzS2jzqjQV7xhPRk,382
70
70
  pam/templates/service/polars/service.test.tmpl,sha256=2jduY9a2yILkSzKg9ViPo2_VQsVziXS1KdqFp_U6PUU,3937
71
71
  pam/templates/service/polars/service_class.tmpl,sha256=Pzw2Wcv1FZMDbWAcfakM2V0QhxKjq31mX5bfv5ekeTI,2666
72
- pam_python-0.2.4.dist-info/licenses/LICENSE.txt,sha256=yeHD2-gzrkkET2ZkMe22WyUGpDjlwTrqA4POb0FoZi4,1138
73
- pam_python-0.2.4.dist-info/METADATA,sha256=7i-8B4rbtCG13UGNa8Y3SNc-v7HwWQManVP9dw5kYjw,9025
74
- pam_python-0.2.4.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
75
- pam_python-0.2.4.dist-info/entry_points.txt,sha256=xqYpsIqvNlO0j8elZc02bDwR-12dLK9FU2B1ACsLYxw,37
76
- pam_python-0.2.4.dist-info/top_level.txt,sha256=0EOjbyc3hQyzjhn6iyMgsEseqA66Xz0p27iBN7G7W1w,4
77
- pam_python-0.2.4.dist-info/RECORD,,
72
+ pam_python-0.2.5.dist-info/licenses/LICENSE.txt,sha256=yeHD2-gzrkkET2ZkMe22WyUGpDjlwTrqA4POb0FoZi4,1138
73
+ pam_python-0.2.5.dist-info/METADATA,sha256=pjkmUQYtdRciC_E21LpLU7A00oD9N8wvY7QJ5TJ_WBo,9025
74
+ pam_python-0.2.5.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
75
+ pam_python-0.2.5.dist-info/entry_points.txt,sha256=xqYpsIqvNlO0j8elZc02bDwR-12dLK9FU2B1ACsLYxw,37
76
+ pam_python-0.2.5.dist-info/top_level.txt,sha256=0EOjbyc3hQyzjhn6iyMgsEseqA66Xz0p27iBN7G7W1w,4
77
+ pam_python-0.2.5.dist-info/RECORD,,