proj-flow 0.11.0__py3-none-any.whl → 0.11.2__py3-none-any.whl

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.
proj_flow/__init__.py CHANGED
@@ -6,4 +6,4 @@ The **proj_flow** contains only ``__version__`` to be updated, nothing more.
6
6
  This is in an attempt to make this module easy to load initially.
7
7
  """
8
8
 
9
- __version__ = "0.11.0"
9
+ __version__ = "0.11.2"
proj_flow/api/init.py CHANGED
@@ -11,6 +11,9 @@ from proj_flow.api.env import Runtime
11
11
 
12
12
 
13
13
  class InitStep:
14
+ def priority(self):
15
+ return 100
16
+
14
17
  def platform_dependencies(self) -> List[str]:
15
18
  return []
16
19
 
@@ -98,6 +98,7 @@ class Registry(typing.Generic[T]):
98
98
 
99
99
  _debug_copies: typing.List[Registry] = []
100
100
 
101
+
101
102
  def quoted(s: str) -> str:
102
103
  if '"' in s:
103
104
  return "'{}'".format(s.replace("\\", r"\\").replace("'", r"\'"))
@@ -105,6 +106,7 @@ def quoted(s: str) -> str:
105
106
  return '"{}"'.format(s)
106
107
  return s
107
108
 
109
+
108
110
  def verbose_info():
109
111
  for registry in _debug_copies:
110
112
  for item in registry.container:
@@ -11,7 +11,6 @@ from typing import Dict, List, cast
11
11
 
12
12
  from proj_flow import api
13
13
  from proj_flow.api import env, step
14
-
15
14
  from proj_flow.base.__cmake_version__ import CMAKE_VERSION
16
15
 
17
16
 
@@ -6,6 +6,6 @@ The **proj_flow.minimal** defines minimal extension package: ``bootstrap``
6
6
  and ``run`` commands, with basic set of steps.
7
7
  """
8
8
 
9
- from . import bootstrap, init, list, run, system
9
+ from . import base, bootstrap, init, list, run, system
10
10
 
11
- __all__ = ["bootstrap", "init", "list", "run", "system"]
11
+ __all__ = ["base", "bootstrap", "init", "list", "run", "system"]
proj_flow/minimal/base.py CHANGED
@@ -6,10 +6,15 @@ The **proj_flow.minimal.base** provides basic initialization setup for all
6
6
  new projects.
7
7
  """
8
8
 
9
+ import sys
10
+
9
11
  from proj_flow import __version__, api
10
12
 
11
13
 
12
14
  class GitInit(api.init.InitStep):
15
+ def priority(self):
16
+ return sys.maxsize
17
+
13
18
  def platform_dependencies(self):
14
19
  return ["git"]
15
20
 
proj_flow/minimal/init.py CHANGED
@@ -104,5 +104,8 @@ def main(
104
104
  with open(".gitignore", "ab") as ignoref:
105
105
  ignoref.write("\n/.context.yaml\n".encode("UTF-8"))
106
106
 
107
- for step in init.__steps:
107
+ current_project.append_extensions(context)
108
+
109
+ steps = sorted((step.priority(), i, step) for i, step in enumerate(init.__steps))
110
+ for _, _, step in steps:
108
111
  step.postprocess(rt, context)
proj_flow/project/api.py CHANGED
@@ -33,6 +33,23 @@ class ProjectType(ABC):
33
33
  def get_context(self, interactive: bool, rt: env.Runtime):
34
34
  return interact.get_context(interactive, self.id, rt)
35
35
 
36
+ def append_extensions(self, context: dict):
37
+ extensions = self.get_extension_list(context)
38
+ if len(extensions) == 0:
39
+ return
40
+ text = "".join(f"\n - {ext}" for ext in extensions)
41
+ text = f"extensions:{text}\n\n"
42
+
43
+ with open(".flow/config.yml", encoding="UTF-8") as config_file:
44
+ content = config_file.read()
45
+
46
+ with open(".flow/config.yml", "w", encoding="UTF-8") as config_file:
47
+ config_file.write(text)
48
+ config_file.write(content)
49
+
50
+ @abstractmethod
51
+ def get_extension_list(self, context: dict) -> List[str]: ...
52
+
36
53
 
37
54
  project_type = base.registry.Registry[ProjectType]("ProjectType")
38
55
 
@@ -7,4 +7,4 @@ The **proj_flow.project.cplusplus** registers a ``"C++"`` projects support.
7
7
 
8
8
  from proj_flow.project.cplusplus import cmake_context, conan_context
9
9
 
10
- __all__ = ["cmake_context", "conan_context"]
10
+ __all__ = ["cmake_context", "conan_context"]
@@ -12,11 +12,10 @@ import uuid
12
12
  import chevron
13
13
 
14
14
  from proj_flow import api, project
15
+ from proj_flow.base.__cmake_version__ import CMAKE_VERSION
15
16
  from proj_flow.project import data
16
17
  from proj_flow.project.cplusplus import project
17
18
 
18
- from proj_flow.base.__cmake_version__ import CMAKE_VERSION
19
-
20
19
  config_json_mustache = """
