flock-core 0.4.0b4__py3-none-any.whl → 0.4.0b6__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.

Potentially problematic release.


This version of flock-core might be problematic. Click here for more details.

@@ -231,7 +231,8 @@ def azure_search_query(
231
231
  )
232
232
 
233
233
  # Convert results to list of dictionaries
234
- result_list = [dict(result) for result in results]
234
+ # filter out the text_vector field
235
+ result_list = [{**dict(result), "text_vector": ""} for result in results]
235
236
 
236
237
  return result_list
237
238
 
@@ -76,7 +76,7 @@ def extract_links_from_markdown(markdown: str, url: str) -> list:
76
76
 
77
77
 
78
78
  @traced_and_logged
79
- def get_web_content_as_markdown(url: str):
79
+ def get_web_content_as_markdown(url: str) -> str:
80
80
  if (
81
81
  importlib.util.find_spec("httpx") is not None
82
82
  and importlib.util.find_spec("markdownify") is not None
@@ -0,0 +1,59 @@
1
+ # src/flock/core/loader.py
2
+ """Provides functionality to load Flock instances from files."""
3
+
4
+ from pathlib import Path
5
+ from typing import TYPE_CHECKING
6
+
7
+ # Use TYPE_CHECKING to avoid runtime circular import if Flock imports this module indirectly
8
+ if TYPE_CHECKING:
9
+ from flock.core.flock import Flock
10
+
11
+ # Import locally within the function to ensure Serializable methods are available
12
+ # from .serialization.serializable import Serializable # Serializable defines the file methods
13
+
14
+ # Cloudpickle check needs to be top-level
15
+ try:
16
+ import cloudpickle
17
+
18
+ PICKLE_AVAILABLE = True
19
+ except ImportError:
20
+ PICKLE_AVAILABLE = False
21
+
22
+
23
+ def load_flock_from_file(file_path: str) -> "Flock":
24
+ """Load a Flock instance from various file formats (detects type)."""
25
+ # Import Flock locally within the function to avoid circular dependency at module level
26
+ from flock.core.flock import Flock
27
+
28
+ p = Path(file_path)
29
+ if not p.exists():
30
+ raise FileNotFoundError(f"Flock file not found: {file_path}")
31
+
32
+ try:
33
+ if p.suffix.lower() in [".yaml", ".yml"]:
34
+ return Flock.from_yaml_file(p)
35
+ elif p.suffix.lower() == ".json":
36
+ # Assuming from_json is available via Serializable or directly on Flock
37
+ return Flock.from_json(p.read_text())
38
+ elif p.suffix.lower() == ".msgpack":
39
+ # Assuming from_msgpack_file is available via Serializable or directly on Flock
40
+ return Flock.from_msgpack_file(p)
41
+ elif p.suffix.lower() == ".pkl":
42
+ if PICKLE_AVAILABLE:
43
+ # Assuming from_pickle_file is available via Serializable or directly on Flock
44
+ return Flock.from_pickle_file(p)
45
+ else:
46
+ raise RuntimeError(
47
+ "Cannot load Pickle file: cloudpickle not installed."
48
+ )
49
+ else:
50
+ raise ValueError(f"Unsupported file extension: {p.suffix}")
51
+ except Exception as e:
52
+ # Add specific error logging if helpful
53
+ from flock.core.logging.logging import get_logger
54
+
55
+ logger = get_logger("loader")
56
+ logger.error(
57
+ f"Error loading Flock from {file_path}: {e}", exc_info=True
58
+ )
59
+ raise # Re-raise the original exception
@@ -7,6 +7,8 @@ from typing import TYPE_CHECKING, Any
7
7
 
8
8
  from pydantic import Field
9
9
 
10
+ from flock.core.context.context_vars import FLOCK_BATCH_SILENT_MODE
11
+
10
12
  if TYPE_CHECKING:
11
13
  from flock.core import FlockAgent
12
14
 
@@ -181,17 +183,50 @@ class OutputModule(FlockModule):
181
183
  ) -> dict[str, Any]:
182
184
  """Format and display the output."""
183
185
  logger.debug("Formatting and displaying output")
