omdev 0.0.0.dev32__tar.gz → 0.0.0.dev34__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.

Files changed (121) hide show
  1. {omdev-0.0.0.dev32/omdev.egg-info → omdev-0.0.0.dev34}/PKG-INFO +2 -2
  2. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/.manifests.json +49 -49
  3. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/__about__.py +3 -4
  4. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/cache/data/actions.py +1 -4
  5. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/cache/data/specs.py +1 -4
  6. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/manifests/build.py +3 -3
  7. omdev-0.0.0.dev34/omdev/precheck/__main__.py +11 -0
  8. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/precheck/precheck.py +0 -5
  9. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/pyproject/pkg.py +80 -0
  10. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/scripts/pyproject.py +80 -0
  11. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34/omdev.egg-info}/PKG-INFO +2 -2
  12. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev.egg-info/requires.txt +1 -1
  13. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/pyproject.toml +2 -2
  14. omdev-0.0.0.dev32/omdev/precheck/__main__.py +0 -4
  15. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/LICENSE +0 -0
  16. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/MANIFEST.in +0 -0
  17. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/README.rst +0 -0
  18. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/__init__.py +0 -0
  19. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/amalg/__init__.py +0 -0
  20. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/amalg/__main__.py +0 -0
  21. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/amalg/amalg.py +0 -0
  22. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/bracepy.py +0 -0
  23. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/cache/__init__.py +0 -0
  24. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/cache/compute/__init__.py +0 -0
  25. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/cache/compute/cache.py +0 -0
  26. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/cache/compute/contexts.py +0 -0
  27. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/cache/compute/currents.py +0 -0
  28. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/cache/compute/fns.py +0 -0
  29. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/cache/compute/resolvers.py +0 -0
  30. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/cache/compute/storage.py +0 -0
  31. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/cache/compute/types.py +0 -0
  32. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/cache/data/__init__.py +0 -0
  33. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/cache/data/cache.py +0 -0
  34. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/cache/data/consts.py +0 -0
  35. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/cache/data/defaults.py +0 -0
  36. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/cache/data/manifests.py +0 -0
  37. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/cexts/__init__.py +0 -0
  38. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/cexts/_boilerplate.cc +0 -0
  39. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/cexts/_distutils/LICENSE +0 -0
  40. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/cexts/_distutils/__init__.py +0 -0
  41. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/cexts/_distutils/build_ext.py +0 -0
  42. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/cexts/_distutils/compilers/__init__.py +0 -0
  43. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/cexts/_distutils/compilers/ccompiler.py +0 -0
  44. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/cexts/_distutils/compilers/options.py +0 -0
  45. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/cexts/_distutils/compilers/unixccompiler.py +0 -0
  46. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/cexts/_distutils/dir_util.py +0 -0
  47. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/cexts/_distutils/errors.py +0 -0
  48. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/cexts/_distutils/extension.py +0 -0
  49. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/cexts/_distutils/file_util.py +0 -0
  50. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/cexts/_distutils/modified.py +0 -0
  51. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/cexts/_distutils/spawn.py +0 -0
  52. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/cexts/_distutils/sysconfig.py +0 -0
  53. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/cexts/_distutils/util.py +0 -0
  54. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/cexts/_distutils/version.py +0 -0
  55. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/cexts/build.py +0 -0
  56. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/cexts/cmake.py +0 -0
  57. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/cexts/importhook.py +0 -0
  58. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/cexts/magic.py +0 -0
  59. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/cexts/scan.py +0 -0
  60. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/classdot.py +0 -0
  61. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/cli/__init__.py +0 -0
  62. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/cli/__main__.py +0 -0
  63. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/cli/main.py +0 -0
  64. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/cli/types.py +0 -0
  65. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/cmake.py +0 -0
  66. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/findimports.py +0 -0
  67. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/findmagic.py +0 -0
  68. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/git.py +0 -0
  69. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/interp/__init__.py +0 -0
  70. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/interp/__main__.py +0 -0
  71. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/interp/cli.py +0 -0
  72. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/interp/inspect.py +0 -0
  73. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/interp/providers.py +0 -0
  74. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/interp/pyenv.py +0 -0
  75. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/interp/resolvers.py +0 -0
  76. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/interp/standalone.py +0 -0
  77. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/interp/system.py +0 -0
  78. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/interp/types.py +0 -0
  79. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/manifests/__init__.py +0 -0
  80. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/manifests/load.py +0 -0
  81. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/manifests/types.py +0 -0
  82. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/mypy/__init__.py +0 -0
  83. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/mypy/debug.py +0 -0
  84. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/precheck/__init__.py +0 -0
  85. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/precheck/base.py +0 -0
  86. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/precheck/git.py +0 -0
  87. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/precheck/lite.py +0 -0
  88. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/precheck/scripts.py +0 -0
  89. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/pyproject/__init__.py +0 -0
  90. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/pyproject/__main__.py +0 -0
  91. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/pyproject/cexts.py +0 -0
  92. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/pyproject/cli.py +0 -0
  93. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/pyproject/configs.py +0 -0
  94. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/pyproject/reqs.py +0 -0
  95. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/revisions.py +0 -0
  96. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/scripts/__init__.py +0 -0
  97. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/scripts/bumpversion.py +0 -0
  98. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/scripts/execrss.py +0 -0
  99. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/scripts/interp.py +0 -0
  100. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/secrets.py +0 -0
  101. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/tokens.py +0 -0
  102. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/toml/__init__.py +0 -0
  103. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/toml/parser.py +0 -0
  104. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/toml/writer.py +0 -0
  105. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/tools/__init__.py +0 -0
  106. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/tools/dockertools.py +0 -0
  107. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/tools/gittools.py +0 -0
  108. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/tools/importscan.py +0 -0
  109. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/tools/importtrace.py +0 -0
  110. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/tools/piptools.py +0 -0
  111. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/tools/rst.py +0 -0
  112. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/tools/sqlrepl.py +0 -0
  113. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/versioning/__init__.py +0 -0
  114. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/versioning/specifiers.py +0 -0
  115. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/versioning/versions.py +0 -0
  116. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev/wheelfile.py +0 -0
  117. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev.egg-info/SOURCES.txt +0 -0
  118. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev.egg-info/dependency_links.txt +0 -0
  119. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev.egg-info/entry_points.txt +0 -0
  120. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/omdev.egg-info/top_level.txt +0 -0
  121. {omdev-0.0.0.dev32 → omdev-0.0.0.dev34}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: omdev
