omdev 0.0.0.dev37__tar.gz → 0.0.0.dev38__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.dev37/omdev.egg-info → omdev-0.0.0.dev38}/PKG-INFO +2 -2
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/.manifests.json +1 -1
- omdev-0.0.0.dev38/omdev/cli/install.py +160 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/tools/piptools.py +3 -1
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38/omdev.egg-info}/PKG-INFO +2 -2
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev.egg-info/SOURCES.txt +1 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev.egg-info/requires.txt +1 -1
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/pyproject.toml +2 -2
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/LICENSE +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/MANIFEST.in +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/README.rst +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/__about__.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/__init__.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/amalg/__init__.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/amalg/__main__.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/amalg/amalg.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/bracepy.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/cache/__init__.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/cache/compute/__init__.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/cache/compute/cache.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/cache/compute/contexts.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/cache/compute/currents.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/cache/compute/fns.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/cache/compute/resolvers.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/cache/compute/storage.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/cache/compute/types.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/cache/data/__init__.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/cache/data/actions.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/cache/data/cache.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/cache/data/consts.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/cache/data/defaults.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/cache/data/manifests.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/cache/data/specs.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/cexts/__init__.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/cexts/_boilerplate.cc +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/cexts/_distutils/LICENSE +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/cexts/_distutils/__init__.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/cexts/_distutils/build_ext.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/cexts/_distutils/compilers/__init__.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/cexts/_distutils/compilers/ccompiler.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/cexts/_distutils/compilers/options.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/cexts/_distutils/compilers/unixccompiler.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/cexts/_distutils/dir_util.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/cexts/_distutils/errors.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/cexts/_distutils/extension.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/cexts/_distutils/file_util.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/cexts/_distutils/modified.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/cexts/_distutils/spawn.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/cexts/_distutils/sysconfig.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/cexts/_distutils/util.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/cexts/_distutils/version.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/cexts/build.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/cexts/cmake.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/cexts/importhook.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/cexts/magic.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/cexts/scan.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/classdot.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/cli/__init__.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/cli/__main__.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/cli/main.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/cli/types.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/cmake.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/findimports.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/findmagic.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/git.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/interp/__init__.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/interp/__main__.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/interp/cli.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/interp/inspect.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/interp/providers.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/interp/pyenv.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/interp/resolvers.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/interp/standalone.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/interp/system.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/interp/types.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/manifests/__init__.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/manifests/build.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/manifests/load.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/manifests/types.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/mypy/__init__.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/mypy/debug.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/packaging/__init__.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/packaging/names.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/packaging/requires.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/packaging/specifiers.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/packaging/versions.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/precheck/__init__.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/precheck/__main__.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/precheck/base.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/precheck/git.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/precheck/lite.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/precheck/precheck.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/precheck/scripts.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/pyproject/__init__.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/pyproject/__main__.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/pyproject/cexts.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/pyproject/cli.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/pyproject/configs.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/pyproject/pkg.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/pyproject/reqs.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/revisions.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/scripts/__init__.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/scripts/bumpversion.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/scripts/execrss.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/scripts/interp.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/scripts/pyproject.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/secrets.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/tokens.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/toml/__init__.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/toml/parser.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/toml/writer.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/tools/__init__.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/tools/dockertools.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/tools/gittools.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/tools/importscan.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/tools/importtrace.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/tools/rst.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/tools/sqlrepl.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev/wheelfile.py +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev.egg-info/dependency_links.txt +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev.egg-info/entry_points.txt +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/omdev.egg-info/top_level.txt +0 -0
- {omdev-0.0.0.dev37 → omdev-0.0.0.dev38}/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.dev38
|
|
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.dev38
|
|
16
16
|
Provides-Extra: all
|
|
17
17
|
Requires-Dist: pycparser~=2.22; extra == "all"
|
|
18
18
|
Requires-Dist: cffi~=1.17; extra == "all"
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
# @omlish-lite
|
|
3
|
+
# @omlish-script
|
|
4
|
+
"""
|
|
5
|
+
TODO:
|
|
6
|
+
- used for self-reinstall, preserving non-root dists - fix list_root_dists
|
|
7
|
+
|
|
8
|
+
==
|
|
9
|
+
|
|
10
|
+
curl -LsSf https://raw.githubusercontent.com/wrmsr/omlish/master/omdev/cli/install.py | python3 -
|
|
11
|
+
"""
|
|
12
|
+
import abc
|
|
13
|
+
import argparse
|
|
14
|
+
import dataclasses as dc
|
|
15
|
+
import itertools
|
|
16
|
+
import json
|
|
17
|
+
import shutil
|
|
18
|
+
import subprocess
|
|
19
|
+
import sys
|
|
20
|
+
import typing as ta
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
DEFAULT_CLI_PKG = 'omdev-cli'
|
|
24
|
+
DEFAULT_PY_VER = '3.12'
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
@dc.dataclass(frozen=True)
|
|
28
|
+
class InstallOpts:
|
|
29
|
+
cli_pkg: str = DEFAULT_CLI_PKG
|
|
30
|
+
py_ver: str = DEFAULT_PY_VER
|
|
31
|
+
|
|
32
|
+
extras: ta.Sequence[str] = dc.field(default_factory=list)
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
class InstallMgr(abc.ABC):
|
|
36
|
+
@abc.abstractmethod
|
|
37
|
+
def is_available(self) -> bool:
|
|
38
|
+
raise NotImplementedError
|
|
39
|
+
|
|
40
|
+
@abc.abstractmethod
|
|
41
|
+
def uninstall(self, cli_pkg: str) -> None:
|
|
42
|
+
raise NotImplementedError
|
|
43
|
+
|
|
44
|
+
@abc.abstractmethod
|
|
45
|
+
def install(self, opts: InstallOpts) -> None:
|
|
46
|
+
raise NotImplementedError
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
class UvInstallMgr(InstallMgr):
|
|
50
|
+
def is_available(self) -> bool:
|
|
51
|
+
return bool(shutil.which('uv'))
|
|
52
|
+
|
|
53
|
+
def uninstall(self, cli_pkg: str) -> None:
|
|
54
|
+
out = subprocess.check_output(['uv', 'tool', 'list']).decode()
|
|
55
|
+
|
|
56
|
+
installed = {
|
|
57
|
+
s.partition(' ')[0]
|
|
58
|
+
for l in out.splitlines()
|
|
59
|
+
if (s := l.strip())
|
|
60
|
+
and not s.startswith('-')
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
if cli_pkg not in installed:
|
|
64
|
+
return
|
|
65
|
+
|
|
66
|
+
subprocess.check_call([
|
|
67
|
+
'uv', 'tool',
|
|
68
|
+
'uninstall',
|
|
69
|
+
cli_pkg,
|
|
70
|
+
])
|
|
71
|
+
|
|
72
|
+
def install(self, opts: InstallOpts) -> None:
|
|
73
|
+
subprocess.check_call([
|
|
74
|
+
'uv', 'tool',
|
|
75
|
+
'install',
|
|
76
|
+
'--refresh',
|
|
77
|
+
'--prerelease=allow',
|
|
78
|
+
f'--python={opts.py_ver}',
|
|
79
|
+
opts.cli_pkg,
|
|
80
|
+
*itertools.chain.from_iterable(['--with', e] for e in (opts.extras or [])),
|
|
81
|
+
])
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
class PipxInstallMgr(InstallMgr):
|
|
85
|
+
def is_available(self) -> bool:
|
|
86
|
+
return bool(shutil.which('pipx'))
|
|
87
|
+
|
|
88
|
+
def uninstall(self, cli_pkg: str) -> None:
|
|
89
|
+
out = subprocess.check_output(['pipx', 'list', '--json']).decode()
|
|
90
|
+
|
|
91
|
+
dct = json.loads(out)
|
|
92
|
+
|
|
93
|
+
if cli_pkg not in dct.get('venvs', {}):
|
|
94
|
+
return
|
|
95
|
+
|
|
96
|
+
subprocess.check_call([
|
|
97
|
+
'pipx',
|
|
98
|
+
'uninstall',
|
|
99
|
+
cli_pkg,
|
|
100
|
+
])
|
|
101
|
+
|
|
102
|
+
def install(self, opts: InstallOpts) -> None:
|
|
103
|
+
subprocess.check_call([
|
|
104
|
+
'pipx',
|
|
105
|
+
'install',
|
|
106
|
+
f'--python={opts.py_ver}',
|
|
107
|
+
opts.cli_pkg,
|
|
108
|
+
*itertools.chain.from_iterable(['--preinstall', e] for e in (opts.extras or [])),
|
|
109
|
+
])
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
INSTALL_MGRS = {
|
|
113
|
+
'uv': UvInstallMgr(),
|
|
114
|
+
'pipx': PipxInstallMgr(),
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
def _main() -> None:
|
|
119
|
+
if sys.version_info < (3, 8): # noqa
|
|
120
|
+
raise RuntimeError(f'Unsupported python version: {sys.version_info}')
|
|
121
|
+
|
|
122
|
+
parser = argparse.ArgumentParser()
|
|
123
|
+
parser.add_argument('-c', '--cli', default=DEFAULT_CLI_PKG)
|
|
124
|
+
parser.add_argument('-p', '--py', default=DEFAULT_PY_VER)
|
|
125
|
+
parser.add_argument('-m', '--mgr')
|
|
126
|
+
parser.add_argument('extra', nargs='*')
|
|
127
|
+
args = parser.parse_args()
|
|
128
|
+
|
|
129
|
+
if not (cli := args.cli):
|
|
130
|
+
raise ValueError(f'Must specify cli')
|
|
131
|
+
|
|
132
|
+
if not (py := args.py):
|
|
133
|
+
raise ValueError(f'Must specify py')
|
|
134
|
+
|
|
135
|
+
if not (mgr := args.mgr):
|
|
136
|
+
if shutil.which('uv'):
|
|
137
|
+
mgr = 'uv'
|
|
138
|
+
elif shutil.which('pipx'):
|
|
139
|
+
mgr = 'pipx'
|
|
140
|
+
else:
|
|
141
|
+
raise RuntimeError("Can't find package manager")
|
|
142
|
+
|
|
143
|
+
if (im := INSTALL_MGRS.get(mgr)) is None:
|
|
144
|
+
raise ValueError(f'Unsupported mgr: {mgr}')
|
|
145
|
+
if not im.is_available():
|
|
146
|
+
raise ValueError(f'Unavailable mgr: {mgr}')
|
|
147
|
+
|
|
148
|
+
for m in INSTALL_MGRS.values():
|
|
149
|
+
if m.is_available():
|
|
150
|
+
m.uninstall(cli)
|
|
151
|
+
|
|
152
|
+
im.install(InstallOpts(
|
|
153
|
+
cli_pkg=cli,
|
|
154
|
+
py_ver=py,
|
|
155
|
+
extras=args.extra,
|
|
156
|
+
))
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
if __name__ == '__main__':
|
|
160
|
+
_main()
|
|
@@ -9,6 +9,7 @@ from omlish import check
|
|
|
9
9
|
|
|
10
10
|
from ..cli import CliModule
|
|
11
11
|
from ..packaging.names import canonicalize_name
|
|
12
|
+
from ..packaging.requires import RequiresVariable
|
|
12
13
|
from ..packaging.requires import parse_requirement
|
|
13
14
|
|
|
14
15
|
|
|
@@ -70,7 +71,8 @@ class Cli(ap.Cli):
|
|
|
70
71
|
dists.add(dist_cn)
|
|
71
72
|
for req_str in dist.requires or []:
|
|
72
73
|
req = parse_requirement(req_str)
|
|
73
|
-
|
|
74
|
+
|
|
75
|
+
if any(v.value == 'extra' for m in req.marker or [] if isinstance(v := m[0], RequiresVariable)):
|
|
74
76
|
continue
|
|
75
77
|
|
|
76
78
|
req_cn = canonicalize_name(req.name)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: omdev
|
|
3
|
-
Version: 0.0.0.
|
|
3
|
+
Version: 0.0.0.dev38
|
|
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.dev38
|
|
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.dev38'
|
|
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.dev38',
|
|
26
26
|
]
|
|
27
27
|
|
|
28
28
|
[project.optional-dependencies]
|
|
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
|