184
- if self.config.no_output:
185
- return result
186
- if self.config.print_context:
187
- result["context"] = context
188
- # Display the result using the formatter
189
- self._formatter.display_result(result, agent.name)
186
+
187
+ # Determine if output should be suppressed
188
+ is_silent = self.config.no_output or (
189
+ context and context.get_variable(FLOCK_BATCH_SILENT_MODE, False)
190
+ )
191
+
192
+ if is_silent:
193
+ logger.debug("Output suppressed (config or batch silent mode).")
194
+ # Still save to file if configured, even in silent mode
195
+ self._save_output(agent.name, result)
196
+ return result # Skip console output
197
+
198
+ logger.debug("Formatting and displaying output to console.")
199
+
200
+ if self.config.print_context and context:
201
+ # Add context snapshot if requested (be careful with large contexts)
202
+ try:
203
+ # Create a copy or select relevant parts to avoid modifying original result dict directly
204
+ display_result = result.copy()
205
+ display_result["context_snapshot"] = (
206
+ context.to_dict()
207
+ ) # Potential performance hit
208
+ except Exception:
209
+ display_result = result.copy()
210
+ display_result["context_snapshot"] = (
211
+ "[Error serializing context]"
212
+ )
213
+ result_to_display = display_result
214
+ else:
215
+ result_to_display = result
216
+
217
+ if not hasattr(self, "_formatter") or self._formatter is None:
218
+ self._formatter = ThemedAgentResultFormatter(
219
+ theme=self.config.theme,
220
+ max_length=self.config.max_length,
221
+ render_table=self.config.render_table,
222
+ wait_for_input=self.config.wait_for_input,
223
+ )
224
+ self._formatter.display_result(result_to_display, agent.name)
190
225
 
191
226
  # Save to file if configured
192
- self._save_output(agent.name, result)
227
+ self._save_output(agent.name, result) # Save the original result
193
228
 
194
- return result
229
+ return result # Return the original, unmodified result
195
230
 
196
231
  def update_theme(self, new_theme: OutputTheme) -> None:
197
232
  """Update the output theme."""
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: flock-core
3
- Version: 0.4.0b4
3
+ Version: 0.4.0b6
4
4
  Summary: Declarative LLM Orchestration at Scale
5
5
  Author-email: Andre Ratzenberger <andre.ratzenberger@whiteduck.de>
6
6
  License-File: LICENSE
@@ -11,6 +11,7 @@ Requires-Python: >=3.10
11
11
  Requires-Dist: azure-search-documents>=11.5.2
12
12
  Requires-Dist: chromadb>=0.6.3
13
13
  Requires-Dist: cloudpickle>=3.1.1
14
+ Requires-Dist: datasets>=3.2.0
14
15
  Requires-Dist: devtools>=0.12.2
15
16
  Requires-Dist: dspy==2.6.16
16
17
  Requires-Dist: duckduckgo-search>=7.3.2
@@ -28,9 +29,11 @@ Requires-Dist: opentelemetry-exporter-jaeger>=1.21.0
28
29
  Requires-Dist: opentelemetry-exporter-otlp>=1.30.0
29
30
  Requires-Dist: opentelemetry-instrumentation-logging>=0.51b0
30
31
  Requires-Dist: opentelemetry-sdk>=1.30.0
32
+ Requires-Dist: pandas>=2.2.3
31
33
  Requires-Dist: pillow>=10.4.0
32
34
  Requires-Dist: prometheus-client>=0.21.1
33
35
  Requires-Dist: psutil>=6.1.1
36
+ Requires-Dist: pydantic-settings>=2.7.1
34
37
  Requires-Dist: pydantic>=2.10.5
35
38
  Requires-Dist: python-box>=7.3.2
36
39
  Requires-Dist: python-decouple>=3.8
@@ -61,6 +64,11 @@ Description-Content-Type: text/markdown
61
64
  <a href="https://www.linkedin.com/company/whiteduck" target="_blank"><img alt="LinkedIn" src="https://img.shields.io/badge/linkedin-%230077B5.svg?style=for-the-badge&logo=linkedin&logoColor=white&label=whiteduck"></a>
62
65
  <a href="https://bsky.app/profile/whiteduck-gmbh.bsky.social" target="_blank"><img alt="Bluesky" src="https://img.shields.io/badge/bluesky-Follow-blue?style=for-the-badge&logo=bluesky&logoColor=%23fff&color=%23333&labelColor=%230285FF&label=whiteduck-gmbh"></a>
63
66
 
67
+ 🐤 Flock 0.4.0 currently in beta - use `pip install flock-core==0.4.0b5` 🐤
68
+ 🐤 `pip install flock-core` will install the latest non-beta version 🐤
69
+ 🐤 Expected Release for 0.4.0 `Magpie`: End of April 2025 🐤
70
+
71
+
64
72
  ## Overview