3
- Version: 0.0.0.dev32
3
+ Version: 0.0.0.dev34
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.dev32
15
+ Requires-Dist: omlish==0.0.0.dev34
16
16
  Provides-Extra: all
17
17
  Requires-Dist: pycparser~=2.22; extra == "all"
18
18
  Requires-Dist: cffi~=1.17; extra == "all"
@@ -1,121 +1,121 @@
1
1
  [
2
2
  {
3
- "module": ".classdot",
3
+ "module": ".amalg.__main__",
4
4
  "attr": "_CLI_MODULE",
5
- "file": "omdev/classdot.py",
6
- "line": 62,
5
+ "file": "omdev/amalg/__main__.py",
6
+ "line": 4,
7
7
  "value": {
8
8
  "$.cli.types.CliModule": {
9
- "cmd_name": "classdot",
10
- "mod_name": "omdev.classdot"
9
+ "cmd_name": "amalg",
10
+ "mod_name": "omdev.amalg.__main__"
11
11
  }
12
12
  }
13
13
  },
14
14
  {
15
- "module": ".tools.piptools",
15
+ "module": ".cexts.cmake",
16
16
  "attr": "_CLI_MODULE",
17
- "file": "omdev/tools/piptools.py",
18
- "line": 51,
17
+ "file": "omdev/cexts/cmake.py",
18
+ "line": 323,
19
19
  "value": {
20
20
  "$.cli.types.CliModule": {
21
- "cmd_name": "pip",
22
- "mod_name": "omdev.tools.piptools"
21
+ "cmd_name": "cmake",
22
+ "mod_name": "omdev.cexts.cmake"
23
23
  }
24
24
  }
25
25
  },
26
26
  {
27
- "module": ".tools.gittools",
27
+ "module": ".classdot",
28
28
  "attr": "_CLI_MODULE",
29
- "file": "omdev/tools/gittools.py",
30
- "line": 22,
29
+ "file": "omdev/classdot.py",
30
+ "line": 62,
31
31
  "value": {
32
32
  "$.cli.types.CliModule": {
33
- "cmd_name": "git",
34
- "mod_name": "omdev.tools.gittools"
33
+ "cmd_name": "classdot",
34
+ "mod_name": "omdev.classdot"
35
35
  }
36
36
  }
37
37
  },
38
38
  {
39
- "module": ".tools.dockertools",
39
+ "module": ".interp.__main__",
40
40
  "attr": "_CLI_MODULE",
41
- "file": "omdev/tools/dockertools.py",
42
- "line": 183,
41
+ "file": "omdev/interp/__main__.py",
42
+ "line": 4,
43
43
  "value": {
44
44
  "$.cli.types.CliModule": {
45
- "cmd_name": "docker",
46
- "mod_name": "omdev.tools.dockertools"
45
+ "cmd_name": "interp",
46
+ "mod_name": "omdev.interp.__main__"
47
47
  }
48
48
  }
49
49
  },
50
50
  {
51
- "module": ".tools.sqlrepl",
51
+ "module": ".precheck.__main__",
52
52
  "attr": "_CLI_MODULE",
53
- "file": "omdev/tools/sqlrepl.py",
54
- "line": 193,
53
+ "file": "omdev/precheck/__main__.py",
54
+ "line": 4,
55
55
  "value": {
56
56
  "$.cli.types.CliModule": {
57
- "cmd_name": "sqlrepl",
58
- "mod_name": "omdev.tools.sqlrepl"
57
+ "cmd_name": "precheck",
58
+ "mod_name": "omdev.precheck.__main__"
59
59
  }
60
60
  }
61
61
  },
62
62
  {
63
- "module": ".interp.__main__",
63
+ "module": ".pyproject.__main__",
64
64
  "attr": "_CLI_MODULE",
65
- "file": "omdev/interp/__main__.py",
65
+ "file": "omdev/pyproject/__main__.py",
66
66
  "line": 4,
67
67
  "value": {
68
68
  "$.cli.types.CliModule": {
69
- "cmd_name": "interp",
70
- "mod_name": "omdev.interp.__main__"
69
+ "cmd_name": "pyproject",
70
+ "mod_name": "omdev.pyproject.__main__"
71
71
  }
72
72
  }
73
73
  },
74
74
  {
75
- "module": ".pyproject.__main__",
75
+ "module": ".tools.dockertools",
76
76
  "attr": "_CLI_MODULE",
77
- "file": "omdev/pyproject/__main__.py",
78
- "line": 4,
77
+ "file": "omdev/tools/dockertools.py",
78
+ "line": 183,
79
79
  "value": {
80
80
  "$.cli.types.CliModule": {
81
- "cmd_name": "pyproject",
82
- "mod_name": "omdev.pyproject.__main__"
81
+ "cmd_name": "docker",
82
+ "mod_name": "omdev.tools.dockertools"
83
83
  }
84
84
  }
85
85
  },
86
86
  {
87
- "module": ".cexts.cmake",
87
+ "module": ".tools.gittools",
88
88
  "attr": "_CLI_MODULE",
89
- "file": "omdev/cexts/cmake.py",
90
- "line": 323,
89
+ "file": "omdev/tools/gittools.py",
90
+ "line": 22,
91
91
  "value": {
92
92
  "$.cli.types.CliModule": {
93
- "cmd_name": "cmake",
94
- "mod_name": "omdev.cexts.cmake"
93
+ "cmd_name": "git",
94
+ "mod_name": "omdev.tools.gittools"
95
95
  }
96
96
  }
97
97
  },
98
98
  {
99
- "module": ".precheck.precheck",
99
+ "module": ".tools.piptools",
100
100
  "attr": "_CLI_MODULE",
101
- "file": "omdev/precheck/precheck.py",
102
- "line": 90,
101
+ "file": "omdev/tools/piptools.py",
102
+ "line": 51,
103
103
  "value": {
104
104
  "$.cli.types.CliModule": {
105
- "cmd_name": "precheck",
106
- "mod_name": "omdev.precheck.precheck"
105
+ "cmd_name": "pip",
106
+ "mod_name": "omdev.tools.piptools"
107
107
  }
108
108
  }
109
109
  },
110
110
  {
111
- "module": ".amalg.__main__",
111
+ "module": ".tools.sqlrepl",
112
112
  "attr": "_CLI_MODULE",
113
- "file": "omdev/amalg/__main__.py",
114
- "line": 4,
113
+ "file": "omdev/tools/sqlrepl.py",
114
+ "line": 193,
115
115
  "value": {
116
116
  "$.cli.types.CliModule": {
117
- "cmd_name": "amalg",
118
- "mod_name": "omdev.amalg.__main__"
117
+ "cmd_name": "sqlrepl",
118
+ "mod_name": "omdev.tools.sqlrepl"
119
119
  }
120
120
  }
121
121
  }
@@ -39,10 +39,9 @@ class Project(ProjectBase):
39
39
  'omlish.manifests': {name: name},
40
40
  }
