protoprimer 0.12.0.dev2__tar.gz → 0.12.1.dev0__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.
- {protoprimer-0.12.0.dev2 → protoprimer-0.12.1.dev0}/PKG-INFO +1 -1
- {protoprimer-0.12.0.dev2 → protoprimer-0.12.1.dev0}/main/protoprimer/primer_kernel.py +41 -46
- {protoprimer-0.12.0.dev2 → protoprimer-0.12.1.dev0}/main/protoprimer.egg-info/PKG-INFO +1 -1
- {protoprimer-0.12.0.dev2 → protoprimer-0.12.1.dev0}/pyproject.toml +1 -1
- {protoprimer-0.12.0.dev2 → protoprimer-0.12.1.dev0}/main/protoprimer/__init__.py +0 -0
- {protoprimer-0.12.0.dev2 → protoprimer-0.12.1.dev0}/main/protoprimer/proto_generator.py +0 -0
- {protoprimer-0.12.0.dev2 → protoprimer-0.12.1.dev0}/main/protoprimer.egg-info/SOURCES.txt +0 -0
- {protoprimer-0.12.0.dev2 → protoprimer-0.12.1.dev0}/main/protoprimer.egg-info/dependency_links.txt +0 -0
- {protoprimer-0.12.0.dev2 → protoprimer-0.12.1.dev0}/main/protoprimer.egg-info/requires.txt +0 -0
- {protoprimer-0.12.0.dev2 → protoprimer-0.12.1.dev0}/main/protoprimer.egg-info/top_level.txt +0 -0
- {protoprimer-0.12.0.dev2 → protoprimer-0.12.1.dev0}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: protoprimer
|
|
3
|
-
Version: 0.12.
|
|
3
|
+
Version: 0.12.1.dev0
|
|
4
4
|
Summary: Escape the fragile mess of pre-venv shell scripts with a pure Python bootstrap wrapper: 🚀 ⏩ single-touch, zero-args, self-contained, no-deps, cross-platform, testable init logic using standard tools to run apps in a custom environment isolated per repository
|
|
5
5
|
Author-email: uvsmtid <uvsmtid@gmail.com>
|
|
6
6
|
License: MIT
|
|
@@ -52,7 +52,7 @@ from typing import (
|
|
|
52
52
|
|
|
53
53
|
# The release process ensures that content in this file matches the version below while tagging the release commit
|
|
54
54
|
# (otherwise, if the file comes from a different commit, the version is irrelevant):
|
|
55
|
-
__version__ = "0.12.
|
|
55
|
+
__version__ = "0.12.1.dev0"
|
|
56
56
|
|
|
57
57
|
logger: logging.Logger = logging.getLogger()
|
|
58
58
|
|
|
@@ -643,15 +643,15 @@ class ConfField(enum.Enum):
|
|
|
643
643
|
# state_venv_driver_inited:
|
|
644
644
|
field_venv_driver = f"{ValueName.value_venv_driver.value}"
|
|
645
645
|
|
|
646
|
+
# state_version_constraints_file_basename_inited:
|
|
647
|
+
field_version_constraints_file_basename = f"{ValueName.value_version_constraints.value}_{ValueName.value_file_basename.value}"
|
|
648
|
+
|
|
646
649
|
# parent of `field_build_root_dir_rel_path` & `field_install_extras`:
|
|
647
650
|
# state_project_descriptors_inited:
|
|
648
651
|
field_project_descriptors = f"{ValueName.value_project_descriptors.value}"
|
|
649
652
|
|
|
650
653
|
field_install_specs = f"{ValueName.value_install_specs.value}"
|
|
651
654
|
|
|
652
|
-
# state_version_constraints_file_basename_inited:
|
|
653
|
-
field_version_constraints_file_basename = f"{ValueName.value_version_constraints.value}_{ValueName.value_file_basename.value}"
|
|
654
|
-
|
|
655
655
|
####################################################################################################################
|
|
656
656
|
|
|
657
657
|
# child of `field_project_descriptors`:
|
|
@@ -1413,6 +1413,8 @@ class ConfConstEnv:
|
|
|
1413
1413
|
# The default is `uv` only if it is supported by the selected `python` version:
|
|
1414
1414
|
default_venv_driver = VenvDriverType.venv_uv.name
|
|
1415
1415
|
|
|
1416
|
+
default_version_constraints_file_basename = "constraints.txt"
|
|
1417
|
+
|
|
1416
1418
|
default_project_descriptors = [
|
|
1417
1419
|
{
|
|
1418
1420
|
ConfField.field_build_root_dir_rel_path.value: ".",
|
|
@@ -1423,8 +1425,6 @@ class ConfConstEnv:
|
|
|
1423
1425
|
|
|
1424
1426
|
default_install_specs = []
|
|
1425
1427
|
|
|
1426
|
-
default_version_constraints_file_basename = "constraints.txt"
|
|
1427
|
-
|
|
1428
1428
|
# FT_84_11_73_28.supported_python_versions.md:
|
|
1429
1429
|
latest_known_python_version = "3.14"
|
|
1430
1430
|
|
|
@@ -1470,6 +1470,15 @@ def _create_parent_argparser():
|
|
|
1470
1470
|
default=0,
|
|
1471
1471
|
help="Increase log verbosity level.",
|
|
1472
1472
|
)
|
|
1473
|
+
parent_argparser.add_argument(
|
|
1474
|
+
SyntaxArg.arg_e,
|
|
1475
|
+
SyntaxArg.arg_env,
|
|
1476
|
+
type=str,
|
|
1477
|
+
default=None,
|
|
1478
|
+
dest=ParsedArg.name_selected_env_dir.value,
|
|
1479
|
+
metavar=ParsedArg.name_selected_env_dir.value,
|
|
1480
|
+
help="Path to the env-specific config dir.",
|
|
1481
|
+
)
|
|
1473
1482
|
return parent_argparser
|
|
1474
1483
|
|
|
1475
1484
|
|
|
@@ -1482,21 +1491,6 @@ def _create_child_argparser(parent_argparsers):
|
|
|
1482
1491
|
description=sub_command_desc,
|
|
1483
1492
|
)
|
|
1484
1493
|
parser_boot.set_defaults(sub_command=SubCommand.command_boot.value)
|
|
1485
|
-
parser_boot.add_argument(
|
|
1486
|
-
SyntaxArg.arg_e,
|
|
1487
|
-
SyntaxArg.arg_env,
|
|
1488
|
-
type=str,
|
|
1489
|
-
default=None,
|
|
1490
|
-
dest=ParsedArg.name_selected_env_dir.value,
|
|
1491
|
-
metavar=ParsedArg.name_selected_env_dir.value,
|
|
1492
|
-
help=(
|
|
1493
|
-
f"Path to the env-specific config dir. "
|
|
1494
|
-
f"If specified, `{SubCommand.command_boot.value}` sub command creates the symlink to that dir. "
|
|
1495
|
-
f"If not specified, the existing symlink is reused. "
|
|
1496
|
-
#
|
|
1497
|
-
),
|
|
1498
|
-
)
|
|
1499
|
-
|
|
1500
1494
|
parser_boot.add_argument(
|
|
1501
1495
|
SyntaxArg.arg_c,
|
|
1502
1496
|
SyntaxArg.arg_command,
|
|
@@ -2785,6 +2779,9 @@ class Base_state_selected_env_dir_rel_path(AbstractCachingStateNode[str]):
|
|
|
2785
2779
|
raise NotImplementedError()
|
|
2786
2780
|
|
|
2787
2781
|
def _select_client_local_env_dir_any_path(self) -> str | None:
|
|
2782
|
+
"""
|
|
2783
|
+
TODO: TODO_41_10_50_01.implement_env_selector.md
|
|
2784
|
+
"""
|
|
2788
2785
|
env_conf_dir_any_path = self._select_env_conf_dir_any_path()
|
|
2789
2786
|
if env_conf_dir_any_path is None:
|
|
2790
2787
|
# Use the default env configured:
|
|
@@ -2875,9 +2872,6 @@ class Bootstrapper_state_selected_env_dir_rel_path_inited_not_func_boot_env(Base
|
|
|
2875
2872
|
|
|
2876
2873
|
# noinspection PyPep8Naming
|
|
2877
2874
|
class Factory_state_selected_env_dir_rel_path_inited(NodeFactory[StateStride]):
|
|
2878
|
-
"""
|
|
2879
|
-
This is a special node - it traverses ALL nodes.
|
|
2880
|
-
"""
|
|
2881
2875
|
|
|
2882
2876
|
def create_state_node(self) -> StateNode[ValueType]:
|
|
2883
2877
|
if self.env_ctx.graph_coordinates.entry_func in [
|
|
@@ -3312,7 +3306,7 @@ class Bootstrapper_state_venv_driver_inited(AbstractOverriddenFieldCachingStateN
|
|
|
3312
3306
|
|
|
3313
3307
|
# noinspection PyPep8Naming
|
|
3314
3308
|
@trivial_factory
|
|
3315
|
-
class
|
|
3309
|
+
class Bootstrapper_state_version_constraints_file_basename_inited(AbstractOverriddenFieldCachingStateNode[str]):
|
|
3316
3310
|
|
|
3317
3311
|
_parent_states = staticmethod(
|
|
3318
3312
|
lambda: [
|
|
@@ -3320,21 +3314,18 @@ class Bootstrapper_state_project_descriptors_inited(AbstractOverriddenFieldCachi
|
|
|
3320
3314
|
EnvState.state_env_conf_file_data_loaded.name,
|
|
3321
3315
|
]
|
|
3322
3316
|
)
|
|
3323
|
-
_state_name = staticmethod(lambda: EnvState.
|
|
3317
|
+
_state_name = staticmethod(lambda: EnvState.state_version_constraints_file_basename_inited.name)
|
|
3324
3318
|
|
|
3325
3319
|
def _eval_state_once(self) -> ValueType:
|
|
3326
|
-
|
|
3327
|
-
|
|
3328
|
-
|
|
3329
|
-
ConfConstEnv.default_project_descriptors,
|
|
3320
|
+
return self._get_overridden_value_or_default(
|
|
3321
|
+
ConfField.field_version_constraints_file_basename.value,
|
|
3322
|
+
ConfConstEnv.default_version_constraints_file_basename,
|
|
3330
3323
|
)
|
|
3331
3324
|
|
|
3332
|
-
return project_descriptors
|
|
3333
|
-
|
|
3334
3325
|
|
|
3335
3326
|
# noinspection PyPep8Naming
|
|
3336
3327
|
@trivial_factory
|
|
3337
|
-
class
|
|
3328
|
+
class Bootstrapper_state_project_descriptors_inited(AbstractOverriddenFieldCachingStateNode[list]):
|
|
3338
3329
|
|
|
3339
3330
|
_parent_states = staticmethod(
|
|
3340
3331
|
lambda: [
|
|
@@ -3342,21 +3333,21 @@ class Bootstrapper_state_install_specs_inited(AbstractOverriddenFieldCachingStat
|
|
|
3342
3333
|
EnvState.state_env_conf_file_data_loaded.name,
|
|
3343
3334
|
]
|
|
3344
3335
|
)
|
|
3345
|
-
_state_name = staticmethod(lambda: EnvState.
|
|
3336
|
+
_state_name = staticmethod(lambda: EnvState.state_project_descriptors_inited.name)
|
|
3346
3337
|
|
|
3347
3338
|
def _eval_state_once(self) -> ValueType:
|
|
3348
3339
|
|
|
3349
|
-
|
|
3350
|
-
ConfField.
|
|
3351
|
-
ConfConstEnv.
|
|
3340
|
+
project_descriptors: list = self._get_overridden_value_or_default(
|
|
3341
|
+
ConfField.field_project_descriptors.value,
|
|
3342
|
+
ConfConstEnv.default_project_descriptors,
|
|
3352
3343
|
)
|
|
3353
3344
|
|
|
3354
|
-
return
|
|
3345
|
+
return project_descriptors
|
|
3355
3346
|
|
|
3356
3347
|
|
|
3357
3348
|
# noinspection PyPep8Naming
|
|
3358
3349
|
@trivial_factory
|
|
3359
|
-
class
|
|
3350
|
+
class Bootstrapper_state_install_specs_inited(AbstractOverriddenFieldCachingStateNode[list]):
|
|
3360
3351
|
|
|
3361
3352
|
_parent_states = staticmethod(
|
|
3362
3353
|
lambda: [
|
|
@@ -3364,14 +3355,17 @@ class Bootstrapper_state_version_constraints_file_basename_inited(AbstractOverri
|
|
|
3364
3355
|
EnvState.state_env_conf_file_data_loaded.name,
|
|
3365
3356
|
]
|
|
3366
3357
|
)
|
|
3367
|
-
_state_name = staticmethod(lambda: EnvState.
|
|
3358
|
+
_state_name = staticmethod(lambda: EnvState.state_install_specs_inited.name)
|
|
3368
3359
|
|
|
3369
3360
|
def _eval_state_once(self) -> ValueType:
|
|
3370
|
-
|
|
3371
|
-
|
|
3372
|
-
|
|
3361
|
+
|
|
3362
|
+
install_specs: list = self._get_overridden_value_or_default(
|
|
3363
|
+
ConfField.field_install_specs.value,
|
|
3364
|
+
ConfConstEnv.default_install_specs,
|
|
3373
3365
|
)
|
|
3374
3366
|
|
|
3367
|
+
return install_specs
|
|
3368
|
+
|
|
3375
3369
|
|
|
3376
3370
|
# noinspection PyPep8Naming
|
|
3377
3371
|
@trivial_factory
|
|
@@ -3413,6 +3407,7 @@ class Bootstrapper_state_derived_conf_data_loaded(AbstractCachingStateNode[dict]
|
|
|
3413
3407
|
EnvState.state_local_tmp_dir_abs_path_inited.name,
|
|
3414
3408
|
EnvState.state_local_cache_dir_abs_path_inited.name,
|
|
3415
3409
|
EnvState.state_venv_driver_inited.name,
|
|
3410
|
+
EnvState.state_version_constraints_file_basename_inited.name,
|
|
3416
3411
|
EnvState.state_project_descriptors_inited.name,
|
|
3417
3412
|
]
|
|
3418
3413
|
|
|
@@ -3864,9 +3859,9 @@ class Bootstrapper_state_protoprimer_package_installed(AbstractCachingStateNode[
|
|
|
3864
3859
|
EnvState.state_input_sub_command_arg_loaded.name,
|
|
3865
3860
|
EnvState.state_ref_root_dir_abs_path_inited.name,
|
|
3866
3861
|
EnvState.state_local_conf_symlink_abs_path_inited.name,
|
|
3862
|
+
EnvState.state_version_constraints_file_basename_inited.name,
|
|
3867
3863
|
EnvState.state_project_descriptors_inited.name,
|
|
3868
3864
|
EnvState.state_install_specs_inited.name,
|
|
3869
|
-
EnvState.state_version_constraints_file_basename_inited.name,
|
|
3870
3865
|
EnvState.state_venv_driver_prepared.name,
|
|
3871
3866
|
EnvState.state_stride_py_venv_reached.name,
|
|
3872
3867
|
]
|
|
@@ -4370,12 +4365,12 @@ class EnvState(enum.Enum):
|
|
|
4370
4365
|
|
|
4371
4366
|
state_venv_driver_inited = Bootstrapper_state_venv_driver_inited
|
|
4372
4367
|
|
|
4368
|
+
state_version_constraints_file_basename_inited = Bootstrapper_state_version_constraints_file_basename_inited
|
|
4369
|
+
|
|
4373
4370
|
state_project_descriptors_inited = Bootstrapper_state_project_descriptors_inited
|
|
4374
4371
|
|
|
4375
4372
|
state_install_specs_inited = Bootstrapper_state_install_specs_inited
|
|
4376
4373
|
|
|
4377
|
-
state_version_constraints_file_basename_inited = Bootstrapper_state_version_constraints_file_basename_inited
|
|
4378
|
-
|
|
4379
4374
|
# `ConfLeap.leap_derived`:
|
|
4380
4375
|
state_derived_conf_data_loaded = Bootstrapper_state_derived_conf_data_loaded
|
|
4381
4376
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: protoprimer
|
|
3
|
-
Version: 0.12.
|
|
3
|
+
Version: 0.12.1.dev0
|
|
4
4
|
Summary: Escape the fragile mess of pre-venv shell scripts with a pure Python bootstrap wrapper: 🚀 ⏩ single-touch, zero-args, self-contained, no-deps, cross-platform, testable init logic using standard tools to run apps in a custom environment isolated per repository
|
|
5
5
|
Author-email: uvsmtid <uvsmtid@gmail.com>
|
|
6
6
|
License: MIT
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{protoprimer-0.12.0.dev2 → protoprimer-0.12.1.dev0}/main/protoprimer.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|