65
73
 
66
74
  Flock is a framework for orchestrating LLM-powered agents. It leverages a **declarative approach** where you simply specify what each agent needs as input and what it produces as output, without having to write lengthy, brittle prompts. Under the hood, Flock transforms these declarations into robust workflows, using cutting-edge components such as Temporal and DSPy to handle fault tolerance, state management, and error recovery.
@@ -1,22 +1,24 @@
1
- flock/__init__.py,sha256=LhuAmkwwNuNbEvo2N4r1myDgGqQwDRe_HYU3sTZQgDc,4139
2
- flock/config.py,sha256=O5QJGlStf4DWSK4ovZsKw01ud4YK3_ij6Ay8sWU8ih0,1522
3
- flock/cli/constants.py,sha256=EgGwFYl6TD7GVm9gASPJTjSl-aYROiFGltwFYp7u1AQ,668
1
+ flock/__init__.py,sha256=vnL2AVN9perQ4WRwNKQgeruFw4WIZkZLqMKzxrTF2h4,4530
2
+ flock/config.py,sha256=Nrip1Nn03KGVmRq2NYkuI-hJtnIVI1lHkurIrsPt7YI,1588
3
+ flock/cli/config.py,sha256=5DvFLObOx3ObisHnc9JfnUBnK83y0CBsUQzXfxPZve0,138
4
+ flock/cli/constants.py,sha256=ZyXtTW91P1hUMkbMwmOwp_JEL5e9-YkcuM3vHM5glP4,978
4
5
  flock/cli/create_agent.py,sha256=DkeLUlrb7rGx3nZ04aADU9HXXu5mZTf_DBwT0xhzIv4,7
5
- flock/cli/create_flock.py,sha256=XjTZEMQcEuAhniDJFrZoV103c-iTS1j-8AnagWZYxGE,8229
6
- flock/cli/execute_flock.py,sha256=rAP-5nFfyOivi5uWG8mloZwXF9Tj9iD8MYSbllPllQ4,5726
6
+ flock/cli/create_flock.py,sha256=wGS3azisS0QWYIDKQswoKDDJ7B0udU2o5b2IwacMN84,8634
7
+ flock/cli/execute_flock.py,sha256=-rujYj_gLvmtf8Xiax2Ih631ibPw_-nyZIyraKzPvUc,18300
7
8
  flock/cli/load_agent.py,sha256=DkeLUlrb7rGx3nZ04aADU9HXXu5mZTf_DBwT0xhzIv4,7
8
9
  flock/cli/load_examples.py,sha256=DkeLUlrb7rGx3nZ04aADU9HXXu5mZTf_DBwT0xhzIv4,7
9
10
  flock/cli/load_flock.py,sha256=sfZ9B9aiyC5TCEbn1xR5Yd5SoaVji6MBNYzXlWOpoZ4,7111
10
11
  flock/cli/load_release_notes.py,sha256=qFcgUrMddAE_TP6x1P-6ZywTUjTknfhTDW5LTxtg1yk,599
11
- flock/cli/loaded_flock_cli.py,sha256=LpPBBSMOw0780EQ4KHz7QMpwz29KZZW7AuTerHvramw,6351
12
+ flock/cli/loaded_flock_cli.py,sha256=IkeYvw52Bh3uFIm2O5xgppJ9KaY7jfh0VSFkiI46tTg,6855
12
13
  flock/cli/manage_agents.py,sha256=wkNF0IqNFfePrFueR57SILPW885IPqs3U8Cp-fcPPmo,12710
13
14
  flock/cli/registry_management.py,sha256=mAHy3wT97YgODR0gVOkTXDqR5NIPzM-E-z9dEtw9-tw,29790
15
+ flock/cli/runner.py,sha256=TebsqwAfc_bTGzr-id6frgZXPCDJ5Xu1pBd9bZnqIDg,1120
14
16
  flock/cli/settings.py,sha256=Z_TXBzCYlCmSaKrJ_CQCdYy-Cj29gpI4kbC_2KzoKqg,27025
15
17
  flock/cli/view_results.py,sha256=dOzK0O1FHSIDERnx48y-2Xke9BkOHS7pcOhs64AyIg0,781
16
18
  flock/cli/yaml_editor.py,sha256=K3N0bh61G1TSDAZDnurqW9e_-hO6CtSQKXQqlDhCjVo,12527