41
41
 
42
- # FIXME: omdev-cli ?
43
- # scripts = {
44
- # 'om': f'{name}.cli.main:_main [cli]',
45
- # }
42
+ cli_scripts = {
43
+ 'om': f'{name}.cli.main:_main',
44
+ }
46
45
 
47
46
 
48
47
  class Setuptools(SetuptoolsBase):
@@ -38,11 +38,8 @@ class ExtractAction(Action, lang.Final):
38
38
  ##
39
39
 
40
40
 
41
- @lang.cached_function
41
+ @lang.static_init
42
42
  def _install_standard_marshalling() -> None:
43
43
  actions_poly = msh.polymorphism_from_subclasses(Action, naming=msh.Naming.SNAKE, strip_suffix=True)
44
44
  msh.STANDARD_MARSHALER_FACTORIES[0:0] = [msh.PolymorphismMarshalerFactory(actions_poly)]
45
45
  msh.STANDARD_UNMARSHALER_FACTORIES[0:0] = [msh.PolymorphismUnmarshalerFactory(actions_poly)]
46
-
47
-
48
- _install_standard_marshalling()
@@ -86,11 +86,8 @@ class GithubContentSpec(Spec):
86
86
  ##
87
87
 
88
88
 
89
- @lang.cached_function
89
+ @lang.static_init
90
90
  def _install_standard_marshalling() -> None:
