envrcctl 0.2.6__tar.gz → 0.2.7__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.
- {envrcctl-0.2.6 → envrcctl-0.2.7}/PKG-INFO +1 -1
- {envrcctl-0.2.6 → envrcctl-0.2.7}/pyproject.toml +1 -1
- {envrcctl-0.2.6 → envrcctl-0.2.7}/scripts/release_artifacts.py +35 -3
- {envrcctl-0.2.6 → envrcctl-0.2.7}/.gitignore +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/LICENSE +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/README.md +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/completions/envrcctl.bash +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/completions/envrcctl.fish +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/completions/envrcctl.zsh +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/scripts/build_macos_auth_helper.sh +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/scripts/generate_completions.py +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/scripts/macos/envrcctl-macos-auth.swift +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/scripts/package_for_ship.sh +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/src/envrcctl/__init__.py +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/src/envrcctl/audit.py +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/src/envrcctl/auth.py +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/src/envrcctl/cli.py +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/src/envrcctl/command_runner.py +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/src/envrcctl/envrc.py +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/src/envrcctl/envrcctl-macos-auth.bak +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/src/envrcctl/errors.py +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/src/envrcctl/keychain.py +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/src/envrcctl/main.py +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/src/envrcctl/managed_block.py +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/src/envrcctl/secrets.py +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/src/envrcctl/secretservice.py +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/tests/__init__.py +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/tests/conftest.py +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/tests/helpers/__init__.py +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/tests/helpers/cli_support.py +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/tests/test_audit.py +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/tests/test_audit_cli.py +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/tests/test_auth.py +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/tests/test_cli.py +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/tests/test_cli_doctor.py +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/tests/test_cli_errors.py +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/tests/test_cli_eval.py +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/tests/test_cli_exec.py +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/tests/test_cli_helpers.py +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/tests/test_cli_inject.py +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/tests/test_cli_migrate.py +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/tests/test_cli_secret_get.py +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/tests/test_cli_secret_list.py +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/tests/test_cli_secret_set_unset.py +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/tests/test_command_runner.py +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/tests/test_envrc.py +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/tests/test_keychain.py +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/tests/test_main.py +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/tests/test_managed_block.py +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/tests/test_secrets.py +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/tests/test_secretservice.py +0 -0
- {envrcctl-0.2.6 → envrcctl-0.2.7}/tests/test_smoke.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: envrcctl
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.7
|
|
4
4
|
Summary: Manage .envrc with managed blocks and OS-backed secrets.
|
|
5
5
|
Project-URL: Homepage, https://github.com/rioriost/envrcctl
|
|
6
6
|
Project-URL: Issues, https://github.com/rioriost/envrcctl/issues
|
|
@@ -70,6 +70,24 @@ def dependency_name(requirement: str) -> str:
|
|
|
70
70
|
return normalize_package_name(base)
|
|
71
71
|
|
|
72
72
|
|
|
73
|
+
def package_dependencies(block: str) -> list[str]:
|
|
74
|
+
deps_match = re.search(r"dependencies = \[(.*?)\]\n", block, re.DOTALL)
|
|
75
|
+
if not deps_match:
|
|
76
|
+
return []
|
|
77
|
+
|
|
78
|
+
dependencies: list[str] = []
|
|
79
|
+
for match in re.finditer(r'\{ name = "([^"]+)"(?:, marker = "([^"]+)")?', deps_match.group(1)):
|
|
80
|
+
name = normalize_package_name(match.group(1))
|
|
81
|
+
marker = match.group(2)
|
|
82
|
+
if marker and "win32" in marker.lower():
|
|
83
|
+
continue
|
|
84
|
+
if marker and "windows" in marker.lower():
|
|
85
|
+
continue
|
|
86
|
+
dependencies.append(name)
|
|
87
|
+
|
|
88
|
+
return dependencies
|
|
89
|
+
|
|
90
|
+
|
|
73
91
|
def uv_lock_package_block(lock_text: str, package_name: str) -> str:
|
|
74
92
|
normalized = normalize_package_name(package_name)
|
|
75
93
|
current: list[str] = []
|
|
@@ -111,10 +129,24 @@ def extract_sdist_url_and_sha(block: str, package_name: str) -> tuple[str, str]:
|
|
|
111
129
|
|
|
112
130
|
def dependency_resource_specs(repo_root: Path) -> list[tuple[str, str, str]]:
|
|
113
131
|
lock_text = (repo_root / "uv.lock").read_text(encoding="utf-8")
|
|
114
|
-
|
|
132
|
+
ordered_names: list[str] = []
|
|
133
|
+
seen: set[str] = set()
|
|
134
|
+
queue = [dependency_name(req) for req in project_dependencies(repo_root / "pyproject.toml")]
|
|
135
|
+
|
|
136
|
+
while queue:
|
|
137
|
+
package_name = normalize_package_name(queue.pop(0))
|
|
138
|
+
if package_name in seen:
|
|
139
|
+
continue
|
|
140
|
+
seen.add(package_name)
|
|
141
|
+
ordered_names.append(package_name)
|
|
115
142
|
|
|
116
|
-
|
|
117
|
-
|
|
143
|
+
block = uv_lock_package_block(lock_text, package_name)
|
|
144
|
+
for dependency in package_dependencies(block):
|
|
145
|
+
if dependency not in seen and dependency not in queue:
|
|
146
|
+
queue.append(dependency)
|
|
147
|
+
|
|
148
|
+
specs: list[tuple[str, str, str]] = []
|
|
149
|
+
for package_name in ordered_names:
|
|
118
150
|
block = uv_lock_package_block(lock_text, package_name)
|
|
119
151
|
url, sha256 = extract_sdist_url_and_sha(block, package_name)
|
|
120
152
|
specs.append((package_name, url, sha256))
|
|
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
|
|
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
|
|
File without changes
|