17
19
  flock/cli/assets/release_notes.md,sha256=bqnk50jxM3w5uY44Dc7MkdT8XmRREFxrVBAG9XCOSSU,4896
18
20
  flock/core/__init__.py,sha256=R64A7zi51Uz6jzzCFWGol9SZQnMFz3ynEse5ivhSkEA,805
19
- flock/core/flock.py,sha256=ZB4NlBfAX3PUAm757eeVANHcbjp6UDbeixI-7yUrMEA,62592
21
+ flock/core/flock.py,sha256=zQUpITLx_CMhJRnft4AWQDfYj85FhUlT-Ank5c-fSko,25146
20
22
  flock/core/flock_agent.py,sha256=L5sZ6weY4pNFbk8CEUrRD1506ojq_tx1jjQy02qEdC8,29126
21
23
  flock/core/flock_evaluator.py,sha256=dOXZeDOGZcAmJ9ahqq_2bdGUU1VOXY4skmwTVpAjiVw,1685
22
24
  flock/core/flock_factory.py,sha256=MGTkJCP1WGpV614f87r1vwe0tqAvBCoH9PlqtqDyJDk,2828
@@ -24,16 +26,20 @@ flock/core/flock_module.py,sha256=96aFVYAgwpKN53xGbivQDUpikOYGFCxK5mqhclOcxY0,30
24
26
  flock/core/flock_registry.py,sha256=ax2pIxv6hVqRw3eJCPQ9jAul_ocYWfl9BZttmu054d0,20830
25
27
  flock/core/flock_router.py,sha256=A5GaxcGvtiFlRLHBTW7okh5RDm3BdKam2uXvRHRaj7k,2187
26
28
  flock/core/api/__init__.py,sha256=OKlhzDWZJfA6ddBwxQUmATY0TSzESsH032u00iVGvdA,228
27
- flock/core/api/endpoints.py,sha256=m-QAyizCHGh3sd5IXaDEhquSxNgTZLpUVTXLdVjiDVw,9086
28
- flock/core/api/main.py,sha256=-MJClTcmkyUnaP9fmVu2CcHagFy_9lKk6CAbF05kraY,8928
29
- flock/core/api/models.py,sha256=mMPCMCD52Txc56_yscwZQG0RRPCJTnIrVKQ8WbI7gts,1111
30
- flock/core/api/run_store.py,sha256=kmrb0bq2Et5JiSxFWskAAf5a4jTeEFVZShTDlX5jfAk,2773
29
+ flock/core/api/endpoints.py,sha256=qQnJmtcYGkjdKtLllVpyJVjc-iZrvu5EEeVIryyt4tc,12987
30
+ flock/core/api/main.py,sha256=glu9ThsYNTt35Ogjx732SGYJ9-aFftpvzLMQEJ7VuvQ,19189
31
+ flock/core/api/models.py,sha256=seqKuzhbN37nCNO7KrcJjI2mWuwiOKCLFcJcTPvTtag,3422
32
+ flock/core/api/run_store.py,sha256=bFodJvVyWogzoezVy0cOoWWU3MdEBXf_6_5sBqCRWps,9227
33
+ flock/core/api/runner.py,sha256=PjKQyMNawHm_N-X2uTUWBKAKBe7AEzNmRIGwQI6tUWw,1156
31
34
  flock/core/api/ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
32
35
  flock/core/api/ui/routes.py,sha256=nS-wWO94mshE5ozWfOQZ-HOvtes_1qxDVcqpMZtU5JQ,8885
33
36
  flock/core/api/ui/utils.py,sha256=V7PqYHNK519hFJ8jvvwf7bGpbBXCRz_HQG3BDCCqlNA,4802
34
37
  flock/core/context/context.py,sha256=8bjRLZ74oacRNBaHmDNXdQKfB-95poF7Pp03n2k0zcQ,6437
35
38
  flock/core/context/context_manager.py,sha256=FANSWa6DEhdhtZ7t_9Gza0v80UdpoDOhHbfVOccmjkA,1181
