omdev 0.0.0.dev51__tar.gz → 0.0.0.dev52__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.
Potentially problematic release.
This version of omdev might be problematic. Click here for more details.
- {omdev-0.0.0.dev51/omdev.egg-info → omdev-0.0.0.dev52}/PKG-INFO +2 -2
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/manifests/build.py +35 -15
- omdev-0.0.0.dev52/omdev/secrets.py +17 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52/omdev.egg-info}/PKG-INFO +2 -2
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev.egg-info/requires.txt +1 -1
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/pyproject.toml +3 -2
- omdev-0.0.0.dev51/omdev/secrets.py +0 -12
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/LICENSE +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/MANIFEST.in +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/README.rst +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/.manifests.json +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/__about__.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/__init__.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/amalg/__init__.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/amalg/__main__.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/amalg/amalg.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/bracepy.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cache/__init__.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cache/compute/__init__.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cache/compute/cache.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cache/compute/contexts.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cache/compute/currents.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cache/compute/fns.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cache/compute/resolvers.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cache/compute/storage.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cache/compute/types.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cache/data/__init__.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cache/data/actions.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cache/data/cache.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cache/data/consts.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cache/data/defaults.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cache/data/manifests.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cache/data/specs.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cexts/__init__.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cexts/_boilerplate.cc +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cexts/_distutils/LICENSE +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cexts/_distutils/__init__.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cexts/_distutils/build_ext.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cexts/_distutils/compilers/__init__.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cexts/_distutils/compilers/ccompiler.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cexts/_distutils/compilers/options.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cexts/_distutils/compilers/unixccompiler.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cexts/_distutils/dir_util.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cexts/_distutils/errors.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cexts/_distutils/extension.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cexts/_distutils/file_util.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cexts/_distutils/modified.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cexts/_distutils/spawn.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cexts/_distutils/sysconfig.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cexts/_distutils/util.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cexts/_distutils/version.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cexts/build.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cexts/cmake.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cexts/importhook.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cexts/magic.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cexts/scan.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/classdot.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cli/__init__.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cli/__main__.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cli/clicli.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cli/install.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cli/main.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cli/managers.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cli/types.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/cmake.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/findimports.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/findmagic.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/git.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/interp/__init__.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/interp/__main__.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/interp/cli.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/interp/inspect.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/interp/providers.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/interp/pyenv.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/interp/resolvers.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/interp/standalone.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/interp/system.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/interp/types.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/manifests/__init__.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/manifests/load.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/manifests/types.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/mypy/__init__.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/mypy/debug.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/packaging/__init__.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/packaging/names.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/packaging/requires.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/packaging/specifiers.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/packaging/versions.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/precheck/__init__.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/precheck/__main__.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/precheck/base.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/precheck/git.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/precheck/lite.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/precheck/precheck.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/precheck/scripts.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/pyproject/__init__.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/pyproject/__main__.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/pyproject/cexts.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/pyproject/cli.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/pyproject/configs.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/pyproject/pkg.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/pyproject/reqs.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/revisions.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/scripts/__init__.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/scripts/bumpversion.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/scripts/execrss.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/scripts/exectime.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/scripts/importtrace.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/scripts/interp.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/scripts/pyproject.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/tokens.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/toml/__init__.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/toml/parser.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/toml/writer.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/tools/__init__.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/tools/dockertools.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/tools/gittools.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/tools/importscan.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/tools/mkrelimp.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/tools/piptools.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/tools/proftools.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/tools/rst.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/tools/sqlrepl.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev/wheelfile.py +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev.egg-info/SOURCES.txt +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev.egg-info/dependency_links.txt +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev.egg-info/entry_points.txt +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/omdev.egg-info/top_level.txt +0 -0
- {omdev-0.0.0.dev51 → omdev-0.0.0.dev52}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: omdev
|
|
3
|
-
Version: 0.0.0.
|
|
3
|
+
Version: 0.0.0.dev52
|
|
4
4
|
Summary: omdev
|
|
5
5
|
Author: wrmsr
|
|
6
6
|
License: BSD-3-Clause
|
|
@@ -12,7 +12,7 @@ Classifier: Operating System :: OS Independent
|
|
|
12
12
|
Classifier: Operating System :: POSIX
|
|
13
13
|
Requires-Python: ~=3.12
|
|
14
14
|
License-File: LICENSE
|
|
15
|
-
Requires-Dist: omlish==0.0.0.
|
|
15
|
+
Requires-Dist: omlish==0.0.0.dev52
|
|
16
16
|
Provides-Extra: all
|
|
17
17
|
Requires-Dist: pycparser~=2.22; extra == "all"
|
|
18
18
|
Requires-Dist: cffi~=1.17; extra == "all"
|
|
@@ -13,9 +13,13 @@ See (entry_points):
|
|
|
13
13
|
# ruff: noqa: UP006 UP007
|
|
14
14
|
import argparse
|
|
15
15
|
import collections
|
|
16
|
+
import concurrent.futures as cf
|
|
16
17
|
import dataclasses as dc
|
|
18
|
+
import functools
|
|
17
19
|
import inspect
|
|
20
|
+
import itertools
|
|
18
21
|
import json
|
|
22
|
+
import multiprocessing as mp
|
|
19
23
|
import os.path
|
|
20
24
|
import re
|
|
21
25
|
import shlex
|
|
@@ -195,6 +199,7 @@ def build_module_manifests(
|
|
|
195
199
|
|
|
196
200
|
|
|
197
201
|
def build_package_manifests(
|
|
202
|
+
ex: cf.Executor,
|
|
198
203
|
name: str,
|
|
199
204
|
base: str,
|
|
200
205
|
*,
|
|
@@ -204,14 +209,20 @@ def build_package_manifests(
|
|
|
204
209
|
if not os.path.isdir(pkg_dir) or not os.path.isfile(os.path.join(pkg_dir, '__init__.py')):
|
|
205
210
|
raise Exception(pkg_dir)
|
|
206
211
|
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
212
|
+
files = sorted(findmagic.find_magic(
|
|
213
|
+
[pkg_dir],
|
|
214
|
+
[MANIFEST_MAGIC],
|
|
215
|
+
['py'],
|
|
216
|
+
))
|
|
217
|
+
futs = [
|
|
218
|
+
ex.submit(functools.partial(
|
|
219
|
+
build_module_manifests,
|
|
220
|
+
os.path.relpath(file, base),
|
|
221
|
+
base,
|
|
222
|
+
))
|
|
223
|
+
for file in files
|
|
224
|
+
]
|
|
225
|
+
manifests: ta.List[Manifest] = list(itertools.chain.from_iterable(fut.result() for fut in futs))
|
|
215
226
|
|
|
216
227
|
if write:
|
|
217
228
|
with open(os.path.join(pkg_dir, '.manifests.json'), 'w') as f:
|
|
@@ -266,14 +277,22 @@ if __name__ == '__main__':
|
|
|
266
277
|
def _gen_cmd(args) -> None:
|
|
267
278
|
base = _get_base(args)
|
|
268
279
|
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
280
|
+
num_threads = args.jobs or max(mp.cpu_count() // 2, 1)
|
|
281
|
+
with cf.ThreadPoolExecutor(num_threads) as ex:
|
|
282
|
+
futs = [
|
|
283
|
+
ex.submit(functools.partial(
|
|
284
|
+
build_package_manifests,
|
|
285
|
+
ex,
|
|
286
|
+
pkg,
|
|
287
|
+
base,
|
|
288
|
+
write=args.write or False,
|
|
289
|
+
))
|
|
290
|
+
for pkg in args.package
|
|
291
|
+
]
|
|
292
|
+
mss = [fut.result() for fut in futs]
|
|
275
293
|
if not args.quiet:
|
|
276
|
-
|
|
294
|
+
for ms in mss:
|
|
295
|
+
print(json_dumps_pretty([dc.asdict(m) for m in ms]))
|
|
277
296
|
|
|
278
297
|
def _check_cmd(args) -> None:
|
|
279
298
|
base = _get_base(args)
|
|
@@ -294,6 +313,7 @@ if __name__ == '__main__':
|
|
|
294
313
|
parser_gen.add_argument('-b', '--base')
|
|
295
314
|
parser_gen.add_argument('-w', '--write', action='store_true')
|
|
296
315
|
parser_gen.add_argument('-q', '--quiet', action='store_true')
|
|
316
|
+
parser_gen.add_argument('-j', '--jobs', type=int)
|
|
297
317
|
parser_gen.add_argument('package', nargs='*')
|
|
298
318
|
parser_gen.set_defaults(func=_gen_cmd)
|
|
299
319
|
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import os.path
|
|
2
|
+
|
|
3
|
+
import yaml
|
|
4
|
+
|
|
5
|
+
from omlish import secrets as sec
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
SECRETS_PATH = os.getenv('SECRETS_PATH', os.path.expanduser('~/Dropbox/.dotfiles/secrets.yml'))
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def load_secrets() -> sec.Secrets:
|
|
12
|
+
dct: dict[str, sec.Secret] = {}
|
|
13
|
+
with open(SECRETS_PATH) as f:
|
|
14
|
+
for k, v in yaml.safe_load(f).items():
|
|
15
|
+
if isinstance(v, str):
|
|
16
|
+
dct[k] = sec.Secret(key=k, value=v)
|
|
17
|
+
return sec.MappingSecrets(dct)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: omdev
|
|
3
|
-
Version: 0.0.0.
|
|
3
|
+
Version: 0.0.0.dev52
|
|
4
4
|
Summary: omdev
|
|
5
5
|
Author: wrmsr
|
|
6
6
|
License: BSD-3-Clause
|
|
@@ -12,7 +12,7 @@ Classifier: Operating System :: OS Independent
|
|
|
12
12
|
Classifier: Operating System :: POSIX
|
|
13
13
|
Requires-Python: ~=3.12
|
|
14
14
|
License-File: LICENSE
|
|
15
|
-
Requires-Dist: omlish==0.0.0.
|
|
15
|
+
Requires-Dist: omlish==0.0.0.dev52
|
|
16
16
|
Provides-Extra: all
|
|
17
17
|
Requires-Dist: pycparser~=2.22; extra == "all"
|
|
18
18
|
Requires-Dist: cffi~=1.17; extra == "all"
|
|
@@ -12,7 +12,7 @@ authors = [
|
|
|
12
12
|
urls = {source = 'https://github.com/wrmsr/omlish'}
|
|
13
13
|
license = {text = 'BSD-3-Clause'}
|
|
14
14
|
requires-python = '~=3.12'
|
|
15
|
-
version = '0.0.0.
|
|
15
|
+
version = '0.0.0.dev52'
|
|
16
16
|
classifiers = [
|
|
17
17
|
'License :: OSI Approved :: BSD License',
|
|
18
18
|
'Development Status :: 2 - Pre-Alpha',
|
|
@@ -22,7 +22,7 @@ classifiers = [
|
|
|
22
22
|
]
|
|
23
23
|
description = 'omdev'
|
|
24
24
|
dependencies = [
|
|
25
|
-
'omlish == 0.0.0.
|
|
25
|
+
'omlish == 0.0.0.dev52',
|
|
26
26
|
]
|
|
27
27
|
|
|
28
28
|
[project.optional-dependencies]
|
|
@@ -73,6 +73,7 @@ exclude = [
|
|
|
73
73
|
'*.c',
|
|
74
74
|
'*.cc',
|
|
75
75
|
'*.cu',
|
|
76
|
+
'*.g4',
|
|
76
77
|
'*.h',
|
|
77
78
|
'.manifests.json',
|
|
78
79
|
'LICENSE',
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import os.path
|
|
2
|
-
import typing as ta
|
|
3
|
-
|
|
4
|
-
import yaml
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
SECRETS_PATH = os.getenv('SECRETS_PATH', os.path.expanduser('~/Dropbox/.dotfiles/secrets.yml'))
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
def load_secrets() -> dict[str, ta.Any]:
|
|
11
|
-
with open(SECRETS_PATH) as f:
|
|
12
|
-
return yaml.safe_load(f)
|
|
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
|
|
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
|
|
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
|