21
20
  {{#with_cmake}}
22
21
  cmake:
@@ -24,7 +23,6 @@ cmake:
24
23
  {{NAME_PREFIX}}_COVERAGE: "?config:coverage"
25
24
  {{NAME_PREFIX}}_SANITIZE: "?config:sanitizer"
26
25
  {{NAME_PREFIX}}_CUTDOWN_OS: "?runtime:cutdown_os"
27
-
28
26
  {{/with_cmake}}
29
27
  """
30
28
 
@@ -36,7 +34,7 @@ class CMakeInit(api.init.InitStep):
36
34
  return
37
35
 
38
36
  with open(".flow/config.yml", encoding="UTF-8") as config_file:
39
- patched = re.split(r"(\nshortcuts:\n)", config_file.read())
37
+ patched = re.split(r"(\n\nshortcuts:\n)", config_file.read())
40
38
 
41
39
  if len(patched) != 3:
42
40
  return
@@ -7,6 +7,4 @@ The **proj_flow.ext.cplusplus.conan** provides the ``"Conan"`` step.
7
7
 
8
8
  from proj_flow.project.cplusplus import project
9
9
 
10
- project.cxx.register_switch(
11
- "with_conan", "Use Conan for dependency manager", True
12
- )
10
+ project.cxx.register_switch("with_conan", "Use Conan for dependency manager", True)
@@ -7,10 +7,23 @@ The **proj_flow.project.cplusplus** registers a ``"C++"`` projects support.
7
7
 
8
8
  from proj_flow.project import api
9
9
 
10
+ CPP_EXTENSIONS = [
11
+ "proj_flow.ext.cplusplus",
12
+ "proj_flow.ext.sign",
13
+ "proj_flow.ext.store",
14
+ ]
15
+
16
+
10
17
  @api.project_type.add
11
18
  class CPlusPlus(api.ProjectType):
12
19
  def __init__(self):
13
20
  super().__init__("C++ plus CMake plus Conan", "cxx")
14
21
 
22
+ def get_extension_list(self, context: dict):
23
+ with_github_actions = not not context.get("with_github_actions")
24
+ if with_github_actions:
25
+ return [*CPP_EXTENSIONS, "proj_flow.ext.github"]
26
+ return CPP_EXTENSIONS
27
+
15
28
 
16
29
  cxx = api.get_project_type("cxx")
@@ -93,7 +93,7 @@ if (MSVC)
93
93
  /w14906
94
94
  /w14928
95
95
  /w14946)
96
- if (COV_SANITIZE)
96
+ if ({{NAME_PREFIX}}_SANITIZE)
97
97
  list(APPEND {{NAME_PREFIX}}_ADDITIONAL_COMPILE_FLAGS
98
98
  /fsanitize=address
99
99
  /D_DISABLE_VECTOR_ANNOTATION
@@ -131,7 +131,7 @@ else()
131
131
  -Wuseless-cast
132
132
  )
133
133
  endif()
134
- if (COV_SANITIZE)
134
+ if ({{NAME_PREFIX}}_SANITIZE)
135
135
  list(APPEND {{NAME_PREFIX}}_ADDITIONAL_COMPILE_FLAGS
136
136
  -fsanitize=address
137
137
  -fsanitize=undefined
@@ -19,7 +19,7 @@
19
19
  #define {{NAME_PREFIX}}_VERSION_PATCH @PROJECT_VERSION_PATCH@
20
20
 
21
21
  #ifndef RC_INVOKED
22
- namespace cov {
22
+ namespace {{NAMESPACE}} {
23
23
  struct version {
24
24
  static constexpr char string[] = "@PROJECT_VERSION_MAJOR@.@PROJECT_VERSION_MINOR@.@PROJECT_VERSION_PATCH@"; // NOLINT build/include_what_you_use and whitespace/line_length
25
25
  static constexpr char string_short[] = "@PROJECT_VERSION_MAJOR@.@PROJECT_VERSION_MINOR@";
@@ -31,6 +31,6 @@ namespace cov {
31
31
  static constexpr unsigned minor = @PROJECT_VERSION_MINOR@;
32
32
  static constexpr unsigned patch = @PROJECT_VERSION_PATCH@;
33
33
  };
34
- } // namespace cov
34
+ } // namespace {{NAMESPACE}}
35
35
  #endif
36
36
  // clang-format on
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: proj-flow
3
- Version: 0.11.0
3
+ Version: 0.11.2
4
4
  Summary: C++ project maintenance, automated
5
5
  Project-URL: Changelog, https://github.com/mzdun/proj-flow/blob/main/CHANGELOG.rst
6
6
  Project-URL: Documentation, https://proj-flow.readthedocs.io/en/latest/
@@ -1,4 +1,4 @@
1
- proj_flow/__init__.py,sha256=rJnUcfKn1M3oCrkLIpU66A5IZYuXAN9puzWG3l2KM7s,277
1
+ proj_flow/__init__.py,sha256=N5R_dE3paskr8VDXvEr4Ph9hxPztPeQqsJRqn8VNmlM,277
2
2
  proj_flow/__main__.py,sha256=HUar_qQ9Ndmchmryegtzu__5wukwCLrFN_SGRl5Ol_M,233
3
3
  proj_flow/dependency.py,sha256=CpcnR6El8AO9hlLc9lQtYQADYlkx3GMHlkLYbEAtdMI,4639
4
4
  proj_flow/api/__init__.py,sha256=gV2f6kll_5JXtvkGASvnx7CbOWr34PHOdck-4ce-qEk,378
@@ -6,7 +6,7 @@ proj_flow/api/arg.py,sha256=id08mLFVDWIvsrhEaPuJfng27f92Vf8pIA5VajyjGVo,4802
6
6
  proj_flow/api/completers.py,sha256=NapNVu6QAQ_iF6dqcAzOV5kDHKD9MAMVX209Bklq-Mw,2464
7
7
  proj_flow/api/ctx.py,sha256=IJu0q0Chivo6b2M4MKkAlV09oi7Cn9VxtDFeAeL_tnc,6646
8
8
  proj_flow/api/env.py,sha256=VOJbyyMQydPLV4-xQ9ylxwhkvJ8EhZro1GOYPfUSnCU,12629
9
- proj_flow/api/init.py,sha256=an0czDiPCDqW4Bp0I8sGQgaAlDAozLO0ZYnP149lWqk,521
9
+ proj_flow/api/init.py,sha256=p4ZDGfq6fw4bXbJu2iq0vEmVxbS7nALIhZfe-XnEs44,565
10
10
  proj_flow/api/makefile.py,sha256=AxtGOvmypBtSvoyMEDJq1bGoaVD5yW9YYRZSdunUEeg,3856
11
11
  proj_flow/api/release.py,sha256=A-t4qcjeaptEgfBCZs2Q9cOjsGACrNM0CzmCorms0U4,2401
12
12
  proj_flow/api/step.py,sha256=AOqe1wXYnU_O3pD5KlzfyyOm_D9fcF_4vyhhr1w-NrI,4561
@@ -17,7 +17,7 @@ proj_flow/base/inspect.py,sha256=lt5P19rvSZ-wMCTrCYAaQFCt2S9fUjEQXlrKK-Tmvwc,278
17
17
  proj_flow/base/matrix.py,sha256=8XBFGYOwW6Myt_4h3WNk36V2bJ5xeqUv6DvzF4B3q_g,7767
18
18
  proj_flow/base/name_list.py,sha256=KiHSnbDgYplJc25O3EehYhFAhD7Z3mHVAK6UYOdg5PQ,416
19
19
  proj_flow/base/plugins.py,sha256=evn2Dym_NeoBaIZAu2YUtRd--15PCFpHD0h5zSsWkQE,978
20
- proj_flow/base/registry.py,sha256=JJJONiBwpPvOvwh-Omrsc0OfhDC_88wC9HUJTN9udww,3743
20
+ proj_flow/base/registry.py,sha256=zbkB9KNfHnyPtzOurdvjwt714jrFpGHyOqeZL5sMvzI,3745
21
21
  proj_flow/base/uname.py,sha256=7Awb3Es0jTAKMpyRawdrC16xc5X9M97BlPqEfQibqIk,2295
22
22
  proj_flow/cli/__init__.py,sha256=cMsZpECkXeSzY4Hv_ela3Ou-FhwE5w1A3ypMSnZZikM,1196
23
23
  proj_flow/cli/argument.py,sha256=OCx_Z0NVm4bmHI30WFdtPdqVMdDnvkqqluhAgP7Ya0w,13686
@@ -29,7 +29,7 @@ proj_flow/ext/store.py,sha256=yfyIb2G7UhoIkPmVDnp1RPx2fwFZK8FyLZzrMvPlEUM,3681
29
29
  proj_flow/ext/cplusplus/__init__.py,sha256=dAmLMyGVQq586jJM_jiAuo5Ecw9U8agpvSRbzzPgh3g,245
30
30
  proj_flow/ext/cplusplus/cmake/__init__.py,sha256=QRD9qEzIhOuzwyjOFdOWUFiwwGTctss5y6Eam3RzeVc,346
31
31
  proj_flow/ext/cplusplus/cmake/parser.py,sha256=ZqQRZqS_VU5VtC8uwax-dknh7sfuLEvtazG8ChSqHDQ,3814
32
- proj_flow/ext/cplusplus/cmake/steps.py,sha256=sYrx7R96HFxo7wzX1n53pthwWMdQFOBSb3tkL9JHneY,4120
32
+ proj_flow/ext/cplusplus/cmake/steps.py,sha256=IBxATzcJfDI5XibaKgXDnKDKPIaJM1fAJKfjOBpufzo,4119
33
33
  proj_flow/ext/cplusplus/cmake/version.py,sha256=E0PAUdO9Wg02pxtU4LWYTNoTB-9Oer3Y9zr1lR2zvgw,962
34
34
  proj_flow/ext/cplusplus/conan/__init__.py,sha256=Fv839SWsKPWMZs9ox9T-bofZ4xDJXOI5UfWKQkm0Vtg,1924
35
35
  proj_flow/ext/cplusplus/conan/_conan.py,sha256=9xnji-f8uN7huXLqavVBUDC33CgnjBIyZX6wVcGm2RA,3352
@@ -61,21 +61,21 @@ proj_flow/log/rich_text/__init__.py,sha256=D3Y2jy9xlGgnQZdNC_ekoLzQtwkF_NTgLqDTW
61
61
  proj_flow/log/rich_text/api.py,sha256=PCSAGwkmDUMoVlpN7BDsgIA1AiMZEC0H6TUZXpr_Mg8,3571
62
62
  proj_flow/log/rich_text/markdown.py,sha256=jBnNxxhBHzyIZ3Y4HXDfqpl7zlRbbKbKdwdnZwkmNAI,1623
63
63
  proj_flow/log/rich_text/re_structured_text.py,sha256=DEl9KjBUF6cxfNWpQ7GVnHi7wKeuFnPGJwxQxjbCsnM,1823
64
- proj_flow/minimal/__init__.py,sha256=NglaSdKiMebrOqfsqF9ctqi0ZwiiBHOQcUnp3DS8lP0,340
65
- proj_flow/minimal/base.py,sha256=yJR3FAigR_x8krTQ1UeifBb4AnLUZAk6LfVVqB_RFO4,758
64
+ proj_flow/minimal/__init__.py,sha256=Yv32uwmS5a9SXSjaMVK0xKla9sWtcA8QkJHt15ffhiU,354
65
+ proj_flow/minimal/base.py,sha256=c9fz6qiv26-LHcJYXpdtwjGZlYQqk9kEmiNPt90xUhk,822
66
66
  proj_flow/minimal/bootstrap.py,sha256=PcZfBsUmj8uDPGBC55iUgD5O7W4VSkpCQb6r9GEyAaQ,556
67
- proj_flow/minimal/init.py,sha256=kJ4flv_W6ZHMVOEDwDbeURlOXS3O2AjGobGzKIbHxZE,2949
67
+ proj_flow/minimal/init.py,sha256=PpaN2uCzBbp-XO9Zjzkh5Vva8Zk204Kk0CJBH_jZzy8,3082
68
68
  proj_flow/minimal/list.py,sha256=RlOqammE8olNKXsnbv1enF5uriu0MZ2wFbht37Z2ETw,4810
69
69
  proj_flow/minimal/run.py,sha256=4qvGLqz2ayCZDvVBrq4tG094fjfcmDPon-xcGPQkM_U,4665
70
70
  proj_flow/minimal/system.py,sha256=9FliH5TD103JYSAe2O5EU7hkOHDgVzTqu0Exxk-WrXE,1579
71
71
  proj_flow/project/__init__.py,sha256=AROrwhbuMR5rJE-HC769eL4IXrMLQYpQb3HgpkOAYqg,293
72
- proj_flow/project/api.py,sha256=-B9Oj_7Z8hQvfgs32XU-S0nw9y8hFSkO71hx-JUHs7Q,1384
72
+ proj_flow/project/api.py,sha256=UrqXsupVaYQ1obFWj_8OJYhWcsZDjDHQb8mN6qC28uc,1994
73
73
  proj_flow/project/data.py,sha256=TluhBDoJEYL4dnyTpInmhQ49Uvf8mkWmpU-YMLQPNhE,317
74
74
  proj_flow/project/interact.py,sha256=Abb6Jt88pCebJMkKLGCF3RQLM-Q9D8Yk92GarZ27e9E,7909
75
- proj_flow/project/cplusplus/__init__.py,sha256=rEKuxAVMpkTTM01Upv3VUtkSiVIpXDAux-7FreWsF2k,301
76
- proj_flow/project/cplusplus/cmake_context.py,sha256=HZTJ4D_EYHCZGfrSXUHtX2fPzbPp2jON5OCHRSyLPgk,3203
77
- proj_flow/project/cplusplus/conan_context.py,sha256=iXKATfS56R8AgO3g02M15CqcAkvNeO4gBahWSLHo8Dg,319
78
- proj_flow/project/cplusplus/project.py,sha256=gLvymc5bhXsjgBRm0u-oddXjbVHmwf6aIpHnqVAd9nc,399
75
+ proj_flow/project/cplusplus/__init__.py,sha256=cBjTOL8unMiPBWx9QkY4-vahzlHXNVNAxdaUTtVBjZM,302
76
+ proj_flow/project/cplusplus/cmake_context.py,sha256=ir0LXAG_VQOYsMmXWoIyKXyxZe2y3oxv-Fa2B-sNtsM,3203
77
+ proj_flow/project/cplusplus/conan_context.py,sha256=JAeYi0-Fp8nAyXsmS9KmeHE2Yl-dAm3N2pGO1SoBpqw,313
78
+ proj_flow/project/cplusplus/project.py,sha256=-TXXncxg9NejOYypg8FytSOmLEJCB2DfDjg4BMmvH10,752
79
79
  proj_flow/template/layers/base.json,sha256=jrlby8FUUwkx4V_EGMix_pkQlWcUCVUgmeoapZaZnt4,3
80
80
  proj_flow/template/layers/cmake.json,sha256=KJe9uqTDoGm0ppdNOtniKEv30iNV2K4Yk8hZQetEZ7Y,385
81
81
  proj_flow/template/layers/conan.json,sha256=mAhDrxCtDjI_7Rbtr2hlNW5_jZkLdWLiwgfuhRsRuuw,29
@@ -91,7 +91,7 @@ proj_flow/template/layers/base/.flow/flow.py.mustache,sha256=UpCW3-DVa3d_4XmVkmz
91
91
  proj_flow/template/layers/base/.flow/matrix.yml,sha256=XgDC-F8YfeZEILBwHPkGNeRCxgaDK79f-JoWfHlVrgc,1257
92
92
  proj_flow/template/layers/base/.flow/official.yml,sha256=2nQgxoQJ5IAnPQVn50LrVD0B2p9KpLYSVz1b7IFu0Zc,71
93
93
  proj_flow/template/layers/cmake/CMakeGraphVizOptions.cmake,sha256=lAuNOIFDOAPnU_Zfz0ZCxephIp2bqteVlMSsuVg0BTM,368
94
- proj_flow/template/layers/cmake/CMakeLists.txt.mustache,sha256=qZ7LQcBG5-jUq69ZoGxpHTH3nYLLbUnXNeDJvwEGZ8Y,6251
94
+ proj_flow/template/layers/cmake/CMakeLists.txt.mustache,sha256=KmDLS9-KDmgPwj3Z9yEgmTICV6jN5C16sU2xAkcIMQI,6275
95
95
  proj_flow/template/layers/cmake/CMakePresets.json,sha256=B6j0Cxh_l8QfxHNV1IIWoGyMBz4unVHyAGbUUKJWBFM,5487
96
96
  proj_flow/template/layers/cmake/.flow/cmake/common.cmake.mustache,sha256=ntar1ypWUH10JwrebdrnOjQz0Nk8KpDyE6Qh4M2y86I,1053
97
97
  proj_flow/template/layers/cmake/.flow/extensions/wall/__init__.py.mustache,sha256=oEnCHoU4KtUZb-4SX3ld255jHT06nEx7pS6gW-w-zIc,127
@@ -111,7 +111,7 @@ proj_flow/template/layers/cmake/data/icons/.gitignore,sha256=NEwIFSarC4e2DwNDDqG
111
111
  proj_flow/template/layers/cmake/data/icons/appicon-mask.svg,sha256=pkMzpiGSq8emOD0MGrcwhQvHXkMcPp0aNhsyzS1dAZE,258
112
112
  proj_flow/template/layers/cmake/data/icons/appicon.svg,sha256=suZ4xxKxNe5La8K2OcsffpMpuHZn_hKfi0cSKPTzbFo,1357
113
113
  proj_flow/template/layers/cmake/src/main.cc.mustache,sha256=XSqjowXjPhmm18GRZl05r9co50DEehHIyDiXLH0YY_c,1202
114
- proj_flow/template/layers/cmake/src/version.hpp.in.mustache,sha256=0y8UM5lmnlHv5dUZfoOmqGti3e4VKpzBkDnR24ukjIM,1737
114
+ proj_flow/template/layers/cmake/src/version.hpp.in.mustache,sha256=q-OHyLQ-d52hkV45m3DWLoBs9EWiHbIlIOnMvDoSfdg,1757
115
115
  proj_flow/template/layers/cmake/tests/test.cc.mustache,sha256=ZoUYCEZOwOPB3A-0EU-59rebPCqPjW7FuHDMNvdG_t0,371
116
116
  proj_flow/template/layers/conan/conanfile.txt,sha256=XOuMBysuBL9wmWmoruZqi6yhZO-APPlZKOxU2HQhFx0,106
117
117
  proj_flow/template/layers/conan/.flow/cmake/libcxx_toolchain.cmake,sha256=WkECkH-UyBzC4-ChIBCyVIN42NQLTy-3OLCk4BZ9deM,244
@@ -130,8 +130,8 @@ proj_flow/template/licenses/MIT.mustache,sha256=NncPoQaNsuy-WmRmboik3fyhJJ8m5pc2
130
130
  proj_flow/template/licenses/Unlicense.mustache,sha256=awOCsWJ58m_2kBQwBUGWejVqZm6wuRtCL2hi9rfa0X4,1211
131
131
  proj_flow/template/licenses/WTFPL.mustache,sha256=lvF4V_PrKKfZPa2TC8CZo8tlqaKvs3Bpv9G6XsWWQ4k,483
132
132
  proj_flow/template/licenses/Zlib.mustache,sha256=uIj-mhSjes2HJ3rRapyy2ALflKRz4xQgS4mVM9827C0,868
133
- proj_flow-0.11.0.dist-info/METADATA,sha256=x-Enl_zQtntZR9HXEwP7m-jaR86E6orA5ofhbaWXudc,2868
134
- proj_flow-0.11.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
135
- proj_flow-0.11.0.dist-info/entry_points.txt,sha256=d_OmGKZzpY7FCWz0sZ4wnBAPZC75oMEzTgJZWtpDELo,49
136
- proj_flow-0.11.0.dist-info/licenses/LICENSE,sha256=vpOQJ5QlrTedF3coEWvA4wJzVJH304f66ZitR7Od4iU,1068
137
- proj_flow-0.11.0.dist-info/RECORD,,
133
+ proj_flow-0.11.2.dist-info/METADATA,sha256=DiH0uZ6r9quuUyflFOU-IuZSgOVmdtSCLxY4hGZUjt4,2868
134
+ proj_flow-0.11.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
135
+ proj_flow-0.11.2.dist-info/entry_points.txt,sha256=d_OmGKZzpY7FCWz0sZ4wnBAPZC75oMEzTgJZWtpDELo,49
136
+ proj_flow-0.11.2.dist-info/licenses/LICENSE,sha256=vpOQJ5QlrTedF3coEWvA4wJzVJH304f66ZitR7Od4iU,1068
137
+ proj_flow-0.11.2.dist-info/RECORD,,