36
- flock/core/context/context_vars.py,sha256=zYTMi9b6mNSSEHowEQUOTpEDurmAjaUcyBCgfKY6-cU,300
39
+ flock/core/context/context_vars.py,sha256=ASPA29hpENWub4mgRoG62FtTVakCHQZfn6IhJQKe3C8,347
40
+ flock/core/evaluation/utils.py,sha256=ZJkIMC9YT-HA2SPCZ4_bQ98isW1i6nbltVEYbjze-b0,12827
41
+ flock/core/execution/batch_executor.py,sha256=JbOf-VInYA2CoQ7q2aHVA1w5ofEYQ9INFRYLRQdwEDs,13312
42
+ flock/core/execution/evaluation_executor.py,sha256=D9EO0sU-2qWj3vomjmUUi-DOtHNJNFRf30kGDHuzREE,17702
37
43
  flock/core/execution/local_executor.py,sha256=rnIQvaJOs6zZORUcR3vvyS6LPREDJTjaygl_Db0M8ao,952
38
44
  flock/core/execution/temporal_executor.py,sha256=OF_uXgQsoUGp6U1ZkcuaidAEKyH7XDtbfrtdF10XQ_4,1675
39
45
  flock/core/interpreter/python_interpreter.py,sha256=RaUMZuufsKBNQ4FAeSaOgUuxzs8VYu5TgUUs-xwaxxM,26376
@@ -53,12 +59,13 @@ flock/core/mixin/dspy_integration.py,sha256=vlf6rJnR9EsfZi5KyFLEXIbUvhpBhodctn-m
53
59
  flock/core/mixin/prompt_parser.py,sha256=eOqI-FK3y17gVqpc_y5GF-WmK1Jv8mFlkZxTcgweoxI,5121
54
60
  flock/core/serialization/__init__.py,sha256=CML7fPgG6p4c0CDBlJ_uwV1aZZhJKK9uy3IoIHfO87w,431
55
61
  flock/core/serialization/callable_registry.py,sha256=sUZECTZWsM3fJ8FDRQ-FgLNW9hF26nY17AD6fJKADMc,1419
62
+ flock/core/serialization/flock_serializer.py,sha256=EcDpw-OdkDied80UMXnWYOU0A8PrTQlZ7JRNK2YQ9Tg,30041
56
63
  flock/core/serialization/json_encoder.py,sha256=gAKj2zU_8wQiNvdkby2hksSA4fbPNwTjup_yz1Le1Vw,1229
57
64
  flock/core/serialization/secure_serializer.py,sha256=n5-zRvvXddgJv1FFHsaQ2wuYdL3WUSGPvG_LGaffEJo,6144
58
65
  flock/core/serialization/serializable.py,sha256=qlv8TsTqRuklXiNuCMrvro5VKz764xC2i3FlgLJSkdk,12129
59
66
  flock/core/serialization/serialization_utils.py,sha256=ONv7KUhc66e4sKYu9uFc3qU1jOg4DvIXRJ5QXaTIQj0,10298
60
- flock/core/tools/azure_tools.py,sha256=9Bi6IrB5pzBTBhBSxpCVMgx8HBud8nl4gDp8aN0NT6c,17031
61
- flock/core/tools/basic_tools.py,sha256=hEG14jNZ2itVvubCHTfsWkuJK6yuNwBtuFj2Js0VHZs,9043
67
+ flock/core/tools/azure_tools.py,sha256=hwLnI2gsEq6QzUoWj5eCGDKTdXY1XUf6K-H5Uwva2MY,17093
68
+ flock/core/tools/basic_tools.py,sha256=Ye7nlI4RRkqWRy8nH9CKuItBmh_ZXxUpouGnCOfx0s0,9050
62
69
  flock/core/tools/llm_tools.py,sha256=Bdt4Dpur5dGpxd2KFEQyxjfZazvW1HCDKY6ydMj6UgQ,21811
63
70
  flock/core/tools/markdown_tools.py,sha256=W6fGM48yGHbifVlaOk1jOtVcybfRbRmf20VbDOZv8S4,6031
64
71
  flock/core/tools/dev_tools/github.py,sha256=a2OTPXS7kWOVA4zrZHynQDcsmEi4Pac5MfSjQOLePzA,5308
@@ -66,6 +73,7 @@ flock/core/util/cli_helper.py,sha256=mbxFhAGDES1AySbz5D672Az-EWk88FIvtFIGJMEp6fc
66
73
  flock/core/util/file_path_utils.py,sha256=Odf7uU32C-x1KNighbNERSiMtkzW4h8laABIoFK7A5M,6246
67
74
  flock/core/util/hydrator.py,sha256=6qNwOwCZB7r6y25BZ--0PGofrAlfMaXbDKFQeP5NLts,11196
