half-orm-dev 0.17.5a4__tar.gz → 0.17.5a6__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. {half_orm_dev-0.17.5a4/half_orm_dev.egg-info → half_orm_dev-0.17.5a6}/PKG-INFO +2 -2
  2. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/README.md +1 -1
  3. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/bootstrap_manager.py +4 -9
  4. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/cli/commands/init.py +3 -0
  5. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/file_executor.py +1 -1
  6. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/hgit.py +120 -339
  7. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/patch_manager.py +49 -55
  8. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/release_manager.py +29 -80
  9. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/repo.py +28 -22
  10. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/utils.py +10 -10
  11. half_orm_dev-0.17.5a6/half_orm_dev/version.txt +1 -0
  12. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6/half_orm_dev.egg-info}/PKG-INFO +2 -2
  13. half_orm_dev-0.17.5a4/half_orm_dev/version.txt +0 -1
  14. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/AUTHORS +0 -0
  15. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/LICENSE +0 -0
  16. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/__init__.py +0 -0
  17. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/cli/__init__.py +0 -0
  18. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/cli/commands/__init__.py +0 -0
  19. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/cli/commands/apply.py +0 -0
  20. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/cli/commands/bootstrap.py +0 -0
  21. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/cli/commands/check.py +0 -0
  22. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/cli/commands/clone.py +0 -0
  23. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/cli/commands/migrate.py +0 -0
  24. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/cli/commands/patch.py +0 -0
  25. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/cli/commands/release.py +0 -0
  26. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/cli/commands/restore.py +0 -0
  27. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/cli/commands/sync.py +0 -0
  28. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/cli/commands/todo.py +0 -0
  29. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/cli/commands/undo.py +0 -0
  30. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/cli/commands/update.py +0 -0
  31. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/cli/commands/upgrade.py +0 -0
  32. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/cli/main.py +0 -0
  33. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/cli_extension.py +0 -0
  34. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/database.py +0 -0
  35. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/decorators.py +0 -0
  36. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/migration_manager.py +0 -0
  37. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/migrations/0/17/1/00_move_to_hop.py +0 -0
  38. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/migrations/0/17/1/01_txt_to_toml.py +0 -0
  39. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/migrations/0/17/4/00_toml_dict_format.py +0 -0
  40. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/migrations/0/17/4/01_add_bootstrap_table.py +0 -0
  41. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/migrations/0/17/4/02_move_patches_to_subdirs.py +0 -0
  42. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/migrations/0/17/5/01_update_pyproject_dependency.py +0 -0
  43. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/modules.py +0 -0
  44. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/patch_validator.py +0 -0
  45. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/patches/0/1/0/00_half_orm_meta.database.sql +0 -0
  46. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/patches/0/1/0/01_alter_half_orm_meta.hop_release.sql +0 -0
  47. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/patches/0/1/0/02_half_orm_meta.view.hop_penultimate_release.sql +0 -0
  48. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/patches/log +0 -0
  49. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/patches/sql/half_orm_meta.sql +0 -0
  50. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/release_file.py +0 -0
  51. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/scripts/repair-metadata.py +0 -0
  52. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/templates/.gitignore +0 -0
  53. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/templates/MANIFEST.in +0 -0
  54. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/templates/README +0 -0
  55. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/templates/conftest_template +0 -0
  56. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/templates/git-hooks/pre-commit +0 -0
  57. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/templates/git-hooks/prepare-commit-msg +0 -0
  58. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/templates/init_module_template +0 -0
  59. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/templates/module_template_1 +0 -0
  60. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/templates/module_template_2 +0 -0
  61. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/templates/module_template_3 +0 -0
  62. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/templates/pyproject.toml +0 -0
  63. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/templates/relation_test +0 -0
  64. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/templates/sql_adapter +0 -0
  65. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev/templates/warning +0 -0
  66. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev.egg-info/SOURCES.txt +0 -0
  67. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev.egg-info/dependency_links.txt +0 -0
  68. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev.egg-info/requires.txt +0 -0
  69. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/half_orm_dev.egg-info/top_level.txt +0 -0
  70. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/pyproject.toml +0 -0
  71. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/setup.cfg +0 -0
  72. {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a6}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: half_orm_dev
3
- Version: 0.17.5a4
3
+ Version: 0.17.5a6
4
4
  Summary: half_orm development Framework.
5
5
  Author-email: Joël Maïzi <joel.maizi@collorg.org>
6
6
  License-Expression: GPL-3.0-or-later
@@ -283,7 +283,7 @@ ho-prod (main production branch)
283
283
 
284
284
  ```bash
285
285
  # Create new project (requires git origin)
286
- half_orm dev init <package_name> --database <db_name> --git-origin <url>
286
+ half_orm dev init <package_name> --git-origin <url>
287
287
 
288
288
  # Clone existing project
289
289
  half_orm dev clone <git_origin>
@@ -252,7 +252,7 @@ ho-prod (main production branch)
252
252
 
253
253
  ```bash
254
254
  # Create new project (requires git origin)
255
- half_orm dev init <package_name> --database <db_name> --git-origin <url>
255
+ half_orm dev init <package_name> --git-origin <url>
256
256
 
257
257
  # Clone existing project
258
258
  half_orm dev clone <git_origin>
@@ -72,11 +72,7 @@ class BootstrapManager:
72
72
  executed_at TIMESTAMP DEFAULT NOW()
73
73
  );
74
74
  """
75
- try:
76
- self._repo.database.model.execute_query(sql)
77
- except Exception:
78
- # Schema might not exist yet, ignore
79
- pass
75
+ self._repo.database.model.execute_query(sql)
80
76
 
81
77
  def get_bootstrap_files(
82
78
  self,
@@ -145,16 +141,15 @@ class BootstrapManager:
145
141
  Returns:
146
142
  Set of filename strings that have been executed
147
143
  """
148
- # Ensure table exists before querying
149
- self._ensure_bootstrap_table()
150
-
144
+ # If schema or table isn't ready yet (pre-migration state),
145
+ # return empty set so all bootstrap files are treated as pending.
151
146
  try:
147
+ self._ensure_bootstrap_table()
152
148
  result = self._repo.database.model.execute_query(
153
149
  "SELECT filename FROM half_orm_meta.bootstrap"
154
150
  )
155
151
  return {row[0] for row in result} if result else set()
156
152
  except Exception:
157
- # Table might not exist yet (pre-migration)
158
153
  return set()
159
154
 
160
155
  def get_pending_files(
@@ -272,6 +272,9 @@ def _check_database_status(database_name, connection_options):
272
272
 
273
273
  return (True, has_metadata)
274
274
 
275
+ except FileNotFoundError:
276
+ # Config file doesn't exist yet — expected for a new project
277
+ return (False, False)
275
278
  except Exception as e:
276
279
  # Database doesn't exist or not accessible yet
277
280
  # This is expected for new databases before setup_database runs
@@ -122,5 +122,5 @@ def is_bootstrap_file(file_path: Path) -> bool:
122
122
  re.match(r"(--|#)\s*@hop:bootstrap", first_line) is not None or
123
123
  re.match(r"(--|#)\s*@hop:data", first_line) is not None
124
124
  )
125
- except Exception:
125
+ except OSError:
126
126
  return False