half-orm-dev 1.0.0a14__tar.gz → 1.0.0a15__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.
- {half_orm_dev-1.0.0a14/half_orm_dev.egg-info → half_orm_dev-1.0.0a15}/PKG-INFO +1 -1
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/modules.py +85 -36
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/templates/module_template_1 +1 -2
- half_orm_dev-1.0.0a15/half_orm_dev/templates/module_template_2 +7 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/templates/module_template_3 +1 -1
- half_orm_dev-1.0.0a15/half_orm_dev/version.txt +1 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15/half_orm_dev.egg-info}/PKG-INFO +1 -1
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev.egg-info/SOURCES.txt +0 -1
- half_orm_dev-1.0.0a14/half_orm_dev/templates/module_stub_template +0 -8
- half_orm_dev-1.0.0a14/half_orm_dev/templates/module_template_2 +0 -7
- half_orm_dev-1.0.0a14/half_orm_dev/version.txt +0 -1
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/AUTHORS +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/LICENSE +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/README.md +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/__init__.py +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/bootstrap_manager.py +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/cli/__init__.py +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/cli/commands/__init__.py +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/cli/commands/apply.py +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/cli/commands/bootstrap.py +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/cli/commands/check.py +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/cli/commands/clone.py +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/cli/commands/init.py +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/cli/commands/migrate.py +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/cli/commands/patch.py +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/cli/commands/release.py +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/cli/commands/restore.py +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/cli/commands/revert_migration.py +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/cli/commands/set_git_origin.py +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/cli/commands/sync.py +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/cli/commands/todo.py +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/cli/commands/undo.py +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/cli/commands/update.py +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/cli/commands/upgrade.py +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/cli/main.py +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/cli_extension.py +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/database.py +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/decorators.py +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/file_executor.py +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/hgit.py +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/migration_manager.py +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/migrations/0/17/1/00_move_to_hop.py +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/migrations/0/17/1/01_txt_to_toml.py +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/migrations/0/17/4/00_toml_dict_format.py +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/migrations/0/17/4/01_add_bootstrap_table.py +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/migrations/0/17/4/02_move_patches_to_subdirs.py +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/migrations/0/17/5/01_update_pyproject_dependency.py +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/migrations/0/18/0/00_add_async_support.py +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/migrations/0/18/0/01_update_default_tests.py +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/migrations/hop/BREAKING_CHANGES-1.0.0.md +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/patch_manager.py +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/patch_validator.py +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/patches/0/1/0/00_half_orm_meta.database.sql +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/patches/0/1/0/01_alter_half_orm_meta.hop_release.sql +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/patches/0/1/0/02_half_orm_meta.view.hop_penultimate_release.sql +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/patches/log +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/patches/sql/half_orm_meta.sql +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/release_file.py +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/release_manager.py +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/repo.py +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/scripts/repair-metadata.py +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/templates/.gitignore +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/templates/MANIFEST.in +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/templates/README +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/templates/conftest_template +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/templates/git-hooks/pre-commit +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/templates/git-hooks/prepare-commit-msg +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/templates/init_module_template +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/templates/pyproject.toml +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/templates/relation_test +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/templates/sql_adapter +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/templates/warning +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/utils.py +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev.egg-info/dependency_links.txt +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev.egg-info/entry_points.txt +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev.egg-info/requires.txt +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev.egg-info/top_level.txt +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/pyproject.toml +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/setup.cfg +0 -0
- {half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/setup.py +0 -0
|
@@ -48,11 +48,12 @@ HO_DATACLASSES = []
|
|
|
48
48
|
HO_DATACLASSES_IMPORTS = set()
|
|
49
49
|
HO_TYPEDICTS: list = []
|
|
50
50
|
HO_TYPEDICTS_IMPORTS: set = set()
|
|
51
|
+
HO_BASECLASSES: list = []
|
|
52
|
+
HO_BASECLASSES_DICT_NAMES: set = set()
|
|
51
53
|
INIT_MODULE_TEMPLATE = read_template('init_module_template')
|
|
52
54
|
MODULE_TEMPLATE_1 = read_template('module_template_1')
|
|
53
55
|
MODULE_TEMPLATE_2 = read_template('module_template_2')
|
|
54
56
|
MODULE_TEMPLATE_3 = read_template('module_template_3')
|
|
55
|
-
MODULE_STUB_TEMPLATE = read_template('module_stub_template')
|
|
56
57
|
WARNING_TEMPLATE = read_template('warning')
|
|
57
58
|
CONFTEST = read_template('conftest_template')
|
|
58
59
|
TEST = read_template('relation_test')
|
|
@@ -335,18 +336,6 @@ def __gen_typedict(relation, fkeys) -> list:
|
|
|
335
336
|
return extra_classes + [main_class]
|
|
336
337
|
|
|
337
338
|
|
|
338
|
-
def __gen_stub_file(module_path: str, class_name: str, dict_class_name: str, package_name: str) -> str:
|
|
339
|
-
"""Generate a .pyi stub alongside the module for IDE type inference."""
|
|
340
|
-
stub_path = module_path[:-3] + '.pyi'
|
|
341
|
-
with open(stub_path, 'w', encoding='utf-8') as f:
|
|
342
|
-
f.write(MODULE_STUB_TEMPLATE.format(
|
|
343
|
-
package_name=package_name,
|
|
344
|
-
dict_class_name=dict_class_name,
|
|
345
|
-
class_name=class_name,
|
|
346
|
-
))
|
|
347
|
-
return stub_path
|
|
348
|
-
|
|
349
|
-
|
|
350
339
|
def __gen_typedicts(package_dir: str, package_name: str) -> None:
|
|
351
340
|
with open(os.path.join(package_dir, "ho_typeddicts.py"), "w", encoding='utf-8') as file_:
|
|
352
341
|
file_.write(f"# TypedDicts for {package_name}\n\n")
|
|
@@ -563,7 +552,9 @@ def __update_this_module(
|
|
|
563
552
|
rel, package_name)
|
|
564
553
|
|
|
565
554
|
t_qrn = list(rel._t_fqrn)[1:]
|
|
566
|
-
|
|
555
|
+
full_name = __get_full_class_name(*t_qrn)
|
|
556
|
+
dict_class_name = f'{full_name}Dict'
|
|
557
|
+
bc_name = f'BC_{full_name}'
|
|
567
558
|
|
|
568
559
|
# Generate Python module
|
|
569
560
|
with open(module_path, 'w', encoding='utf-8') as file_:
|
|
@@ -580,6 +571,7 @@ def __update_this_module(
|
|
|
580
571
|
class_name=class_name,
|
|
581
572
|
dc_name=rel._ho_dataclass_name(),
|
|
582
573
|
dict_class_name=dict_class_name,
|
|
574
|
+
bc_name=bc_name,
|
|
583
575
|
fqtn=fqtn,
|
|
584
576
|
kwargs=kwargs,
|
|
585
577
|
arg_names=arg_names,
|
|
@@ -605,19 +597,9 @@ def __update_this_module(
|
|
|
605
597
|
|
|
606
598
|
HO_DATACLASSES.append(__gen_dataclass(rel, existing_fkeys))
|
|
607
599
|
HO_TYPEDICTS.extend(__gen_typedict(rel, existing_fkeys))
|
|
600
|
+
HO_BASECLASSES.append(__gen_baseclass(rel, existing_fkeys))
|
|
608
601
|
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
return [module_path, stub_path]
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
def __reset_dataclasses(repo, package_dir):
|
|
615
|
-
with open(os.path.join(package_dir, "ho_dataclasses.py"), "w", encoding='utf-8') as file_:
|
|
616
|
-
for relation in repo.database.model._relations():
|
|
617
|
-
t_qrn = relation[1][1:]
|
|
618
|
-
if t_qrn[0].find('half_orm') == 0:
|
|
619
|
-
continue
|
|
620
|
-
file_.write(f'class DC_{__get_full_class_name(*t_qrn)}: ...\n')
|
|
602
|
+
return module_path
|
|
621
603
|
|
|
622
604
|
|
|
623
605
|
_TYPING_NAMES = frozenset(('Any', 'Dict', 'Iterator', 'List', 'Optional', 'Tuple', 'Union'))
|
|
@@ -675,20 +657,80 @@ def __gen_dc_relation() -> tuple:
|
|
|
675
657
|
return class_str, needed_typing
|
|
676
658
|
|
|
677
659
|
|
|
678
|
-
def
|
|
660
|
+
def __gen_baseclass(relation, fkeys) -> str:
|
|
661
|
+
"""Generate a BC_* base class string with TypedDict-typed method overrides."""
|
|
662
|
+
rel = relation()
|
|
663
|
+
t_qrn = list(rel._t_fqrn)[1:]
|
|
664
|
+
full_name = __get_full_class_name(*t_qrn)
|
|
665
|
+
fqtn = '.'.join(t_qrn)
|
|
666
|
+
bc_name = f'BC_{full_name}'
|
|
667
|
+
dc_name = rel._ho_dataclass_name()
|
|
668
|
+
d = f'{full_name}Dict'
|
|
669
|
+
HO_BASECLASSES_DICT_NAMES.add(d)
|
|
670
|
+
lines = [
|
|
671
|
+
f"class {bc_name}(",
|
|
672
|
+
f" MODEL.get_relation_class('{fqtn}', fields_aliases=None),",
|
|
673
|
+
f" {dc_name}",
|
|
674
|
+
f"):",
|
|
675
|
+
f" def __iter__(self) -> Iterator[{d}]:",
|
|
676
|
+
f" return super().__iter__()",
|
|
677
|
+
f"",
|
|
678
|
+
f" def ho_select(self, *args, distinct: bool = False, order_by: str = None, limit: int = None, offset: int = None, json_agg=None) -> Iterator[{d}]:",
|
|
679
|
+
f" return super().ho_select(*args, distinct=distinct, order_by=order_by, limit=limit, offset=offset, json_agg=json_agg)",
|
|
680
|
+
f"",
|
|
681
|
+
f" def ho_get(self, *args) -> {d}:",
|
|
682
|
+
f" return super().ho_get(*args)",
|
|
683
|
+
f"",
|
|
684
|
+
f" def ho_insert(self, *args, upsert: Optional[bool] = False) -> {d}:",
|
|
685
|
+
f" return super().ho_insert(*args, upsert=upsert)",
|
|
686
|
+
f"",
|
|
687
|
+
f" async def ho_aselect(self, *args, distinct: bool = False, order_by: str = None, limit: int = None, offset: int = None) -> List[{d}]:",
|
|
688
|
+
f" return await super().ho_aselect(*args, distinct=distinct, order_by=order_by, limit=limit, offset=offset)",
|
|
689
|
+
f"",
|
|
690
|
+
f" async def ho_aget(self, *args) -> {d}:",
|
|
691
|
+
f" return await super().ho_aget(*args)",
|
|
692
|
+
f"",
|
|
693
|
+
f" async def ho_ainsert(self, *args, upsert: bool = False) -> {d}:",
|
|
694
|
+
f" return await super().ho_ainsert(*args, upsert=upsert)",
|
|
695
|
+
]
|
|
696
|
+
return '\n'.join(lines)
|
|
697
|
+
|
|
698
|
+
|
|
699
|
+
def __reset_baseclasses(repo, package_dir):
|
|
700
|
+
with open(os.path.join(package_dir, "ho_baseclasses.py"), "w", encoding='utf-8') as file_:
|
|
701
|
+
for relation in repo.database.model._relations():
|
|
702
|
+
t_qrn = relation[1][1:]
|
|
703
|
+
if t_qrn[0].find('half_orm') == 0:
|
|
704
|
+
continue
|
|
705
|
+
full_name = __get_full_class_name(*t_qrn)
|
|
706
|
+
file_.write(f'class DC_{full_name}: ...\n')
|
|
707
|
+
file_.write(f'class BC_{full_name}: ...\n')
|
|
708
|
+
|
|
709
|
+
|
|
710
|
+
def __gen_baseclasses(package_dir, package_name):
|
|
679
711
|
dc_relation_str, dc_typing = __gen_dc_relation()
|
|
680
|
-
with open(os.path.join(package_dir, "
|
|
681
|
-
file_.write(
|
|
712
|
+
with open(os.path.join(package_dir, "ho_baseclasses.py"), "w", encoding='utf-8') as file_:
|
|
713
|
+
file_.write("# DO NOT EDIT — auto-generated by half-orm-dev\n\n")
|
|
714
|
+
file_.write("from __future__ import annotations\n")
|
|
715
|
+
typing_names = sorted(dc_typing | {'Iterator', 'List', 'Optional', 'TYPE_CHECKING'})
|
|
716
|
+
file_.write(f"from typing import {', '.join(typing_names)}\n")
|
|
682
717
|
file_.write("import dataclasses\n")
|
|
683
718
|
file_.write("from half_orm.field import Field\n")
|
|
684
|
-
if dc_typing:
|
|
685
|
-
file_.write(f"from typing import {', '.join(sorted(dc_typing))}\n")
|
|
686
719
|
for mod in sorted(HO_DATACLASSES_IMPORTS):
|
|
687
720
|
file_.write(f"import {mod}\n")
|
|
721
|
+
file_.write(f"from {package_name} import MODEL\n")
|
|
722
|
+
if HO_BASECLASSES_DICT_NAMES:
|
|
723
|
+
file_.write("if TYPE_CHECKING:\n")
|
|
724
|
+
file_.write(f" from {package_name}.ho_typeddicts import (\n")
|
|
725
|
+
for name in sorted(HO_BASECLASSES_DICT_NAMES):
|
|
726
|
+
file_.write(f" {name},\n")
|
|
727
|
+
file_.write(" )\n")
|
|
688
728
|
file_.write("\n\n")
|
|
689
729
|
file_.write(dc_relation_str)
|
|
690
730
|
for dc in HO_DATACLASSES:
|
|
691
731
|
file_.write(f"\n\n{dc}\n")
|
|
732
|
+
for bc in HO_BASECLASSES:
|
|
733
|
+
file_.write(f"\n\n{bc}\n")
|
|
692
734
|
|
|
693
735
|
|
|
694
736
|
def generate(repo):
|
|
@@ -698,6 +740,8 @@ def generate(repo):
|
|
|
698
740
|
HO_DATACLASSES_IMPORTS.clear()
|
|
699
741
|
HO_TYPEDICTS.clear()
|
|
700
742
|
HO_TYPEDICTS_IMPORTS.clear()
|
|
743
|
+
HO_BASECLASSES.clear()
|
|
744
|
+
HO_BASECLASSES_DICT_NAMES.clear()
|
|
701
745
|
NO_APAPTER.clear()
|
|
702
746
|
|
|
703
747
|
package_name = repo.name
|
|
@@ -721,7 +765,11 @@ def generate(repo):
|
|
|
721
765
|
if not package_dir.exists():
|
|
722
766
|
package_dir.mkdir(parents=True)
|
|
723
767
|
|
|
724
|
-
|
|
768
|
+
__reset_baseclasses(repo, str(package_dir))
|
|
769
|
+
# Remove legacy ho_dataclasses.py if present (merged into ho_baseclasses.py)
|
|
770
|
+
legacy = Path(package_dir) / "ho_dataclasses.py"
|
|
771
|
+
if legacy.exists():
|
|
772
|
+
legacy.unlink()
|
|
725
773
|
|
|
726
774
|
# Generate package __init__.py
|
|
727
775
|
with open(package_dir / INIT_PY, 'w', encoding='utf-8') as file_:
|
|
@@ -742,12 +790,13 @@ def generate(repo):
|
|
|
742
790
|
|
|
743
791
|
# Generate modules for each relation
|
|
744
792
|
for relation in repo.database.model._relations():
|
|
745
|
-
|
|
746
|
-
if
|
|
747
|
-
files_list.
|
|
793
|
+
module_path = __update_this_module(repo, relation, str(package_dir), package_name)
|
|
794
|
+
if module_path:
|
|
795
|
+
files_list.append(module_path)
|
|
796
|
+
# Tests are no longer added to files_list (they live in tests/ directory)
|
|
748
797
|
|
|
749
|
-
__gen_dataclasses(str(package_dir), package_name)
|
|
750
798
|
__gen_typedicts(str(package_dir), package_name)
|
|
799
|
+
__gen_baseclasses(str(package_dir), package_name)
|
|
751
800
|
|
|
752
801
|
if len(NO_APAPTER):
|
|
753
802
|
print("MISSING ADAPTER FOR SQL TYPE")
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
1.0.0-a15
|
|
@@ -64,7 +64,6 @@ half_orm_dev/templates/MANIFEST.in
|
|
|
64
64
|
half_orm_dev/templates/README
|
|
65
65
|
half_orm_dev/templates/conftest_template
|
|
66
66
|
half_orm_dev/templates/init_module_template
|
|
67
|
-
half_orm_dev/templates/module_stub_template
|
|
68
67
|
half_orm_dev/templates/module_template_1
|
|
69
68
|
half_orm_dev/templates/module_template_2
|
|
70
69
|
half_orm_dev/templates/module_template_3
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
# DO NOT EDIT — auto-generated by half-orm-dev
|
|
2
|
-
from typing import Iterator
|
|
3
|
-
from {package_name}.ho_typeddicts import {dict_class_name}
|
|
4
|
-
|
|
5
|
-
class {class_name}:
|
|
6
|
-
def __iter__(self) -> Iterator[{dict_class_name}]: ...
|
|
7
|
-
def ho_get(self, *args) -> {dict_class_name}: ...
|
|
8
|
-
async def ho_aget(self, *args) -> {dict_class_name}: ...
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
1.0.0-a14
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/cli/commands/revert_migration.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/migrations/0/17/1/00_move_to_hop.py
RENAMED
|
File without changes
|
{half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/migrations/0/17/1/01_txt_to_toml.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{half_orm_dev-1.0.0a14 → half_orm_dev-1.0.0a15}/half_orm_dev/templates/git-hooks/prepare-commit-msg
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|