68
75
  flock/core/util/input_resolver.py,sha256=g9vDPdY4OH-G7qjas5ksGEHueokHGFPMoLOvC-ngeLo,5984
76
+ flock/core/util/loader.py,sha256=j3q2qem5bFMP2SmMuYjb-ISxsNGNZd1baQmpvAnRUUk,2244
69
77
  flock/evaluators/declarative/declarative_evaluator.py,sha256=WZ74LG81JcuApG2KcTk8plh0fFqDhJjtl6ubW1K-fqc,1750
70
78
  flock/evaluators/memory/azure_search_evaluator.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
71
79
  flock/evaluators/memory/memory_evaluator.py,sha256=SmerXyNaqm8DTV0yw-WqWkn9DXIf6x-nPG1eyTV6NY8,3452
@@ -76,7 +84,7 @@ flock/modules/callback/callback_module.py,sha256=volGGgHtY19qj1wHR6m5a_hmXSbV3Ca
76
84
  flock/modules/memory/memory_module.py,sha256=bSkdFBW-Pp5ldHhXi8v4kfRM7zknfLR2fsOtbTosucI,14916
77
85
  flock/modules/memory/memory_parser.py,sha256=FLH7GL8XThvHiCMfX3eQH7Sz-f62fzhAUmO6_gaDI7U,4372
78
86
  flock/modules/memory/memory_storage.py,sha256=CNcLDMmvv0x7Z3YMKr6VveS_VCa7rKPw8l2d-XgqokA,27246
79
- flock/modules/output/output_module.py,sha256=wOXMCyldFslj2iCMn2W5VZrSHCauMXwsW7YoFEHEcLY,7846
87
+ flock/modules/output/output_module.py,sha256=lcQGQgwRl8luJs2gQ7SoPcXVMkrdFOJRxN33dShYS24,9424
80
88
  flock/modules/performance/metrics_module.py,sha256=UD9OjY4-zAvauMD7YyDYqE1gyIhzpdr3JkBT8j9knxY,16790
81
89
  flock/modules/zep/zep_module.py,sha256=x7JG6O6xnwwum0RETIqKYbA3xzdcvX2aUuns0Cl0c2Q,6014
82
90
  flock/platform/docker_tools.py,sha256=fpA7-6rJBjPOUBLdQP4ny2QPgJ_042nmqRn5GtKnoYw,1445
@@ -430,8 +438,8 @@ flock/workflow/activities.py,sha256=eVZDnxGJl_quNO-UTV3YgvTV8LrRaHN3QDAA1ANKzac,
430
438
  flock/workflow/agent_activities.py,sha256=NhBZscflEf2IMfSRa_pBM_TRP7uVEF_O0ROvWZ33eDc,963
431
439
  flock/workflow/temporal_setup.py,sha256=VWBgmBgfTBjwM5ruS_dVpA5AVxx6EZ7oFPGw4j3m0l0,1091
432
440
  flock/workflow/workflow.py,sha256=I9MryXW_bqYVTHx-nl2epbTqeRy27CAWHHA7ZZA0nAk,1696
433
- flock_core-0.4.0b4.dist-info/METADATA,sha256=0DojQCrrxsHSVfi051pnB7B8X5ONXtFHLt4iEEB9KbM,20773
434
- flock_core-0.4.0b4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
435
- flock_core-0.4.0b4.dist-info/entry_points.txt,sha256=rWaS5KSpkTmWySURGFZk6PhbJ87TmvcFQDi2uzjlagQ,37
436
- flock_core-0.4.0b4.dist-info/licenses/LICENSE,sha256=iYEqWy0wjULzM9GAERaybP4LBiPeu7Z1NEliLUdJKSc,1072
437
- flock_core-0.4.0b4.dist-info/RECORD,,
441
+ flock_core-0.4.0b6.dist-info/METADATA,sha256=abVhPX58YsOnir9jBSpDfv5TGDvKXGwHYdc312jQDRU,21097
442
+ flock_core-0.4.0b6.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
443
+ flock_core-0.4.0b6.dist-info/entry_points.txt,sha256=rWaS5KSpkTmWySURGFZk6PhbJ87TmvcFQDi2uzjlagQ,37
444
+ flock_core-0.4.0b6.dist-info/licenses/LICENSE,sha256=iYEqWy0wjULzM9GAERaybP4LBiPeu7Z1NEliLUdJKSc,1072
445
+ flock_core-0.4.0b6.dist-info/RECORD,,