91
91
  specs_poly = msh.polymorphism_from_subclasses(Spec, naming=msh.Naming.SNAKE, strip_suffix=True)
92
92
  msh.STANDARD_MARSHALER_FACTORIES[0:0] = [msh.PolymorphismMarshalerFactory(specs_poly)]
93
93
  msh.STANDARD_UNMARSHALER_FACTORIES[0:0] = [msh.PolymorphismUnmarshalerFactory(specs_poly)]
94
-
95
-
96
- _install_standard_marshalling()
@@ -1,6 +1,6 @@
1
1
  """
2
2
  TODO:
3
- - relative keys - if startswith self pkg then `$.foo.bar`
3
+ - separate build from cli
4
4
 
5
5
  - See (entry_points):
6
6
  - https://github.com/pytest-dev/pluggy/blob/main/src/pluggy/_manager.py#L405
@@ -205,11 +205,11 @@ def build_package_manifests(
205
205
 
206
206
  manifests: ta.List[Manifest] = []
207
207
 
208
- for file in findmagic.find_magic(
208
+ for file in sorted(findmagic.find_magic(
209
209
  [pkg_dir],
210
210
  [MANIFEST_MAGIC],
211
211
  ['py'],
212
- ):
212
+ )):
213
213
  manifests.extend(build_module_manifests(os.path.relpath(file, base), base))
214
214
 
215
215
  if write:
@@ -0,0 +1,11 @@
1
+ from ..cli import CliModule
2
+
3
+
4
+ # @omlish-manifest
5
+ _CLI_MODULE = CliModule('precheck', __name__)
6
+
7
+
8
+ if __name__ == '__main__':
9
+ from .precheck import _main
10
+
11
+ _main()
@@ -27,7 +27,6 @@ import typing as ta
27
27
 
28
28
  from omlish import logs
29
29
 
30
- from ..cli import CliModule
31
30
  from .base import Precheck
32
31
  from .base import PrecheckContext
33
32
  from .git import GitBlacklistPrecheck
@@ -87,10 +86,6 @@ def _build_parser() -> argparse.ArgumentParser:
87
86
  return parser
88
87
 
89
88
 
90
- # @omlish-manifest
91
- _CLI_MODULE = CliModule('precheck', __name__)
92
-
93
-
94
89
  def _main(argv: ta.Sequence[str] | None = None) -> None:
95
90
  logs.configure_standard_logging('INFO')
96
91
 
@@ -301,6 +301,8 @@ class PyprojectPackageGenerator(BasePyprojectPackageGenerator):
301
301
  if (scs := prj.pop('scripts', None)):
302
302
  pyp_dct['project.scripts'] = scs
303
303
 
304
+ prj.pop('cli_scripts', None)
305
+
304
306
  ##
305
307
 
306
308
  st = dict(specs.setuptools)
@@ -385,6 +387,13 @@ class PyprojectPackageGenerator(BasePyprojectPackageGenerator):
385
387
  pkg_suffix='-cext',
386
388
  ).gen(opts)
387
389
 
390
+ if self.build_specs().pyproject.get('cli_scripts'):
391
+ _PyprojectCliPackageGenerator(
392
+ self._dir_name,
393
+ self._pkgs_root,
394
+ pkg_suffix='-cli',
395
+ ).gen(opts)
396
+
388
397
  return ret
389
398
 
390
399
 
@@ -430,6 +439,7 @@ class _PyprojectCextPackageGenerator(BasePyprojectPackageGenerator):
430
439
  'optional_dependencies',
431
440
  'entry_points',
432
441
  'scripts',
442
+ 'cli_scripts',
433
443
  ]:
434
444
  prj.pop(k, None)
435
445
 
@@ -494,3 +504,73 @@ class _PyprojectCextPackageGenerator(BasePyprojectPackageGenerator):
494
504
 
495
505
  with open(os.path.join(self._pkg_dir(), 'setup.py'), 'w') as f:
496
506
  f.write(fc.setup_py)
507
+
508
+
509
+ ##
510
+
511
+
512
+ class _PyprojectCliPackageGenerator(BasePyprojectPackageGenerator):
513
+
514
+ #
515
+
516
+ @dc.dataclass(frozen=True)
517
+ class FileContents:
518
+ pyproject_dct: ta.Mapping[str, ta.Any]
519
+
520
+ @cached_nullary
521
+ def file_contents(self) -> FileContents:
522
+ specs = self.build_specs()
523
+
524
+ #
525
+
526
+ pyp_dct = {}
527
+
528
+ pyp_dct['build-system'] = {
529
+ 'requires': ['setuptools'],
530
+ 'build-backend': 'setuptools.build_meta',
531
+ }
532
+
533
+ prj = specs.pyproject
534
+ prj['dependencies'] = [f'{prj["name"]} == {prj["version"]}']
535
+ prj['name'] += self._pkg_suffix
536
+ for k in [
537
+ 'optional_dependencies',
538
+ 'entry_points',
539
+ 'scripts',
540
+ ]:
541
+ prj.pop(k, None)
542
+
543
+ pyp_dct['project'] = prj
544
+
545
+ if (scs := prj.pop('cli_scripts', None)):
546
+ pyp_dct['project.scripts'] = scs
547
+
548
+ #
549
+
550
+ st = dict(specs.setuptools)
551
+ pyp_dct['tool.setuptools'] = st
552
+
553
+ for k in [
554
+ 'cexts',
555
+
556
+ 'find_packages',
557
+ 'package_data',
558
+ 'manifest_in',
559
+ ]:
560
+ st.pop(k, None)
561
+
562
+ pyp_dct['tool.setuptools.packages.find'] = {
563
+ 'include': [],
564
+ }
565
+
566
+ #
567
+
568
+ return self.FileContents(
569
+ pyp_dct,
570
+ )
571
+
572
+ def _write_file_contents(self) -> None:
573
+ fc = self.file_contents()
574
+
575
+ with open(os.path.join(self._pkg_dir(), 'pyproject.toml'), 'w') as f:
576
+ TomlWriter(f).write_root(fc.pyproject_dct)
@@ -3989,6 +3989,8 @@ class PyprojectPackageGenerator(BasePyprojectPackageGenerator):
3989
3989
  if (scs := prj.pop('scripts', None)):
3990
3990
  pyp_dct['project.scripts'] = scs
3991
3991
 
3992
+ prj.pop('cli_scripts', None)
3993
+
3992
3994
  ##
3993
3995
 
3994
3996
  st = dict(specs.setuptools)
@@ -4073,6 +4075,13 @@ class PyprojectPackageGenerator(BasePyprojectPackageGenerator):
4073
4075
  pkg_suffix='-cext',
4074
4076
  ).gen(opts)
4075
4077
 
4078
+ if self.build_specs().pyproject.get('cli_scripts'):
4079
+ _PyprojectCliPackageGenerator(
4080
+ self._dir_name,
4081
+ self._pkgs_root,
4082
+ pkg_suffix='-cli',
4083
+ ).gen(opts)
4084
+
4076
4085
  return ret
4077
4086
 
4078
4087
 
@@ -4118,6 +4127,7 @@ class _PyprojectCextPackageGenerator(BasePyprojectPackageGenerator):
4118
4127
  'optional_dependencies',
4119
4128
  'entry_points',
4120
4129
  'scripts',
4130
+ 'cli_scripts',
4121
4131
  ]:
4122
4132
  prj.pop(k, None)
4123
4133
 
@@ -4184,6 +4194,76 @@ class _PyprojectCextPackageGenerator(BasePyprojectPackageGenerator):
4184
4194
  f.write(fc.setup_py)
4185
4195
 
4186
4196
 
4197
+ ##
4198
+
4199
+
4200
+ class _PyprojectCliPackageGenerator(BasePyprojectPackageGenerator):
4201
+
4202
+ #
4203
+
4204
+ @dc.dataclass(frozen=True)
4205
+ class FileContents:
4206
+ pyproject_dct: ta.Mapping[str, ta.Any]
4207
+
4208
+ @cached_nullary
4209
+ def file_contents(self) -> FileContents:
4210
+ specs = self.build_specs()
4211
+
4212
+ #
4213
+
4214
+ pyp_dct = {}
4215
+
4216
+ pyp_dct['build-system'] = {
4217
+ 'requires': ['setuptools'],
4218
+ 'build-backend': 'setuptools.build_meta',
4219
+ }
4220
+
4221
+ prj = specs.pyproject
4222
+ prj['dependencies'] = [f'{prj["name"]} == {prj["version"]}']
4223
+ prj['name'] += self._pkg_suffix
4224
+ for k in [
4225
+ 'optional_dependencies',
4226
+ 'entry_points',
4227
+ 'scripts',
4228
+ ]:
4229
+ prj.pop(k, None)
4230
+
4231
+ pyp_dct['project'] = prj
4232
+
4233
+ if (scs := prj.pop('cli_scripts', None)):
4234
+ pyp_dct['project.scripts'] = scs
4235
+
4236
+ #
4237
+
4238
+ st = dict(specs.setuptools)
4239
+ pyp_dct['tool.setuptools'] = st
4240
+
4241
+ for k in [
4242
+ 'cexts',
4243
+
4244
+ 'find_packages',
4245
+ 'package_data',
4246
+ 'manifest_in',
4247
+ ]:
4248
+ st.pop(k, None)
4249
+
4250
+ pyp_dct['tool.setuptools.packages.find'] = {
4251
+ 'include': [],
4252
+ }
4253
+
4254
+ #
4255
+
4256
+ return self.FileContents(
4257
+ pyp_dct,
4258
+ )
4259
+
4260
+ def _write_file_contents(self) -> None:
4261
+ fc = self.file_contents()
4262
+
4263
+ with open(os.path.join(self._pkg_dir(), 'pyproject.toml'), 'w') as f:
4264
+ TomlWriter(f).write_root(fc.pyproject_dct)
4265
+
4266
+
4187
4267
  ########################################
4188
4268
  # ../../interp/providers.py
4189
4269
  """
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: omdev
3
- Version: 0.0.0.dev32
3
+ Version: 0.0.0.dev34
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.dev32
15
+ Requires-Dist: omlish==0.0.0.dev34
16
16
  Provides-Extra: all
17
17
  Requires-Dist: pycparser~=2.22; extra == "all"
18
18
  Requires-Dist: cffi~=1.17; extra == "all"
@@ -1,4 +1,4 @@
1
- omlish==0.0.0.dev32
1
+ omlish==0.0.0.dev34
2
2
 
3
3
  [all]
4
4
  pycparser~=2.22
@@ -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.dev32'
15
+ version = '0.0.0.dev34'
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.dev32',
25
+ 'omlish == 0.0.0.dev34',
26
26
  ]
27
27
 
28
28
  [project.optional-dependencies]
@@ -1,4 +0,0 @@
1
- if __name__ == '__main__':
2
- from .precheck import _main
3
-
4
- _main()
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes