From e3069ed9cfb6aaffe4e56cd6a8f2566fb0e84174 Mon Sep 17 00:00:00 2001 From: leahh Date: Wed, 28 Aug 2024 08:22:50 -0600 Subject: [PATCH 01/29] added changes made to visualize-dag from 08/19/24 --- beeflow/common/gdb/gdb_driver.py | 4 ++++ beeflow/common/gdb/neo4j_cypher.py | 5 +++++ beeflow/common/gdb/neo4j_driver.py | 4 ++++ beeflow/common/wf_interface.py | 4 ++++ beeflow/wf_manager/resources/wf_utils.py | 2 ++ 5 files changed, 19 insertions(+) diff --git a/beeflow/common/gdb/gdb_driver.py b/beeflow/common/gdb/gdb_driver.py index 085ea387d..1870a2d1b 100644 --- a/beeflow/common/gdb/gdb_driver.py +++ b/beeflow/common/gdb/gdb_driver.py @@ -287,3 +287,7 @@ def workflow_completed(self): @abstractmethod def close(self): """Close the connection to the graph database.""" + + @abstractmethod + def export_dag(self): + """Export a BEE workflow as a graphml.""" diff --git a/beeflow/common/gdb/neo4j_cypher.py b/beeflow/common/gdb/neo4j_cypher.py index 14346460a..e817b188b 100644 --- a/beeflow/common/gdb/neo4j_cypher.py +++ b/beeflow/common/gdb/neo4j_cypher.py @@ -725,3 +725,8 @@ def cleanup(tx): cleanup_query = "MATCH (n) DETACH DELETE n" tx.run(cleanup_query) + +def export_dag(tx, wf_id): + """Export BEE workflow as graphml""" + export_query = apoc.export.graphml.query("MATCH (n1)-[r]->(n2) WHERE n1.workflow_id = $wf_id OR n2.workflow_id = $wf_id RETURN r, n1, n2", "$output_file"); + tx.run(export_query, wf_id=wf_id, output_file="dag.graphml") diff --git a/beeflow/common/gdb/neo4j_driver.py b/beeflow/common/gdb/neo4j_driver.py index 06b51ea40..bec9656b9 100644 --- a/beeflow/common/gdb/neo4j_driver.py +++ b/beeflow/common/gdb/neo4j_driver.py @@ -472,6 +472,10 @@ def _write_transaction(self, tx_fun, **kwargs): with self._driver.session() as session: session.write_transaction(tx_fun, **kwargs) + def export_dag(self, workflow_id): + """Export a BEE workflow as a graphml.""" + with self._driver.session() as session: + session.write_transaction(tx.export_dag, wf_id=workflow_id) def _reconstruct_requirements(req_records): """Reconstruct requirements by their records retrieved from Neo4j. diff --git a/beeflow/common/wf_interface.py b/beeflow/common/wf_interface.py index 38395714e..b92317ac8 100644 --- a/beeflow/common/wf_interface.py +++ b/beeflow/common/wf_interface.py @@ -304,3 +304,7 @@ def workflow_completed(self): :rtype: bool """ return self._gdb_driver.workflow_completed(self._workflow_id) + + def export_dag(self): + """Export a BEE workflow as a graphml.""" + self._gdb_driver.export_dag(self._workflow_id) diff --git a/beeflow/wf_manager/resources/wf_utils.py b/beeflow/wf_manager/resources/wf_utils.py index a9818e0fd..c826b1636 100644 --- a/beeflow/wf_manager/resources/wf_utils.py +++ b/beeflow/wf_manager/resources/wf_utils.py @@ -291,6 +291,8 @@ def setup_workflow(wf_id, wf_name, wf_dir, wf_workdir, no_start, workflow=None, db.workflows.update_workflow_state(wf_id, 'Waiting') if no_start: log.info('Not starting workflow, as requested') + wfi.export_dag() + log.info('exporting dag') else: log.info('Starting workflow') db.workflows.update_workflow_state(wf_id, 'Running') From 5681127bef4bd0a326d8f67d709fd970de593649 Mon Sep 17 00:00:00 2001 From: leahh Date: Wed, 28 Aug 2024 08:34:19 -0600 Subject: [PATCH 02/29] added changes from e2f35ac95c694bc0fae75977f20e0cf82d1151ee in visualize-dag --- beeflow/common/deps/neo4j_manager.py | 21 +++++++++++++++++++++ beeflow/common/gdb/gdb_driver.py | 2 +- beeflow/common/gdb/neo4j_cypher.py | 13 +++++++++++-- 3 files changed, 33 insertions(+), 3 deletions(-) diff --git a/beeflow/common/deps/neo4j_manager.py b/beeflow/common/deps/neo4j_manager.py index df0c58cde..fdc1bb0c9 100644 --- a/beeflow/common/deps/neo4j_manager.py +++ b/beeflow/common/deps/neo4j_manager.py @@ -86,6 +86,23 @@ def setup_configs(bolt_port, http_port, https_port): with open(gdb_configfile, "wt", encoding="utf8") as cfile: cfile.write(data) + apoc_configfile = os.path.join(confs_dir, "apoc.conf") + if not os.path.exists(apoc_configfile): + with open(apoc_configfile, "wt", encoding="utf8") as afile: + afile.write("apoc.export.file.enabled=true\n") + log.info(f"Created {apoc_configfile} with apoc.export.file.enabled=true") + else: + with open(apoc_configfile, "rt", encoding="utf8") as afile: + apoc_data = afile.read() + + apoc_config = r'#?(apoc.export.file.enabled=)[^\n]*' + if re.search(apoc_config, apoc_data): + apoc_data = re.sub(apoc_config, r'apoc.export.file.enabled=true', apoc_data) + else: + apoc_data += "\napoc.export.file.enabled=true\n" + + with open(apoc_configfile, "wt", encoding="utf8") as afile: + afile.write(apoc_data) def create_credentials(): """Create the password and set the logfiles in environment.""" @@ -95,10 +112,12 @@ def create_credentials(): subprocess.run([ "ch-run", "--set-env=" + container_path + "/ch/environment", + "--set-env=apoc.export.file.enabled=true", "-b", confs_dir + ":/var/lib/neo4j/conf", "-b", data_dir + ":/data", "-b", logs_dir + ":/logs", "-b", run_dir + ":/var/lib/neo4j/run", container_path, + "-W", "-b", bee_workdir + ":/var/lib/neo4j/import", "--", *command ], check=True) except subprocess.CalledProcessError: @@ -112,11 +131,13 @@ def create_database(): proc = subprocess.Popen([ #noqa can't use with because returning "ch-run", "--set-env=" + container_path + "/ch/environment", + "--set-env=apoc.export.file.enabled=true", "-b", confs_dir + ":/var/lib/neo4j/conf", "-b", data_dir + ":/data", "-b", logs_dir + ":/logs", "-b", run_dir + ":/var/lib/neo4j/run", "-b", certs_dir + ":/var/lib/neo4j/certificates", + "-W", "-b", bee_workdir + ":/var/lib/neo4j/import", container_path, "--", *command ], stdout=subprocess.PIPE, stderr=subprocess.PIPE) wait_gdb() diff --git a/beeflow/common/gdb/gdb_driver.py b/beeflow/common/gdb/gdb_driver.py index 1870a2d1b..5529834e5 100644 --- a/beeflow/common/gdb/gdb_driver.py +++ b/beeflow/common/gdb/gdb_driver.py @@ -288,6 +288,6 @@ def workflow_completed(self): def close(self): """Close the connection to the graph database.""" - @abstractmethod + @abstractmethod def export_dag(self): """Export a BEE workflow as a graphml.""" diff --git a/beeflow/common/gdb/neo4j_cypher.py b/beeflow/common/gdb/neo4j_cypher.py index e817b188b..ea0ca2362 100644 --- a/beeflow/common/gdb/neo4j_cypher.py +++ b/beeflow/common/gdb/neo4j_cypher.py @@ -728,5 +728,14 @@ def cleanup(tx): def export_dag(tx, wf_id): """Export BEE workflow as graphml""" - export_query = apoc.export.graphml.query("MATCH (n1)-[r]->(n2) WHERE n1.workflow_id = $wf_id OR n2.workflow_id = $wf_id RETURN r, n1, n2", "$output_file"); - tx.run(export_query, wf_id=wf_id, output_file="dag.graphml") + export_query = ( + "WITH \"MATCH (n1)-[r]->(n2) " + f"WHERE n1.workflow_id = '{wf_id}' OR n2.workflow_id = '{wf_id}' " + "RETURN r, n1, n2\" AS query " + f"CALL apoc.export.graphml.query(query, 'workflow-graph-{wf_id}.graphml', {{}}) " + "YIELD file, source, format, nodes, relationships, properties, time, rows, batchSize, batches, done, data " + "RETURN file, source, format, nodes, relationships, properties, time, rows, batchSize, batches, done, data" + ) + + # Run the query (no parameters are needed anymore since wf_id is now directly embedded in the query string) + tx.run(export_query) From accafb33cc5b6fe740eaa1424ba0639c68dbf78f Mon Sep 17 00:00:00 2001 From: leahh Date: Wed, 28 Aug 2024 08:42:10 -0600 Subject: [PATCH 03/29] added changes from 12c3725f405245b91539c961df2630dc8abc8d8d in visualize-dag --- beeflow/common/deps/neo4j_manager.py | 6 ++++-- beeflow/common/gdb/neo4j_cypher.py | 4 +++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/beeflow/common/deps/neo4j_manager.py b/beeflow/common/deps/neo4j_manager.py index fdc1bb0c9..64cce1fce 100644 --- a/beeflow/common/deps/neo4j_manager.py +++ b/beeflow/common/deps/neo4j_manager.py @@ -23,6 +23,7 @@ run_dir = mount_dir + '/run' certs_dir = mount_dir + '/certificates' confs_dir = mount_dir + "/conf" +dags_dir = os.path.join(bee_workdir, 'dags') container_path = container_manager.get_container_dir('neo4j') log = bee_logging.setup('neo4j') @@ -59,6 +60,7 @@ def setup_mounts(): os.makedirs(mount_dir, exist_ok=True) os.makedirs(certs_dir, exist_ok=True) os.makedirs(run_dir, exist_ok=True) + os.makedirs(dags_dir, exist_ok=True) def setup_configs(bolt_port, http_port, https_port): @@ -117,7 +119,7 @@ def create_credentials(): "-b", data_dir + ":/data", "-b", logs_dir + ":/logs", "-b", run_dir + ":/var/lib/neo4j/run", container_path, - "-W", "-b", bee_workdir + ":/var/lib/neo4j/import", + "-W", "-b", dags_dir + ":/var/lib/neo4j/import", "--", *command ], check=True) except subprocess.CalledProcessError: @@ -137,7 +139,7 @@ def create_database(): "-b", logs_dir + ":/logs", "-b", run_dir + ":/var/lib/neo4j/run", "-b", certs_dir + ":/var/lib/neo4j/certificates", - "-W", "-b", bee_workdir + ":/var/lib/neo4j/import", + "-W", "-b", dags_dir + ":/var/lib/neo4j/import", container_path, "--", *command ], stdout=subprocess.PIPE, stderr=subprocess.PIPE) wait_gdb() diff --git a/beeflow/common/gdb/neo4j_cypher.py b/beeflow/common/gdb/neo4j_cypher.py index ea0ca2362..9e3694b7b 100644 --- a/beeflow/common/gdb/neo4j_cypher.py +++ b/beeflow/common/gdb/neo4j_cypher.py @@ -728,11 +728,13 @@ def cleanup(tx): def export_dag(tx, wf_id): """Export BEE workflow as graphml""" + from beeflow.client.bee_client import _short_id + short_id = _short_id(wf_id) export_query = ( "WITH \"MATCH (n1)-[r]->(n2) " f"WHERE n1.workflow_id = '{wf_id}' OR n2.workflow_id = '{wf_id}' " "RETURN r, n1, n2\" AS query " - f"CALL apoc.export.graphml.query(query, 'workflow-graph-{wf_id}.graphml', {{}}) " + f"CALL apoc.export.graphml.query(query, '{short_id}.graphml', {{useTypes: true}}) " "YIELD file, source, format, nodes, relationships, properties, time, rows, batchSize, batches, done, data " "RETURN file, source, format, nodes, relationships, properties, time, rows, batchSize, batches, done, data" ) From 2e284d15d945120efbe08fdd7cff140a104a325a Mon Sep 17 00:00:00 2001 From: leahh Date: Wed, 28 Aug 2024 08:48:42 -0600 Subject: [PATCH 04/29] added changes from 6a244f8fa49c2b78463ba6fd727b9e69091d15ef on visualize-dag --- beeflow/client/bee_client.py | 9 ++++ beeflow/wf_manager/resources/wf_utils.py | 10 ++++- generate_graph.py | 56 ++++++++++++++++++++++++ poetry.lock | 18 +++++++- pyproject.toml | 1 + 5 files changed, 91 insertions(+), 3 deletions(-) create mode 100644 generate_graph.py diff --git a/beeflow/client/bee_client.py b/beeflow/client/bee_client.py index d4d5c0f93..c5d622b6a 100644 --- a/beeflow/client/bee_client.py +++ b/beeflow/client/bee_client.py @@ -592,6 +592,15 @@ def reexecute(wf_name: str = typer.Argument(..., help='The workflow name'), logging.info(f'ReExecute Workflow: {resp.text}') return wf_id +@app.command() +def dag(wf_id: str = typer.Argument(..., callback=match_short_id)): + """Export a DAG of the workflow to a GraphML file.""" + try: + wf_utils.export_workflow_dag(wf_id) + typer.echo(f"DAG for workflow {wf_id} has been exported successfully.") + except Exception as e: + error_exit(f"Failed to export DAG: {str(e)}") + @app.callback(invoke_without_command=True) def version_callback(version: bool = False): diff --git a/beeflow/wf_manager/resources/wf_utils.py b/beeflow/wf_manager/resources/wf_utils.py index c826b1636..ed4e5e1a6 100644 --- a/beeflow/wf_manager/resources/wf_utils.py +++ b/beeflow/wf_manager/resources/wf_utils.py @@ -291,14 +291,20 @@ def setup_workflow(wf_id, wf_name, wf_dir, wf_workdir, no_start, workflow=None, db.workflows.update_workflow_state(wf_id, 'Waiting') if no_start: log.info('Not starting workflow, as requested') - wfi.export_dag() - log.info('exporting dag') else: log.info('Starting workflow') db.workflows.update_workflow_state(wf_id, 'Running') start_workflow(wf_id) +def export_workflow_dag(wf_id): + """Export the DAG of the workflow.""" + wfi = get_workflow_interface(wf_id) + log.info(f"Exporting DAG for workflow ID {wf_id}") + wfi.export_dag() + log.info(f"DAG for workflow ID {wf_id} exported successfully.") + + def start_workflow(wf_id): """Attempt to start the workflow, returning True if successful.""" db = connect_db(wfm_db, get_db_path()) diff --git a/generate_graph.py b/generate_graph.py new file mode 100644 index 000000000..92b9abef3 --- /dev/null +++ b/generate_graph.py @@ -0,0 +1,56 @@ +import networkx as nx +import graphviz + +def graphml_to_graphviz(graphml_path, output_path): + # Load the GraphML file using NetworkX + G = nx.read_graphml(graphml_path) + + # Create a new directed graph for Graphviz + dot = graphviz.Digraph(comment='Hierarchical Graph') + + # Add nodes to the Graphviz graph + for node in G.nodes(data=True): + node_id = node[0] + label = node[1].get('labels', node_id) # Use label if available, otherwise node_id + if label == ":Workflow": + node_label = "Workflow" + color ='steelblue' + if label == ":Output": + node_label = node[1].get('glob', node_id) + color = 'mediumseagreen' + if label == ":Metadata": + node_label = node[1].get('state', node_id) + color = 'skyblue' + if label == ":Task": + node_label = node[1].get('name', node_id) + color ='lightcoral' + if label == ":Input": + node_label = node[1].get('source', node_id) + color ='sandybrown' + + dot.node(node_id, label=node_label, style='filled', fillcolor=color) + + # Add edges to the Graphviz graph + for edge in G.edges(data=True): + source = edge[0] + target = edge[1] + edge_label = edge[2].get('label', '') # Use edge label if available + if edge_label == "INPUT_OF" or edge_label == "DESCRIBES": + dot.edge(source, target, label=edge_label, fontsize="10") + else: + dot.edge(target, source, label=edge_label, fontsize="10") + + # Set the output format to PNG and render the graph + dot.format = 'png' + dot.render(output_path, view=False) + +if __name__ == "__main__": + # Path to your GraphML file + graphml_file = '/vast/home/leahh/.beeflow/dags/bebd6f.graphml' + output_file = 'hierarchical_graph_clamr' + + # Generate the hierarchical graph + graphml_to_graphviz(graphml_file, output_file) + + print(f"Graph has been saved as {output_file}.png") + diff --git a/poetry.lock b/poetry.lock index 2176faa09..244dbe449 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1052,6 +1052,22 @@ protobuf = ">=3.19.5,<3.20.0 || >3.20.0,<3.20.1 || >3.20.1,<4.21.1 || >4.21.1,<4 [package.extras] grpc = ["grpcio (>=1.44.0,<2.0.0.dev0)"] +[[package]] +name = "graphviz" +version = "0.20.3" +description = "Simple Python interface for Graphviz" +optional = false +python-versions = ">=3.8" +files = [ + {file = "graphviz-0.20.3-py3-none-any.whl", hash = "sha256:81f848f2904515d8cd359cc611faba817598d2feaac4027b266aa3eda7b3dde5"}, + {file = "graphviz-0.20.3.zip", hash = "sha256:09d6bc81e6a9fa392e7ba52135a9d49f1ed62526f96499325930e87ca1b5925d"}, +] + +[package.extras] +dev = ["flake8", "pep8-naming", "tox (>=3)", "twine", "wheel"] +docs = ["sphinx (>=5,<7)", "sphinx-autodoc-typehints", "sphinx-rtd-theme"] +test = ["coverage", "pytest (>=7,<8.1)", "pytest-cov", "pytest-mock (>=3)"] + [[package]] name = "greenlet" version = "3.0.3" @@ -3612,4 +3628,4 @@ cloud-extras = ["google-api-python-client", "python-heatclient", "python-opensta [metadata] lock-version = "2.0" python-versions = ">=3.8.3,<=3.12.2" -content-hash = "49f303251413a6e02a64bf1e1c2b151df18998ee8f7143f4205396741e5579ab" +content-hash = "c62287b3fb5d2874408a700ae574536d2d7f16e5958201db392736f3651e4e93" diff --git a/pyproject.toml b/pyproject.toml index b7482f45c..a92e90a65 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -77,6 +77,7 @@ docutils = "0.18.1" google-api-python-client = { version = "^2.66.0", optional = true } python-openstackclient = { version = "^6.0.0", optional = true } python-heatclient = { version = "^3.1.0", optional = true } +graphviz = "^0.20.3" [tool.poetry.extras] cloud_extras = ["google-api-python-client", "python-openstackclient", "python-heatclient"] From 2854c94e7f5c129ca61f381e510ef30377c3aaa2 Mon Sep 17 00:00:00 2001 From: leahh Date: Wed, 28 Aug 2024 10:02:50 -0600 Subject: [PATCH 05/29] decreased verbosity of beeflow dag command --- beeflow/client/bee_client.py | 3 ++- beeflow/wf_manager/resources/wf_utils.py | 5 ++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/beeflow/client/bee_client.py b/beeflow/client/bee_client.py index c5d622b6a..0a3083752 100644 --- a/beeflow/client/bee_client.py +++ b/beeflow/client/bee_client.py @@ -39,6 +39,7 @@ logging.basicConfig(level=logging.WARNING) +logging.getLogger("neo4j").setLevel(logging.WARNING) WORKFLOW_MANAGER = 'bee_wfm/v1/jobs/' @@ -596,7 +597,7 @@ def reexecute(wf_name: str = typer.Argument(..., help='The workflow name'), def dag(wf_id: str = typer.Argument(..., callback=match_short_id)): """Export a DAG of the workflow to a GraphML file.""" try: - wf_utils.export_workflow_dag(wf_id) + wf_utils.export_dag(wf_id) typer.echo(f"DAG for workflow {wf_id} has been exported successfully.") except Exception as e: error_exit(f"Failed to export DAG: {str(e)}") diff --git a/beeflow/wf_manager/resources/wf_utils.py b/beeflow/wf_manager/resources/wf_utils.py index ed4e5e1a6..ca8b4a79d 100644 --- a/beeflow/wf_manager/resources/wf_utils.py +++ b/beeflow/wf_manager/resources/wf_utils.py @@ -297,12 +297,11 @@ def setup_workflow(wf_id, wf_name, wf_dir, wf_workdir, no_start, workflow=None, start_workflow(wf_id) -def export_workflow_dag(wf_id): +def export_dag(wf_id): """Export the DAG of the workflow.""" wfi = get_workflow_interface(wf_id) - log.info(f"Exporting DAG for workflow ID {wf_id}") + print(f"Exporting DAG for workflow ID {wf_id}") wfi.export_dag() - log.info(f"DAG for workflow ID {wf_id} exported successfully.") def start_workflow(wf_id): From 090a17e990ccf9e254c9005f92f7753055678466 Mon Sep 17 00:00:00 2001 From: leahh Date: Thu, 29 Aug 2024 12:56:28 -0600 Subject: [PATCH 06/29] fixed some linting errors --- beeflow/client/bee_client.py | 8 +++----- beeflow/common/deps/neo4j_manager.py | 1 + beeflow/common/gdb/neo4j_cypher.py | 7 +++---- beeflow/common/gdb/neo4j_driver.py | 1 + beeflow/wf_manager/resources/wf_utils.py | 1 - 5 files changed, 8 insertions(+), 10 deletions(-) diff --git a/beeflow/client/bee_client.py b/beeflow/client/bee_client.py index 0a3083752..dbf9e4e54 100644 --- a/beeflow/client/bee_client.py +++ b/beeflow/client/bee_client.py @@ -593,14 +593,12 @@ def reexecute(wf_name: str = typer.Argument(..., help='The workflow name'), logging.info(f'ReExecute Workflow: {resp.text}') return wf_id + @app.command() def dag(wf_id: str = typer.Argument(..., callback=match_short_id)): """Export a DAG of the workflow to a GraphML file.""" - try: - wf_utils.export_dag(wf_id) - typer.echo(f"DAG for workflow {wf_id} has been exported successfully.") - except Exception as e: - error_exit(f"Failed to export DAG: {str(e)}") + wf_utils.export_dag(wf_id) + typer.echo(f"DAG for workflow {wf_id} has been exported successfully.") @app.callback(invoke_without_command=True) diff --git a/beeflow/common/deps/neo4j_manager.py b/beeflow/common/deps/neo4j_manager.py index 64cce1fce..59afda542 100644 --- a/beeflow/common/deps/neo4j_manager.py +++ b/beeflow/common/deps/neo4j_manager.py @@ -106,6 +106,7 @@ def setup_configs(bolt_port, http_port, https_port): with open(apoc_configfile, "wt", encoding="utf8") as afile: afile.write(apoc_data) + def create_credentials(): """Create the password and set the logfiles in environment.""" db_password = bc.get('graphdb', 'dbpass') diff --git a/beeflow/common/gdb/neo4j_cypher.py b/beeflow/common/gdb/neo4j_cypher.py index 9e3694b7b..b6a1fee69 100644 --- a/beeflow/common/gdb/neo4j_cypher.py +++ b/beeflow/common/gdb/neo4j_cypher.py @@ -726,10 +726,10 @@ def cleanup(tx): tx.run(cleanup_query) + def export_dag(tx, wf_id): - """Export BEE workflow as graphml""" - from beeflow.client.bee_client import _short_id - short_id = _short_id(wf_id) + """Export BEE workflow as graphml.""" + short_id = wf_id[:6] export_query = ( "WITH \"MATCH (n1)-[r]->(n2) " f"WHERE n1.workflow_id = '{wf_id}' OR n2.workflow_id = '{wf_id}' " @@ -739,5 +739,4 @@ def export_dag(tx, wf_id): "RETURN file, source, format, nodes, relationships, properties, time, rows, batchSize, batches, done, data" ) - # Run the query (no parameters are needed anymore since wf_id is now directly embedded in the query string) tx.run(export_query) diff --git a/beeflow/common/gdb/neo4j_driver.py b/beeflow/common/gdb/neo4j_driver.py index bec9656b9..8d591cfc5 100644 --- a/beeflow/common/gdb/neo4j_driver.py +++ b/beeflow/common/gdb/neo4j_driver.py @@ -477,6 +477,7 @@ def export_dag(self, workflow_id): with self._driver.session() as session: session.write_transaction(tx.export_dag, wf_id=workflow_id) + def _reconstruct_requirements(req_records): """Reconstruct requirements by their records retrieved from Neo4j. diff --git a/beeflow/wf_manager/resources/wf_utils.py b/beeflow/wf_manager/resources/wf_utils.py index ca8b4a79d..7510323b7 100644 --- a/beeflow/wf_manager/resources/wf_utils.py +++ b/beeflow/wf_manager/resources/wf_utils.py @@ -300,7 +300,6 @@ def setup_workflow(wf_id, wf_name, wf_dir, wf_workdir, no_start, workflow=None, def export_dag(wf_id): """Export the DAG of the workflow.""" wfi = get_workflow_interface(wf_id) - print(f"Exporting DAG for workflow ID {wf_id}") wfi.export_dag() From e65a6a850dbe9f575b50ee3ddef5082274db7d5c Mon Sep 17 00:00:00 2001 From: leahh Date: Thu, 29 Aug 2024 13:12:44 -0600 Subject: [PATCH 07/29] linting error --- beeflow/common/gdb/neo4j_cypher.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/beeflow/common/gdb/neo4j_cypher.py b/beeflow/common/gdb/neo4j_cypher.py index b6a1fee69..265ac9996 100644 --- a/beeflow/common/gdb/neo4j_cypher.py +++ b/beeflow/common/gdb/neo4j_cypher.py @@ -731,12 +731,14 @@ def export_dag(tx, wf_id): """Export BEE workflow as graphml.""" short_id = wf_id[:6] export_query = ( - "WITH \"MATCH (n1)-[r]->(n2) " - f"WHERE n1.workflow_id = '{wf_id}' OR n2.workflow_id = '{wf_id}' " - "RETURN r, n1, n2\" AS query " - f"CALL apoc.export.graphml.query(query, '{short_id}.graphml', {{useTypes: true}}) " - "YIELD file, source, format, nodes, relationships, properties, time, rows, batchSize, batches, done, data " - "RETURN file, source, format, nodes, relationships, properties, time, rows, batchSize, batches, done, data" - ) + "WITH \"MATCH (n1)-[r]->(n2) " + f"WHERE n1.workflow_id = '{wf_id}' OR n2.workflow_id = '{wf_id}' " + "RETURN r, n1, n2\" AS query " + f"CALL apoc.export.graphml.query(query, '{short_id}.graphml', {{useTypes: true}}) " + "YIELD file, source, format, nodes, relationships, properties, time, rows, batchSize, " + "batches, done, data " + "RETURN file, source, format, nodes, relationships, properties, time, rows, batchSize, " + "batches, done, data" +) tx.run(export_query) From eb2ca01a0aa34d506f97551c60fe71ec1f111953 Mon Sep 17 00:00:00 2001 From: leahh Date: Thu, 29 Aug 2024 13:18:56 -0600 Subject: [PATCH 08/29] fixed indent --- beeflow/common/gdb/neo4j_cypher.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/beeflow/common/gdb/neo4j_cypher.py b/beeflow/common/gdb/neo4j_cypher.py index 265ac9996..625ad23be 100644 --- a/beeflow/common/gdb/neo4j_cypher.py +++ b/beeflow/common/gdb/neo4j_cypher.py @@ -731,14 +731,14 @@ def export_dag(tx, wf_id): """Export BEE workflow as graphml.""" short_id = wf_id[:6] export_query = ( - "WITH \"MATCH (n1)-[r]->(n2) " - f"WHERE n1.workflow_id = '{wf_id}' OR n2.workflow_id = '{wf_id}' " - "RETURN r, n1, n2\" AS query " - f"CALL apoc.export.graphml.query(query, '{short_id}.graphml', {{useTypes: true}}) " - "YIELD file, source, format, nodes, relationships, properties, time, rows, batchSize, " - "batches, done, data " - "RETURN file, source, format, nodes, relationships, properties, time, rows, batchSize, " - "batches, done, data" -) + "WITH \"MATCH (n1)-[r]->(n2) " + f"WHERE n1.workflow_id = '{wf_id}' OR n2.workflow_id = '{wf_id}' " + "RETURN r, n1, n2\" AS query " + f"CALL apoc.export.graphml.query(query, '{short_id}.graphml', {{useTypes: true}}) " + "YIELD file, source, format, nodes, relationships, properties, time, rows, batchSize, " + "batches, done, data " + "RETURN file, source, format, nodes, relationships, properties, time, rows, batchSize, " + "batches, done, data" + ) tx.run(export_query) From 16e71fa4863ced2aa57a6891f487f3d0e1803cd4 Mon Sep 17 00:00:00 2001 From: leahh Date: Thu, 29 Aug 2024 13:23:57 -0600 Subject: [PATCH 09/29] liniting --- beeflow/common/gdb/neo4j_cypher.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/beeflow/common/gdb/neo4j_cypher.py b/beeflow/common/gdb/neo4j_cypher.py index 625ad23be..aedc01bae 100644 --- a/beeflow/common/gdb/neo4j_cypher.py +++ b/beeflow/common/gdb/neo4j_cypher.py @@ -731,14 +731,14 @@ def export_dag(tx, wf_id): """Export BEE workflow as graphml.""" short_id = wf_id[:6] export_query = ( - "WITH \"MATCH (n1)-[r]->(n2) " - f"WHERE n1.workflow_id = '{wf_id}' OR n2.workflow_id = '{wf_id}' " - "RETURN r, n1, n2\" AS query " - f"CALL apoc.export.graphml.query(query, '{short_id}.graphml', {{useTypes: true}}) " - "YIELD file, source, format, nodes, relationships, properties, time, rows, batchSize, " - "batches, done, data " - "RETURN file, source, format, nodes, relationships, properties, time, rows, batchSize, " - "batches, done, data" + "WITH \"MATCH (n1)-[r]->(n2) " + f"WHERE n1.workflow_id = '{wf_id}' OR n2.workflow_id = '{wf_id}' " + "RETURN r, n1, n2\" AS query " + f"CALL apoc.export.graphml.query(query, '{short_id}.graphml', {{useTypes: true}}) " + "YIELD file, source, format, nodes, relationships, properties, time, rows, batchSize, " + "batches, done, data " + "RETURN file, source, format, nodes, relationships, properties, time, rows, batchSize, " + "batches, done, data" ) - + tx.run(export_query) From 811a449a2f5905cd86768aa92281d307cb71e039 Mon Sep 17 00:00:00 2001 From: leahh Date: Thu, 29 Aug 2024 13:29:47 -0600 Subject: [PATCH 10/29] white space fix --- beeflow/common/gdb/neo4j_cypher.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/beeflow/common/gdb/neo4j_cypher.py b/beeflow/common/gdb/neo4j_cypher.py index aedc01bae..18968d472 100644 --- a/beeflow/common/gdb/neo4j_cypher.py +++ b/beeflow/common/gdb/neo4j_cypher.py @@ -739,6 +739,6 @@ def export_dag(tx, wf_id): "batches, done, data " "RETURN file, source, format, nodes, relationships, properties, time, rows, batchSize, " "batches, done, data" - ) + ) tx.run(export_query) From 27f1ad3de5d2c1a05d04bfd5eed870b623106995 Mon Sep 17 00:00:00 2001 From: leahh Date: Thu, 29 Aug 2024 13:34:04 -0600 Subject: [PATCH 11/29] white space fix --- beeflow/common/gdb/neo4j_cypher.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/beeflow/common/gdb/neo4j_cypher.py b/beeflow/common/gdb/neo4j_cypher.py index 18968d472..5dc315ece 100644 --- a/beeflow/common/gdb/neo4j_cypher.py +++ b/beeflow/common/gdb/neo4j_cypher.py @@ -739,6 +739,5 @@ def export_dag(tx, wf_id): "batches, done, data " "RETURN file, source, format, nodes, relationships, properties, time, rows, batchSize, " "batches, done, data" - ) - + ) tx.run(export_query) From 8d0672be5467ecb1f984ab20e76e2e70ad772b2f Mon Sep 17 00:00:00 2001 From: leahh Date: Tue, 10 Sep 2024 08:30:16 -0600 Subject: [PATCH 12/29] changed names of functions that export the graphml to export_graphml --- beeflow/common/gdb/gdb_driver.py | 2 +- beeflow/common/gdb/neo4j_cypher.py | 2 +- beeflow/common/gdb/neo4j_driver.py | 4 ++-- beeflow/common/wf_interface.py | 4 ++-- beeflow/wf_manager/resources/wf_utils.py | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/beeflow/common/gdb/gdb_driver.py b/beeflow/common/gdb/gdb_driver.py index 5529834e5..a3fe0f21b 100644 --- a/beeflow/common/gdb/gdb_driver.py +++ b/beeflow/common/gdb/gdb_driver.py @@ -289,5 +289,5 @@ def close(self): """Close the connection to the graph database.""" @abstractmethod - def export_dag(self): + def export_graphml(self): """Export a BEE workflow as a graphml.""" diff --git a/beeflow/common/gdb/neo4j_cypher.py b/beeflow/common/gdb/neo4j_cypher.py index 5dc315ece..aeaf9907a 100644 --- a/beeflow/common/gdb/neo4j_cypher.py +++ b/beeflow/common/gdb/neo4j_cypher.py @@ -727,7 +727,7 @@ def cleanup(tx): tx.run(cleanup_query) -def export_dag(tx, wf_id): +def export_graphml(tx, wf_id): """Export BEE workflow as graphml.""" short_id = wf_id[:6] export_query = ( diff --git a/beeflow/common/gdb/neo4j_driver.py b/beeflow/common/gdb/neo4j_driver.py index 8d591cfc5..e21dac18b 100644 --- a/beeflow/common/gdb/neo4j_driver.py +++ b/beeflow/common/gdb/neo4j_driver.py @@ -472,10 +472,10 @@ def _write_transaction(self, tx_fun, **kwargs): with self._driver.session() as session: session.write_transaction(tx_fun, **kwargs) - def export_dag(self, workflow_id): + def export_graphml(self, workflow_id): """Export a BEE workflow as a graphml.""" with self._driver.session() as session: - session.write_transaction(tx.export_dag, wf_id=workflow_id) + session.write_transaction(tx.export_graphml, wf_id=workflow_id) def _reconstruct_requirements(req_records): diff --git a/beeflow/common/wf_interface.py b/beeflow/common/wf_interface.py index b92317ac8..168740b85 100644 --- a/beeflow/common/wf_interface.py +++ b/beeflow/common/wf_interface.py @@ -305,6 +305,6 @@ def workflow_completed(self): """ return self._gdb_driver.workflow_completed(self._workflow_id) - def export_dag(self): + def export_graphml(self): """Export a BEE workflow as a graphml.""" - self._gdb_driver.export_dag(self._workflow_id) + self._gdb_driver.export_graphml(self._workflow_id) diff --git a/beeflow/wf_manager/resources/wf_utils.py b/beeflow/wf_manager/resources/wf_utils.py index 7510323b7..bf0ebdd74 100644 --- a/beeflow/wf_manager/resources/wf_utils.py +++ b/beeflow/wf_manager/resources/wf_utils.py @@ -300,7 +300,7 @@ def setup_workflow(wf_id, wf_name, wf_dir, wf_workdir, no_start, workflow=None, def export_dag(wf_id): """Export the DAG of the workflow.""" wfi = get_workflow_interface(wf_id) - wfi.export_dag() + wfi.export_graphml() def start_workflow(wf_id): From 39939ad6d0131b9949b3e6b1afbcf8a273849703 Mon Sep 17 00:00:00 2001 From: leahh Date: Tue, 10 Sep 2024 10:12:32 -0600 Subject: [PATCH 13/29] integrated generate_graph into the bee code --- beeflow/common/deps/neo4j_manager.py | 6 ++-- .../common/gdb/generate_graph.py | 28 +++++++++---------- beeflow/wf_manager/resources/wf_utils.py | 2 ++ 3 files changed, 20 insertions(+), 16 deletions(-) rename generate_graph.py => beeflow/common/gdb/generate_graph.py (72%) diff --git a/beeflow/common/deps/neo4j_manager.py b/beeflow/common/deps/neo4j_manager.py index 59afda542..298710cd5 100644 --- a/beeflow/common/deps/neo4j_manager.py +++ b/beeflow/common/deps/neo4j_manager.py @@ -24,6 +24,7 @@ certs_dir = mount_dir + '/certificates' confs_dir = mount_dir + "/conf" dags_dir = os.path.join(bee_workdir, 'dags') +graphmls_dir = dags_dir + "/graphmls" container_path = container_manager.get_container_dir('neo4j') log = bee_logging.setup('neo4j') @@ -61,6 +62,7 @@ def setup_mounts(): os.makedirs(certs_dir, exist_ok=True) os.makedirs(run_dir, exist_ok=True) os.makedirs(dags_dir, exist_ok=True) + os.makedirs(graphmls_dir, exist_ok=True) def setup_configs(bolt_port, http_port, https_port): @@ -120,7 +122,7 @@ def create_credentials(): "-b", data_dir + ":/data", "-b", logs_dir + ":/logs", "-b", run_dir + ":/var/lib/neo4j/run", container_path, - "-W", "-b", dags_dir + ":/var/lib/neo4j/import", + "-W", "-b", graphmls_dir + ":/var/lib/neo4j/import", "--", *command ], check=True) except subprocess.CalledProcessError: @@ -140,7 +142,7 @@ def create_database(): "-b", logs_dir + ":/logs", "-b", run_dir + ":/var/lib/neo4j/run", "-b", certs_dir + ":/var/lib/neo4j/certificates", - "-W", "-b", dags_dir + ":/var/lib/neo4j/import", + "-W", "-b", graphmls_dir + ":/var/lib/neo4j/import", container_path, "--", *command ], stdout=subprocess.PIPE, stderr=subprocess.PIPE) wait_gdb() diff --git a/generate_graph.py b/beeflow/common/gdb/generate_graph.py similarity index 72% rename from generate_graph.py rename to beeflow/common/gdb/generate_graph.py index 92b9abef3..1b847c65b 100644 --- a/generate_graph.py +++ b/beeflow/common/gdb/generate_graph.py @@ -1,7 +1,18 @@ +import os import networkx as nx import graphviz -def graphml_to_graphviz(graphml_path, output_path): +from beeflow.common import paths + +bee_workdir = paths.workdir() +dags_dir = os.path.join(bee_workdir, 'dags') +graphmls_dir = dags_dir + "/graphmls" + +def generate_viz(wf_id): + short_id = wf_id[:6] + graphml_path = graphmls_dir + "/" + short_id + ".graphml" + output_path = dags_dir + "/" + short_id + # Load the GraphML file using NetworkX G = nx.read_graphml(graphml_path) @@ -11,7 +22,7 @@ def graphml_to_graphviz(graphml_path, output_path): # Add nodes to the Graphviz graph for node in G.nodes(data=True): node_id = node[0] - label = node[1].get('labels', node_id) # Use label if available, otherwise node_id + label = node[1].get('labels', node_id) if label == ":Workflow": node_label = "Workflow" color ='steelblue' @@ -34,7 +45,7 @@ def graphml_to_graphviz(graphml_path, output_path): for edge in G.edges(data=True): source = edge[0] target = edge[1] - edge_label = edge[2].get('label', '') # Use edge label if available + edge_label = edge[2].get('label', '') if edge_label == "INPUT_OF" or edge_label == "DESCRIBES": dot.edge(source, target, label=edge_label, fontsize="10") else: @@ -43,14 +54,3 @@ def graphml_to_graphviz(graphml_path, output_path): # Set the output format to PNG and render the graph dot.format = 'png' dot.render(output_path, view=False) - -if __name__ == "__main__": - # Path to your GraphML file - graphml_file = '/vast/home/leahh/.beeflow/dags/bebd6f.graphml' - output_file = 'hierarchical_graph_clamr' - - # Generate the hierarchical graph - graphml_to_graphviz(graphml_file, output_file) - - print(f"Graph has been saved as {output_file}.png") - diff --git a/beeflow/wf_manager/resources/wf_utils.py b/beeflow/wf_manager/resources/wf_utils.py index bf0ebdd74..d0d604572 100644 --- a/beeflow/wf_manager/resources/wf_utils.py +++ b/beeflow/wf_manager/resources/wf_utils.py @@ -8,6 +8,7 @@ from beeflow.common import log as bee_logging from beeflow.common.config_driver import BeeConfig as bc from beeflow.common.gdb import neo4j_driver +from beeflow.common.gdb.generate_graph import generate_viz from beeflow.common.wf_interface import WorkflowInterface from beeflow.common.connection import Connection from beeflow.common import paths @@ -301,6 +302,7 @@ def export_dag(wf_id): """Export the DAG of the workflow.""" wfi = get_workflow_interface(wf_id) wfi.export_graphml() + generate_viz(wf_id) def start_workflow(wf_id): From ebc7e357f1d901e70eaae56446055a63b936d516 Mon Sep 17 00:00:00 2001 From: leahh Date: Tue, 10 Sep 2024 10:29:46 -0600 Subject: [PATCH 14/29] don't export intermediate .dot file --- beeflow/common/gdb/generate_graph.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/beeflow/common/gdb/generate_graph.py b/beeflow/common/gdb/generate_graph.py index 1b847c65b..8f73cb88e 100644 --- a/beeflow/common/gdb/generate_graph.py +++ b/beeflow/common/gdb/generate_graph.py @@ -51,6 +51,7 @@ def generate_viz(wf_id): else: dot.edge(target, source, label=edge_label, fontsize="10") - # Set the output format to PNG and render the graph - dot.format = 'png' - dot.render(output_path, view=False) + # Render the graph + png_data = dot.pipe(format='png') + with open(output_path + ".png", "wb") as f: + f.write(png_data) From 19613a46d5ecd7355aafdaa50fd382cf883c37cc Mon Sep 17 00:00:00 2001 From: leahh Date: Wed, 11 Sep 2024 08:35:51 -0600 Subject: [PATCH 15/29] fixed linting error --- beeflow/common/gdb/generate_graph.py | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/beeflow/common/gdb/generate_graph.py b/beeflow/common/gdb/generate_graph.py index 8f73cb88e..1c261a0ac 100644 --- a/beeflow/common/gdb/generate_graph.py +++ b/beeflow/common/gdb/generate_graph.py @@ -1,3 +1,5 @@ +"""Module to make a png of a graph from a graphml file.""" + import os import networkx as nx import graphviz @@ -9,23 +11,23 @@ graphmls_dir = dags_dir + "/graphmls" def generate_viz(wf_id): + """Function to make the png.""" short_id = wf_id[:6] graphml_path = graphmls_dir + "/" + short_id + ".graphml" output_path = dags_dir + "/" + short_id # Load the GraphML file using NetworkX - G = nx.read_graphml(graphml_path) + graph = nx.read_graphml(graphml_path) # Create a new directed graph for Graphviz dot = graphviz.Digraph(comment='Hierarchical Graph') - # Add nodes to the Graphviz graph - for node in G.nodes(data=True): + for node in graph.nodes(data=True): node_id = node[0] label = node[1].get('labels', node_id) if label == ":Workflow": node_label = "Workflow" - color ='steelblue' + color = 'steelblue' if label == ":Output": node_label = node[1].get('glob', node_id) color = 'mediumseagreen' @@ -34,24 +36,24 @@ def generate_viz(wf_id): color = 'skyblue' if label == ":Task": node_label = node[1].get('name', node_id) - color ='lightcoral' + color = 'lightcoral' if label == ":Input": node_label = node[1].get('source', node_id) - color ='sandybrown' + color = 'sandybrown' dot.node(node_id, label=node_label, style='filled', fillcolor=color) # Add edges to the Graphviz graph - for edge in G.edges(data=True): + for edge in graph.edges(data=True): source = edge[0] target = edge[1] edge_label = edge[2].get('label', '') - if edge_label == "INPUT_OF" or edge_label == "DESCRIBES": + if edge_label in ('INPUT_OF', 'DESCRIBES'): dot.edge(source, target, label=edge_label, fontsize="10") else: dot.edge(target, source, label=edge_label, fontsize="10") # Render the graph png_data = dot.pipe(format='png') - with open(output_path + ".png", "wb") as f: - f.write(png_data) + with open(output_path + ".png", "wb") as png_file: + png_file.write(png_data) From bb3f84594321f3e12177d5e4bbc62996976423bc Mon Sep 17 00:00:00 2001 From: leahh Date: Wed, 11 Sep 2024 08:45:47 -0600 Subject: [PATCH 16/29] added command to documentation --- docs/sphinx/commands.rst | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/sphinx/commands.rst b/docs/sphinx/commands.rst index b1b3200e0..e3d130e09 100644 --- a/docs/sphinx/commands.rst +++ b/docs/sphinx/commands.rst @@ -100,6 +100,11 @@ Arguments: ``beeflow reexecute``: Reexecute an archived workflow. +Arguments: + WF_ID [required] + +``beeflow dag``: Export a directed acyclic graph (DAG) of a submitted workflow. This command can be run at any point of the workflow. To see the DAG of a workflow before it runs, submit the workflow with the ``--no-start`` flag and then use the dag command. The DAGs are exported to ~/.beeflow/dags. To use this command, change the neo4j image in your bee config to the neo4j-dag.tar.gz in the beedev directory. + Arguments: WF_ID [required] From 69441bcf0d039ecde1feb450a734021070c34313 Mon Sep 17 00:00:00 2001 From: leahh Date: Wed, 11 Sep 2024 09:41:00 -0600 Subject: [PATCH 17/29] updated visualization page --- docs/sphinx/images/941cd5.png | Bin 0 -> 154244 bytes docs/sphinx/visualization.rst | 65 +++++++++++----------------------- 2 files changed, 20 insertions(+), 45 deletions(-) create mode 100644 docs/sphinx/images/941cd5.png diff --git a/docs/sphinx/images/941cd5.png b/docs/sphinx/images/941cd5.png new file mode 100644 index 0000000000000000000000000000000000000000..c4029f4e166f6828a81c7d2b5f8b6367e0d21b77 GIT binary patch literal 154244 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 literal 0 HcmV?d00001 diff --git a/docs/sphinx/visualization.rst b/docs/sphinx/visualization.rst index cd408b419..72546e290 100644 --- a/docs/sphinx/visualization.rst +++ b/docs/sphinx/visualization.rst @@ -1,56 +1,31 @@ Workflow Visualization ********************** -BEE includes a simple visualization tool for viewing BEE workflows locally. -This can be installed on a local macOS or Linux-based system using the -JavaScript package manager ``npm``. We plan to make a binary release of this in -the future for ease of use. - -Before attempting to use this tool, you'll need to have BEE running on a -cluster you have SSH access to from your local machine. Submit a workflow and -record the workflow ID, or simply keep track of the ID of an already submitted +BEE includes a simple command for viewing BEE workflows. By using the ``beeflow +dag $ID`` command, you can view the directed acyclic graph (DAG) of any submitted workflow. -**IMPORTANT**: the version of BEE on the cluster must be the same as the -visualization tool installed locally. +**IMPORTANT**: To use this command, change the neo4j image in your bee config to +the neo4j-dag.tar.gz in the beedev directory. -Installation -============ +Creating DAGs +============= -First, get an updated clone of the BEE repository, or grab a release tarball -matching the version you have installed on the cluster. Install ``npm`` -following their `installation guide`_. This should be easy to do using your -distro's package manager, or using brew on macOS. +The dag command can be run at any point of the workflow, and can +be run multiple times. To see the DAG of a workflow before it runs, submit +the workflow with the ``--no-start`` flag and then use the dag command. The +DAGs are exported in PNG format to ~/.beeflow/dags. They follow the naming +convention '{wf_id}.png' -.. _installation guide: https://docs.npmjs.com/downloading-and-installing-node-js-and-npm +Example DAG +=========== -Making sure that you're in the ``beeflow/enhanced_client`` directory, you can -then install everything with ``npm install``. If your local machine is -connected to a VPN or uses a proxy, you may need to temporarily disable it. -Also take a look at the README in that directory if you need more information. +The DAG below was created by running the dag command while the cat-grep-tar +example workflow was running. -Running -======= +.. image:: images/941cd5.png -From the frontend where BEE has been launched, you need to run ``beeflow -metadata ${WF_ID}``, where ``WF_ID`` is the ID of a submitted workflow. You can -safely ignore all the information displayed here, except for the ``bolt_port`` -option which will be needed later. - -On your local machine, given that everything is installed, you can now run -``npm start``, all in the same ``beeflow/enhanced_client`` directory. This will -show a screen that looks like this: - -.. image:: images/bee-viz.png - -Along the left-hand side you'll see a form containing three fields. Fill in the -the hostname and moniker for the given frontend that BEE is running on (it must -be the exact frontend, otherwise this will fail). Then enter the bolt port -value that should have been saved earlier. Click connect and after a few -seconds the right-hand window should populate with a workflow visual. - -If any error boxes appear, check your connection and VPN set up. It's possible -that something may be blocking the visual client from connecting to BEE. The -way this currently works is by opening up an SSH tunnel to the frontend on -which BEE is running; if you're able to SSH to that frontend from the same -local machine, then the BEE visualization tool should also be able to. +The orange bubbles are inputs, the blue bubbles are task states, the red +bubbles are tasks, and the green bubbles are outputs. The graph is in a +hierarchical format, meaning that tasks that are higher up in the graph +run before the ones below them. From b933512122215c211706399694742a3a9fb4446f Mon Sep 17 00:00:00 2001 From: leahh Date: Wed, 11 Sep 2024 09:52:27 -0600 Subject: [PATCH 18/29] added reference to visualization page --- docs/sphinx/commands.rst | 2 +- docs/sphinx/visualization.rst | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/sphinx/commands.rst b/docs/sphinx/commands.rst index e3d130e09..319c516ad 100644 --- a/docs/sphinx/commands.rst +++ b/docs/sphinx/commands.rst @@ -103,7 +103,7 @@ Arguments: Arguments: WF_ID [required] -``beeflow dag``: Export a directed acyclic graph (DAG) of a submitted workflow. This command can be run at any point of the workflow. To see the DAG of a workflow before it runs, submit the workflow with the ``--no-start`` flag and then use the dag command. The DAGs are exported to ~/.beeflow/dags. To use this command, change the neo4j image in your bee config to the neo4j-dag.tar.gz in the beedev directory. +``beeflow dag``: Export a directed acyclic graph (DAG) of a submitted workflow. This command can be run at any point of the workflow. To see the DAG of a workflow before it runs, submit the workflow with the ``--no-start`` flag and then use the dag command. The DAGs are exported to ~/.beeflow/dags. To use this command, change the neo4j image in your bee config to the neo4j-dag.tar.gz in the beedev directory. See :ref:`workflow-visualization` for more information. Arguments: WF_ID [required] diff --git a/docs/sphinx/visualization.rst b/docs/sphinx/visualization.rst index 72546e290..5bcf90da8 100644 --- a/docs/sphinx/visualization.rst +++ b/docs/sphinx/visualization.rst @@ -1,3 +1,5 @@ +.. _workflow-visualization: + Workflow Visualization ********************** @@ -15,7 +17,7 @@ The dag command can be run at any point of the workflow, and can be run multiple times. To see the DAG of a workflow before it runs, submit the workflow with the ``--no-start`` flag and then use the dag command. The DAGs are exported in PNG format to ~/.beeflow/dags. They follow the naming -convention '{wf_id}.png' +convention ``$ID.png`` Example DAG =========== From 99bbe6914c6b74662f0e17b232302b96503fe769 Mon Sep 17 00:00:00 2001 From: leahh Date: Wed, 11 Sep 2024 10:15:29 -0600 Subject: [PATCH 19/29] updated neo4j path instructions --- docs/sphinx/commands.rst | 2 +- docs/sphinx/installation.rst | 2 +- docs/sphinx/visualization.rst | 3 --- 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/docs/sphinx/commands.rst b/docs/sphinx/commands.rst index 319c516ad..53a6b8fd8 100644 --- a/docs/sphinx/commands.rst +++ b/docs/sphinx/commands.rst @@ -103,7 +103,7 @@ Arguments: Arguments: WF_ID [required] -``beeflow dag``: Export a directed acyclic graph (DAG) of a submitted workflow. This command can be run at any point of the workflow. To see the DAG of a workflow before it runs, submit the workflow with the ``--no-start`` flag and then use the dag command. The DAGs are exported to ~/.beeflow/dags. To use this command, change the neo4j image in your bee config to the neo4j-dag.tar.gz in the beedev directory. See :ref:`workflow-visualization` for more information. +``beeflow dag``: Export a directed acyclic graph (DAG) of a submitted workflow. This command can be run at any point of the workflow. To see the DAG of a workflow before it runs, submit the workflow with the ``--no-start`` flag and then use the dag command. The DAGs are exported to ~/.beeflow/dags. See :ref:`workflow-visualization` for more information. Arguments: WF_ID [required] diff --git a/docs/sphinx/installation.rst b/docs/sphinx/installation.rst index 034eba2a1..cb266ebd0 100644 --- a/docs/sphinx/installation.rst +++ b/docs/sphinx/installation.rst @@ -17,7 +17,7 @@ Requirements: * **Containers**: Two Charliecloud dependency containers are currently required for BEE: one for the Neo4j graph database and another for Redis. The paths to these containers will need to be set in the BEE configuration later, using the ``neo4j_image`` and the ``redis_image`` options respectively. BEE only supports Neo4j 5.x. We are currently using the latest version of Redis supplied on Docker Hub (as of 2023). - For LANL systems, please use the containers supplied by the BEE team: **/usr/projects/BEE/neo4j-5-17.tar.gz**, **/usr/projects/BEE/redis.tar.gz**. + For LANL systems, please use the containers supplied by the BEE team: **/usr/projects/BEE/neo4j.tar.gz**, **/usr/projects/BEE/redis.tar.gz**. For other users, these containers can be pulled from Docker Hub (after following `Installation:`_ below) using ``beeflow core pull-deps``, which will download and report the container paths to be set in the config later. diff --git a/docs/sphinx/visualization.rst b/docs/sphinx/visualization.rst index 5bcf90da8..80cb49987 100644 --- a/docs/sphinx/visualization.rst +++ b/docs/sphinx/visualization.rst @@ -7,9 +7,6 @@ BEE includes a simple command for viewing BEE workflows. By using the ``beeflow dag $ID`` command, you can view the directed acyclic graph (DAG) of any submitted workflow. -**IMPORTANT**: To use this command, change the neo4j image in your bee config to -the neo4j-dag.tar.gz in the beedev directory. - Creating DAGs ============= From 58d876dc62078b02a6de4df20aaef0ae580637fc Mon Sep 17 00:00:00 2001 From: leahh Date: Wed, 11 Sep 2024 10:54:01 -0600 Subject: [PATCH 20/29] attempt to fix conflict --- poetry.lock | 4 ---- 1 file changed, 4 deletions(-) diff --git a/poetry.lock b/poetry.lock index 269c47ab0..3f11f7bbc 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2730,7 +2730,6 @@ googleapis-common-protos = [ {file = "googleapis-common-protos-1.63.2.tar.gz", hash = "sha256:27c5abdffc4911f28101e635de1533fb4cfd2c37fbaa9174587c799fac90aa87"}, {file = "googleapis_common_protos-1.63.2-py2.py3-none-any.whl", hash = "sha256:27a2499c7e8aff199665b22741997e485eccc8645aa9176c7c988e6fae507945"}, ] -<<<<<<< HEAD [package.dependencies] protobuf = ">=3.19.5,<3.20.0 || >3.20.0,<3.20.1 || >3.20.1,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<6.0.0.dev0" @@ -2761,9 +2760,6 @@ description = "Lightweight in-process concurrent programming" optional = false python-versions = ">=3.7" files = [ -======= -greenlet = [ ->>>>>>> develop {file = "greenlet-3.0.3-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:9da2bd29ed9e4f15955dd1595ad7bc9320308a3b766ef7f837e23ad4b4aac31a"}, {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d353cadd6083fdb056bb46ed07e4340b0869c305c8ca54ef9da3421acbdf6881"}, {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dca1e2f3ca00b84a396bc1bce13dd21f680f035314d2379c4160c98153b2059b"}, From eb0e1cbc8e7e059fe0bccfa7e4a11f63d3461f0b Mon Sep 17 00:00:00 2001 From: leahh Date: Thu, 12 Sep 2024 10:01:23 -0600 Subject: [PATCH 21/29] added graphviz to the poetry.lock in develop --- poetry.lock | 3602 ++++++++++++++++++++++++--------------------------- 1 file changed, 1701 insertions(+), 1901 deletions(-) diff --git a/poetry.lock b/poetry.lock index 3f11f7bbc..dbd07271c 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,18 +1,26 @@ +# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. + [[package]] name = "alabaster" version = "0.7.13" description = "A configurable sidebar-enabled Sphinx theme" -category = "dev" optional = false python-versions = ">=3.6" +files = [ + {file = "alabaster-0.7.13-py3-none-any.whl", hash = "sha256:1ee19aca801bbabb5ba3f5f258e4422dfa86f82f3e9cefb0859b283cdd7f62a3"}, + {file = "alabaster-0.7.13.tar.gz", hash = "sha256:a27a4a084d5e690e16e01e03ad2b2e552c61a65469419b907243193de1a84ae2"}, +] [[package]] name = "amqp" version = "5.2.0" description = "Low-level AMQP client for Python (fork of amqplib)." -category = "main" optional = false python-versions = ">=3.6" +files = [ + {file = "amqp-5.2.0-py3-none-any.whl", hash = "sha256:827cb12fb0baa892aad844fd95258143bce4027fdac4fccddbc43330fd281637"}, + {file = "amqp-5.2.0.tar.gz", hash = "sha256:a1ecff425ad063ad42a486c902807d1482311481c8ad95a72694b2975e75f7fd"}, +] [package.dependencies] vine = ">=5.0.0,<6.0.0" @@ -21,9 +29,12 @@ vine = ">=5.0.0,<6.0.0" name = "aniso8601" version = "9.0.1" description = "A library for parsing ISO 8601 strings." -category = "main" optional = false python-versions = "*" +files = [ + {file = "aniso8601-9.0.1-py2.py3-none-any.whl", hash = "sha256:1d2b7ef82963909e93c4f24ce48d4de9e66009a21bf1c1e1c85bdd0812fe412f"}, + {file = "aniso8601-9.0.1.tar.gz", hash = "sha256:72e3117667eedf66951bb2d93f4296a56b94b078a8a95905a052611fb3f1b973"}, +] [package.extras] dev = ["black", "coverage", "isort", "pre-commit", "pyenchant", "pylint"] @@ -32,9 +43,12 @@ dev = ["black", "coverage", "isort", "pre-commit", "pyenchant", "pylint"] name = "annotated-types" version = "0.7.0" description = "Reusable constraint types to use with typing.Annotated" -category = "main" optional = false python-versions = ">=3.8" +files = [ + {file = "annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53"}, + {file = "annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89"}, +] [package.dependencies] typing-extensions = {version = ">=4.0.0", markers = "python_version < \"3.9\""} @@ -43,9 +57,12 @@ typing-extensions = {version = ">=4.0.0", markers = "python_version < \"3.9\""} name = "anyio" version = "4.4.0" description = "High level compatibility layer for multiple asynchronous event loop implementations" -category = "main" optional = false python-versions = ">=3.8" +files = [ + {file = "anyio-4.4.0-py3-none-any.whl", hash = "sha256:c1b2d8f46a8a812513012e1107cb0e68c17159a7a594208005a57dc776e1bdc7"}, + {file = "anyio-4.4.0.tar.gz", hash = "sha256:5aadc6a1bbb7cdb0bede386cac5e2940f5e2ff3aa20277e991cf028e0585ce94"}, +] [package.dependencies] exceptiongroup = {version = ">=1.0.2", markers = "python_version < \"3.11\""} @@ -62,14 +79,17 @@ trio = ["trio (>=0.23)"] name = "APScheduler" version = "3.10.4" description = "In-process task scheduler with Cron-like capabilities" -category = "main" optional = false python-versions = ">=3.6" +files = [ + {file = "APScheduler-3.10.4-py3-none-any.whl", hash = "sha256:fb91e8a768632a4756a585f79ec834e0e27aad5860bac7eaa523d9ccefd87661"}, + {file = "APScheduler-3.10.4.tar.gz", hash = "sha256:e6df071b27d9be898e486bc7940a7be50b4af2e9da7c08f0744a96d4bd4cef4a"}, +] [package.dependencies] pytz = "*" six = ">=1.4.0" -tzlocal = ">=2.0,<3.0.0 || >=4.0.0" +tzlocal = ">=2.0,<3.dev0 || >=4.dev0" [package.extras] doc = ["sphinx", "sphinx-rtd-theme"] @@ -87,9 +107,12 @@ zookeeper = ["kazoo"] name = "argcomplete" version = "3.4.0" description = "Bash tab completion for argparse" -category = "dev" optional = false python-versions = ">=3.8" +files = [ + {file = "argcomplete-3.4.0-py3-none-any.whl", hash = "sha256:69a79e083a716173e5532e0fa3bef45f793f4e61096cf52b5a42c0211c8b8aa5"}, + {file = "argcomplete-3.4.0.tar.gz", hash = "sha256:c2abcdfe1be8ace47ba777d4fce319eb13bf8ad9dace8d085dcad6eded88057f"}, +] [package.extras] test = ["coverage", "mypy", "pexpect", "ruff", "wheel"] @@ -98,9 +121,12 @@ test = ["coverage", "mypy", "pexpect", "ruff", "wheel"] name = "astroid" version = "2.13.5" description = "An abstract syntax tree for Python with inference support." -category = "dev" optional = false python-versions = ">=3.7.2" +files = [ + {file = "astroid-2.13.5-py3-none-any.whl", hash = "sha256:6891f444625b6edb2ac798829b689e95297e100ddf89dbed5a8c610e34901501"}, + {file = "astroid-2.13.5.tar.gz", hash = "sha256:df164d5ac811b9f44105a72b8f9d5edfb7b5b2d7e979b04ea377a77b3229114a"}, +] [package.dependencies] lazy-object-proxy = ">=1.4.0" @@ -114,17 +140,23 @@ wrapt = [ name = "async-timeout" version = "4.0.3" description = "Timeout context manager for asyncio programs" -category = "main" optional = false python-versions = ">=3.7" +files = [ + {file = "async-timeout-4.0.3.tar.gz", hash = "sha256:4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f"}, + {file = "async_timeout-4.0.3-py3-none-any.whl", hash = "sha256:7405140ff1230c310e51dc27b3145b9092d659ce68ff733fb0cefe3ee42be028"}, +] [[package]] name = "attrs" version = "23.2.0" description = "Classes Without Boilerplate" -category = "main" optional = false python-versions = ">=3.7" +files = [ + {file = "attrs-23.2.0-py3-none-any.whl", hash = "sha256:99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1"}, + {file = "attrs-23.2.0.tar.gz", hash = "sha256:935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30"}, +] [package.extras] cov = ["attrs[tests]", "coverage[toml] (>=5.3)"] @@ -138,17 +170,23 @@ tests-no-zope = ["attrs[tests-mypy]", "cloudpickle", "hypothesis", "pympler", "p name = "autopage" version = "0.5.2" description = "A library to provide automatic paging for console output" -category = "main" optional = true python-versions = ">=3.6" +files = [ + {file = "autopage-0.5.2-py3-none-any.whl", hash = "sha256:f5eae54dd20ccc8b1ff611263fc87bc46608a9cde749bbcfc93339713a429c55"}, + {file = "autopage-0.5.2.tar.gz", hash = "sha256:826996d74c5aa9f4b6916195547312ac6384bac3810b8517063f293248257b72"}, +] [[package]] name = "Babel" version = "2.15.0" description = "Internationalization utilities" -category = "dev" optional = false python-versions = ">=3.8" +files = [ + {file = "Babel-2.15.0-py3-none-any.whl", hash = "sha256:08706bdad8d0a3413266ab61bd6c34d0c28d6e1e7badf40a2cebe67644e2e1fb"}, + {file = "babel-2.15.0.tar.gz", hash = "sha256:8daf0e265d05768bc6c7a314cf1321e9a123afc328cc635c18622a2f30a04413"}, +] [package.dependencies] pytz = {version = ">=2015.7", markers = "python_version < \"3.9\""} @@ -160,9 +198,26 @@ dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] name = "backports.zoneinfo" version = "0.2.1" description = "Backport of the standard library zoneinfo module" -category = "main" optional = false python-versions = ">=3.6" +files = [ + {file = "backports.zoneinfo-0.2.1-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:da6013fd84a690242c310d77ddb8441a559e9cb3d3d59ebac9aca1a57b2e18bc"}, + {file = "backports.zoneinfo-0.2.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:89a48c0d158a3cc3f654da4c2de1ceba85263fafb861b98b59040a5086259722"}, + {file = "backports.zoneinfo-0.2.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:1c5742112073a563c81f786e77514969acb58649bcdf6cdf0b4ed31a348d4546"}, + {file = "backports.zoneinfo-0.2.1-cp36-cp36m-win32.whl", hash = "sha256:e8236383a20872c0cdf5a62b554b27538db7fa1bbec52429d8d106effbaeca08"}, + {file = "backports.zoneinfo-0.2.1-cp36-cp36m-win_amd64.whl", hash = "sha256:8439c030a11780786a2002261569bdf362264f605dfa4d65090b64b05c9f79a7"}, + {file = "backports.zoneinfo-0.2.1-cp37-cp37m-macosx_10_14_x86_64.whl", hash = "sha256:f04e857b59d9d1ccc39ce2da1021d196e47234873820cbeaad210724b1ee28ac"}, + {file = "backports.zoneinfo-0.2.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:17746bd546106fa389c51dbea67c8b7c8f0d14b5526a579ca6ccf5ed72c526cf"}, + {file = "backports.zoneinfo-0.2.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:5c144945a7752ca544b4b78c8c41544cdfaf9786f25fe5ffb10e838e19a27570"}, + {file = "backports.zoneinfo-0.2.1-cp37-cp37m-win32.whl", hash = "sha256:e55b384612d93be96506932a786bbcde5a2db7a9e6a4bb4bffe8b733f5b9036b"}, + {file = "backports.zoneinfo-0.2.1-cp37-cp37m-win_amd64.whl", hash = "sha256:a76b38c52400b762e48131494ba26be363491ac4f9a04c1b7e92483d169f6582"}, + {file = "backports.zoneinfo-0.2.1-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:8961c0f32cd0336fb8e8ead11a1f8cd99ec07145ec2931122faaac1c8f7fd987"}, + {file = "backports.zoneinfo-0.2.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:e81b76cace8eda1fca50e345242ba977f9be6ae3945af8d46326d776b4cf78d1"}, + {file = "backports.zoneinfo-0.2.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:7b0a64cda4145548fed9efc10322770f929b944ce5cee6c0dfe0c87bf4c0c8c9"}, + {file = "backports.zoneinfo-0.2.1-cp38-cp38-win32.whl", hash = "sha256:1b13e654a55cd45672cb54ed12148cd33628f672548f373963b0bff67b217328"}, + {file = "backports.zoneinfo-0.2.1-cp38-cp38-win_amd64.whl", hash = "sha256:4a0f800587060bf8880f954dbef70de6c11bbe59c673c3d818921f042f9954a6"}, + {file = "backports.zoneinfo-0.2.1.tar.gz", hash = "sha256:fadbfe37f74051d024037f223b8e001611eac868b5c5b06144ef4d8b799862f2"}, +] [package.dependencies] tzdata = {version = "*", optional = true, markers = "extra == \"tzdata\""} @@ -174,33 +229,45 @@ tzdata = ["tzdata"] name = "bagit" version = "1.8.1" description = "Create and validate BagIt packages" -category = "dev" optional = false python-versions = "*" +files = [ + {file = "bagit-1.8.1-py2.py3-none-any.whl", hash = "sha256:d14dd7e373dd24d41f6748c42f123f7db77098dfa4a0125dbacb4c8bdf767c09"}, + {file = "bagit-1.8.1.tar.gz", hash = "sha256:37df1330d2e8640c8dee8ab6d0073ac701f0614d25f5252f9e05263409cee60c"}, +] [[package]] name = "billiard" version = "4.2.0" description = "Python multiprocessing fork with improvements and bugfixes" -category = "main" optional = false python-versions = ">=3.7" +files = [ + {file = "billiard-4.2.0-py3-none-any.whl", hash = "sha256:07aa978b308f334ff8282bd4a746e681b3513db5c9a514cbdd810cbbdc19714d"}, + {file = "billiard-4.2.0.tar.gz", hash = "sha256:9a3c3184cb275aa17a732f93f65b20c525d3d9f253722d26a82194803ade5a2c"}, +] [[package]] name = "blinker" version = "1.8.2" description = "Fast, simple object-to-object and broadcast signaling" -category = "main" optional = false python-versions = ">=3.8" +files = [ + {file = "blinker-1.8.2-py3-none-any.whl", hash = "sha256:1779309f71bf239144b9399d06ae925637cf6634cf6bd131104184531bf67c01"}, + {file = "blinker-1.8.2.tar.gz", hash = "sha256:8f77b09d3bf7c795e969e9486f39c2c5e9c39d4ee07424be2bc594ece9642d83"}, +] [[package]] name = "CacheControl" version = "0.14.0" description = "httplib2 caching for requests" -category = "main" optional = false python-versions = ">=3.7" +files = [ + {file = "cachecontrol-0.14.0-py3-none-any.whl", hash = "sha256:f5bf3f0620c38db2e5122c0726bdebb0d16869de966ea6a2befe92470b740ea0"}, + {file = "cachecontrol-0.14.0.tar.gz", hash = "sha256:7db1195b41c81f8274a7bbd97c956f44e8348265a1bc7641c37dfebc39f0c938"}, +] [package.dependencies] filelock = {version = ">=3.8.0", optional = true, markers = "extra == \"filecache\""} @@ -216,17 +283,23 @@ redis = ["redis (>=2.10.5)"] name = "cachetools" version = "5.4.0" description = "Extensible memoizing collections and decorators" -category = "main" optional = true python-versions = ">=3.7" +files = [ + {file = "cachetools-5.4.0-py3-none-any.whl", hash = "sha256:3ae3b49a3d5e28a77a0be2b37dbcb89005058959cb2323858c2657c4a8cab474"}, + {file = "cachetools-5.4.0.tar.gz", hash = "sha256:b8adc2e7c07f105ced7bc56dbb6dfbe7c4a00acce20e2227b3f355be89bc6827"}, +] [[package]] name = "celery" version = "5.4.0" description = "Distributed Task Queue." -category = "main" optional = false python-versions = ">=3.8" +files = [ + {file = "celery-5.4.0-py3-none-any.whl", hash = "sha256:369631eb580cf8c51a82721ec538684994f8277637edde2dfc0dacd73ed97f64"}, + {file = "celery-5.4.0.tar.gz", hash = "sha256:504a19140e8d3029d5acad88330c541d4c3f64c789d85f94756762d8bca7e706"}, +] [package.dependencies] "backports.zoneinfo" = {version = ">=0.2.1", markers = "python_version < \"3.9\""} @@ -280,17 +353,73 @@ zstd = ["zstandard (==0.22.0)"] name = "certifi" version = "2024.7.4" description = "Python package for providing Mozilla's CA Bundle." -category = "main" optional = false python-versions = ">=3.6" +files = [ + {file = "certifi-2024.7.4-py3-none-any.whl", hash = "sha256:c198e21b1289c2ab85ee4e67bb4b4ef3ead0892059901a8d5b622f24a1101e90"}, + {file = "certifi-2024.7.4.tar.gz", hash = "sha256:5a1e7645bc0ec61a09e26c36f6106dd4cf40c6db3a1fb6352b0244e7fb057c7b"}, +] [[package]] name = "cffi" version = "1.16.0" description = "Foreign Function Interface for Python calling C code." -category = "main" optional = false python-versions = ">=3.8" +files = [ + {file = "cffi-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6b3d6606d369fc1da4fd8c357d026317fbb9c9b75d36dc16e90e84c26854b088"}, + {file = "cffi-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ac0f5edd2360eea2f1daa9e26a41db02dd4b0451b48f7c318e217ee092a213e9"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7e61e3e4fa664a8588aa25c883eab612a188c725755afff6289454d6362b9673"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a72e8961a86d19bdb45851d8f1f08b041ea37d2bd8d4fd19903bc3083d80c896"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5b50bf3f55561dac5438f8e70bfcdfd74543fd60df5fa5f62d94e5867deca684"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7651c50c8c5ef7bdb41108b7b8c5a83013bfaa8a935590c5d74627c047a583c7"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4108df7fe9b707191e55f33efbcb2d81928e10cea45527879a4749cbe472614"}, + {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:32c68ef735dbe5857c810328cb2481e24722a59a2003018885514d4c09af9743"}, + {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:673739cb539f8cdaa07d92d02efa93c9ccf87e345b9a0b556e3ecc666718468d"}, + {file = "cffi-1.16.0-cp310-cp310-win32.whl", hash = "sha256:9f90389693731ff1f659e55c7d1640e2ec43ff725cc61b04b2f9c6d8d017df6a"}, + {file = "cffi-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:e6024675e67af929088fda399b2094574609396b1decb609c55fa58b028a32a1"}, + {file = "cffi-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b84834d0cf97e7d27dd5b7f3aca7b6e9263c56308ab9dc8aae9784abb774d404"}, + {file = "cffi-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1b8ebc27c014c59692bb2664c7d13ce7a6e9a629be20e54e7271fa696ff2b417"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ee07e47c12890ef248766a6e55bd38ebfb2bb8edd4142d56db91b21ea68b7627"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8a9d3ebe49f084ad71f9269834ceccbf398253c9fac910c4fd7053ff1386936"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e70f54f1796669ef691ca07d046cd81a29cb4deb1e5f942003f401c0c4a2695d"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5bf44d66cdf9e893637896c7faa22298baebcd18d1ddb6d2626a6e39793a1d56"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b78010e7b97fef4bee1e896df8a4bbb6712b7f05b7ef630f9d1da00f6444d2e"}, + {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c6a164aa47843fb1b01e941d385aab7215563bb8816d80ff3a363a9f8448a8dc"}, + {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e09f3ff613345df5e8c3667da1d918f9149bd623cd9070c983c013792a9a62eb"}, + {file = "cffi-1.16.0-cp311-cp311-win32.whl", hash = "sha256:2c56b361916f390cd758a57f2e16233eb4f64bcbeee88a4881ea90fca14dc6ab"}, + {file = "cffi-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:db8e577c19c0fda0beb7e0d4e09e0ba74b1e4c092e0e40bfa12fe05b6f6d75ba"}, + {file = "cffi-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:fa3a0128b152627161ce47201262d3140edb5a5c3da88d73a1b790a959126956"}, + {file = "cffi-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:68e7c44931cc171c54ccb702482e9fc723192e88d25a0e133edd7aff8fcd1f6e"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:abd808f9c129ba2beda4cfc53bde801e5bcf9d6e0f22f095e45327c038bfe68e"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88e2b3c14bdb32e440be531ade29d3c50a1a59cd4e51b1dd8b0865c54ea5d2e2"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcc8eb6d5902bb1cf6dc4f187ee3ea80a1eba0a89aba40a5cb20a5087d961357"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7be2d771cdba2942e13215c4e340bfd76398e9227ad10402a8767ab1865d2e6"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e715596e683d2ce000574bae5d07bd522c781a822866c20495e52520564f0969"}, + {file = "cffi-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2d92b25dbf6cae33f65005baf472d2c245c050b1ce709cc4588cdcdd5495b520"}, + {file = "cffi-1.16.0-cp312-cp312-win32.whl", hash = "sha256:b2ca4e77f9f47c55c194982e10f058db063937845bb2b7a86c84a6cfe0aefa8b"}, + {file = "cffi-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:68678abf380b42ce21a5f2abde8efee05c114c2fdb2e9eef2efdb0257fba1235"}, + {file = "cffi-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0c9ef6ff37e974b73c25eecc13952c55bceed9112be2d9d938ded8e856138bcc"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a09582f178759ee8128d9270cd1344154fd473bb77d94ce0aeb2a93ebf0feaf0"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e760191dd42581e023a68b758769e2da259b5d52e3103c6060ddc02c9edb8d7b"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:80876338e19c951fdfed6198e70bc88f1c9758b94578d5a7c4c91a87af3cf31c"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a6a14b17d7e17fa0d207ac08642c8820f84f25ce17a442fd15e27ea18d67c59b"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6602bc8dc6f3a9e02b6c22c4fc1e47aa50f8f8e6d3f78a5e16ac33ef5fefa324"}, + {file = "cffi-1.16.0-cp38-cp38-win32.whl", hash = "sha256:131fd094d1065b19540c3d72594260f118b231090295d8c34e19a7bbcf2e860a"}, + {file = "cffi-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:31d13b0f99e0836b7ff893d37af07366ebc90b678b6664c955b54561fc36ef36"}, + {file = "cffi-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:582215a0e9adbe0e379761260553ba11c58943e4bbe9c36430c4ca6ac74b15ed"}, + {file = "cffi-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b29ebffcf550f9da55bec9e02ad430c992a87e5f512cd63388abb76f1036d8d2"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dc9b18bf40cc75f66f40a7379f6a9513244fe33c0e8aa72e2d56b0196a7ef872"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cb4a35b3642fc5c005a6755a5d17c6c8b6bcb6981baf81cea8bfbc8903e8ba8"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b86851a328eedc692acf81fb05444bdf1891747c25af7529e39ddafaf68a4f3f"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c0f31130ebc2d37cdd8e44605fb5fa7ad59049298b3f745c74fa74c62fbfcfc4"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f8e709127c6c77446a8c0a8c8bf3c8ee706a06cd44b1e827c3e6a2ee6b8c098"}, + {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:748dcd1e3d3d7cd5443ef03ce8685043294ad6bd7c02a38d1bd367cfd968e000"}, + {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8895613bcc094d4a1b2dbe179d88d7fb4a15cee43c052e8885783fac397d91fe"}, + {file = "cffi-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed86a35631f7bfbb28e108dd96773b9d5a6ce4811cf6ea468bb6a359b256b1e4"}, + {file = "cffi-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:3686dffb02459559c74dd3d81748269ffb0eb027c39a6fc99502de37d501faa8"}, + {file = "cffi-1.16.0.tar.gz", hash = "sha256:bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0"}, +] [package.dependencies] pycparser = "*" @@ -299,17 +428,111 @@ pycparser = "*" name = "charset-normalizer" version = "3.3.2" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." -category = "main" optional = false python-versions = ">=3.7.0" +files = [ + {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win32.whl", hash = "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win32.whl", hash = "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win32.whl", hash = "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"}, + {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, +] [[package]] name = "click" version = "8.1.7" description = "Composable command line interface toolkit" -category = "main" optional = false python-versions = ">=3.7" +files = [ + {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, + {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, +] [package.dependencies] colorama = {version = "*", markers = "platform_system == \"Windows\""} @@ -318,9 +541,12 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""} name = "click-didyoumean" version = "0.3.1" description = "Enables git-like *did-you-mean* feature in click" -category = "main" optional = false python-versions = ">=3.6.2" +files = [ + {file = "click_didyoumean-0.3.1-py3-none-any.whl", hash = "sha256:5c4bb6007cfea5f2fd6583a2fb6701a22a41eb98957e63d0fac41c10e7c3117c"}, + {file = "click_didyoumean-0.3.1.tar.gz", hash = "sha256:4f82fdff0dbe64ef8ab2279bd6aa3f6a99c3b28c05aa09cbfc07c9d7fbb5a463"}, +] [package.dependencies] click = ">=7" @@ -329,9 +555,12 @@ click = ">=7" name = "click-plugins" version = "1.1.1" description = "An extension module for click to enable registering CLI commands via setuptools entry-points." -category = "main" optional = false python-versions = "*" +files = [ + {file = "click-plugins-1.1.1.tar.gz", hash = "sha256:46ab999744a9d831159c3411bb0c79346d94a444df9a3a3742e9ed63645f264b"}, + {file = "click_plugins-1.1.1-py2.py3-none-any.whl", hash = "sha256:5d262006d3222f5057fd81e1623d4443e41dcda5dc815c06b442aa3c02889fc8"}, +] [package.dependencies] click = ">=4.0" @@ -343,12 +572,15 @@ dev = ["coveralls", "pytest (>=3.6)", "pytest-cov", "wheel"] name = "click-repl" version = "0.3.0" description = "REPL plugin for Click" -category = "main" optional = false python-versions = ">=3.6" - -[package.dependencies] -click = ">=7.0" +files = [ + {file = "click-repl-0.3.0.tar.gz", hash = "sha256:17849c23dba3d667247dc4defe1757fff98694e90fe37474f3feebb69ced26a9"}, + {file = "click_repl-0.3.0-py3-none-any.whl", hash = "sha256:fb7e06deb8da8de86180a33a9da97ac316751c094c6899382da7feeeeb51b812"}, +] + +[package.dependencies] +click = ">=7.0" prompt-toolkit = ">=3.0.36" [package.extras] @@ -358,9 +590,12 @@ testing = ["pytest (>=7.2.1)", "pytest-cov (>=4.0.0)", "tox (>=4.4.3)"] name = "cliff" version = "4.7.0" description = "Command Line Interface Formulation Framework" -category = "main" optional = true python-versions = ">=3.8" +files = [ + {file = "cliff-4.7.0-py3-none-any.whl", hash = "sha256:7c5ef733b364532775166bb980eb43108e264d145c1892ff1c51f9b4af417c24"}, + {file = "cliff-4.7.0.tar.gz", hash = "sha256:6ca45f8df519bbc0722c61049de7b7e442a465fa7f3f552b96d735fa26fd5b26"}, +] [package.dependencies] autopage = ">=0.4.0" @@ -374,9 +609,12 @@ stevedore = ">=2.0.1" name = "cmd2" version = "2.4.3" description = "cmd2 - quickly build feature-rich and user-friendly interactive command line applications in Python" -category = "main" optional = true python-versions = ">=3.6" +files = [ + {file = "cmd2-2.4.3-py3-none-any.whl", hash = "sha256:f1988ff2fff0ed812a2d25218a081b0fa0108d45b48ba2a9272bb98091b654e6"}, + {file = "cmd2-2.4.3.tar.gz", hash = "sha256:71873c11f72bd19e2b1db578214716f0d4f7c8fa250093c601265a9a717dee52"}, +] [package.dependencies] attrs = ">=16.3.0" @@ -393,17 +631,23 @@ validate = ["flake8", "mypy", "types-pkg-resources"] name = "colorama" version = "0.4.6" description = "Cross-platform colored terminal text." -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" +files = [ + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, +] [[package]] name = "coloredlogs" version = "15.0.1" description = "Colored terminal output for Python's logging module" -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "coloredlogs-15.0.1-py2.py3-none-any.whl", hash = "sha256:612ee75c546f53e92e70049c9dbfcc18c935a2b9a53b66085ce9ef6a6e5c0934"}, + {file = "coloredlogs-15.0.1.tar.gz", hash = "sha256:7c991aa71a4577af2f82600d8f8f3a89f936baeaf9b50a9c197da014e5bf16b0"}, +] [package.dependencies] humanfriendly = ">=9.1" @@ -415,9 +659,62 @@ cron = ["capturer (>=2.4)"] name = "coverage" version = "7.6.0" description = "Code coverage measurement for Python" -category = "dev" optional = false python-versions = ">=3.8" +files = [ + {file = "coverage-7.6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:dff044f661f59dace805eedb4a7404c573b6ff0cdba4a524141bc63d7be5c7fd"}, + {file = "coverage-7.6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a8659fd33ee9e6ca03950cfdcdf271d645cf681609153f218826dd9805ab585c"}, + {file = "coverage-7.6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7792f0ab20df8071d669d929c75c97fecfa6bcab82c10ee4adb91c7a54055463"}, + {file = "coverage-7.6.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d4b3cd1ca7cd73d229487fa5caca9e4bc1f0bca96526b922d61053ea751fe791"}, + {file = "coverage-7.6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e7e128f85c0b419907d1f38e616c4f1e9f1d1b37a7949f44df9a73d5da5cd53c"}, + {file = "coverage-7.6.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a94925102c89247530ae1dab7dc02c690942566f22e189cbd53579b0693c0783"}, + {file = "coverage-7.6.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:dcd070b5b585b50e6617e8972f3fbbee786afca71b1936ac06257f7e178f00f6"}, + {file = "coverage-7.6.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d50a252b23b9b4dfeefc1f663c568a221092cbaded20a05a11665d0dbec9b8fb"}, + {file = "coverage-7.6.0-cp310-cp310-win32.whl", hash = "sha256:0e7b27d04131c46e6894f23a4ae186a6a2207209a05df5b6ad4caee6d54a222c"}, + {file = "coverage-7.6.0-cp310-cp310-win_amd64.whl", hash = "sha256:54dece71673b3187c86226c3ca793c5f891f9fc3d8aa183f2e3653da18566169"}, + {file = "coverage-7.6.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c7b525ab52ce18c57ae232ba6f7010297a87ced82a2383b1afd238849c1ff933"}, + {file = "coverage-7.6.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4bea27c4269234e06f621f3fac3925f56ff34bc14521484b8f66a580aacc2e7d"}, + {file = "coverage-7.6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ed8d1d1821ba5fc88d4a4f45387b65de52382fa3ef1f0115a4f7a20cdfab0e94"}, + {file = "coverage-7.6.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:01c322ef2bbe15057bc4bf132b525b7e3f7206f071799eb8aa6ad1940bcf5fb1"}, + {file = "coverage-7.6.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:03cafe82c1b32b770a29fd6de923625ccac3185a54a5e66606da26d105f37dac"}, + {file = "coverage-7.6.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0d1b923fc4a40c5832be4f35a5dab0e5ff89cddf83bb4174499e02ea089daf57"}, + {file = "coverage-7.6.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4b03741e70fb811d1a9a1d75355cf391f274ed85847f4b78e35459899f57af4d"}, + {file = "coverage-7.6.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a73d18625f6a8a1cbb11eadc1d03929f9510f4131879288e3f7922097a429f63"}, + {file = "coverage-7.6.0-cp311-cp311-win32.whl", hash = "sha256:65fa405b837060db569a61ec368b74688f429b32fa47a8929a7a2f9b47183713"}, + {file = "coverage-7.6.0-cp311-cp311-win_amd64.whl", hash = "sha256:6379688fb4cfa921ae349c76eb1a9ab26b65f32b03d46bb0eed841fd4cb6afb1"}, + {file = "coverage-7.6.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f7db0b6ae1f96ae41afe626095149ecd1b212b424626175a6633c2999eaad45b"}, + {file = "coverage-7.6.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:bbdf9a72403110a3bdae77948b8011f644571311c2fb35ee15f0f10a8fc082e8"}, + {file = "coverage-7.6.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cc44bf0315268e253bf563f3560e6c004efe38f76db03a1558274a6e04bf5d5"}, + {file = "coverage-7.6.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:da8549d17489cd52f85a9829d0e1d91059359b3c54a26f28bec2c5d369524807"}, + {file = "coverage-7.6.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0086cd4fc71b7d485ac93ca4239c8f75732c2ae3ba83f6be1c9be59d9e2c6382"}, + {file = "coverage-7.6.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1fad32ee9b27350687035cb5fdf9145bc9cf0a094a9577d43e909948ebcfa27b"}, + {file = "coverage-7.6.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:044a0985a4f25b335882b0966625270a8d9db3d3409ddc49a4eb00b0ef5e8cee"}, + {file = "coverage-7.6.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:76d5f82213aa78098b9b964ea89de4617e70e0d43e97900c2778a50856dac605"}, + {file = "coverage-7.6.0-cp312-cp312-win32.whl", hash = "sha256:3c59105f8d58ce500f348c5b56163a4113a440dad6daa2294b5052a10db866da"}, + {file = "coverage-7.6.0-cp312-cp312-win_amd64.whl", hash = "sha256:ca5d79cfdae420a1d52bf177de4bc2289c321d6c961ae321503b2ca59c17ae67"}, + {file = "coverage-7.6.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d39bd10f0ae453554798b125d2f39884290c480f56e8a02ba7a6ed552005243b"}, + {file = "coverage-7.6.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:beb08e8508e53a568811016e59f3234d29c2583f6b6e28572f0954a6b4f7e03d"}, + {file = "coverage-7.6.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b2e16f4cd2bc4d88ba30ca2d3bbf2f21f00f382cf4e1ce3b1ddc96c634bc48ca"}, + {file = "coverage-7.6.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6616d1c9bf1e3faea78711ee42a8b972367d82ceae233ec0ac61cc7fec09fa6b"}, + {file = "coverage-7.6.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad4567d6c334c46046d1c4c20024de2a1c3abc626817ae21ae3da600f5779b44"}, + {file = "coverage-7.6.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:d17c6a415d68cfe1091d3296ba5749d3d8696e42c37fca5d4860c5bf7b729f03"}, + {file = "coverage-7.6.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:9146579352d7b5f6412735d0f203bbd8d00113a680b66565e205bc605ef81bc6"}, + {file = "coverage-7.6.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:cdab02a0a941af190df8782aafc591ef3ad08824f97850b015c8c6a8b3877b0b"}, + {file = "coverage-7.6.0-cp38-cp38-win32.whl", hash = "sha256:df423f351b162a702c053d5dddc0fc0ef9a9e27ea3f449781ace5f906b664428"}, + {file = "coverage-7.6.0-cp38-cp38-win_amd64.whl", hash = "sha256:f2501d60d7497fd55e391f423f965bbe9e650e9ffc3c627d5f0ac516026000b8"}, + {file = "coverage-7.6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7221f9ac9dad9492cecab6f676b3eaf9185141539d5c9689d13fd6b0d7de840c"}, + {file = "coverage-7.6.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ddaaa91bfc4477d2871442bbf30a125e8fe6b05da8a0015507bfbf4718228ab2"}, + {file = "coverage-7.6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c4cbe651f3904e28f3a55d6f371203049034b4ddbce65a54527a3f189ca3b390"}, + {file = "coverage-7.6.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:831b476d79408ab6ccfadaaf199906c833f02fdb32c9ab907b1d4aa0713cfa3b"}, + {file = "coverage-7.6.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:46c3d091059ad0b9c59d1034de74a7f36dcfa7f6d3bde782c49deb42438f2450"}, + {file = "coverage-7.6.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:4d5fae0a22dc86259dee66f2cc6c1d3e490c4a1214d7daa2a93d07491c5c04b6"}, + {file = "coverage-7.6.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:07ed352205574aad067482e53dd606926afebcb5590653121063fbf4e2175166"}, + {file = "coverage-7.6.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:49c76cdfa13015c4560702574bad67f0e15ca5a2872c6a125f6327ead2b731dd"}, + {file = "coverage-7.6.0-cp39-cp39-win32.whl", hash = "sha256:482855914928c8175735a2a59c8dc5806cf7d8f032e4820d52e845d1f731dca2"}, + {file = "coverage-7.6.0-cp39-cp39-win_amd64.whl", hash = "sha256:543ef9179bc55edfd895154a51792b01c017c87af0ebaae092720152e19e42ca"}, + {file = "coverage-7.6.0-pp38.pp39.pp310-none-any.whl", hash = "sha256:6fe885135c8a479d3e37a7aae61cbd3a0fb2deccb4dda3c25f92a49189f766d6"}, + {file = "coverage-7.6.0.tar.gz", hash = "sha256:289cc803fa1dc901f84701ac10c9ee873619320f2f9aff38794db4a4a0268d51"}, +] [package.dependencies] tomli = {version = "*", optional = true, markers = "python_full_version <= \"3.11.0a6\" and extra == \"toml\""} @@ -429,7 +726,7 @@ toml = ["tomli"] name = "cryptography" version = "43.0.1" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." -optional = false +optional = true python-versions = ">=3.7" files = [ {file = "cryptography-43.0.1-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:8385d98f6a3bf8bb2d65a73e17ed87a3ba84f6991c155691c51112075f9ffc5d"}, @@ -478,9 +775,12 @@ test-randomorder = ["pytest-randomly"] name = "cwl-upgrader" version = "1.2.11" description = "Upgrade a CWL tool or workflow document from one version to another" -category = "main" optional = false python-versions = ">=3.8" +files = [ + {file = "cwl-upgrader-1.2.11.tar.gz", hash = "sha256:57b4b6fea246ae96ac28dc4e65b28899e50a8be430957fbd97f25bbe2dfa468a"}, + {file = "cwl_upgrader-1.2.11-py3-none-any.whl", hash = "sha256:435b706b7ccc64c6b0af6785a0cebbdfa285af9e70f321dc7b43b363ba9b385c"}, +] [package.dependencies] "ruamel.yaml" = ">=0.16.0,<0.19" @@ -494,9 +794,12 @@ testing = ["pytest (<8)"] name = "cwl-utils" version = "0.16" description = "" -category = "main" optional = false python-versions = ">=3.6" +files = [ + {file = "cwl-utils-0.16.tar.gz", hash = "sha256:38182e6dd12b039601ac2f72911b3d93ca4e37efca3b0165ffe162abab3edf7b"}, + {file = "cwl_utils-0.16-py3-none-any.whl", hash = "sha256:3583d02a9f066e0b2710bc974730c37cf8bb4c42c14c5be961357644a3c8f159"}, +] [package.dependencies] CacheControl = "*" @@ -513,9 +816,12 @@ pretty = ["cwlformat"] name = "cwltool" version = "3.1.20220907141119" description = "Common workflow language reference implementation" -category = "dev" optional = false python-versions = ">=3.6, <4" +files = [ + {file = "cwltool-3.1.20220907141119-py3-none-any.whl", hash = "sha256:7680e48c13956bb2779a05a79c082d9f37c8049cabfcb06a2f6db0dd78e7d615"}, + {file = "cwltool-3.1.20220907141119.tar.gz", hash = "sha256:b322be0ebe0df0c14e38e16d7c8d86458f280f4f3d7717d615b132065efa5b66"}, +] [package.dependencies] argcomplete = "*" @@ -542,9 +848,12 @@ deps = ["galaxy-tool-util (>=22.1.2,<23)"] name = "debtcollector" version = "3.0.0" description = "A collection of Python deprecation patterns and strategies that help you collect your technical debt in a non-destructive manner." -category = "main" optional = true python-versions = ">=3.8" +files = [ + {file = "debtcollector-3.0.0-py3-none-any.whl", hash = "sha256:46f9dacbe8ce49c47ebf2bf2ec878d50c9443dfae97cc7b8054be684e54c3e91"}, + {file = "debtcollector-3.0.0.tar.gz", hash = "sha256:2a8917d25b0e1f1d0d365d3c1c6ecfc7a522b1e9716e8a1a4a915126f7ccea6f"}, +] [package.dependencies] wrapt = ">=1.7.0" @@ -553,17 +862,23 @@ wrapt = ">=1.7.0" name = "decorator" version = "5.1.1" description = "Decorators for Humans" -category = "main" optional = true python-versions = ">=3.5" +files = [ + {file = "decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"}, + {file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"}, +] [[package]] name = "dill" version = "0.3.8" description = "serialize all of Python" -category = "dev" optional = false python-versions = ">=3.8" +files = [ + {file = "dill-0.3.8-py3-none-any.whl", hash = "sha256:c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7"}, + {file = "dill-0.3.8.tar.gz", hash = "sha256:3ebe3c479ad625c4553aca177444d89b486b1d84982eeacded644afc0cf797ca"}, +] [package.extras] graph = ["objgraph (>=1.7.2)"] @@ -573,17 +888,23 @@ profile = ["gprof2dot (>=2022.7.29)"] name = "docutils" version = "0.18.1" description = "Docutils -- Python Documentation Utilities" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "docutils-0.18.1-py2.py3-none-any.whl", hash = "sha256:23010f129180089fbcd3bc08cfefccb3b890b0050e1ca00c867036e9d161b98c"}, + {file = "docutils-0.18.1.tar.gz", hash = "sha256:679987caf361a7539d76e584cbeddc311e3aee937877c87346f31debc63e9d06"}, +] [[package]] name = "dogpile.cache" version = "1.3.3" description = "A caching front-end based on the Dogpile lock." -category = "main" optional = true python-versions = ">=3.8" +files = [ + {file = "dogpile.cache-1.3.3-py3-none-any.whl", hash = "sha256:5e211c4902ebdf88c678d268e22454b41e68071632daa9402d8ee24e825ed8ca"}, + {file = "dogpile.cache-1.3.3.tar.gz", hash = "sha256:f84b8ed0b0fb297d151055447fa8dcaf7bae566d4dbdefecdcc1f37662ab588b"}, +] [package.dependencies] decorator = ">=4.0.0" @@ -597,9 +918,12 @@ pifpaf = ["pifpaf (>=2.5.0)", "setuptools"] name = "exceptiongroup" version = "1.2.2" description = "Backport of PEP 654 (exception groups)" -category = "main" optional = false python-versions = ">=3.7" +files = [ + {file = "exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b"}, + {file = "exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc"}, +] [package.extras] test = ["pytest (>=6)"] @@ -608,9 +932,12 @@ test = ["pytest (>=6)"] name = "fastapi" version = "0.109.2" description = "FastAPI framework, high performance, easy to learn, fast to code, ready for production" -category = "main" optional = false python-versions = ">=3.8" +files = [ + {file = "fastapi-0.109.2-py3-none-any.whl", hash = "sha256:2c9bab24667293b501cad8dd388c05240c850b58ec5876ee3283c47d6e1e3a4d"}, + {file = "fastapi-0.109.2.tar.gz", hash = "sha256:f3817eac96fe4f65a2ebb4baa000f394e55f5fccdaf7f75250804bc58f354f73"}, +] [package.dependencies] pydantic = ">=1.7.4,<1.8 || >1.8,<1.8.1 || >1.8.1,<2.0.0 || >2.0.0,<2.0.1 || >2.0.1,<2.1.0 || >2.1.0,<3.0.0" @@ -624,9 +951,12 @@ all = ["email-validator (>=2.0.0)", "httpx (>=0.23.0)", "itsdangerous (>=1.1.0)" name = "filelock" version = "3.15.4" description = "A platform independent file lock." -category = "main" optional = false python-versions = ">=3.8" +files = [ + {file = "filelock-3.15.4-py3-none-any.whl", hash = "sha256:6ca1fffae96225dab4c6eaf1c4f4f28cd2568d3ec2a44e15a08520504de468e7"}, + {file = "filelock-3.15.4.tar.gz", hash = "sha256:2207938cbc1844345cb01a5a95524dae30f0ce089eba5b00378295a17e3e90cb"}, +] [package.extras] docs = ["furo (>=2023.9.10)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"] @@ -637,9 +967,12 @@ typing = ["typing-extensions (>=4.8)"] name = "Flask" version = "2.3.3" description = "A simple framework for building complex web applications." -category = "main" optional = false python-versions = ">=3.8" +files = [ + {file = "flask-2.3.3-py3-none-any.whl", hash = "sha256:f69fcd559dc907ed196ab9df0e48471709175e696d6e698dd4dbe940f96ce66b"}, + {file = "flask-2.3.3.tar.gz", hash = "sha256:09c347a92aa7ff4a8e7f3206795f30d826654baf38b873d0744cd571ca609efc"}, +] [package.dependencies] blinker = ">=1.6.2" @@ -657,9 +990,12 @@ dotenv = ["python-dotenv"] name = "Flask-RESTful" version = "0.3.9" description = "Simple framework for creating REST APIs" -category = "main" optional = false python-versions = "*" +files = [ + {file = "Flask-RESTful-0.3.9.tar.gz", hash = "sha256:ccec650b835d48192138c85329ae03735e6ced58e9b2d9c2146d6c84c06fa53e"}, + {file = "Flask_RESTful-0.3.9-py2.py3-none-any.whl", hash = "sha256:4970c49b6488e46c520b325f54833374dc2b98e211f1b272bd4b0c516232afe2"}, +] [package.dependencies] aniso8601 = ">=0.82" @@ -674,9 +1010,12 @@ docs = ["sphinx"] name = "google-api-core" version = "2.19.1" description = "Google API client core library" -category = "main" optional = true python-versions = ">=3.7" +files = [ + {file = "google-api-core-2.19.1.tar.gz", hash = "sha256:f4695f1e3650b316a795108a76a1c416e6afb036199d1c1f1f110916df479ffd"}, + {file = "google_api_core-2.19.1-py3-none-any.whl", hash = "sha256:f12a9b8309b5e21d92483bbd47ce2c445861ec7d269ef6784ecc0ea8c1fa6125"}, +] [package.dependencies] google-auth = ">=2.14.1,<3.0.dev0" @@ -694,12 +1033,15 @@ grpcio-gcp = ["grpcio-gcp (>=0.2.2,<1.0.dev0)"] name = "google-api-python-client" version = "2.137.0" description = "Google API Client Library for Python" -category = "main" optional = true python-versions = ">=3.7" +files = [ + {file = "google_api_python_client-2.137.0-py2.py3-none-any.whl", hash = "sha256:a8b5c5724885e5be9f5368739aa0ccf416627da4ebd914b410a090c18f84d692"}, + {file = "google_api_python_client-2.137.0.tar.gz", hash = "sha256:e739cb74aac8258b1886cb853b0722d47c81fe07ad649d7f2206f06530513c04"}, +] [package.dependencies] -google-api-core = ">=1.31.5,<2.0.0 || >2.3.0,<3.0.0.dev0" +google-api-core = ">=1.31.5,<2.0.dev0 || >2.3.0,<3.0.0.dev0" google-auth = ">=1.32.0,<2.24.0 || >2.24.0,<2.25.0 || >2.25.0,<3.0.0.dev0" google-auth-httplib2 = ">=0.2.0,<1.0.0" httplib2 = ">=0.19.0,<1.dev0" @@ -709,9 +1051,12 @@ uritemplate = ">=3.0.1,<5" name = "google-auth" version = "2.32.0" description = "Google Authentication Library" -category = "main" optional = true python-versions = ">=3.7" +files = [ + {file = "google_auth-2.32.0-py2.py3-none-any.whl", hash = "sha256:53326ea2ebec768070a94bee4e1b9194c9646ea0c2bd72422785bd0f9abfad7b"}, + {file = "google_auth-2.32.0.tar.gz", hash = "sha256:49315be72c55a6a37d62819e3573f6b416aca00721f7e3e31a008d928bf64022"}, +] [package.dependencies] cachetools = ">=2.0.0,<6.0" @@ -729,9 +1074,12 @@ requests = ["requests (>=2.20.0,<3.0.0.dev0)"] name = "google-auth-httplib2" version = "0.2.0" description = "Google Authentication Library: httplib2 transport" -category = "main" optional = true python-versions = "*" +files = [ + {file = "google-auth-httplib2-0.2.0.tar.gz", hash = "sha256:38aa7badf48f974f1eb9861794e9c0cb2a0511a4ec0679b1f886d108f5640e05"}, + {file = "google_auth_httplib2-0.2.0-py2.py3-none-any.whl", hash = "sha256:b65a0a2123300dd71281a7bf6e64d65a0759287df52729bdd1ae2e47dc311a3d"}, +] [package.dependencies] google-auth = "*" @@ -741,9 +1089,12 @@ httplib2 = ">=0.19.0" name = "googleapis-common-protos" version = "1.63.2" description = "Common protobufs used in Google APIs" -category = "main" optional = true python-versions = ">=3.7" +files = [ + {file = "googleapis-common-protos-1.63.2.tar.gz", hash = "sha256:27c5abdffc4911f28101e635de1533fb4cfd2c37fbaa9174587c799fac90aa87"}, + {file = "googleapis_common_protos-1.63.2-py2.py3-none-any.whl", hash = "sha256:27a2499c7e8aff199665b22741997e485eccc8645aa9176c7c988e6fae507945"}, +] [package.dependencies] protobuf = ">=3.20.2,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<6.0.0.dev0" @@ -751,13 +1102,88 @@ protobuf = ">=3.20.2,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4 [package.extras] grpc = ["grpcio (>=1.44.0,<2.0.0.dev0)"] +[[package]] +name = "graphviz" +version = "0.20.3" +description = "Simple Python interface for Graphviz" +optional = false +python-versions = ">=3.8" +files = [ + {file = "graphviz-0.20.3-py3-none-any.whl", hash = "sha256:81f848f2904515d8cd359cc611faba817598d2feaac4027b266aa3eda7b3dde5"}, + {file = "graphviz-0.20.3.zip", hash = "sha256:09d6bc81e6a9fa392e7ba52135a9d49f1ed62526f96499325930e87ca1b5925d"}, +] + +[package.extras] +dev = ["flake8", "pep8-naming", "tox (>=3)", "twine", "wheel"] +docs = ["sphinx (>=5,<7)", "sphinx-autodoc-typehints", "sphinx-rtd-theme"] +test = ["coverage", "pytest (>=7,<8.1)", "pytest-cov", "pytest-mock (>=3)"] + [[package]] name = "greenlet" version = "3.0.3" description = "Lightweight in-process concurrent programming" -category = "main" optional = false python-versions = ">=3.7" +files = [ + {file = "greenlet-3.0.3-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:9da2bd29ed9e4f15955dd1595ad7bc9320308a3b766ef7f837e23ad4b4aac31a"}, + {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d353cadd6083fdb056bb46ed07e4340b0869c305c8ca54ef9da3421acbdf6881"}, + {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dca1e2f3ca00b84a396bc1bce13dd21f680f035314d2379c4160c98153b2059b"}, + {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3ed7fb269f15dc662787f4119ec300ad0702fa1b19d2135a37c2c4de6fadfd4a"}, + {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd4f49ae60e10adbc94b45c0b5e6a179acc1736cf7a90160b404076ee283cf83"}, + {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:73a411ef564e0e097dbe7e866bb2dda0f027e072b04da387282b02c308807405"}, + {file = "greenlet-3.0.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:7f362975f2d179f9e26928c5b517524e89dd48530a0202570d55ad6ca5d8a56f"}, + {file = "greenlet-3.0.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:649dde7de1a5eceb258f9cb00bdf50e978c9db1b996964cd80703614c86495eb"}, + {file = "greenlet-3.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:68834da854554926fbedd38c76e60c4a2e3198c6fbed520b106a8986445caaf9"}, + {file = "greenlet-3.0.3-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:b1b5667cced97081bf57b8fa1d6bfca67814b0afd38208d52538316e9422fc61"}, + {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:52f59dd9c96ad2fc0d5724107444f76eb20aaccb675bf825df6435acb7703559"}, + {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:afaff6cf5200befd5cec055b07d1c0a5a06c040fe5ad148abcd11ba6ab9b114e"}, + {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fe754d231288e1e64323cfad462fcee8f0288654c10bdf4f603a39ed923bef33"}, + {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2797aa5aedac23af156bbb5a6aa2cd3427ada2972c828244eb7d1b9255846379"}, + {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b7f009caad047246ed379e1c4dbcb8b020f0a390667ea74d2387be2998f58a22"}, + {file = "greenlet-3.0.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c5e1536de2aad7bf62e27baf79225d0d64360d4168cf2e6becb91baf1ed074f3"}, + {file = "greenlet-3.0.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:894393ce10ceac937e56ec00bb71c4c2f8209ad516e96033e4b3b1de270e200d"}, + {file = "greenlet-3.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:1ea188d4f49089fc6fb283845ab18a2518d279c7cd9da1065d7a84e991748728"}, + {file = "greenlet-3.0.3-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:70fb482fdf2c707765ab5f0b6655e9cfcf3780d8d87355a063547b41177599be"}, + {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4d1ac74f5c0c0524e4a24335350edad7e5f03b9532da7ea4d3c54d527784f2e"}, + {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:149e94a2dd82d19838fe4b2259f1b6b9957d5ba1b25640d2380bea9c5df37676"}, + {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:15d79dd26056573940fcb8c7413d84118086f2ec1a8acdfa854631084393efcc"}, + {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:881b7db1ebff4ba09aaaeae6aa491daeb226c8150fc20e836ad00041bcb11230"}, + {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fcd2469d6a2cf298f198f0487e0a5b1a47a42ca0fa4dfd1b6862c999f018ebbf"}, + {file = "greenlet-3.0.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:1f672519db1796ca0d8753f9e78ec02355e862d0998193038c7073045899f305"}, + {file = "greenlet-3.0.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2516a9957eed41dd8f1ec0c604f1cdc86758b587d964668b5b196a9db5bfcde6"}, + {file = "greenlet-3.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:bba5387a6975598857d86de9eac14210a49d554a77eb8261cc68b7d082f78ce2"}, + {file = "greenlet-3.0.3-cp37-cp37m-macosx_11_0_universal2.whl", hash = "sha256:5b51e85cb5ceda94e79d019ed36b35386e8c37d22f07d6a751cb659b180d5274"}, + {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:daf3cb43b7cf2ba96d614252ce1684c1bccee6b2183a01328c98d36fcd7d5cb0"}, + {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99bf650dc5d69546e076f413a87481ee1d2d09aaaaaca058c9251b6d8c14783f"}, + {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2dd6e660effd852586b6a8478a1d244b8dc90ab5b1321751d2ea15deb49ed414"}, + {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e3391d1e16e2a5a1507d83e4a8b100f4ee626e8eca43cf2cadb543de69827c4c"}, + {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e1f145462f1fa6e4a4ae3c0f782e580ce44d57c8f2c7aae1b6fa88c0b2efdb41"}, + {file = "greenlet-3.0.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:1a7191e42732df52cb5f39d3527217e7ab73cae2cb3694d241e18f53d84ea9a7"}, + {file = "greenlet-3.0.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:0448abc479fab28b00cb472d278828b3ccca164531daab4e970a0458786055d6"}, + {file = "greenlet-3.0.3-cp37-cp37m-win32.whl", hash = "sha256:b542be2440edc2d48547b5923c408cbe0fc94afb9f18741faa6ae970dbcb9b6d"}, + {file = "greenlet-3.0.3-cp37-cp37m-win_amd64.whl", hash = "sha256:01bc7ea167cf943b4c802068e178bbf70ae2e8c080467070d01bfa02f337ee67"}, + {file = "greenlet-3.0.3-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:1996cb9306c8595335bb157d133daf5cf9f693ef413e7673cb07e3e5871379ca"}, + {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ddc0f794e6ad661e321caa8d2f0a55ce01213c74722587256fb6566049a8b04"}, + {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c9db1c18f0eaad2f804728c67d6c610778456e3e1cc4ab4bbd5eeb8e6053c6fc"}, + {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7170375bcc99f1a2fbd9c306f5be8764eaf3ac6b5cb968862cad4c7057756506"}, + {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b66c9c1e7ccabad3a7d037b2bcb740122a7b17a53734b7d72a344ce39882a1b"}, + {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:098d86f528c855ead3479afe84b49242e174ed262456c342d70fc7f972bc13c4"}, + {file = "greenlet-3.0.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:81bb9c6d52e8321f09c3d165b2a78c680506d9af285bfccbad9fb7ad5a5da3e5"}, + {file = "greenlet-3.0.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fd096eb7ffef17c456cfa587523c5f92321ae02427ff955bebe9e3c63bc9f0da"}, + {file = "greenlet-3.0.3-cp38-cp38-win32.whl", hash = "sha256:d46677c85c5ba00a9cb6f7a00b2bfa6f812192d2c9f7d9c4f6a55b60216712f3"}, + {file = "greenlet-3.0.3-cp38-cp38-win_amd64.whl", hash = "sha256:419b386f84949bf0e7c73e6032e3457b82a787c1ab4a0e43732898a761cc9dbf"}, + {file = "greenlet-3.0.3-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:da70d4d51c8b306bb7a031d5cff6cc25ad253affe89b70352af5f1cb68e74b53"}, + {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:086152f8fbc5955df88382e8a75984e2bb1c892ad2e3c80a2508954e52295257"}, + {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d73a9fe764d77f87f8ec26a0c85144d6a951a6c438dfe50487df5595c6373eac"}, + {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7dcbe92cc99f08c8dd11f930de4d99ef756c3591a5377d1d9cd7dd5e896da71"}, + {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1551a8195c0d4a68fac7a4325efac0d541b48def35feb49d803674ac32582f61"}, + {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:64d7675ad83578e3fc149b617a444fab8efdafc9385471f868eb5ff83e446b8b"}, + {file = "greenlet-3.0.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b37eef18ea55f2ffd8f00ff8fe7c8d3818abd3e25fb73fae2ca3b672e333a7a6"}, + {file = "greenlet-3.0.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:77457465d89b8263bca14759d7c1684df840b6811b2499838cc5b040a8b5b113"}, + {file = "greenlet-3.0.3-cp39-cp39-win32.whl", hash = "sha256:57e8974f23e47dac22b83436bdcf23080ade568ce77df33159e019d161ce1d1e"}, + {file = "greenlet-3.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:c5ee858cfe08f34712f548c3c363e807e7186f03ad7a5039ebadb29e8c6be067"}, + {file = "greenlet-3.0.3.tar.gz", hash = "sha256:43374442353259554ce33599da8b692d5aa96f8976d567d4badf263371fbe491"}, +] [package.extras] docs = ["Sphinx", "furo"] @@ -767,9 +1193,12 @@ test = ["objgraph", "psutil"] name = "gunicorn" version = "22.0.0" description = "WSGI HTTP Server for UNIX" -category = "main" optional = false python-versions = ">=3.7" +files = [ + {file = "gunicorn-22.0.0-py3-none-any.whl", hash = "sha256:350679f91b24062c86e386e198a15438d53a7a8207235a78ba1b53df4c4378d9"}, + {file = "gunicorn-22.0.0.tar.gz", hash = "sha256:4a0b436239ff76fb33f11c07a16482c521a7e09c1ce3cc293c2330afe01bec63"}, +] [package.dependencies] packaging = "*" @@ -785,17 +1214,23 @@ tornado = ["tornado (>=0.2)"] name = "h11" version = "0.14.0" description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" -category = "main" optional = false python-versions = ">=3.7" +files = [ + {file = "h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"}, + {file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"}, +] [[package]] name = "httplib2" version = "0.22.0" description = "A comprehensive HTTP client library." -category = "main" optional = true python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "httplib2-0.22.0-py3-none-any.whl", hash = "sha256:14ae0a53c1ba8f3d37e9e27cf37eabb0fb9980f435ba405d546948b009dd64dc"}, + {file = "httplib2-0.22.0.tar.gz", hash = "sha256:d7a10bc5ef5ab08322488bde8c726eeee5c8618723fdb399597ec58f3d82df81"}, +] [package.dependencies] pyparsing = {version = ">=2.4.2,<3.0.0 || >3.0.0,<3.0.1 || >3.0.1,<3.0.2 || >3.0.2,<3.0.3 || >3.0.3,<4", markers = "python_version > \"3.0\""} @@ -804,9 +1239,12 @@ pyparsing = {version = ">=2.4.2,<3.0.0 || >3.0.0,<3.0.1 || >3.0.1,<3.0.2 || >3.0 name = "humanfriendly" version = "10.0" description = "Human friendly output for text interfaces using Python" -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "humanfriendly-10.0-py2.py3-none-any.whl", hash = "sha256:1697e1a8a8f550fd43c2865cd84542fc175a61dcb779b6fee18cf6b6ccba1477"}, + {file = "humanfriendly-10.0.tar.gz", hash = "sha256:6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc"}, +] [package.dependencies] pyreadline3 = {version = "*", markers = "sys_platform == \"win32\" and python_version >= \"3.8\""} @@ -815,25 +1253,34 @@ pyreadline3 = {version = "*", markers = "sys_platform == \"win32\" and python_ve name = "idna" version = "3.7" description = "Internationalized Domain Names in Applications (IDNA)" -category = "main" optional = false python-versions = ">=3.5" +files = [ + {file = "idna-3.7-py3-none-any.whl", hash = "sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0"}, + {file = "idna-3.7.tar.gz", hash = "sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc"}, +] [[package]] name = "imagesize" version = "1.4.1" description = "Getting image size from png/jpeg/jpeg2000/gif file" -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "imagesize-1.4.1-py2.py3-none-any.whl", hash = "sha256:0d8d18d08f840c19d0ee7ca1fd82490fdc3729b7ac93f49870406ddde8ef8d8b"}, + {file = "imagesize-1.4.1.tar.gz", hash = "sha256:69150444affb9cb0d5cc5a92b3676f0b2fb7cd9ae39e947a5e11a36b4497cd4a"}, +] [[package]] name = "importlib-metadata" version = "8.0.0" description = "Read metadata from Python packages" -category = "main" optional = false python-versions = ">=3.8" +files = [ + {file = "importlib_metadata-8.0.0-py3-none-any.whl", hash = "sha256:15584cf2b1bf449d98ff8a6ff1abef57bf20f3ac6454f431736cd3e660921b2f"}, + {file = "importlib_metadata-8.0.0.tar.gz", hash = "sha256:188bd24e4c346d3f0a933f275c2fec67050326a856b9a359881d7c2a697e8812"}, +] [package.dependencies] zipp = ">=0.5" @@ -847,10 +1294,13 @@ test = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "p name = "importlib-resources" version = "6.4.0" description = "Read resources from Python packages" -category = "main" optional = false python-versions = ">=3.8" - +files = [ + {file = "importlib_resources-6.4.0-py3-none-any.whl", hash = "sha256:50d10f043df931902d4194ea07ec57960f66a80449ff867bfe782b4c486ba78c"}, + {file = "importlib_resources-6.4.0.tar.gz", hash = "sha256:cdb2b453b8046ca4e3798eb1d84f3cce1446a0e8e7b5ef4efb600f19fc398145"}, +] + [package.dependencies] zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} @@ -862,25 +1312,34 @@ testing = ["jaraco.test (>=5.4)", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "p name = "iniconfig" version = "2.0.0" description = "brain-dead simple config-ini parsing" -category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, + {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, +] [[package]] name = "iso8601" version = "2.1.0" description = "Simple module to parse ISO 8601 dates" -category = "main" optional = true python-versions = ">=3.7,<4.0" +files = [ + {file = "iso8601-2.1.0-py3-none-any.whl", hash = "sha256:aac4145c4dcb66ad8b648a02830f5e2ff6c24af20f4f482689be402db2429242"}, + {file = "iso8601-2.1.0.tar.gz", hash = "sha256:6b1d3829ee8921c4301998c909f7829fa9ed3cbdac0d3b16af2d743aed1ba8df"}, +] [[package]] name = "isodate" version = "0.6.1" description = "An ISO 8601 date/time/duration parser and formatter" -category = "main" optional = false python-versions = "*" +files = [ + {file = "isodate-0.6.1-py2.py3-none-any.whl", hash = "sha256:0751eece944162659049d35f4f549ed815792b38793f07cf73381c1c87cbed96"}, + {file = "isodate-0.6.1.tar.gz", hash = "sha256:48c5881de7e8b0a0d648cb024c8062dc84e7b840ed81e864c7614fd3c127bde9"}, +] [package.dependencies] six = "*" @@ -889,9 +1348,12 @@ six = "*" name = "isort" version = "5.13.2" description = "A Python utility / library to sort Python imports." -category = "dev" optional = false python-versions = ">=3.8.0" +files = [ + {file = "isort-5.13.2-py3-none-any.whl", hash = "sha256:8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6"}, + {file = "isort-5.13.2.tar.gz", hash = "sha256:48fdfcb9face5d58a4f6dde2e72a1fb8dcaf8ab26f95ab49fab84c2ddefb0109"}, +] [package.extras] colors = ["colorama (>=0.4.6)"] @@ -900,17 +1362,23 @@ colors = ["colorama (>=0.4.6)"] name = "itsdangerous" version = "2.2.0" description = "Safely pass data to untrusted environments and back." -category = "main" optional = false python-versions = ">=3.8" +files = [ + {file = "itsdangerous-2.2.0-py3-none-any.whl", hash = "sha256:c6242fc49e35958c8b15141343aa660db5fc54d4f13a1db01a3f5891b98700ef"}, + {file = "itsdangerous-2.2.0.tar.gz", hash = "sha256:e0050c0b7da1eea53ffaf149c0cfbb5c6e2e2b69c4bef22c81fa6eb73e5f6173"}, +] [[package]] name = "Jinja2" version = "3.1.4" description = "A very fast and expressive template engine." -category = "main" optional = false python-versions = ">=3.7" +files = [ + {file = "jinja2-3.1.4-py3-none-any.whl", hash = "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d"}, + {file = "jinja2-3.1.4.tar.gz", hash = "sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369"}, +] [package.dependencies] MarkupSafe = ">=2.0" @@ -922,17 +1390,23 @@ i18n = ["Babel (>=2.7)"] name = "jmespath" version = "1.0.1" description = "JSON Matching Expressions" -category = "main" optional = true python-versions = ">=3.7" +files = [ + {file = "jmespath-1.0.1-py3-none-any.whl", hash = "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980"}, + {file = "jmespath-1.0.1.tar.gz", hash = "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe"}, +] [[package]] name = "jsonpatch" version = "1.33" description = "Apply JSON-Patches (RFC 6902)" -category = "main" optional = true python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*" +files = [ + {file = "jsonpatch-1.33-py2.py3-none-any.whl", hash = "sha256:0ae28c0cd062bbd8b8ecc26d7d164fbbea9652a1a3693f3b956c1eae5145dade"}, + {file = "jsonpatch-1.33.tar.gz", hash = "sha256:9fcd4009c41e6d12348b4a0ff2563ba56a2923a7dfee731d004e212e1ee5030c"}, +] [package.dependencies] jsonpointer = ">=1.9" @@ -941,30 +1415,39 @@ jsonpointer = ">=1.9" name = "jsonpickle" version = "2.2.0" description = "Python library for serializing any arbitrary object graph into JSON" -category = "main" optional = false python-versions = ">=2.7" +files = [ + {file = "jsonpickle-2.2.0-py2.py3-none-any.whl", hash = "sha256:de7f2613818aa4f234138ca11243d6359ff83ae528b2185efdd474f62bcf9ae1"}, + {file = "jsonpickle-2.2.0.tar.gz", hash = "sha256:7b272918b0554182e53dc340ddd62d9b7f902fec7e7b05620c04f3ccef479a0e"}, +] [package.extras] docs = ["jaraco.packaging (>=3.2)", "rst.linker (>=1.9)", "sphinx"] testing = ["ecdsa", "enum34", "feedparser", "jsonlib", "numpy", "pandas", "pymongo", "pytest (>=3.5,!=3.7.3)", "pytest-black-multipy", "pytest-checkdocs (>=1.2.3)", "pytest-cov", "pytest-flake8 (<1.1.0)", "pytest-flake8 (>=1.1.1)", "scikit-learn", "sqlalchemy"] -"testing.libs" = ["simplejson", "ujson", "yajl"] +testing-libs = ["simplejson", "ujson", "yajl"] [[package]] name = "jsonpointer" version = "3.0.0" description = "Identify specific nodes in a JSON document (RFC 6901)" -category = "main" optional = true python-versions = ">=3.7" +files = [ + {file = "jsonpointer-3.0.0-py2.py3-none-any.whl", hash = "sha256:13e088adc14fca8b6aa8177c044e12701e6ad4b28ff10e65f2267a90109c9942"}, + {file = "jsonpointer-3.0.0.tar.gz", hash = "sha256:2b2d729f2091522d61c3b31f82e11870f60b68f43fbc705cb76bf4b832af59ef"}, +] [[package]] name = "keystoneauth1" version = "5.7.0" description = "Authentication Library for OpenStack Identity" -category = "main" optional = true python-versions = ">=3.8" +files = [ + {file = "keystoneauth1-5.7.0-py3-none-any.whl", hash = "sha256:a3623bd03ed9a8cf1866d3eba113423e3cd898f74b79dd95598152b473a2cecc"}, + {file = "keystoneauth1-5.7.0.tar.gz", hash = "sha256:b2cc2d68d1a48e9c2c6d9b1b1fd00d7c7bdfe086e8040b51e70938a8ba3adfd1"}, +] [package.dependencies] iso8601 = ">=0.1.11" @@ -984,9 +1467,12 @@ test = ["PyYAML (>=3.12)", "bandit (>=1.7.6,<1.8.0)", "betamax (>=0.7.0)", "cove name = "kombu" version = "5.3.7" description = "Messaging library for Python." -category = "main" optional = false python-versions = ">=3.8" +files = [ + {file = "kombu-5.3.7-py3-none-any.whl", hash = "sha256:5634c511926309c7f9789f1433e9ed402616b56836ef9878f01bd59267b4c7a9"}, + {file = "kombu-5.3.7.tar.gz", hash = "sha256:011c4cd9a355c14a1de8d35d257314a1d2456d52b7140388561acac3cf1a97bf"}, +] [package.dependencies] amqp = ">=5.1.1,<6.0.0" @@ -1015,25 +1501,209 @@ zookeeper = ["kazoo (>=2.8.0)"] name = "lazy-object-proxy" version = "1.10.0" description = "A fast and thorough lazy object proxy." -category = "dev" optional = false python-versions = ">=3.8" +files = [ + {file = "lazy-object-proxy-1.10.0.tar.gz", hash = "sha256:78247b6d45f43a52ef35c25b5581459e85117225408a4128a3daf8bf9648ac69"}, + {file = "lazy_object_proxy-1.10.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:855e068b0358ab916454464a884779c7ffa312b8925c6f7401e952dcf3b89977"}, + {file = "lazy_object_proxy-1.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ab7004cf2e59f7c2e4345604a3e6ea0d92ac44e1c2375527d56492014e690c3"}, + {file = "lazy_object_proxy-1.10.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dc0d2fc424e54c70c4bc06787e4072c4f3b1aa2f897dfdc34ce1013cf3ceef05"}, + {file = "lazy_object_proxy-1.10.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e2adb09778797da09d2b5ebdbceebf7dd32e2c96f79da9052b2e87b6ea495895"}, + {file = "lazy_object_proxy-1.10.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b1f711e2c6dcd4edd372cf5dec5c5a30d23bba06ee012093267b3376c079ec83"}, + {file = "lazy_object_proxy-1.10.0-cp310-cp310-win32.whl", hash = "sha256:76a095cfe6045c7d0ca77db9934e8f7b71b14645f0094ffcd842349ada5c5fb9"}, + {file = "lazy_object_proxy-1.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:b4f87d4ed9064b2628da63830986c3d2dca7501e6018347798313fcf028e2fd4"}, + {file = "lazy_object_proxy-1.10.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:fec03caabbc6b59ea4a638bee5fce7117be8e99a4103d9d5ad77f15d6f81020c"}, + {file = "lazy_object_proxy-1.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:02c83f957782cbbe8136bee26416686a6ae998c7b6191711a04da776dc9e47d4"}, + {file = "lazy_object_proxy-1.10.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:009e6bb1f1935a62889ddc8541514b6a9e1fcf302667dcb049a0be5c8f613e56"}, + {file = "lazy_object_proxy-1.10.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:75fc59fc450050b1b3c203c35020bc41bd2695ed692a392924c6ce180c6f1dc9"}, + {file = "lazy_object_proxy-1.10.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:782e2c9b2aab1708ffb07d4bf377d12901d7a1d99e5e410d648d892f8967ab1f"}, + {file = "lazy_object_proxy-1.10.0-cp311-cp311-win32.whl", hash = "sha256:edb45bb8278574710e68a6b021599a10ce730d156e5b254941754a9cc0b17d03"}, + {file = "lazy_object_proxy-1.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:e271058822765ad5e3bca7f05f2ace0de58a3f4e62045a8c90a0dfd2f8ad8cc6"}, + {file = "lazy_object_proxy-1.10.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e98c8af98d5707dcdecc9ab0863c0ea6e88545d42ca7c3feffb6b4d1e370c7ba"}, + {file = "lazy_object_proxy-1.10.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:952c81d415b9b80ea261d2372d2a4a2332a3890c2b83e0535f263ddfe43f0d43"}, + {file = "lazy_object_proxy-1.10.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80b39d3a151309efc8cc48675918891b865bdf742a8616a337cb0090791a0de9"}, + {file = "lazy_object_proxy-1.10.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:e221060b701e2aa2ea991542900dd13907a5c90fa80e199dbf5a03359019e7a3"}, + {file = "lazy_object_proxy-1.10.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:92f09ff65ecff3108e56526f9e2481b8116c0b9e1425325e13245abfd79bdb1b"}, + {file = "lazy_object_proxy-1.10.0-cp312-cp312-win32.whl", hash = "sha256:3ad54b9ddbe20ae9f7c1b29e52f123120772b06dbb18ec6be9101369d63a4074"}, + {file = "lazy_object_proxy-1.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:127a789c75151db6af398b8972178afe6bda7d6f68730c057fbbc2e96b08d282"}, + {file = "lazy_object_proxy-1.10.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9e4ed0518a14dd26092614412936920ad081a424bdcb54cc13349a8e2c6d106a"}, + {file = "lazy_object_proxy-1.10.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5ad9e6ed739285919aa9661a5bbed0aaf410aa60231373c5579c6b4801bd883c"}, + {file = "lazy_object_proxy-1.10.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2fc0a92c02fa1ca1e84fc60fa258458e5bf89d90a1ddaeb8ed9cc3147f417255"}, + {file = "lazy_object_proxy-1.10.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:0aefc7591920bbd360d57ea03c995cebc204b424524a5bd78406f6e1b8b2a5d8"}, + {file = "lazy_object_proxy-1.10.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5faf03a7d8942bb4476e3b62fd0f4cf94eaf4618e304a19865abf89a35c0bbee"}, + {file = "lazy_object_proxy-1.10.0-cp38-cp38-win32.whl", hash = "sha256:e333e2324307a7b5d86adfa835bb500ee70bfcd1447384a822e96495796b0ca4"}, + {file = "lazy_object_proxy-1.10.0-cp38-cp38-win_amd64.whl", hash = "sha256:cb73507defd385b7705c599a94474b1d5222a508e502553ef94114a143ec6696"}, + {file = "lazy_object_proxy-1.10.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:366c32fe5355ef5fc8a232c5436f4cc66e9d3e8967c01fb2e6302fd6627e3d94"}, + {file = "lazy_object_proxy-1.10.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2297f08f08a2bb0d32a4265e98a006643cd7233fb7983032bd61ac7a02956b3b"}, + {file = "lazy_object_proxy-1.10.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18dd842b49456aaa9a7cf535b04ca4571a302ff72ed8740d06b5adcd41fe0757"}, + {file = "lazy_object_proxy-1.10.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:217138197c170a2a74ca0e05bddcd5f1796c735c37d0eee33e43259b192aa424"}, + {file = "lazy_object_proxy-1.10.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9a3a87cf1e133e5b1994144c12ca4aa3d9698517fe1e2ca82977781b16955658"}, + {file = "lazy_object_proxy-1.10.0-cp39-cp39-win32.whl", hash = "sha256:30b339b2a743c5288405aa79a69e706a06e02958eab31859f7f3c04980853b70"}, + {file = "lazy_object_proxy-1.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:a899b10e17743683b293a729d3a11f2f399e8a90c73b089e29f5d0fe3509f0dd"}, + {file = "lazy_object_proxy-1.10.0-pp310.pp311.pp312.pp38.pp39-none-any.whl", hash = "sha256:80fa48bd89c8f2f456fc0765c11c23bf5af827febacd2f523ca5bc1893fcc09d"}, +] [[package]] name = "lockfile" version = "0.12.2" description = "Platform-independent file locking module" -category = "main" optional = false python-versions = "*" +files = [ + {file = "lockfile-0.12.2-py2.py3-none-any.whl", hash = "sha256:6c3cb24f344923d30b2785d5ad75182c8ea7ac1b6171b08657258ec7429d50fa"}, + {file = "lockfile-0.12.2.tar.gz", hash = "sha256:6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799"}, +] [[package]] name = "lxml" version = "5.2.2" description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API." -category = "dev" optional = false python-versions = ">=3.6" +files = [ + {file = "lxml-5.2.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:364d03207f3e603922d0d3932ef363d55bbf48e3647395765f9bfcbdf6d23632"}, + {file = "lxml-5.2.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:50127c186f191b8917ea2fb8b206fbebe87fd414a6084d15568c27d0a21d60db"}, + {file = "lxml-5.2.2-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:74e4f025ef3db1c6da4460dd27c118d8cd136d0391da4e387a15e48e5c975147"}, + {file = "lxml-5.2.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:981a06a3076997adf7c743dcd0d7a0415582661e2517c7d961493572e909aa1d"}, + {file = "lxml-5.2.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aef5474d913d3b05e613906ba4090433c515e13ea49c837aca18bde190853dff"}, + {file = "lxml-5.2.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1e275ea572389e41e8b039ac076a46cb87ee6b8542df3fff26f5baab43713bca"}, + {file = "lxml-5.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5b65529bb2f21ac7861a0e94fdbf5dc0daab41497d18223b46ee8515e5ad297"}, + {file = "lxml-5.2.2-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:bcc98f911f10278d1daf14b87d65325851a1d29153caaf146877ec37031d5f36"}, + {file = "lxml-5.2.2-cp310-cp310-manylinux_2_28_ppc64le.whl", hash = "sha256:b47633251727c8fe279f34025844b3b3a3e40cd1b198356d003aa146258d13a2"}, + {file = "lxml-5.2.2-cp310-cp310-manylinux_2_28_s390x.whl", hash = "sha256:fbc9d316552f9ef7bba39f4edfad4a734d3d6f93341232a9dddadec4f15d425f"}, + {file = "lxml-5.2.2-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:13e69be35391ce72712184f69000cda04fc89689429179bc4c0ae5f0b7a8c21b"}, + {file = "lxml-5.2.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:3b6a30a9ab040b3f545b697cb3adbf3696c05a3a68aad172e3fd7ca73ab3c835"}, + {file = "lxml-5.2.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:a233bb68625a85126ac9f1fc66d24337d6e8a0f9207b688eec2e7c880f012ec0"}, + {file = "lxml-5.2.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:dfa7c241073d8f2b8e8dbc7803c434f57dbb83ae2a3d7892dd068d99e96efe2c"}, + {file = "lxml-5.2.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1a7aca7964ac4bb07680d5c9d63b9d7028cace3e2d43175cb50bba8c5ad33316"}, + {file = "lxml-5.2.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ae4073a60ab98529ab8a72ebf429f2a8cc612619a8c04e08bed27450d52103c0"}, + {file = "lxml-5.2.2-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:ffb2be176fed4457e445fe540617f0252a72a8bc56208fd65a690fdb1f57660b"}, + {file = "lxml-5.2.2-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:e290d79a4107d7d794634ce3e985b9ae4f920380a813717adf61804904dc4393"}, + {file = "lxml-5.2.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:96e85aa09274955bb6bd483eaf5b12abadade01010478154b0ec70284c1b1526"}, + {file = "lxml-5.2.2-cp310-cp310-win32.whl", hash = "sha256:f956196ef61369f1685d14dad80611488d8dc1ef00be57c0c5a03064005b0f30"}, + {file = "lxml-5.2.2-cp310-cp310-win_amd64.whl", hash = "sha256:875a3f90d7eb5c5d77e529080d95140eacb3c6d13ad5b616ee8095447b1d22e7"}, + {file = "lxml-5.2.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:45f9494613160d0405682f9eee781c7e6d1bf45f819654eb249f8f46a2c22545"}, + {file = "lxml-5.2.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b0b3f2df149efb242cee2ffdeb6674b7f30d23c9a7af26595099afaf46ef4e88"}, + {file = "lxml-5.2.2-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d28cb356f119a437cc58a13f8135ab8a4c8ece18159eb9194b0d269ec4e28083"}, + {file = "lxml-5.2.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:657a972f46bbefdbba2d4f14413c0d079f9ae243bd68193cb5061b9732fa54c1"}, + {file = "lxml-5.2.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b74b9ea10063efb77a965a8d5f4182806fbf59ed068b3c3fd6f30d2ac7bee734"}, + {file = "lxml-5.2.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:07542787f86112d46d07d4f3c4e7c760282011b354d012dc4141cc12a68cef5f"}, + {file = "lxml-5.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:303f540ad2dddd35b92415b74b900c749ec2010e703ab3bfd6660979d01fd4ed"}, + {file = "lxml-5.2.2-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:2eb2227ce1ff998faf0cd7fe85bbf086aa41dfc5af3b1d80867ecfe75fb68df3"}, + {file = "lxml-5.2.2-cp311-cp311-manylinux_2_28_ppc64le.whl", hash = "sha256:1d8a701774dfc42a2f0b8ccdfe7dbc140500d1049e0632a611985d943fcf12df"}, + {file = "lxml-5.2.2-cp311-cp311-manylinux_2_28_s390x.whl", hash = "sha256:56793b7a1a091a7c286b5f4aa1fe4ae5d1446fe742d00cdf2ffb1077865db10d"}, + {file = "lxml-5.2.2-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:eb00b549b13bd6d884c863554566095bf6fa9c3cecb2e7b399c4bc7904cb33b5"}, + {file = "lxml-5.2.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:1a2569a1f15ae6c8c64108a2cd2b4a858fc1e13d25846be0666fc144715e32ab"}, + {file = "lxml-5.2.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:8cf85a6e40ff1f37fe0f25719aadf443686b1ac7652593dc53c7ef9b8492b115"}, + {file = "lxml-5.2.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:d237ba6664b8e60fd90b8549a149a74fcc675272e0e95539a00522e4ca688b04"}, + {file = "lxml-5.2.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:0b3f5016e00ae7630a4b83d0868fca1e3d494c78a75b1c7252606a3a1c5fc2ad"}, + {file = "lxml-5.2.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:23441e2b5339bc54dc949e9e675fa35efe858108404ef9aa92f0456929ef6fe8"}, + {file = "lxml-5.2.2-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:2fb0ba3e8566548d6c8e7dd82a8229ff47bd8fb8c2da237607ac8e5a1b8312e5"}, + {file = "lxml-5.2.2-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:79d1fb9252e7e2cfe4de6e9a6610c7cbb99b9708e2c3e29057f487de5a9eaefa"}, + {file = "lxml-5.2.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6dcc3d17eac1df7859ae01202e9bb11ffa8c98949dcbeb1069c8b9a75917e01b"}, + {file = "lxml-5.2.2-cp311-cp311-win32.whl", hash = "sha256:4c30a2f83677876465f44c018830f608fa3c6a8a466eb223535035fbc16f3438"}, + {file = "lxml-5.2.2-cp311-cp311-win_amd64.whl", hash = "sha256:49095a38eb333aaf44c06052fd2ec3b8f23e19747ca7ec6f6c954ffea6dbf7be"}, + {file = "lxml-5.2.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:7429e7faa1a60cad26ae4227f4dd0459efde239e494c7312624ce228e04f6391"}, + {file = "lxml-5.2.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:50ccb5d355961c0f12f6cf24b7187dbabd5433f29e15147a67995474f27d1776"}, + {file = "lxml-5.2.2-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dc911208b18842a3a57266d8e51fc3cfaccee90a5351b92079beed912a7914c2"}, + {file = "lxml-5.2.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:33ce9e786753743159799fdf8e92a5da351158c4bfb6f2db0bf31e7892a1feb5"}, + {file = "lxml-5.2.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ec87c44f619380878bd49ca109669c9f221d9ae6883a5bcb3616785fa8f94c97"}, + {file = "lxml-5.2.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:08ea0f606808354eb8f2dfaac095963cb25d9d28e27edcc375d7b30ab01abbf6"}, + {file = "lxml-5.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75a9632f1d4f698b2e6e2e1ada40e71f369b15d69baddb8968dcc8e683839b18"}, + {file = "lxml-5.2.2-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:74da9f97daec6928567b48c90ea2c82a106b2d500f397eeb8941e47d30b1ca85"}, + {file = "lxml-5.2.2-cp312-cp312-manylinux_2_28_ppc64le.whl", hash = "sha256:0969e92af09c5687d769731e3f39ed62427cc72176cebb54b7a9d52cc4fa3b73"}, + {file = "lxml-5.2.2-cp312-cp312-manylinux_2_28_s390x.whl", hash = "sha256:9164361769b6ca7769079f4d426a41df6164879f7f3568be9086e15baca61466"}, + {file = "lxml-5.2.2-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:d26a618ae1766279f2660aca0081b2220aca6bd1aa06b2cf73f07383faf48927"}, + {file = "lxml-5.2.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ab67ed772c584b7ef2379797bf14b82df9aa5f7438c5b9a09624dd834c1c1aaf"}, + {file = "lxml-5.2.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:3d1e35572a56941b32c239774d7e9ad724074d37f90c7a7d499ab98761bd80cf"}, + {file = "lxml-5.2.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:8268cbcd48c5375f46e000adb1390572c98879eb4f77910c6053d25cc3ac2c67"}, + {file = "lxml-5.2.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:e282aedd63c639c07c3857097fc0e236f984ceb4089a8b284da1c526491e3f3d"}, + {file = "lxml-5.2.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6dfdc2bfe69e9adf0df4915949c22a25b39d175d599bf98e7ddf620a13678585"}, + {file = "lxml-5.2.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4aefd911793b5d2d7a921233a54c90329bf3d4a6817dc465f12ffdfe4fc7b8fe"}, + {file = "lxml-5.2.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:8b8df03a9e995b6211dafa63b32f9d405881518ff1ddd775db4e7b98fb545e1c"}, + {file = "lxml-5.2.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f11ae142f3a322d44513de1018b50f474f8f736bc3cd91d969f464b5bfef8836"}, + {file = "lxml-5.2.2-cp312-cp312-win32.whl", hash = "sha256:16a8326e51fcdffc886294c1e70b11ddccec836516a343f9ed0f82aac043c24a"}, + {file = "lxml-5.2.2-cp312-cp312-win_amd64.whl", hash = "sha256:bbc4b80af581e18568ff07f6395c02114d05f4865c2812a1f02f2eaecf0bfd48"}, + {file = "lxml-5.2.2-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:e3d9d13603410b72787579769469af730c38f2f25505573a5888a94b62b920f8"}, + {file = "lxml-5.2.2-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:38b67afb0a06b8575948641c1d6d68e41b83a3abeae2ca9eed2ac59892b36706"}, + {file = "lxml-5.2.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c689d0d5381f56de7bd6966a4541bff6e08bf8d3871bbd89a0c6ab18aa699573"}, + {file = "lxml-5.2.2-cp36-cp36m-manylinux_2_28_x86_64.whl", hash = "sha256:cf2a978c795b54c539f47964ec05e35c05bd045db5ca1e8366988c7f2fe6b3ce"}, + {file = "lxml-5.2.2-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:739e36ef7412b2bd940f75b278749106e6d025e40027c0b94a17ef7968d55d56"}, + {file = "lxml-5.2.2-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:d8bbcd21769594dbba9c37d3c819e2d5847656ca99c747ddb31ac1701d0c0ed9"}, + {file = "lxml-5.2.2-cp36-cp36m-musllinux_1_2_x86_64.whl", hash = "sha256:2304d3c93f2258ccf2cf7a6ba8c761d76ef84948d87bf9664e14d203da2cd264"}, + {file = "lxml-5.2.2-cp36-cp36m-win32.whl", hash = "sha256:02437fb7308386867c8b7b0e5bc4cd4b04548b1c5d089ffb8e7b31009b961dc3"}, + {file = "lxml-5.2.2-cp36-cp36m-win_amd64.whl", hash = "sha256:edcfa83e03370032a489430215c1e7783128808fd3e2e0a3225deee278585196"}, + {file = "lxml-5.2.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:28bf95177400066596cdbcfc933312493799382879da504633d16cf60bba735b"}, + {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3a745cc98d504d5bd2c19b10c79c61c7c3df9222629f1b6210c0368177589fb8"}, + {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b590b39ef90c6b22ec0be925b211298e810b4856909c8ca60d27ffbca6c12e6"}, + {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b336b0416828022bfd5a2e3083e7f5ba54b96242159f83c7e3eebaec752f1716"}, + {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_28_aarch64.whl", hash = "sha256:c2faf60c583af0d135e853c86ac2735ce178f0e338a3c7f9ae8f622fd2eb788c"}, + {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_28_x86_64.whl", hash = "sha256:4bc6cb140a7a0ad1f7bc37e018d0ed690b7b6520ade518285dc3171f7a117905"}, + {file = "lxml-5.2.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7ff762670cada8e05b32bf1e4dc50b140790909caa8303cfddc4d702b71ea184"}, + {file = "lxml-5.2.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:57f0a0bbc9868e10ebe874e9f129d2917750adf008fe7b9c1598c0fbbfdde6a6"}, + {file = "lxml-5.2.2-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:a6d2092797b388342c1bc932077ad232f914351932353e2e8706851c870bca1f"}, + {file = "lxml-5.2.2-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:60499fe961b21264e17a471ec296dcbf4365fbea611bf9e303ab69db7159ce61"}, + {file = "lxml-5.2.2-cp37-cp37m-win32.whl", hash = "sha256:d9b342c76003c6b9336a80efcc766748a333573abf9350f4094ee46b006ec18f"}, + {file = "lxml-5.2.2-cp37-cp37m-win_amd64.whl", hash = "sha256:b16db2770517b8799c79aa80f4053cd6f8b716f21f8aca962725a9565ce3ee40"}, + {file = "lxml-5.2.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:7ed07b3062b055d7a7f9d6557a251cc655eed0b3152b76de619516621c56f5d3"}, + {file = "lxml-5.2.2-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f60fdd125d85bf9c279ffb8e94c78c51b3b6a37711464e1f5f31078b45002421"}, + {file = "lxml-5.2.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8a7e24cb69ee5f32e003f50e016d5fde438010c1022c96738b04fc2423e61706"}, + {file = "lxml-5.2.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:23cfafd56887eaed93d07bc4547abd5e09d837a002b791e9767765492a75883f"}, + {file = "lxml-5.2.2-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:19b4e485cd07b7d83e3fe3b72132e7df70bfac22b14fe4bf7a23822c3a35bff5"}, + {file = "lxml-5.2.2-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:7ce7ad8abebe737ad6143d9d3bf94b88b93365ea30a5b81f6877ec9c0dee0a48"}, + {file = "lxml-5.2.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:e49b052b768bb74f58c7dda4e0bdf7b79d43a9204ca584ffe1fb48a6f3c84c66"}, + {file = "lxml-5.2.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d14a0d029a4e176795cef99c056d58067c06195e0c7e2dbb293bf95c08f772a3"}, + {file = "lxml-5.2.2-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:be49ad33819d7dcc28a309b86d4ed98e1a65f3075c6acd3cd4fe32103235222b"}, + {file = "lxml-5.2.2-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:a6d17e0370d2516d5bb9062c7b4cb731cff921fc875644c3d751ad857ba9c5b1"}, + {file = "lxml-5.2.2-cp38-cp38-win32.whl", hash = "sha256:5b8c041b6265e08eac8a724b74b655404070b636a8dd6d7a13c3adc07882ef30"}, + {file = "lxml-5.2.2-cp38-cp38-win_amd64.whl", hash = "sha256:f61efaf4bed1cc0860e567d2ecb2363974d414f7f1f124b1df368bbf183453a6"}, + {file = "lxml-5.2.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:fb91819461b1b56d06fa4bcf86617fac795f6a99d12239fb0c68dbeba41a0a30"}, + {file = "lxml-5.2.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d4ed0c7cbecde7194cd3228c044e86bf73e30a23505af852857c09c24e77ec5d"}, + {file = "lxml-5.2.2-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:54401c77a63cc7d6dc4b4e173bb484f28a5607f3df71484709fe037c92d4f0ed"}, + {file = "lxml-5.2.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:625e3ef310e7fa3a761d48ca7ea1f9d8718a32b1542e727d584d82f4453d5eeb"}, + {file = "lxml-5.2.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:519895c99c815a1a24a926d5b60627ce5ea48e9f639a5cd328bda0515ea0f10c"}, + {file = "lxml-5.2.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c7079d5eb1c1315a858bbf180000757db8ad904a89476653232db835c3114001"}, + {file = "lxml-5.2.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:343ab62e9ca78094f2306aefed67dcfad61c4683f87eee48ff2fd74902447726"}, + {file = "lxml-5.2.2-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:cd9e78285da6c9ba2d5c769628f43ef66d96ac3085e59b10ad4f3707980710d3"}, + {file = "lxml-5.2.2-cp39-cp39-manylinux_2_28_ppc64le.whl", hash = "sha256:546cf886f6242dff9ec206331209db9c8e1643ae642dea5fdbecae2453cb50fd"}, + {file = "lxml-5.2.2-cp39-cp39-manylinux_2_28_s390x.whl", hash = "sha256:02f6a8eb6512fdc2fd4ca10a49c341c4e109aa6e9448cc4859af5b949622715a"}, + {file = "lxml-5.2.2-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:339ee4a4704bc724757cd5dd9dc8cf4d00980f5d3e6e06d5847c1b594ace68ab"}, + {file = "lxml-5.2.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0a028b61a2e357ace98b1615fc03f76eb517cc028993964fe08ad514b1e8892d"}, + {file = "lxml-5.2.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:f90e552ecbad426eab352e7b2933091f2be77115bb16f09f78404861c8322981"}, + {file = "lxml-5.2.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:d83e2d94b69bf31ead2fa45f0acdef0757fa0458a129734f59f67f3d2eb7ef32"}, + {file = "lxml-5.2.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a02d3c48f9bb1e10c7788d92c0c7db6f2002d024ab6e74d6f45ae33e3d0288a3"}, + {file = "lxml-5.2.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:6d68ce8e7b2075390e8ac1e1d3a99e8b6372c694bbe612632606d1d546794207"}, + {file = "lxml-5.2.2-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:453d037e09a5176d92ec0fd282e934ed26d806331a8b70ab431a81e2fbabf56d"}, + {file = "lxml-5.2.2-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:3b019d4ee84b683342af793b56bb35034bd749e4cbdd3d33f7d1107790f8c472"}, + {file = "lxml-5.2.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:cb3942960f0beb9f46e2a71a3aca220d1ca32feb5a398656be934320804c0df9"}, + {file = "lxml-5.2.2-cp39-cp39-win32.whl", hash = "sha256:ac6540c9fff6e3813d29d0403ee7a81897f1d8ecc09a8ff84d2eea70ede1cdbf"}, + {file = "lxml-5.2.2-cp39-cp39-win_amd64.whl", hash = "sha256:610b5c77428a50269f38a534057444c249976433f40f53e3b47e68349cca1425"}, + {file = "lxml-5.2.2-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:b537bd04d7ccd7c6350cdaaaad911f6312cbd61e6e6045542f781c7f8b2e99d2"}, + {file = "lxml-5.2.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4820c02195d6dfb7b8508ff276752f6b2ff8b64ae5d13ebe02e7667e035000b9"}, + {file = "lxml-5.2.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2a09f6184f17a80897172863a655467da2b11151ec98ba8d7af89f17bf63dae"}, + {file = "lxml-5.2.2-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:76acba4c66c47d27c8365e7c10b3d8016a7da83d3191d053a58382311a8bf4e1"}, + {file = "lxml-5.2.2-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:b128092c927eaf485928cec0c28f6b8bead277e28acf56800e972aa2c2abd7a2"}, + {file = "lxml-5.2.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ae791f6bd43305aade8c0e22f816b34f3b72b6c820477aab4d18473a37e8090b"}, + {file = "lxml-5.2.2-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a2f6a1bc2460e643785a2cde17293bd7a8f990884b822f7bca47bee0a82fc66b"}, + {file = "lxml-5.2.2-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e8d351ff44c1638cb6e980623d517abd9f580d2e53bfcd18d8941c052a5a009"}, + {file = "lxml-5.2.2-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bec4bd9133420c5c52d562469c754f27c5c9e36ee06abc169612c959bd7dbb07"}, + {file = "lxml-5.2.2-pp37-pypy37_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:55ce6b6d803890bd3cc89975fca9de1dff39729b43b73cb15ddd933b8bc20484"}, + {file = "lxml-5.2.2-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:8ab6a358d1286498d80fe67bd3d69fcbc7d1359b45b41e74c4a26964ca99c3f8"}, + {file = "lxml-5.2.2-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:06668e39e1f3c065349c51ac27ae430719d7806c026fec462e5693b08b95696b"}, + {file = "lxml-5.2.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:9cd5323344d8ebb9fb5e96da5de5ad4ebab993bbf51674259dbe9d7a18049525"}, + {file = "lxml-5.2.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89feb82ca055af0fe797a2323ec9043b26bc371365847dbe83c7fd2e2f181c34"}, + {file = "lxml-5.2.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e481bba1e11ba585fb06db666bfc23dbe181dbafc7b25776156120bf12e0d5a6"}, + {file = "lxml-5.2.2-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:9d6c6ea6a11ca0ff9cd0390b885984ed31157c168565702959c25e2191674a14"}, + {file = "lxml-5.2.2-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:3d98de734abee23e61f6b8c2e08a88453ada7d6486dc7cdc82922a03968928db"}, + {file = "lxml-5.2.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:69ab77a1373f1e7563e0fb5a29a8440367dec051da6c7405333699d07444f511"}, + {file = "lxml-5.2.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:34e17913c431f5ae01d8658dbf792fdc457073dcdfbb31dc0cc6ab256e664a8d"}, + {file = "lxml-5.2.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:05f8757b03208c3f50097761be2dea0aba02e94f0dc7023ed73a7bb14ff11eb0"}, + {file = "lxml-5.2.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6a520b4f9974b0a0a6ed73c2154de57cdfd0c8800f4f15ab2b73238ffed0b36e"}, + {file = "lxml-5.2.2-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:5e097646944b66207023bc3c634827de858aebc226d5d4d6d16f0b77566ea182"}, + {file = "lxml-5.2.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:b5e4ef22ff25bfd4ede5f8fb30f7b24446345f3e79d9b7455aef2836437bc38a"}, + {file = "lxml-5.2.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:ff69a9a0b4b17d78170c73abe2ab12084bdf1691550c5629ad1fe7849433f324"}, + {file = "lxml-5.2.2.tar.gz", hash = "sha256:bb2dc4898180bea79863d5487e5f9c7c34297414bad54bcd0f0852aee9cfdb87"}, +] [package.extras] cssselect = ["cssselect (>=0.7)"] @@ -1046,49 +1716,179 @@ source = ["Cython (>=3.0.10)"] name = "MarkupSafe" version = "2.1.5" description = "Safely add untrusted strings to HTML/XML markup." -category = "main" optional = false python-versions = ">=3.7" - -[[package]] -name = "mccabe" -version = "0.7.0" -description = "McCabe checker, plugin for flake8" -category = "dev" -optional = false -python-versions = ">=3.6" - -[[package]] -name = "mistune" -version = "3.0.2" -description = "A sane and fast Markdown parser with useful plugins and renderers" -category = "main" -optional = false -python-versions = ">=3.7" - -[[package]] +files = [ + {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-win32.whl", hash = "sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-win_amd64.whl", hash = "sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5"}, + {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"}, +] + +[[package]] +name = "mccabe" +version = "0.7.0" +description = "McCabe checker, plugin for flake8" +optional = false +python-versions = ">=3.6" +files = [ + {file = "mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"}, + {file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"}, +] + +[[package]] +name = "mistune" +version = "3.0.2" +description = "A sane and fast Markdown parser with useful plugins and renderers" +optional = false +python-versions = ">=3.7" +files = [ + {file = "mistune-3.0.2-py3-none-any.whl", hash = "sha256:71481854c30fdbc938963d3605b72501f5c10a9320ecd412c121c163a1c7d205"}, + {file = "mistune-3.0.2.tar.gz", hash = "sha256:fc7f93ded930c92394ef2cb6f04a8aabab4117a91449e72dcc8dfa646a508be8"}, +] + +[[package]] name = "msgpack" version = "1.0.8" description = "MessagePack serializer" -category = "main" optional = false python-versions = ">=3.8" +files = [ + {file = "msgpack-1.0.8-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:505fe3d03856ac7d215dbe005414bc28505d26f0c128906037e66d98c4e95868"}, + {file = "msgpack-1.0.8-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e6b7842518a63a9f17107eb176320960ec095a8ee3b4420b5f688e24bf50c53c"}, + {file = "msgpack-1.0.8-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:376081f471a2ef24828b83a641a02c575d6103a3ad7fd7dade5486cad10ea659"}, + {file = "msgpack-1.0.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5e390971d082dba073c05dbd56322427d3280b7cc8b53484c9377adfbae67dc2"}, + {file = "msgpack-1.0.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00e073efcba9ea99db5acef3959efa45b52bc67b61b00823d2a1a6944bf45982"}, + {file = "msgpack-1.0.8-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82d92c773fbc6942a7a8b520d22c11cfc8fd83bba86116bfcf962c2f5c2ecdaa"}, + {file = "msgpack-1.0.8-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:9ee32dcb8e531adae1f1ca568822e9b3a738369b3b686d1477cbc643c4a9c128"}, + {file = "msgpack-1.0.8-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e3aa7e51d738e0ec0afbed661261513b38b3014754c9459508399baf14ae0c9d"}, + {file = "msgpack-1.0.8-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:69284049d07fce531c17404fcba2bb1df472bc2dcdac642ae71a2d079d950653"}, + {file = "msgpack-1.0.8-cp310-cp310-win32.whl", hash = "sha256:13577ec9e247f8741c84d06b9ece5f654920d8365a4b636ce0e44f15e07ec693"}, + {file = "msgpack-1.0.8-cp310-cp310-win_amd64.whl", hash = "sha256:e532dbd6ddfe13946de050d7474e3f5fb6ec774fbb1a188aaf469b08cf04189a"}, + {file = "msgpack-1.0.8-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9517004e21664f2b5a5fd6333b0731b9cf0817403a941b393d89a2f1dc2bd836"}, + {file = "msgpack-1.0.8-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d16a786905034e7e34098634b184a7d81f91d4c3d246edc6bd7aefb2fd8ea6ad"}, + {file = "msgpack-1.0.8-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e2872993e209f7ed04d963e4b4fbae72d034844ec66bc4ca403329db2074377b"}, + {file = "msgpack-1.0.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c330eace3dd100bdb54b5653b966de7f51c26ec4a7d4e87132d9b4f738220ba"}, + {file = "msgpack-1.0.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:83b5c044f3eff2a6534768ccfd50425939e7a8b5cf9a7261c385de1e20dcfc85"}, + {file = "msgpack-1.0.8-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1876b0b653a808fcd50123b953af170c535027bf1d053b59790eebb0aeb38950"}, + {file = "msgpack-1.0.8-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:dfe1f0f0ed5785c187144c46a292b8c34c1295c01da12e10ccddfc16def4448a"}, + {file = "msgpack-1.0.8-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:3528807cbbb7f315bb81959d5961855e7ba52aa60a3097151cb21956fbc7502b"}, + {file = "msgpack-1.0.8-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e2f879ab92ce502a1e65fce390eab619774dda6a6ff719718069ac94084098ce"}, + {file = "msgpack-1.0.8-cp311-cp311-win32.whl", hash = "sha256:26ee97a8261e6e35885c2ecd2fd4a6d38252246f94a2aec23665a4e66d066305"}, + {file = "msgpack-1.0.8-cp311-cp311-win_amd64.whl", hash = "sha256:eadb9f826c138e6cf3c49d6f8de88225a3c0ab181a9b4ba792e006e5292d150e"}, + {file = "msgpack-1.0.8-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:114be227f5213ef8b215c22dde19532f5da9652e56e8ce969bf0a26d7c419fee"}, + {file = "msgpack-1.0.8-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d661dc4785affa9d0edfdd1e59ec056a58b3dbb9f196fa43587f3ddac654ac7b"}, + {file = "msgpack-1.0.8-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d56fd9f1f1cdc8227d7b7918f55091349741904d9520c65f0139a9755952c9e8"}, + {file = "msgpack-1.0.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0726c282d188e204281ebd8de31724b7d749adebc086873a59efb8cf7ae27df3"}, + {file = "msgpack-1.0.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8db8e423192303ed77cff4dce3a4b88dbfaf43979d280181558af5e2c3c71afc"}, + {file = "msgpack-1.0.8-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:99881222f4a8c2f641f25703963a5cefb076adffd959e0558dc9f803a52d6a58"}, + {file = "msgpack-1.0.8-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:b5505774ea2a73a86ea176e8a9a4a7c8bf5d521050f0f6f8426afe798689243f"}, + {file = "msgpack-1.0.8-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:ef254a06bcea461e65ff0373d8a0dd1ed3aa004af48839f002a0c994a6f72d04"}, + {file = "msgpack-1.0.8-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:e1dd7839443592d00e96db831eddb4111a2a81a46b028f0facd60a09ebbdd543"}, + {file = "msgpack-1.0.8-cp312-cp312-win32.whl", hash = "sha256:64d0fcd436c5683fdd7c907eeae5e2cbb5eb872fafbc03a43609d7941840995c"}, + {file = "msgpack-1.0.8-cp312-cp312-win_amd64.whl", hash = "sha256:74398a4cf19de42e1498368c36eed45d9528f5fd0155241e82c4082b7e16cffd"}, + {file = "msgpack-1.0.8-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:0ceea77719d45c839fd73abcb190b8390412a890df2f83fb8cf49b2a4b5c2f40"}, + {file = "msgpack-1.0.8-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1ab0bbcd4d1f7b6991ee7c753655b481c50084294218de69365f8f1970d4c151"}, + {file = "msgpack-1.0.8-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:1cce488457370ffd1f953846f82323cb6b2ad2190987cd4d70b2713e17268d24"}, + {file = "msgpack-1.0.8-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3923a1778f7e5ef31865893fdca12a8d7dc03a44b33e2a5f3295416314c09f5d"}, + {file = "msgpack-1.0.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a22e47578b30a3e199ab067a4d43d790249b3c0587d9a771921f86250c8435db"}, + {file = "msgpack-1.0.8-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bd739c9251d01e0279ce729e37b39d49a08c0420d3fee7f2a4968c0576678f77"}, + {file = "msgpack-1.0.8-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:d3420522057ebab1728b21ad473aa950026d07cb09da41103f8e597dfbfaeb13"}, + {file = "msgpack-1.0.8-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:5845fdf5e5d5b78a49b826fcdc0eb2e2aa7191980e3d2cfd2a30303a74f212e2"}, + {file = "msgpack-1.0.8-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6a0e76621f6e1f908ae52860bdcb58e1ca85231a9b0545e64509c931dd34275a"}, + {file = "msgpack-1.0.8-cp38-cp38-win32.whl", hash = "sha256:374a8e88ddab84b9ada695d255679fb99c53513c0a51778796fcf0944d6c789c"}, + {file = "msgpack-1.0.8-cp38-cp38-win_amd64.whl", hash = "sha256:f3709997b228685fe53e8c433e2df9f0cdb5f4542bd5114ed17ac3c0129b0480"}, + {file = "msgpack-1.0.8-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f51bab98d52739c50c56658cc303f190785f9a2cd97b823357e7aeae54c8f68a"}, + {file = "msgpack-1.0.8-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:73ee792784d48aa338bba28063e19a27e8d989344f34aad14ea6e1b9bd83f596"}, + {file = "msgpack-1.0.8-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f9904e24646570539a8950400602d66d2b2c492b9010ea7e965025cb71d0c86d"}, + {file = "msgpack-1.0.8-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e75753aeda0ddc4c28dce4c32ba2f6ec30b1b02f6c0b14e547841ba5b24f753f"}, + {file = "msgpack-1.0.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5dbf059fb4b7c240c873c1245ee112505be27497e90f7c6591261c7d3c3a8228"}, + {file = "msgpack-1.0.8-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4916727e31c28be8beaf11cf117d6f6f188dcc36daae4e851fee88646f5b6b18"}, + {file = "msgpack-1.0.8-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:7938111ed1358f536daf311be244f34df7bf3cdedb3ed883787aca97778b28d8"}, + {file = "msgpack-1.0.8-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:493c5c5e44b06d6c9268ce21b302c9ca055c1fd3484c25ba41d34476c76ee746"}, + {file = "msgpack-1.0.8-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5fbb160554e319f7b22ecf530a80a3ff496d38e8e07ae763b9e82fadfe96f273"}, + {file = "msgpack-1.0.8-cp39-cp39-win32.whl", hash = "sha256:f9af38a89b6a5c04b7d18c492c8ccf2aee7048aff1ce8437c4683bb5a1df893d"}, + {file = "msgpack-1.0.8-cp39-cp39-win_amd64.whl", hash = "sha256:ed59dd52075f8fc91da6053b12e8c89e37aa043f8986efd89e61fae69dc1b011"}, + {file = "msgpack-1.0.8.tar.gz", hash = "sha256:95c02b0e27e706e48d0e5426d1710ca78e0f0628d6e89d5b5a5b91a5f12274f3"}, +] [[package]] name = "mypy-extensions" version = "1.0.0" description = "Type system extensions for programs checked with the mypy type checker." -category = "main" optional = false python-versions = ">=3.5" +files = [ + {file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"}, + {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, +] [[package]] name = "neo4j" version = "5.22.0" description = "Neo4j Bolt driver for Python" -category = "main" optional = false python-versions = ">=3.7" +files = [ + {file = "neo4j-5.22.0-py3-none-any.whl", hash = "sha256:8146755ac93d33cee594975172c15cffb68ab158e3358bb7a73b5e0b83367006"}, + {file = "neo4j-5.22.0.tar.gz", hash = "sha256:199677239ce11fcecabce9962af515df271c1313ba110e737dd7d668fccd0c04"}, +] [package.dependencies] pytz = "*" @@ -1102,9 +1902,12 @@ pyarrow = ["pyarrow (>=1.0.0)"] name = "netaddr" version = "1.3.0" description = "A network address manipulation library for Python" -category = "main" optional = true python-versions = ">=3.7" +files = [ + {file = "netaddr-1.3.0-py3-none-any.whl", hash = "sha256:c2c6a8ebe5554ce33b7d5b3a306b71bbb373e000bbbf2350dd5213cc56e3dbbe"}, + {file = "netaddr-1.3.0.tar.gz", hash = "sha256:5c3c3d9895b551b763779ba7db7a03487dc1f8e3b385af819af341ae9ef6e48a"}, +] [package.extras] nicer-shell = ["ipython"] @@ -1113,17 +1916,51 @@ nicer-shell = ["ipython"] name = "netifaces" version = "0.11.0" description = "Portable network interface information." -category = "main" optional = true python-versions = "*" +files = [ + {file = "netifaces-0.11.0-cp27-cp27m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:eb4813b77d5df99903af4757ce980a98c4d702bbcb81f32a0b305a1537bdf0b1"}, + {file = "netifaces-0.11.0-cp27-cp27m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:5f9ca13babe4d845e400921973f6165a4c2f9f3379c7abfc7478160e25d196a4"}, + {file = "netifaces-0.11.0-cp27-cp27m-win32.whl", hash = "sha256:7dbb71ea26d304e78ccccf6faccef71bb27ea35e259fb883cfd7fd7b4f17ecb1"}, + {file = "netifaces-0.11.0-cp27-cp27m-win_amd64.whl", hash = "sha256:0f6133ac02521270d9f7c490f0c8c60638ff4aec8338efeff10a1b51506abe85"}, + {file = "netifaces-0.11.0-cp27-cp27mu-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:08e3f102a59f9eaef70948340aeb6c89bd09734e0dca0f3b82720305729f63ea"}, + {file = "netifaces-0.11.0-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:c03fb2d4ef4e393f2e6ffc6376410a22a3544f164b336b3a355226653e5efd89"}, + {file = "netifaces-0.11.0-cp34-cp34m-win32.whl", hash = "sha256:73ff21559675150d31deea8f1f8d7e9a9a7e4688732a94d71327082f517fc6b4"}, + {file = "netifaces-0.11.0-cp35-cp35m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:815eafdf8b8f2e61370afc6add6194bd5a7252ae44c667e96c4c1ecf418811e4"}, + {file = "netifaces-0.11.0-cp35-cp35m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:50721858c935a76b83dd0dd1ab472cad0a3ef540a1408057624604002fcfb45b"}, + {file = "netifaces-0.11.0-cp35-cp35m-win32.whl", hash = "sha256:c9a3a47cd3aaeb71e93e681d9816c56406ed755b9442e981b07e3618fb71d2ac"}, + {file = "netifaces-0.11.0-cp36-cp36m-macosx_10_15_x86_64.whl", hash = "sha256:aab1dbfdc55086c789f0eb37affccf47b895b98d490738b81f3b2360100426be"}, + {file = "netifaces-0.11.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c37a1ca83825bc6f54dddf5277e9c65dec2f1b4d0ba44b8fd42bc30c91aa6ea1"}, + {file = "netifaces-0.11.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:28f4bf3a1361ab3ed93c5ef360c8b7d4a4ae060176a3529e72e5e4ffc4afd8b0"}, + {file = "netifaces-0.11.0-cp36-cp36m-win32.whl", hash = "sha256:2650beee182fed66617e18474b943e72e52f10a24dc8cac1db36c41ee9c041b7"}, + {file = "netifaces-0.11.0-cp36-cp36m-win_amd64.whl", hash = "sha256:cb925e1ca024d6f9b4f9b01d83215fd00fe69d095d0255ff3f64bffda74025c8"}, + {file = "netifaces-0.11.0-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:84e4d2e6973eccc52778735befc01638498781ce0e39aa2044ccfd2385c03246"}, + {file = "netifaces-0.11.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:18917fbbdcb2d4f897153c5ddbb56b31fa6dd7c3fa9608b7e3c3a663df8206b5"}, + {file = "netifaces-0.11.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:48324183af7f1bc44f5f197f3dad54a809ad1ef0c78baee2c88f16a5de02c4c9"}, + {file = "netifaces-0.11.0-cp37-cp37m-win32.whl", hash = "sha256:8f7da24eab0d4184715d96208b38d373fd15c37b0dafb74756c638bd619ba150"}, + {file = "netifaces-0.11.0-cp37-cp37m-win_amd64.whl", hash = "sha256:2479bb4bb50968089a7c045f24d120f37026d7e802ec134c4490eae994c729b5"}, + {file = "netifaces-0.11.0-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:3ecb3f37c31d5d51d2a4d935cfa81c9bc956687c6f5237021b36d6fdc2815b2c"}, + {file = "netifaces-0.11.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:96c0fe9696398253f93482c84814f0e7290eee0bfec11563bd07d80d701280c3"}, + {file = "netifaces-0.11.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:c92ff9ac7c2282009fe0dcb67ee3cd17978cffbe0c8f4b471c00fe4325c9b4d4"}, + {file = "netifaces-0.11.0-cp38-cp38-win32.whl", hash = "sha256:d07b01c51b0b6ceb0f09fc48ec58debd99d2c8430b09e56651addeaf5de48048"}, + {file = "netifaces-0.11.0-cp38-cp38-win_amd64.whl", hash = "sha256:469fc61034f3daf095e02f9f1bbac07927b826c76b745207287bc594884cfd05"}, + {file = "netifaces-0.11.0-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:5be83986100ed1fdfa78f11ccff9e4757297735ac17391b95e17e74335c2047d"}, + {file = "netifaces-0.11.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:54ff6624eb95b8a07e79aa8817288659af174e954cca24cdb0daeeddfc03c4ff"}, + {file = "netifaces-0.11.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:841aa21110a20dc1621e3dd9f922c64ca64dd1eb213c47267a2c324d823f6c8f"}, + {file = "netifaces-0.11.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:e76c7f351e0444721e85f975ae92718e21c1f361bda946d60a214061de1f00a1"}, + {file = "netifaces-0.11.0.tar.gz", hash = "sha256:043a79146eb2907edf439899f262b3dfe41717d34124298ed281139a8b93ca32"}, +] [[package]] name = "networkx" version = "3.1" description = "Python package for creating and manipulating graphs and networks" -category = "dev" optional = false python-versions = ">=3.8" +files = [ + {file = "networkx-3.1-py3-none-any.whl", hash = "sha256:4f33f68cb2afcf86f28a45f43efc27a9386b535d567d2127f8f61d51dec58d36"}, + {file = "networkx-3.1.tar.gz", hash = "sha256:de346335408f84de0eada6ff9fafafff9bcda11f0a0dfaa931133debb146ab61"}, +] [package.extras] default = ["matplotlib (>=3.4)", "numpy (>=1.20)", "pandas (>=1.3)", "scipy (>=1.8)"] @@ -1136,9 +1973,12 @@ test = ["codecov (>=2.1)", "pytest (>=7.2)", "pytest-cov (>=4.0)"] name = "openstacksdk" version = "3.3.0" description = "An SDK for building applications to work with OpenStack" -category = "main" optional = true python-versions = ">=3.7" +files = [ + {file = "openstacksdk-3.3.0-py3-none-any.whl", hash = "sha256:e6d4121b87354984caf0e3c032e2ebf4d4440374f86c81c27ec52ca5df359157"}, + {file = "openstacksdk-3.3.0.tar.gz", hash = "sha256:0608690ca37ca73327b0fa3761d17e65395be37ff200b8735d8f24277b4f4980"}, +] [package.dependencies] cryptography = ">=2.7" @@ -1159,9 +1999,12 @@ requestsexceptions = ">=1.2.0" name = "os-service-types" version = "1.7.0" description = "Python library for consuming OpenStack sevice-types-authority data" -category = "main" optional = true python-versions = "*" +files = [ + {file = "os-service-types-1.7.0.tar.gz", hash = "sha256:31800299a82239363995b91f1ebf9106ac7758542a1e4ef6dc737a5932878c6c"}, + {file = "os_service_types-1.7.0-py2.py3-none-any.whl", hash = "sha256:0505c72205690910077fb72b88f2a1f07533c8d39f2fe75b29583481764965d6"}, +] [package.dependencies] pbr = ">=2.0.0,<2.1.0 || >2.1.0" @@ -1170,9 +2013,12 @@ pbr = ">=2.0.0,<2.1.0 || >2.1.0" name = "osc-lib" version = "3.1.0" description = "OpenStackClient Library" -category = "main" optional = true python-versions = ">=3.8" +files = [ + {file = "osc-lib-3.1.0.tar.gz", hash = "sha256:ef085249a8764b6f29d404eda566a261a3003502aa431b39ffd54307ee103e19"}, + {file = "osc_lib-3.1.0-py3-none-any.whl", hash = "sha256:4e7bcf4745e98599e5cea9c989ece0fdb4cda51050dc2c219044eba68782d1aa"}, +] [package.dependencies] cliff = ">=3.2.0" @@ -1188,9 +2034,12 @@ stevedore = ">=1.20.0" name = "oslo.config" version = "9.5.0" description = "Oslo Configuration API" -category = "main" optional = true python-versions = ">=3.8" +files = [ + {file = "oslo.config-9.5.0-py3-none-any.whl", hash = "sha256:f5e9a6848c35a1c8975677d623ffcf31bbb7177d14cb8f43505b2a4c679dcdd0"}, + {file = "oslo.config-9.5.0.tar.gz", hash = "sha256:aa500044886b6c55f76577cb5a93492a4596c5f9283376760ea7852cc49c99a3"}, +] [package.dependencies] debtcollector = ">=1.2.0" @@ -1209,9 +2058,12 @@ test = ["bandit (>=1.7.0,<1.8.0)", "coverage (>=4.0)", "fixtures (>=3.0.0)", "ha name = "oslo.i18n" version = "6.3.0" description = "Oslo i18n library" -category = "main" optional = true python-versions = ">=3.8" +files = [ + {file = "oslo.i18n-6.3.0-py3-none-any.whl", hash = "sha256:698eb5c63a01359ed6d91031d6331098190d38be0bdda7d270264d6f86bc79e7"}, + {file = "oslo.i18n-6.3.0.tar.gz", hash = "sha256:64a251edef8bf1bb1d4e6f78d377e149d4f15c1a9245de77f172016da6267444"}, +] [package.dependencies] pbr = ">=2.0.0,<2.1.0 || >2.1.0" @@ -1220,9 +2072,12 @@ pbr = ">=2.0.0,<2.1.0 || >2.1.0" name = "oslo.serialization" version = "5.4.0" description = "Oslo Serialization library" -category = "main" optional = true python-versions = ">=3.8" +files = [ + {file = "oslo.serialization-5.4.0-py3-none-any.whl", hash = "sha256:f999b75f2c2904c2f6aae5efbb67ab668cc0e79470510b721937626b36427220"}, + {file = "oslo.serialization-5.4.0.tar.gz", hash = "sha256:315cb3465e99c685cb091b90365cb701bee7140e204ba3e5fc2d8a20b4ec6e76"}, +] [package.dependencies] msgpack = ">=0.5.2" @@ -1235,9 +2090,12 @@ tzdata = {version = ">=2022.4", markers = "python_version >= \"3.9\""} name = "oslo.utils" version = "7.2.0" description = "Oslo Utility library" -category = "main" optional = true python-versions = ">=3.8" +files = [ + {file = "oslo.utils-7.2.0-py3-none-any.whl", hash = "sha256:53ce2d88fd1e9035e6be18c53447353d3e92ea0473d88272f43dc334ea9295af"}, + {file = "oslo.utils-7.2.0.tar.gz", hash = "sha256:94f8053391a33502dab4d84465403262ca19ffd8cfd29a1a5ea3c8aa620ef610"}, +] [package.dependencies] debtcollector = ">=1.2.0" @@ -1255,25 +2113,34 @@ tzdata = {version = ">=2022.4", markers = "python_version >= \"3.9\""} name = "packaging" version = "24.1" description = "Core utilities for Python packages" -category = "main" optional = false python-versions = ">=3.8" +files = [ + {file = "packaging-24.1-py3-none-any.whl", hash = "sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124"}, + {file = "packaging-24.1.tar.gz", hash = "sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002"}, +] [[package]] name = "pbr" version = "6.0.0" description = "Python Build Reasonableness" -category = "main" optional = true python-versions = ">=2.6" +files = [ + {file = "pbr-6.0.0-py2.py3-none-any.whl", hash = "sha256:4a7317d5e3b17a3dccb6a8cfe67dab65b20551404c52c8ed41279fa4f0cb4cda"}, + {file = "pbr-6.0.0.tar.gz", hash = "sha256:d1377122a5a00e2f940ee482999518efe16d745d423a670c27773dfbc3c9a7d9"}, +] [[package]] name = "platformdirs" version = "4.2.2" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." -category = "main" optional = false python-versions = ">=3.8" +files = [ + {file = "platformdirs-4.2.2-py3-none-any.whl", hash = "sha256:2d7a1657e36a80ea911db832a8a6ece5ee53d8de21edd5cc5879af6530b1bfee"}, + {file = "platformdirs-4.2.2.tar.gz", hash = "sha256:38b7b51f512eed9e84a22788b4bce1de17c0adb134d6becb09836e37d8654cd3"}, +] [package.extras] docs = ["furo (>=2023.9.10)", "proselint (>=0.13)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"] @@ -1284,9 +2151,12 @@ type = ["mypy (>=1.8)"] name = "pluggy" version = "1.5.0" description = "plugin and hook calling mechanisms for python" -category = "dev" optional = false python-versions = ">=3.8" +files = [ + {file = "pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"}, + {file = "pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1"}, +] [package.extras] dev = ["pre-commit", "tox"] @@ -1296,9 +2166,12 @@ testing = ["pytest", "pytest-benchmark"] name = "prettytable" version = "3.10.2" description = "A simple Python library for easily displaying tabular data in a visually appealing ASCII table format" -category = "main" optional = true python-versions = ">=3.8" +files = [ + {file = "prettytable-3.10.2-py3-none-any.whl", hash = "sha256:1cbfdeb4bcc73976a778a0fb33cb6d752e75396f16574dcb3e2d6332fd93c76a"}, + {file = "prettytable-3.10.2.tar.gz", hash = "sha256:29ec6c34260191d42cd4928c28d56adec360ac2b1208a26c7e4f14b90cc8bc84"}, +] [package.dependencies] wcwidth = "*" @@ -1310,9 +2183,12 @@ tests = ["pytest", "pytest-cov", "pytest-lazy-fixtures"] name = "prompt-toolkit" version = "3.0.47" description = "Library for building powerful interactive command lines in Python" -category = "main" optional = false python-versions = ">=3.7.0" +files = [ + {file = "prompt_toolkit-3.0.47-py3-none-any.whl", hash = "sha256:0d7bfa67001d5e39d02c224b663abc33687405033a8c422d0d675a5a13361d10"}, + {file = "prompt_toolkit-3.0.47.tar.gz", hash = "sha256:1e1b29cb58080b1e69f207c893a1a7bf16d127a5c30c9d17a25a5d77792e5360"}, +] [package.dependencies] wcwidth = "*" @@ -1321,9 +2197,12 @@ wcwidth = "*" name = "proto-plus" version = "1.24.0" description = "Beautiful, Pythonic protocol buffers." -category = "main" optional = true python-versions = ">=3.7" +files = [ + {file = "proto-plus-1.24.0.tar.gz", hash = "sha256:30b72a5ecafe4406b0d339db35b56c4059064e69227b8c3bda7462397f966445"}, + {file = "proto_plus-1.24.0-py3-none-any.whl", hash = "sha256:402576830425e5f6ce4c2a6702400ac79897dab0b4343821aa5188b0fab81a12"}, +] [package.dependencies] protobuf = ">=3.19.0,<6.0.0dev" @@ -1335,18 +2214,33 @@ testing = ["google-api-core (>=1.31.5)"] name = "protobuf" version = "5.27.2" description = "" -category = "main" optional = true python-versions = ">=3.8" - -[[package]] -name = "prov" -version = "1.5.1" -description = "A library for W3C Provenance Data Model supporting PROV-JSON, PROV-XML and PROV-O (RDF)" -category = "dev" -optional = false -python-versions = "*" - +files = [ + {file = "protobuf-5.27.2-cp310-abi3-win32.whl", hash = "sha256:354d84fac2b0d76062e9b3221f4abbbacdfd2a4d8af36bab0474f3a0bb30ab38"}, + {file = "protobuf-5.27.2-cp310-abi3-win_amd64.whl", hash = "sha256:0e341109c609749d501986b835f667c6e1e24531096cff9d34ae411595e26505"}, + {file = "protobuf-5.27.2-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:a109916aaac42bff84702fb5187f3edadbc7c97fc2c99c5ff81dd15dcce0d1e5"}, + {file = "protobuf-5.27.2-cp38-abi3-manylinux2014_aarch64.whl", hash = "sha256:176c12b1f1c880bf7a76d9f7c75822b6a2bc3db2d28baa4d300e8ce4cde7409b"}, + {file = "protobuf-5.27.2-cp38-abi3-manylinux2014_x86_64.whl", hash = "sha256:b848dbe1d57ed7c191dfc4ea64b8b004a3f9ece4bf4d0d80a367b76df20bf36e"}, + {file = "protobuf-5.27.2-cp38-cp38-win32.whl", hash = "sha256:4fadd8d83e1992eed0248bc50a4a6361dc31bcccc84388c54c86e530b7f58863"}, + {file = "protobuf-5.27.2-cp38-cp38-win_amd64.whl", hash = "sha256:610e700f02469c4a997e58e328cac6f305f649826853813177e6290416e846c6"}, + {file = "protobuf-5.27.2-cp39-cp39-win32.whl", hash = "sha256:9e8f199bf7f97bd7ecebffcae45ebf9527603549b2b562df0fbc6d4d688f14ca"}, + {file = "protobuf-5.27.2-cp39-cp39-win_amd64.whl", hash = "sha256:7fc3add9e6003e026da5fc9e59b131b8f22b428b991ccd53e2af8071687b4fce"}, + {file = "protobuf-5.27.2-py3-none-any.whl", hash = "sha256:54330f07e4949d09614707c48b06d1a22f8ffb5763c159efd5c0928326a91470"}, + {file = "protobuf-5.27.2.tar.gz", hash = "sha256:f3ecdef226b9af856075f28227ff2c90ce3a594d092c39bee5513573f25e2714"}, +] + +[[package]] +name = "prov" +version = "1.5.1" +description = "A library for W3C Provenance Data Model supporting PROV-JSON, PROV-XML and PROV-O (RDF)" +optional = false +python-versions = "*" +files = [ + {file = "prov-1.5.1-py2.py3-none-any.whl", hash = "sha256:5c930cbbd05424aa3066d336dc31d314dd9fa0280caeab064288e592ed716bea"}, + {file = "prov-1.5.1.tar.gz", hash = "sha256:7a2d72b0df43cd9c6e374d815c8ce3cd5ca371d54f98f837853ac9fcc98aee4c"}, +] + [package.dependencies] lxml = "*" networkx = "*" @@ -1361,9 +2255,27 @@ dot = ["pydot (>=1.2.0)"] name = "psutil" version = "6.0.0" description = "Cross-platform lib for process and system monitoring in Python." -category = "dev" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" +files = [ + {file = "psutil-6.0.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:a021da3e881cd935e64a3d0a20983bda0bb4cf80e4f74fa9bfcb1bc5785360c6"}, + {file = "psutil-6.0.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:1287c2b95f1c0a364d23bc6f2ea2365a8d4d9b726a3be7294296ff7ba97c17f0"}, + {file = "psutil-6.0.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:a9a3dbfb4de4f18174528d87cc352d1f788b7496991cca33c6996f40c9e3c92c"}, + {file = "psutil-6.0.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:6ec7588fb3ddaec7344a825afe298db83fe01bfaaab39155fa84cf1c0d6b13c3"}, + {file = "psutil-6.0.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:1e7c870afcb7d91fdea2b37c24aeb08f98b6d67257a5cb0a8bc3ac68d0f1a68c"}, + {file = "psutil-6.0.0-cp27-none-win32.whl", hash = "sha256:02b69001f44cc73c1c5279d02b30a817e339ceb258ad75997325e0e6169d8b35"}, + {file = "psutil-6.0.0-cp27-none-win_amd64.whl", hash = "sha256:21f1fb635deccd510f69f485b87433460a603919b45e2a324ad65b0cc74f8fb1"}, + {file = "psutil-6.0.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:c588a7e9b1173b6e866756dde596fd4cad94f9399daf99ad8c3258b3cb2b47a0"}, + {file = "psutil-6.0.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ed2440ada7ef7d0d608f20ad89a04ec47d2d3ab7190896cd62ca5fc4fe08bf0"}, + {file = "psutil-6.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5fd9a97c8e94059b0ef54a7d4baf13b405011176c3b6ff257c247cae0d560ecd"}, + {file = "psutil-6.0.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e2e8d0054fc88153ca0544f5c4d554d42e33df2e009c4ff42284ac9ebdef4132"}, + {file = "psutil-6.0.0-cp36-cp36m-win32.whl", hash = "sha256:fc8c9510cde0146432bbdb433322861ee8c3efbf8589865c8bf8d21cb30c4d14"}, + {file = "psutil-6.0.0-cp36-cp36m-win_amd64.whl", hash = "sha256:34859b8d8f423b86e4385ff3665d3f4d94be3cdf48221fbe476e883514fdb71c"}, + {file = "psutil-6.0.0-cp37-abi3-win32.whl", hash = "sha256:a495580d6bae27291324fe60cea0b5a7c23fa36a7cd35035a16d93bdcf076b9d"}, + {file = "psutil-6.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:33ea5e1c975250a720b3a6609c490db40dae5d83a4eb315170c4fe0d8b1f34b3"}, + {file = "psutil-6.0.0-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:ffe7fc9b6b36beadc8c322f84e1caff51e8703b88eee1da46d1e3a6ae11b4fd0"}, + {file = "psutil-6.0.0.tar.gz", hash = "sha256:8faae4f310b6d969fa26ca0545338b21f73c6b15db7c4a8d934a5482faa818f2"}, +] [package.extras] test = ["enum34", "ipaddress", "mock", "pywin32", "wmi"] @@ -1372,17 +2284,23 @@ test = ["enum34", "ipaddress", "mock", "pywin32", "wmi"] name = "pyasn1" version = "0.6.0" description = "Pure-Python implementation of ASN.1 types and DER/BER/CER codecs (X.208)" -category = "main" optional = true python-versions = ">=3.8" +files = [ + {file = "pyasn1-0.6.0-py2.py3-none-any.whl", hash = "sha256:cca4bb0f2df5504f02f6f8a775b6e416ff9b0b3b16f7ee80b5a3153d9b804473"}, + {file = "pyasn1-0.6.0.tar.gz", hash = "sha256:3a35ab2c4b5ef98e17dfdec8ab074046fbda76e281c5a706ccd82328cfc8f64c"}, +] [[package]] name = "pyasn1-modules" version = "0.4.0" description = "A collection of ASN.1-based protocols modules" -category = "main" optional = true python-versions = ">=3.8" +files = [ + {file = "pyasn1_modules-0.4.0-py3-none-any.whl", hash = "sha256:be04f15b66c206eed667e0bb5ab27e2b1855ea54a842e5037738099e8ca4ae0b"}, + {file = "pyasn1_modules-0.4.0.tar.gz", hash = "sha256:831dbcea1b177b28c9baddf4c6d1013c24c3accd14a1873fffaa6a2e905f17b6"}, +] [package.dependencies] pyasn1 = ">=0.4.6,<0.7.0" @@ -1391,25 +2309,34 @@ pyasn1 = ">=0.4.6,<0.7.0" name = "pycodestyle" version = "2.12.0" description = "Python style guide checker" -category = "dev" optional = false python-versions = ">=3.8" +files = [ + {file = "pycodestyle-2.12.0-py2.py3-none-any.whl", hash = "sha256:949a39f6b86c3e1515ba1787c2022131d165a8ad271b11370a8819aa070269e4"}, + {file = "pycodestyle-2.12.0.tar.gz", hash = "sha256:442f950141b4f43df752dd303511ffded3a04c2b6fb7f65980574f0c31e6e79c"}, +] [[package]] name = "pycparser" version = "2.22" description = "C parser in Python" -category = "main" optional = false python-versions = ">=3.8" +files = [ + {file = "pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc"}, + {file = "pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6"}, +] [[package]] name = "pydantic" version = "2.8.2" description = "Data validation using Python type hints" -category = "main" optional = false python-versions = ">=3.8" +files = [ + {file = "pydantic-2.8.2-py3-none-any.whl", hash = "sha256:73ee9fddd406dc318b885c7a2eab8a6472b68b8fb5ba8150949fc3db939f23c8"}, + {file = "pydantic-2.8.2.tar.gz", hash = "sha256:6f62c13d067b0755ad1c21a34bdd06c0c12625a22b0fc09c6b149816604f7c2a"}, +] [package.dependencies] annotated-types = ">=0.4.0" @@ -1423,9 +2350,99 @@ email = ["email-validator (>=2.0.0)"] name = "pydantic-core" version = "2.20.1" description = "Core functionality for Pydantic validation and serialization" -category = "main" optional = false python-versions = ">=3.8" +files = [ + {file = "pydantic_core-2.20.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:3acae97ffd19bf091c72df4d726d552c473f3576409b2a7ca36b2f535ffff4a3"}, + {file = "pydantic_core-2.20.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:41f4c96227a67a013e7de5ff8f20fb496ce573893b7f4f2707d065907bffdbd6"}, + {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f239eb799a2081495ea659d8d4a43a8f42cd1fe9ff2e7e436295c38a10c286a"}, + {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:53e431da3fc53360db73eedf6f7124d1076e1b4ee4276b36fb25514544ceb4a3"}, + {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f1f62b2413c3a0e846c3b838b2ecd6c7a19ec6793b2a522745b0869e37ab5bc1"}, + {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d41e6daee2813ecceea8eda38062d69e280b39df793f5a942fa515b8ed67953"}, + {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d482efec8b7dc6bfaedc0f166b2ce349df0011f5d2f1f25537ced4cfc34fd98"}, + {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e93e1a4b4b33daed65d781a57a522ff153dcf748dee70b40c7258c5861e1768a"}, + {file = "pydantic_core-2.20.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e7c4ea22b6739b162c9ecaaa41d718dfad48a244909fe7ef4b54c0b530effc5a"}, + {file = "pydantic_core-2.20.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4f2790949cf385d985a31984907fecb3896999329103df4e4983a4a41e13e840"}, + {file = "pydantic_core-2.20.1-cp310-none-win32.whl", hash = "sha256:5e999ba8dd90e93d57410c5e67ebb67ffcaadcea0ad973240fdfd3a135506250"}, + {file = "pydantic_core-2.20.1-cp310-none-win_amd64.whl", hash = "sha256:512ecfbefef6dac7bc5eaaf46177b2de58cdf7acac8793fe033b24ece0b9566c"}, + {file = "pydantic_core-2.20.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d2a8fa9d6d6f891f3deec72f5cc668e6f66b188ab14bb1ab52422fe8e644f312"}, + {file = "pydantic_core-2.20.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:175873691124f3d0da55aeea1d90660a6ea7a3cfea137c38afa0a5ffabe37b88"}, + {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:37eee5b638f0e0dcd18d21f59b679686bbd18917b87db0193ae36f9c23c355fc"}, + {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:25e9185e2d06c16ee438ed39bf62935ec436474a6ac4f9358524220f1b236e43"}, + {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:150906b40ff188a3260cbee25380e7494ee85048584998c1e66df0c7a11c17a6"}, + {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ad4aeb3e9a97286573c03df758fc7627aecdd02f1da04516a86dc159bf70121"}, + {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d3f3ed29cd9f978c604708511a1f9c2fdcb6c38b9aae36a51905b8811ee5cbf1"}, + {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b0dae11d8f5ded51699c74d9548dcc5938e0804cc8298ec0aa0da95c21fff57b"}, + {file = "pydantic_core-2.20.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:faa6b09ee09433b87992fb5a2859efd1c264ddc37280d2dd5db502126d0e7f27"}, + {file = "pydantic_core-2.20.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9dc1b507c12eb0481d071f3c1808f0529ad41dc415d0ca11f7ebfc666e66a18b"}, + {file = "pydantic_core-2.20.1-cp311-none-win32.whl", hash = "sha256:fa2fddcb7107e0d1808086ca306dcade7df60a13a6c347a7acf1ec139aa6789a"}, + {file = "pydantic_core-2.20.1-cp311-none-win_amd64.whl", hash = "sha256:40a783fb7ee353c50bd3853e626f15677ea527ae556429453685ae32280c19c2"}, + {file = "pydantic_core-2.20.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:595ba5be69b35777474fa07f80fc260ea71255656191adb22a8c53aba4479231"}, + {file = "pydantic_core-2.20.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a4f55095ad087474999ee28d3398bae183a66be4823f753cd7d67dd0153427c9"}, + {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f9aa05d09ecf4c75157197f27cdc9cfaeb7c5f15021c6373932bf3e124af029f"}, + {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e97fdf088d4b31ff4ba35db26d9cc472ac7ef4a2ff2badeabf8d727b3377fc52"}, + {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bc633a9fe1eb87e250b5c57d389cf28998e4292336926b0b6cdaee353f89a237"}, + {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d573faf8eb7e6b1cbbcb4f5b247c60ca8be39fe2c674495df0eb4318303137fe"}, + {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26dc97754b57d2fd00ac2b24dfa341abffc380b823211994c4efac7f13b9e90e"}, + {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:33499e85e739a4b60c9dac710c20a08dc73cb3240c9a0e22325e671b27b70d24"}, + {file = "pydantic_core-2.20.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:bebb4d6715c814597f85297c332297c6ce81e29436125ca59d1159b07f423eb1"}, + {file = "pydantic_core-2.20.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:516d9227919612425c8ef1c9b869bbbee249bc91912c8aaffb66116c0b447ebd"}, + {file = "pydantic_core-2.20.1-cp312-none-win32.whl", hash = "sha256:469f29f9093c9d834432034d33f5fe45699e664f12a13bf38c04967ce233d688"}, + {file = "pydantic_core-2.20.1-cp312-none-win_amd64.whl", hash = "sha256:035ede2e16da7281041f0e626459bcae33ed998cca6a0a007a5ebb73414ac72d"}, + {file = "pydantic_core-2.20.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:0827505a5c87e8aa285dc31e9ec7f4a17c81a813d45f70b1d9164e03a813a686"}, + {file = "pydantic_core-2.20.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:19c0fa39fa154e7e0b7f82f88ef85faa2a4c23cc65aae2f5aea625e3c13c735a"}, + {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa223cd1e36b642092c326d694d8bf59b71ddddc94cdb752bbbb1c5c91d833b"}, + {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c336a6d235522a62fef872c6295a42ecb0c4e1d0f1a3e500fe949415761b8a19"}, + {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7eb6a0587eded33aeefea9f916899d42b1799b7b14b8f8ff2753c0ac1741edac"}, + {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:70c8daf4faca8da5a6d655f9af86faf6ec2e1768f4b8b9d0226c02f3d6209703"}, + {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e9fa4c9bf273ca41f940bceb86922a7667cd5bf90e95dbb157cbb8441008482c"}, + {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:11b71d67b4725e7e2a9f6e9c0ac1239bbc0c48cce3dc59f98635efc57d6dac83"}, + {file = "pydantic_core-2.20.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:270755f15174fb983890c49881e93f8f1b80f0b5e3a3cc1394a255706cabd203"}, + {file = "pydantic_core-2.20.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:c81131869240e3e568916ef4c307f8b99583efaa60a8112ef27a366eefba8ef0"}, + {file = "pydantic_core-2.20.1-cp313-none-win32.whl", hash = "sha256:b91ced227c41aa29c672814f50dbb05ec93536abf8f43cd14ec9521ea09afe4e"}, + {file = "pydantic_core-2.20.1-cp313-none-win_amd64.whl", hash = "sha256:65db0f2eefcaad1a3950f498aabb4875c8890438bc80b19362cf633b87a8ab20"}, + {file = "pydantic_core-2.20.1-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:4745f4ac52cc6686390c40eaa01d48b18997cb130833154801a442323cc78f91"}, + {file = "pydantic_core-2.20.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a8ad4c766d3f33ba8fd692f9aa297c9058970530a32c728a2c4bfd2616d3358b"}, + {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41e81317dd6a0127cabce83c0c9c3fbecceae981c8391e6f1dec88a77c8a569a"}, + {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:04024d270cf63f586ad41fff13fde4311c4fc13ea74676962c876d9577bcc78f"}, + {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eaad4ff2de1c3823fddf82f41121bdf453d922e9a238642b1dedb33c4e4f98ad"}, + {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:26ab812fa0c845df815e506be30337e2df27e88399b985d0bb4e3ecfe72df31c"}, + {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3c5ebac750d9d5f2706654c638c041635c385596caf68f81342011ddfa1e5598"}, + {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2aafc5a503855ea5885559eae883978c9b6d8c8993d67766ee73d82e841300dd"}, + {file = "pydantic_core-2.20.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:4868f6bd7c9d98904b748a2653031fc9c2f85b6237009d475b1008bfaeb0a5aa"}, + {file = "pydantic_core-2.20.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:aa2f457b4af386254372dfa78a2eda2563680d982422641a85f271c859df1987"}, + {file = "pydantic_core-2.20.1-cp38-none-win32.whl", hash = "sha256:225b67a1f6d602de0ce7f6c1c3ae89a4aa25d3de9be857999e9124f15dab486a"}, + {file = "pydantic_core-2.20.1-cp38-none-win_amd64.whl", hash = "sha256:6b507132dcfc0dea440cce23ee2182c0ce7aba7054576efc65634f080dbe9434"}, + {file = "pydantic_core-2.20.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:b03f7941783b4c4a26051846dea594628b38f6940a2fdc0df00b221aed39314c"}, + {file = "pydantic_core-2.20.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1eedfeb6089ed3fad42e81a67755846ad4dcc14d73698c120a82e4ccf0f1f9f6"}, + {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:635fee4e041ab9c479e31edda27fcf966ea9614fff1317e280d99eb3e5ab6fe2"}, + {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:77bf3ac639c1ff567ae3b47f8d4cc3dc20f9966a2a6dd2311dcc055d3d04fb8a"}, + {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7ed1b0132f24beeec5a78b67d9388656d03e6a7c837394f99257e2d55b461611"}, + {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c6514f963b023aeee506678a1cf821fe31159b925c4b76fe2afa94cc70b3222b"}, + {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10d4204d8ca33146e761c79f83cc861df20e7ae9f6487ca290a97702daf56006"}, + {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2d036c7187b9422ae5b262badb87a20a49eb6c5238b2004e96d4da1231badef1"}, + {file = "pydantic_core-2.20.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9ebfef07dbe1d93efb94b4700f2d278494e9162565a54f124c404a5656d7ff09"}, + {file = "pydantic_core-2.20.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:6b9d9bb600328a1ce523ab4f454859e9d439150abb0906c5a1983c146580ebab"}, + {file = "pydantic_core-2.20.1-cp39-none-win32.whl", hash = "sha256:784c1214cb6dd1e3b15dd8b91b9a53852aed16671cc3fbe4786f4f1db07089e2"}, + {file = "pydantic_core-2.20.1-cp39-none-win_amd64.whl", hash = "sha256:d2fe69c5434391727efa54b47a1e7986bb0186e72a41b203df8f5b0a19a4f669"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:a45f84b09ac9c3d35dfcf6a27fd0634d30d183205230a0ebe8373a0e8cfa0906"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:d02a72df14dfdbaf228424573a07af10637bd490f0901cee872c4f434a735b94"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d2b27e6af28f07e2f195552b37d7d66b150adbaa39a6d327766ffd695799780f"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:084659fac3c83fd674596612aeff6041a18402f1e1bc19ca39e417d554468482"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:242b8feb3c493ab78be289c034a1f659e8826e2233786e36f2893a950a719bb6"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:38cf1c40a921d05c5edc61a785c0ddb4bed67827069f535d794ce6bcded919fc"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:e0bbdd76ce9aa5d4209d65f2b27fc6e5ef1312ae6c5333c26db3f5ade53a1e99"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:254ec27fdb5b1ee60684f91683be95e5133c994cc54e86a0b0963afa25c8f8a6"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:407653af5617f0757261ae249d3fba09504d7a71ab36ac057c938572d1bc9331"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:c693e916709c2465b02ca0ad7b387c4f8423d1db7b4649c551f27a529181c5ad"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5b5ff4911aea936a47d9376fd3ab17e970cc543d1b68921886e7f64bd28308d1"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:177f55a886d74f1808763976ac4efd29b7ed15c69f4d838bbd74d9d09cf6fa86"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:964faa8a861d2664f0c7ab0c181af0bea66098b1919439815ca8803ef136fc4e"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:4dd484681c15e6b9a977c785a345d3e378d72678fd5f1f3c0509608da24f2ac0"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f6d6cff3538391e8486a431569b77921adfcdef14eb18fbf19b7c0a5294d4e6a"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a6d511cc297ff0883bc3708b465ff82d7560193169a8b93260f74ecb0a5e08a7"}, + {file = "pydantic_core-2.20.1.tar.gz", hash = "sha256:26ca695eeee5f9f1aeeb211ffc12f10bcb6f71e2989988fda61dabd65db878d4"}, +] [package.dependencies] typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0" @@ -1434,9 +2451,12 @@ typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0" name = "pydocstyle" version = "6.1.1" description = "Python docstring style checker" -category = "dev" optional = false python-versions = ">=3.6" +files = [ + {file = "pydocstyle-6.1.1-py3-none-any.whl", hash = "sha256:6987826d6775056839940041beef5c08cc7e3d71d63149b48e36727f70144dc4"}, + {file = "pydocstyle-6.1.1.tar.gz", hash = "sha256:1d41b7c459ba0ee6c345f2eb9ae827cab14a7533a88c5c6f7e94923f72df92dc"}, +] [package.dependencies] snowballstemmer = "*" @@ -1448,9 +2468,12 @@ toml = ["toml"] name = "pydot" version = "3.0.1" description = "Python interface to Graphviz's Dot" -category = "dev" optional = false python-versions = ">=3.8" +files = [ + {file = "pydot-3.0.1-py3-none-any.whl", hash = "sha256:43f1e878dc1ff7c1c2e3470a6999d4e9e97771c5c862440c2f0af0ba844c231f"}, + {file = "pydot-3.0.1.tar.gz", hash = "sha256:e18cf7f287c497d77b536a3d20a46284568fea390776dface6eabbdf1b1b5efc"}, +] [package.dependencies] pyparsing = ">=3.0.9" @@ -1464,17 +2487,23 @@ tests = ["chardet", "parameterized", "ruff", "tox", "unittest-parallel"] name = "pyflakes" version = "3.0.1" description = "passive checker of Python programs" -category = "dev" optional = false python-versions = ">=3.6" +files = [ + {file = "pyflakes-3.0.1-py2.py3-none-any.whl", hash = "sha256:ec55bf7fe21fff7f1ad2f7da62363d749e2a470500eab1b555334b67aa1ef8cf"}, + {file = "pyflakes-3.0.1.tar.gz", hash = "sha256:ec8b276a6b60bd80defed25add7e439881c19e64850afd9b346283d4165fd0fd"}, +] [[package]] name = "Pygments" version = "2.18.0" description = "Pygments is a syntax highlighting package written in Python." -category = "dev" optional = false python-versions = ">=3.8" +files = [ + {file = "pygments-2.18.0-py3-none-any.whl", hash = "sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a"}, + {file = "pygments-2.18.0.tar.gz", hash = "sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199"}, +] [package.extras] windows-terminal = ["colorama (>=0.4.6)"] @@ -1483,9 +2512,12 @@ windows-terminal = ["colorama (>=0.4.6)"] name = "pylama" version = "8.4.1" description = "Code audit tool for python" -category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "pylama-8.4.1-py3-none-any.whl", hash = "sha256:5bbdbf5b620aba7206d688ed9fc917ecd3d73e15ec1a89647037a09fa3a86e60"}, + {file = "pylama-8.4.1.tar.gz", hash = "sha256:2d4f7aecfb5b7466216d48610c7d6bad1c3990c29cdd392ad08259b161e486f6"}, +] [package.dependencies] mccabe = ">=0.7.0" @@ -1507,9 +2539,12 @@ vulture = ["vulture"] name = "pylint" version = "2.15.9" description = "python code static checker" -category = "dev" optional = false python-versions = ">=3.7.2" +files = [ + {file = "pylint-2.15.9-py3-none-any.whl", hash = "sha256:349c8cd36aede4d50a0754a8c0218b43323d13d5d88f4b2952ddfe3e169681eb"}, + {file = "pylint-2.15.9.tar.gz", hash = "sha256:18783cca3cfee5b83c6c5d10b3cdb66c6594520ffae61890858fe8d932e1c6b4"}, +] [package.dependencies] astroid = ">=2.12.13,<=2.14.0-dev0" @@ -1533,9 +2568,12 @@ testutils = ["gitpython (>3)"] name = "pyparsing" version = "3.1.2" description = "pyparsing module - Classes and methods to define and execute parsing grammars" -category = "main" optional = false python-versions = ">=3.6.8" +files = [ + {file = "pyparsing-3.1.2-py3-none-any.whl", hash = "sha256:f9db75911801ed778fe61bb643079ff86601aca99fcae6345aa67292038fb742"}, + {file = "pyparsing-3.1.2.tar.gz", hash = "sha256:a1bac0ce561155ecc3ed78ca94d3c9378656ad4c94c1270de543f621420f94ad"}, +] [package.extras] diagrams = ["jinja2", "railroad-diagrams"] @@ -1544,25 +2582,33 @@ diagrams = ["jinja2", "railroad-diagrams"] name = "pyperclip" version = "1.9.0" description = "A cross-platform clipboard module for Python. (Only handles plain text for now.)" -category = "main" optional = true python-versions = "*" +files = [ + {file = "pyperclip-1.9.0.tar.gz", hash = "sha256:b7de0142ddc81bfc5c7507eea19da920b92252b548b96186caf94a5e2527d310"}, +] [[package]] name = "pyreadline3" version = "3.4.1" description = "A python implementation of GNU readline." -category = "main" optional = false python-versions = "*" +files = [ + {file = "pyreadline3-3.4.1-py3-none-any.whl", hash = "sha256:b0efb6516fd4fb07b45949053826a62fa4cb353db5be2bbb4a7aa1fdd1e345fb"}, + {file = "pyreadline3-3.4.1.tar.gz", hash = "sha256:6f3d1f7b8a31ba32b73917cefc1f28cc660562f39aea8646d30bd6eff21f7bae"}, +] [[package]] name = "pytest" version = "7.2.0" description = "pytest: simple powerful testing with Python" -category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "pytest-7.2.0-py3-none-any.whl", hash = "sha256:892f933d339f068883b6fd5a459f03d85bfcb355e4981e146d2c7616c21fef71"}, + {file = "pytest-7.2.0.tar.gz", hash = "sha256:c4014eb40e10f11f355ad4e3c2fb2c6c6d1919c73f3b5a433de4708202cade59"}, +] [package.dependencies] attrs = ">=19.2.0" @@ -1580,9 +2626,12 @@ testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2. name = "pytest-cov" version = "5.0.0" description = "Pytest plugin for measuring coverage." -category = "dev" optional = false python-versions = ">=3.8" +files = [ + {file = "pytest-cov-5.0.0.tar.gz", hash = "sha256:5837b58e9f6ebd335b0f8060eecce69b662415b16dc503883a02f45dfeb14857"}, + {file = "pytest_cov-5.0.0-py3-none-any.whl", hash = "sha256:4f0764a1219df53214206bf1feea4633c3b558a2925c8b59f144f682861ce652"}, +] [package.dependencies] coverage = {version = ">=5.2.1", extras = ["toml"]} @@ -1595,9 +2644,12 @@ testing = ["fields", "hunter", "process-tests", "pytest-xdist", "virtualenv"] name = "pytest-mock" version = "3.3.1" description = "Thin-wrapper around the mock package for easier use with pytest" -category = "dev" optional = false python-versions = ">=3.5" +files = [ + {file = "pytest-mock-3.3.1.tar.gz", hash = "sha256:a4d6d37329e4a893e77d9ffa89e838dd2b45d5dc099984cf03c703ac8411bb82"}, + {file = "pytest_mock-3.3.1-py3-none-any.whl", hash = "sha256:024e405ad382646318c4281948aadf6fe1135632bea9cc67366ea0c4098ef5f2"}, +] [package.dependencies] pytest = ">=5.0" @@ -1609,9 +2661,12 @@ dev = ["pre-commit", "pytest-asyncio", "tox"] name = "python-cinderclient" version = "9.5.0" description = "OpenStack Block Storage API Client Library" -category = "main" optional = true python-versions = ">=3.8" +files = [ + {file = "python-cinderclient-9.5.0.tar.gz", hash = "sha256:1b9d717aff93cad420045fb6c52f6376ab72f085f8193130892020ec46c93555"}, + {file = "python_cinderclient-9.5.0-py3-none-any.whl", hash = "sha256:b2ee2681c1f9785957f89be10e7e41fee130729b5c6b2f7c5fa6b542fb27eaaa"}, +] [package.dependencies] keystoneauth1 = ">=5.0.0" @@ -1626,9 +2681,12 @@ stevedore = ">=3.3.0" name = "python-daemon" version = "2.3.2" description = "Library to implement a well-behaved Unix daemon process." -category = "main" optional = false python-versions = ">=3" +files = [ + {file = "python-daemon-2.3.2.tar.gz", hash = "sha256:3deeb808e72b6b89f98611889e11cc33754f5b2c1517ecfa1aaf25f402051fb5"}, + {file = "python_daemon-2.3.2-py3-none-any.whl", hash = "sha256:01d26358598f8c3f5fc6de553e2f3080ffc59cf89102d7ee8098f33c72b3c04c"}, +] [package.dependencies] docutils = "*" @@ -1643,9 +2701,12 @@ test = ["coverage", "docutils", "testscenarios (>=0.4)", "testtools"] name = "python-dateutil" version = "2.9.0.post0" description = "Extensions to the standard Python datetime module" -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" +files = [ + {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, + {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, +] [package.dependencies] six = ">=1.5" @@ -1654,9 +2715,12 @@ six = ">=1.5" name = "python-heatclient" version = "3.5.0" description = "OpenStack Orchestration API Client Library" -category = "main" optional = true python-versions = ">=3.8" +files = [ + {file = "python-heatclient-3.5.0.tar.gz", hash = "sha256:075178d07607145f759a4c70c9247f92a0af9702cbb4182ac14bf0d9bc8e73d8"}, + {file = "python_heatclient-3.5.0-py3-none-any.whl", hash = "sha256:8ed9b47ce10ac1aee3282f00a219e2400eb85b2177a87e9cfe82bf9c91e17dfc"}, +] [package.dependencies] cliff = ">=2.8.0,<2.9.0 || >2.9.0" @@ -1676,9 +2740,12 @@ requests = ">=2.14.2" name = "python-keystoneclient" version = "5.4.0" description = "Client Library for OpenStack Identity" -category = "main" optional = true python-versions = ">=3.8" +files = [ + {file = "python-keystoneclient-5.4.0.tar.gz", hash = "sha256:b2b4bdbe9daf7b0b353b8807672eeed01f87dd03b4f8b42d0d061b09b8931f41"}, + {file = "python_keystoneclient-5.4.0-py3-none-any.whl", hash = "sha256:9918043849032f387a0000104c553aac5ace02918a6b7afcdb99690164029867"}, +] [package.dependencies] debtcollector = ">=1.2.0" @@ -1696,9 +2763,12 @@ stevedore = ">=1.20.0" name = "python-novaclient" version = "18.6.0" description = "Client library for OpenStack Compute API" -category = "main" optional = true python-versions = ">=3.8" +files = [ + {file = "python-novaclient-18.6.0.tar.gz", hash = "sha256:573c10aa420b0898d35fb146edd8bb005806bfff0131ae2b5a30ca22ac89477b"}, + {file = "python_novaclient-18.6.0-py3-none-any.whl", hash = "sha256:ec88aa47a4cf9bc411eb65fb1623adcd68b02079386a644d6accb74e8349b529"}, +] [package.dependencies] iso8601 = ">=0.1.11" @@ -1714,9 +2784,12 @@ stevedore = ">=2.0.1" name = "python-openstackclient" version = "6.6.0" description = "OpenStack Command-line Client" -category = "main" optional = true python-versions = ">=3.8" +files = [ + {file = "python-openstackclient-6.6.0.tar.gz", hash = "sha256:bbef1ed34829c41052b2eca26480e29ca1f72be058d1430da5341ec44c4f295c"}, + {file = "python_openstackclient-6.6.0-py3-none-any.whl", hash = "sha256:149ce7d3740b7b054ab8257f92b260cdfd8b969ffe8a2215bd3682984387b327"}, +] [package.dependencies] cliff = ">=3.5.0" @@ -1735,9 +2808,12 @@ stevedore = ">=2.0.1" name = "python-swiftclient" version = "4.6.0" description = "OpenStack Object Storage API Client Library" -category = "main" optional = true python-versions = ">=3.6" +files = [ + {file = "python-swiftclient-4.6.0.tar.gz", hash = "sha256:d4d18540413893fc16ad87791d740f823f763435e8212e68eb53d60da2638233"}, + {file = "python_swiftclient-4.6.0-py3-none-any.whl", hash = "sha256:f82d89581b861ccda6ee22a9850d143602a6d77423368c55472d956305cf89b0"}, +] [package.dependencies] requests = ">=2.4.0" @@ -1750,36 +2826,94 @@ test = ["coverage (>=4.0,!=4.4)", "hacking (>=3.2.0,<6.2.0)", "keystoneauth1 (>= name = "pytz" version = "2024.1" description = "World timezone definitions, modern and historical" -category = "main" optional = false python-versions = "*" +files = [ + {file = "pytz-2024.1-py2.py3-none-any.whl", hash = "sha256:328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319"}, + {file = "pytz-2024.1.tar.gz", hash = "sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812"}, +] [[package]] name = "PyYAML" version = "6.0.1" description = "YAML parser and emitter for Python" -category = "main" optional = false python-versions = ">=3.6" - -[[package]] -name = "rdflib" -version = "6.2.0" -description = "RDFLib is a Python library for working with RDF, a simple yet powerful language for representing information." -category = "main" -optional = false -python-versions = ">=3.7" - -[package.dependencies] -isodate = "*" -pyparsing = "*" -setuptools = "*" - -[package.extras] -berkeleydb = ["berkeleydb"] -dev = ["black (==22.6.0)", "flake8", "flakeheaven", "isort", "mypy", "pep8-naming", "types-setuptools"] -docs = ["myst-parser", "sphinx (<6)", "sphinx-autodoc-typehints", "sphinxcontrib-apidoc", "sphinxcontrib-kroki"] -html = ["html5lib"] +files = [ + {file = "PyYAML-6.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a"}, + {file = "PyYAML-6.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f"}, + {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"}, + {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"}, + {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"}, + {file = "PyYAML-6.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290"}, + {file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"}, + {file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"}, + {file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"}, + {file = "PyYAML-6.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab"}, + {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"}, + {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"}, + {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"}, + {file = "PyYAML-6.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b"}, + {file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"}, + {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, + {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"}, + {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"}, + {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef"}, + {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"}, + {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"}, + {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"}, + {file = "PyYAML-6.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df"}, + {file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"}, + {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"}, + {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"}, + {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd"}, + {file = "PyYAML-6.0.1-cp36-cp36m-win32.whl", hash = "sha256:fca0e3a251908a499833aa292323f32437106001d436eca0e6e7833256674585"}, + {file = "PyYAML-6.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa"}, + {file = "PyYAML-6.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3"}, + {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27"}, + {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3"}, + {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:baa90d3f661d43131ca170712d903e6295d1f7a0f595074f151c0aed377c9b9c"}, + {file = "PyYAML-6.0.1-cp37-cp37m-win32.whl", hash = "sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba"}, + {file = "PyYAML-6.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867"}, + {file = "PyYAML-6.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595"}, + {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"}, + {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"}, + {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"}, + {file = "PyYAML-6.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6"}, + {file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"}, + {file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"}, + {file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"}, + {file = "PyYAML-6.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859"}, + {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"}, + {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"}, + {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"}, + {file = "PyYAML-6.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5"}, + {file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"}, + {file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"}, + {file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"}, +] + +[[package]] +name = "rdflib" +version = "6.2.0" +description = "RDFLib is a Python library for working with RDF, a simple yet powerful language for representing information." +optional = false +python-versions = ">=3.7" +files = [ + {file = "rdflib-6.2.0-py3-none-any.whl", hash = "sha256:85c34a86dfc517a41e5f2425a41a0aceacc23983462b32e68610b9fad1383bca"}, + {file = "rdflib-6.2.0.tar.gz", hash = "sha256:62dc3c86d1712db0f55785baf8047f63731fa59b2682be03219cb89262065942"}, +] + +[package.dependencies] +isodate = "*" +pyparsing = "*" +setuptools = "*" + +[package.extras] +berkeleydb = ["berkeleydb"] +dev = ["black (==22.6.0)", "flake8", "flakeheaven", "isort", "mypy", "pep8-naming", "types-setuptools"] +docs = ["myst-parser", "sphinx (<6)", "sphinx-autodoc-typehints", "sphinxcontrib-apidoc", "sphinxcontrib-kroki"] +html = ["html5lib"] networkx = ["networkx"] tests = ["html5lib", "pytest", "pytest-cov"] @@ -1787,9 +2921,12 @@ tests = ["html5lib", "pytest", "pytest-cov"] name = "redis" version = "5.0.7" description = "Python client for Redis database and key-value store" -category = "main" optional = false python-versions = ">=3.7" +files = [ + {file = "redis-5.0.7-py3-none-any.whl", hash = "sha256:0e479e24da960c690be5d9b96d21f7b918a98c0cf49af3b6fafaa0753f93a0db"}, + {file = "redis-5.0.7.tar.gz", hash = "sha256:8f611490b93c8109b50adc317b31bfd84fff31def3475b92e7e80bf39f48175b"}, +] [package.dependencies] async-timeout = {version = ">=4.0.3", markers = "python_full_version < \"3.11.3\""} @@ -1802,9 +2939,12 @@ ocsp = ["cryptography (>=36.0.1)", "pyopenssl (==20.0.1)", "requests (>=2.26.0)" name = "requests" version = "2.28.2" description = "Python HTTP for Humans." -category = "main" optional = false python-versions = ">=3.7, <4" +files = [ + {file = "requests-2.28.2-py3-none-any.whl", hash = "sha256:64299f4909223da747622c030b781c0d7811e359c37124b4bd368fb8c6518baa"}, + {file = "requests-2.28.2.tar.gz", hash = "sha256:98b1b2782e3c6c4904938b84c0eb932721069dfdb9134313beff7c83c2df24bf"}, +] [package.dependencies] certifi = ">=2017.4.17" @@ -1814,15 +2954,18 @@ urllib3 = ">=1.21.1,<1.27" [package.extras] socks = ["PySocks (>=1.5.6,!=1.5.7)"] -use_chardet_on_py3 = ["chardet (>=3.0.2,<6)"] +use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] [[package]] name = "requests-unixsocket" version = "0.3.0" description = "Use requests to talk HTTP via a UNIX domain socket" -category = "main" optional = false python-versions = "*" +files = [ + {file = "requests-unixsocket-0.3.0.tar.gz", hash = "sha256:28304283ea9357d45fff58ad5b11e47708cfbf5806817aa59b2a363228ee971e"}, + {file = "requests_unixsocket-0.3.0-py2.py3-none-any.whl", hash = "sha256:c685c680f0809e1b2955339b1e5afc3c0022b3066f4f7eb343f43a6065fc0e5d"}, +] [package.dependencies] requests = ">=1.1" @@ -1831,17 +2974,23 @@ requests = ">=1.1" name = "requestsexceptions" version = "1.4.0" description = "Import exceptions from potentially bundled packages in requests." -category = "main" optional = true python-versions = "*" +files = [ + {file = "requestsexceptions-1.4.0-py2.py3-none-any.whl", hash = "sha256:3083d872b6e07dc5c323563ef37671d992214ad9a32b0ca4a3d7f5500bf38ce3"}, + {file = "requestsexceptions-1.4.0.tar.gz", hash = "sha256:b095cbc77618f066d459a02b137b020c37da9f46d9b057704019c9f77dba3065"}, +] [[package]] name = "rfc3986" version = "2.0.0" description = "Validating URI References per RFC 3986" -category = "main" optional = true python-versions = ">=3.7" +files = [ + {file = "rfc3986-2.0.0-py2.py3-none-any.whl", hash = "sha256:50b1502b60e289cb37883f3dfd34532b8873c7de9f49bb546641ce9cbd256ebd"}, + {file = "rfc3986-2.0.0.tar.gz", hash = "sha256:97aacf9dbd4bfd829baad6e6309fa6573aaf1be3f6fa735c8ab05e46cecb261c"}, +] [package.extras] idna2008 = ["idna"] @@ -1850,9 +2999,12 @@ idna2008 = ["idna"] name = "rsa" version = "4.9" description = "Pure-Python RSA implementation" -category = "main" optional = true python-versions = ">=3.6,<4" +files = [ + {file = "rsa-4.9-py3-none-any.whl", hash = "sha256:90260d9058e514786967344d0ef75fa8727eed8a7d2e43ce9f4bcf1b536174f7"}, + {file = "rsa-4.9.tar.gz", hash = "sha256:e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21"}, +] [package.dependencies] pyasn1 = ">=0.1.3" @@ -1861,9 +3013,12 @@ pyasn1 = ">=0.1.3" name = "ruamel.yaml" version = "0.17.21" description = "ruamel.yaml is a YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order" -category = "main" optional = false python-versions = ">=3" +files = [ + {file = "ruamel.yaml-0.17.21-py3-none-any.whl", hash = "sha256:742b35d3d665023981bd6d16b3d24248ce5df75fdb4e2924e93a05c1f8b61ca7"}, + {file = "ruamel.yaml-0.17.21.tar.gz", hash = "sha256:8b7ce697a2f212752a35c1ac414471dc16c424c9573be4926b56ff3f5d23b7af"}, +] [package.dependencies] "ruamel.yaml.clib" = {version = ">=0.2.6", markers = "platform_python_implementation == \"CPython\" and python_version < \"3.11\""} @@ -1876,17 +3031,106 @@ jinja2 = ["ruamel.yaml.jinja2 (>=0.2)"] name = "ruamel.yaml.clib" version = "0.2.8" description = "C version of reader, parser and emitter for ruamel.yaml derived from libyaml" -category = "main" optional = false python-versions = ">=3.6" +files = [ + {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:b42169467c42b692c19cf539c38d4602069d8c1505e97b86387fcf7afb766e1d"}, + {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-macosx_13_0_arm64.whl", hash = "sha256:07238db9cbdf8fc1e9de2489a4f68474e70dffcb32232db7c08fa61ca0c7c462"}, + {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:fff3573c2db359f091e1589c3d7c5fc2f86f5bdb6f24252c2d8e539d4e45f412"}, + {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-manylinux_2_24_aarch64.whl", hash = "sha256:aa2267c6a303eb483de8d02db2871afb5c5fc15618d894300b88958f729ad74f"}, + {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:840f0c7f194986a63d2c2465ca63af8ccbbc90ab1c6001b1978f05119b5e7334"}, + {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:024cfe1fc7c7f4e1aff4a81e718109e13409767e4f871443cbff3dba3578203d"}, + {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-win32.whl", hash = "sha256:c69212f63169ec1cfc9bb44723bf2917cbbd8f6191a00ef3410f5a7fe300722d"}, + {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-win_amd64.whl", hash = "sha256:cabddb8d8ead485e255fe80429f833172b4cadf99274db39abc080e068cbcc31"}, + {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:bef08cd86169d9eafb3ccb0a39edb11d8e25f3dae2b28f5c52fd997521133069"}, + {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-macosx_13_0_arm64.whl", hash = "sha256:b16420e621d26fdfa949a8b4b47ade8810c56002f5389970db4ddda51dbff248"}, + {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:25c515e350e5b739842fc3228d662413ef28f295791af5e5110b543cf0b57d9b"}, + {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-manylinux_2_24_aarch64.whl", hash = "sha256:1707814f0d9791df063f8c19bb51b0d1278b8e9a2353abbb676c2f685dee6afe"}, + {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:46d378daaac94f454b3a0e3d8d78cafd78a026b1d71443f4966c696b48a6d899"}, + {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:09b055c05697b38ecacb7ac50bdab2240bfca1a0c4872b0fd309bb07dc9aa3a9"}, + {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-win32.whl", hash = "sha256:53a300ed9cea38cf5a2a9b069058137c2ca1ce658a874b79baceb8f892f915a7"}, + {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-win_amd64.whl", hash = "sha256:c2a72e9109ea74e511e29032f3b670835f8a59bbdc9ce692c5b4ed91ccf1eedb"}, + {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:ebc06178e8821efc9692ea7544aa5644217358490145629914d8020042c24aa1"}, + {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-macosx_13_0_arm64.whl", hash = "sha256:edaef1c1200c4b4cb914583150dcaa3bc30e592e907c01117c08b13a07255ec2"}, + {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d176b57452ab5b7028ac47e7b3cf644bcfdc8cacfecf7e71759f7f51a59e5c92"}, + {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-manylinux_2_24_aarch64.whl", hash = "sha256:1dc67314e7e1086c9fdf2680b7b6c2be1c0d8e3a8279f2e993ca2a7545fecf62"}, + {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:3213ece08ea033eb159ac52ae052a4899b56ecc124bb80020d9bbceeb50258e9"}, + {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:aab7fd643f71d7946f2ee58cc88c9b7bfc97debd71dcc93e03e2d174628e7e2d"}, + {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-win32.whl", hash = "sha256:5c365d91c88390c8d0a8545df0b5857172824b1c604e867161e6b3d59a827eaa"}, + {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-win_amd64.whl", hash = "sha256:1758ce7d8e1a29d23de54a16ae867abd370f01b5a69e1a3ba75223eaa3ca1a1b"}, + {file = "ruamel.yaml.clib-0.2.8-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:a5aa27bad2bb83670b71683aae140a1f52b0857a2deff56ad3f6c13a017a26ed"}, + {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c58ecd827313af6864893e7af0a3bb85fd529f862b6adbefe14643947cfe2942"}, + {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-macosx_12_0_arm64.whl", hash = "sha256:f481f16baec5290e45aebdc2a5168ebc6d35189ae6fea7a58787613a25f6e875"}, + {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-manylinux_2_24_aarch64.whl", hash = "sha256:77159f5d5b5c14f7c34073862a6b7d34944075d9f93e681638f6d753606c6ce6"}, + {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:7f67a1ee819dc4562d444bbafb135832b0b909f81cc90f7aa00260968c9ca1b3"}, + {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:4ecbf9c3e19f9562c7fdd462e8d18dd902a47ca046a2e64dba80699f0b6c09b7"}, + {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:87ea5ff66d8064301a154b3933ae406b0863402a799b16e4a1d24d9fbbcbe0d3"}, + {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-win32.whl", hash = "sha256:75e1ed13e1f9de23c5607fe6bd1aeaae21e523b32d83bb33918245361e9cc51b"}, + {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-win_amd64.whl", hash = "sha256:3f215c5daf6a9d7bbed4a0a4f760f3113b10e82ff4c5c44bec20a68c8014f675"}, + {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1b617618914cb00bf5c34d4357c37aa15183fa229b24767259657746c9077615"}, + {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:a6a9ffd280b71ad062eae53ac1659ad86a17f59a0fdc7699fd9be40525153337"}, + {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-manylinux_2_24_aarch64.whl", hash = "sha256:305889baa4043a09e5b76f8e2a51d4ffba44259f6b4c72dec8ca56207d9c6fe1"}, + {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:700e4ebb569e59e16a976857c8798aee258dceac7c7d6b50cab63e080058df91"}, + {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:e2b4c44b60eadec492926a7270abb100ef9f72798e18743939bdbf037aab8c28"}, + {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:e79e5db08739731b0ce4850bed599235d601701d5694c36570a99a0c5ca41a9d"}, + {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-win32.whl", hash = "sha256:955eae71ac26c1ab35924203fda6220f84dce57d6d7884f189743e2abe3a9fbe"}, + {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-win_amd64.whl", hash = "sha256:56f4252222c067b4ce51ae12cbac231bce32aee1d33fbfc9d17e5b8d6966c312"}, + {file = "ruamel.yaml.clib-0.2.8-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:03d1162b6d1df1caa3a4bd27aa51ce17c9afc2046c31b0ad60a0a96ec22f8001"}, + {file = "ruamel.yaml.clib-0.2.8-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:bba64af9fa9cebe325a62fa398760f5c7206b215201b0ec825005f1b18b9bccf"}, + {file = "ruamel.yaml.clib-0.2.8-cp39-cp39-manylinux_2_24_aarch64.whl", hash = "sha256:a1a45e0bb052edf6a1d3a93baef85319733a888363938e1fc9924cb00c8df24c"}, + {file = "ruamel.yaml.clib-0.2.8-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:da09ad1c359a728e112d60116f626cc9f29730ff3e0e7db72b9a2dbc2e4beed5"}, + {file = "ruamel.yaml.clib-0.2.8-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:184565012b60405d93838167f425713180b949e9d8dd0bbc7b49f074407c5a8b"}, + {file = "ruamel.yaml.clib-0.2.8-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a75879bacf2c987c003368cf14bed0ffe99e8e85acfa6c0bfffc21a090f16880"}, + {file = "ruamel.yaml.clib-0.2.8-cp39-cp39-win32.whl", hash = "sha256:84b554931e932c46f94ab306913ad7e11bba988104c5cff26d90d03f68258cd5"}, + {file = "ruamel.yaml.clib-0.2.8-cp39-cp39-win_amd64.whl", hash = "sha256:25ac8c08322002b06fa1d49d1646181f0b2c72f5cbc15a85e80b4c30a544bb15"}, + {file = "ruamel.yaml.clib-0.2.8.tar.gz", hash = "sha256:beb2e0404003de9a4cab9753a8805a8fe9320ee6673136ed7f04255fe60bb512"}, +] [[package]] name = "schema-salad" version = "8.6.20240710082410" description = "Schema Annotations for Linked Avro Data (SALAD)" -category = "main" optional = false python-versions = "<3.13,>=3.8" +files = [ + {file = "schema_salad-8.6.20240710082410-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:76e916baa5b73daddef8ae3369cb9bc18dc0ddd1a84670e7c996e7ceb04820b3"}, + {file = "schema_salad-8.6.20240710082410-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:20e00917d53e08596a122734b1f3700058b9d863f08b86bfc4639af004b6ae1a"}, + {file = "schema_salad-8.6.20240710082410-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:23fec1d39cf1dd1b7217974af5ffff5efd6d56aaabf3432d8eb28c215f4629dd"}, + {file = "schema_salad-8.6.20240710082410-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e006e391b6dcc7c5c1ce18de74ff4ba7bf233f1ad745d83a4ce86272a2e75692"}, + {file = "schema_salad-8.6.20240710082410-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:07e9df7acdb85ce47a19dae55e659793e99efcd914ddc3198f219ed8883da630"}, + {file = "schema_salad-8.6.20240710082410-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:827d78b91e17803224c77981df0afa64573f1b3f887804cafb2b82bf30a92eb0"}, + {file = "schema_salad-8.6.20240710082410-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:14e5eefba4fa3658ae05f683c541c6a99f86d93bfcc4c63363add7352719e52e"}, + {file = "schema_salad-8.6.20240710082410-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c865a160c66e09bed2a77551ebe569735945b249e404ca37c49db43d5285f781"}, + {file = "schema_salad-8.6.20240710082410-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:79961a6ce0b2dee9b66affad73883dd02da3d56576f89893acb06a815b72d44e"}, + {file = "schema_salad-8.6.20240710082410-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0624c287f6cd5072e0c3fa72a0493963f51a452a53378808271c22a64eac028a"}, + {file = "schema_salad-8.6.20240710082410-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c2b9b00c1b7ff6de2dae2cef4496a07e75cd0dc72766941f4ed97da59c141a19"}, + {file = "schema_salad-8.6.20240710082410-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:4b20799deb1552e9358ad407d3bf84a25e45c34c168be1b268f6b0a35393fab2"}, + {file = "schema_salad-8.6.20240710082410-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:a5bb572c2a29304b0d02c6f1d8756400ace624507a76be0ae847a75dd5d59f4a"}, + {file = "schema_salad-8.6.20240710082410-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:7e6d20fc3ab4d42d72f272b82dad2d52b9543a5aa1e57ee7a078e01a10f25b90"}, + {file = "schema_salad-8.6.20240710082410-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:edaa4f11c58336d807040378dde97d82d21af72c349b30a257f46db0f5d2ccbb"}, + {file = "schema_salad-8.6.20240710082410-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f398392eda9fd302999250bc950e35cb50d5d9e804192ba9223ddf51a223d9a7"}, + {file = "schema_salad-8.6.20240710082410-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:13d92ef4bba0c4fbdeeec6cc70538532826db818711156cd8da271a401e5df9e"}, + {file = "schema_salad-8.6.20240710082410-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:671ba89a7a34e9c59b34459580c3581a15bc647aaa3ed565756e573808d61347"}, + {file = "schema_salad-8.6.20240710082410-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:85431930b431f0c1289d1385b38f509abcb42f42675bfa2f22baf14898063408"}, + {file = "schema_salad-8.6.20240710082410-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2dfc0c52a08b623edadd614f44c222397f645d7e3e523e735860fdbb85777582"}, + {file = "schema_salad-8.6.20240710082410-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:d5a76aad8d54484c51bdd749a123a5c144191e0691bec2cbf97a985b0f1b9bbc"}, + {file = "schema_salad-8.6.20240710082410-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:e0ea9e606b34f5695f384ca3f11baccf2579aa3486d42190f24f7d8c172e5d61"}, + {file = "schema_salad-8.6.20240710082410-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:13b8ef75d5cd63cc27e791184401270a69ae75b210a61381b313dfdbf181eac4"}, + {file = "schema_salad-8.6.20240710082410-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f342835ff739521ca79e0b4ece1fffe02eb15fea29b3c89fb846d7d0c6ffcf2a"}, + {file = "schema_salad-8.6.20240710082410-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5301ba938a129b6673695f855e6b447ed31e9666e21daa867a20692379d7c385"}, + {file = "schema_salad-8.6.20240710082410-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b9270691a706ca91c1ca51dd89ea0699e98baa43f86a1eb19ec9ccd61d385430"}, + {file = "schema_salad-8.6.20240710082410-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:06b51bfbeb4b367cd61b692ebb6d70b5c7222547ae31e74756570b91f1e3696e"}, + {file = "schema_salad-8.6.20240710082410-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:813c744f2016688e3b7d95691def54116597b66ded2b664d5ba1ec3a0963ad06"}, + {file = "schema_salad-8.6.20240710082410-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d1395567e945d1a5fa8154aab6abc9d7072d7cc4f12b184afd714c8eb86ed17f"}, + {file = "schema_salad-8.6.20240710082410-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:614686b9832a51797df2aa145a12f2eef9a47a4540d5b980ce1db1b4941b29b5"}, + {file = "schema_salad-8.6.20240710082410-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:20bcc33a0f4219afaa9b363490597cd6757fe6487529141d816a754d33735ec0"}, + {file = "schema_salad-8.6.20240710082410-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:8850efe1d8edfff215b04387e4cd420ad07a106da0a3f3aeb15b82f1be0c0d3a"}, + {file = "schema_salad-8.6.20240710082410-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8915b987d81f64026da18aa91867a6eac464e1bad20b7ce2cbaf9ae61372c10e"}, + {file = "schema_salad-8.6.20240710082410-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:9a922070b63c2c9855f0d2dbc946beecb7341ce889a5dfdd31902e5c01ccbccf"}, + {file = "schema_salad-8.6.20240710082410-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:4aec0a36019b8eebc3bfc2267102a41177f6fcfb08dfdab008fa7c76725874c3"}, + {file = "schema_salad-8.6.20240710082410-py3-none-any.whl", hash = "sha256:96bedcb7ba8d31c5357465ba417a508c5699693dffb88426b470666d86f5c656"}, + {file = "schema_salad-8.6.20240710082410.tar.gz", hash = "sha256:65a497f91994967a46206535eac5ff3d27b00f318b8b50ebc8dea43be73dd369"}, +] [package.dependencies] CacheControl = {version = ">=0.11.7,<0.15", extras = ["filecache"]} @@ -1905,9 +3149,12 @@ pycodegen = ["black"] name = "setuptools" version = "70.3.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" -category = "main" optional = false python-versions = ">=3.8" +files = [ + {file = "setuptools-70.3.0-py3-none-any.whl", hash = "sha256:fe384da74336c398e0d956d1cae0669bc02eed936cdb1d49b57de1990dc11ffc"}, + {file = "setuptools-70.3.0.tar.gz", hash = "sha256:f171bab1dfbc86b132997f26a119f6056a57950d058587841a0082e8830f9dc5"}, +] [package.extras] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] @@ -1917,41 +3164,56 @@ test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "importlib-metadata name = "shellescape" version = "3.8.1" description = "Shell escape a string to safely use it as a token in a shell command (backport of cPython shlex.quote for Python versions 2.x & < 3.3)" -category = "dev" optional = false python-versions = "*" +files = [ + {file = "shellescape-3.8.1-py2.py3-none-any.whl", hash = "sha256:f17127e390fa3f9aaa80c69c16ea73615fd9b5318fd8309c1dca6168ae7d85bf"}, + {file = "shellescape-3.8.1.tar.gz", hash = "sha256:40b310b30479be771bf3ab28bd8d40753778488bd46ea0969ba0b35038c3ec26"}, +] [[package]] name = "six" version = "1.16.0" description = "Python 2 and 3 compatibility utilities" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" +files = [ + {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, + {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, +] [[package]] name = "sniffio" version = "1.3.1" description = "Sniff out which async library your code is running under" -category = "main" optional = false python-versions = ">=3.7" +files = [ + {file = "sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2"}, + {file = "sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc"}, +] [[package]] name = "snowballstemmer" version = "2.2.0" description = "This package provides 29 stemmers for 28 languages generated from Snowball algorithms." -category = "dev" optional = false python-versions = "*" +files = [ + {file = "snowballstemmer-2.2.0-py2.py3-none-any.whl", hash = "sha256:c8e1716e83cc398ae16824e5572ae04e0d9fc2c6b985fb0f900f5f0c96ecba1a"}, + {file = "snowballstemmer-2.2.0.tar.gz", hash = "sha256:09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1"}, +] [[package]] name = "Sphinx" version = "6.2.1" description = "Python documentation generator" -category = "dev" optional = false python-versions = ">=3.8" +files = [ + {file = "Sphinx-6.2.1.tar.gz", hash = "sha256:6d56a34697bb749ffa0152feafc4b19836c755d90a7c59b72bc7dfd371b9cc6b"}, + {file = "sphinx-6.2.1-py3-none-any.whl", hash = "sha256:97787ff1fa3256a3eef9eda523a63dbf299f7b47e053cfcf684a1c2a8380c912"}, +] [package.dependencies] alabaster = ">=0.7,<0.8" @@ -1981,9 +3243,12 @@ test = ["cython", "filelock", "html5lib", "pytest (>=4.6)"] name = "sphinx-rtd-theme" version = "1.3.0" description = "Read the Docs theme for Sphinx" -category = "dev" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" +files = [ + {file = "sphinx_rtd_theme-1.3.0-py2.py3-none-any.whl", hash = "sha256:46ddef89cc2416a81ecfbeaceab1881948c014b1b6e4450b815311a89fb977b0"}, + {file = "sphinx_rtd_theme-1.3.0.tar.gz", hash = "sha256:590b030c7abb9cf038ec053b95e5380b5c70d61591eb0b552063fbe7c41f0931"}, +] [package.dependencies] docutils = "<0.19" @@ -1997,9 +3262,12 @@ dev = ["bump2version", "sphinxcontrib-httpdomain", "transifex-client", "wheel"] name = "sphinxcontrib-applehelp" version = "1.0.4" description = "sphinxcontrib-applehelp is a Sphinx extension which outputs Apple help books" -category = "dev" optional = false python-versions = ">=3.8" +files = [ + {file = "sphinxcontrib-applehelp-1.0.4.tar.gz", hash = "sha256:828f867945bbe39817c210a1abfd1bc4895c8b73fcaade56d45357a348a07d7e"}, + {file = "sphinxcontrib_applehelp-1.0.4-py3-none-any.whl", hash = "sha256:29d341f67fb0f6f586b23ad80e072c8e6ad0b48417db2bde114a4c9746feb228"}, +] [package.extras] lint = ["docutils-stubs", "flake8", "mypy"] @@ -2009,9 +3277,12 @@ test = ["pytest"] name = "sphinxcontrib-devhelp" version = "1.0.2" description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp document." -category = "dev" optional = false python-versions = ">=3.5" +files = [ + {file = "sphinxcontrib-devhelp-1.0.2.tar.gz", hash = "sha256:ff7f1afa7b9642e7060379360a67e9c41e8f3121f2ce9164266f61b9f4b338e4"}, + {file = "sphinxcontrib_devhelp-1.0.2-py2.py3-none-any.whl", hash = "sha256:8165223f9a335cc1af7ffe1ed31d2871f325254c0423bc0c4c7cd1c1e4734a2e"}, +] [package.extras] lint = ["docutils-stubs", "flake8", "mypy"] @@ -2021,9 +3292,12 @@ test = ["pytest"] name = "sphinxcontrib-htmlhelp" version = "2.0.1" description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files" -category = "dev" optional = false python-versions = ">=3.8" +files = [ + {file = "sphinxcontrib-htmlhelp-2.0.1.tar.gz", hash = "sha256:0cbdd302815330058422b98a113195c9249825d681e18f11e8b1f78a2f11efff"}, + {file = "sphinxcontrib_htmlhelp-2.0.1-py3-none-any.whl", hash = "sha256:c38cb46dccf316c79de6e5515e1770414b797162b23cd3d06e67020e1d2a6903"}, +] [package.extras] lint = ["docutils-stubs", "flake8", "mypy"] @@ -2033,9 +3307,12 @@ test = ["html5lib", "pytest"] name = "sphinxcontrib-jquery" version = "4.1" description = "Extension to include jQuery on newer Sphinx releases" -category = "dev" optional = false python-versions = ">=2.7" +files = [ + {file = "sphinxcontrib-jquery-4.1.tar.gz", hash = "sha256:1620739f04e36a2c779f1a131a2dfd49b2fd07351bf1968ced074365933abc7a"}, + {file = "sphinxcontrib_jquery-4.1-py2.py3-none-any.whl", hash = "sha256:f936030d7d0147dd026a4f2b5a57343d233f1fc7b363f68b3d4f1cb0993878ae"}, +] [package.dependencies] Sphinx = ">=1.8" @@ -2044,9 +3321,12 @@ Sphinx = ">=1.8" name = "sphinxcontrib-jsmath" version = "1.0.1" description = "A sphinx extension which renders display math in HTML via JavaScript" -category = "dev" optional = false python-versions = ">=3.5" +files = [ + {file = "sphinxcontrib-jsmath-1.0.1.tar.gz", hash = "sha256:a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8"}, + {file = "sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl", hash = "sha256:2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178"}, +] [package.extras] test = ["flake8", "mypy", "pytest"] @@ -2055,9 +3335,12 @@ test = ["flake8", "mypy", "pytest"] name = "sphinxcontrib-qthelp" version = "1.0.3" description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp document." -category = "dev" optional = false python-versions = ">=3.5" +files = [ + {file = "sphinxcontrib-qthelp-1.0.3.tar.gz", hash = "sha256:4c33767ee058b70dba89a6fc5c1892c0d57a54be67ddd3e7875a18d14cba5a72"}, + {file = "sphinxcontrib_qthelp-1.0.3-py2.py3-none-any.whl", hash = "sha256:bd9fc24bcb748a8d51fd4ecaade681350aa63009a347a8c14e637895444dfab6"}, +] [package.extras] lint = ["docutils-stubs", "flake8", "mypy"] @@ -2067,9 +3350,12 @@ test = ["pytest"] name = "sphinxcontrib-serializinghtml" version = "1.1.5" description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)." -category = "dev" optional = false python-versions = ">=3.5" +files = [ + {file = "sphinxcontrib-serializinghtml-1.1.5.tar.gz", hash = "sha256:aa5f6de5dfdf809ef505c4895e51ef5c9eac17d0f287933eb49ec495280b6952"}, + {file = "sphinxcontrib_serializinghtml-1.1.5-py2.py3-none-any.whl", hash = "sha256:352a9a00ae864471d3a7ead8d7d79f5fc0b57e8b3f95e9867eb9eb28999b92fd"}, +] [package.extras] lint = ["docutils-stubs", "flake8", "mypy"] @@ -2079,36 +3365,86 @@ test = ["pytest"] name = "SQLAlchemy" version = "2.0.31" description = "Database Abstraction Library" -category = "main" optional = false python-versions = ">=3.7" - -[package.dependencies] -greenlet = {version = "!=0.4.17", markers = "python_version < \"3.13\" and (platform_machine == \"aarch64\" or platform_machine == \"ppc64le\" or platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"AMD64\" or platform_machine == \"win32\" or platform_machine == \"WIN32\")"} -typing-extensions = ">=4.6.0" - -[package.extras] -aiomysql = ["aiomysql (>=0.2.0)", "greenlet (!=0.4.17)"] -aioodbc = ["aioodbc", "greenlet (!=0.4.17)"] -aiosqlite = ["aiosqlite", "greenlet (!=0.4.17)", "typing_extensions (!=3.10.0.1)"] -asyncio = ["greenlet (!=0.4.17)"] -asyncmy = ["asyncmy (>=0.2.3,!=0.2.4,!=0.2.6)", "greenlet (!=0.4.17)"] -mariadb-connector = ["mariadb (>=1.0.1,!=1.1.2,!=1.1.5)"] -mssql = ["pyodbc"] -mssql-pymssql = ["pymssql"] -mssql-pyodbc = ["pyodbc"] -mypy = ["mypy (>=0.910)"] -mysql = ["mysqlclient (>=1.4.0)"] -mysql-connector = ["mysql-connector-python"] -oracle = ["cx_oracle (>=8)"] -oracle-oracledb = ["oracledb (>=1.0.1)"] -postgresql = ["psycopg2 (>=2.7)"] -postgresql-asyncpg = ["asyncpg", "greenlet (!=0.4.17)"] -postgresql-pg8000 = ["pg8000 (>=1.29.1)"] -postgresql-psycopg = ["psycopg (>=3.0.7)"] -postgresql-psycopg2binary = ["psycopg2-binary"] -postgresql-psycopg2cffi = ["psycopg2cffi"] -postgresql-psycopgbinary = ["psycopg[binary] (>=3.0.7)"] +files = [ + {file = "SQLAlchemy-2.0.31-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f2a213c1b699d3f5768a7272de720387ae0122f1becf0901ed6eaa1abd1baf6c"}, + {file = "SQLAlchemy-2.0.31-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9fea3d0884e82d1e33226935dac990b967bef21315cbcc894605db3441347443"}, + {file = "SQLAlchemy-2.0.31-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3ad7f221d8a69d32d197e5968d798217a4feebe30144986af71ada8c548e9fa"}, + {file = "SQLAlchemy-2.0.31-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f2bee229715b6366f86a95d497c347c22ddffa2c7c96143b59a2aa5cc9eebbc"}, + {file = "SQLAlchemy-2.0.31-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:cd5b94d4819c0c89280b7c6109c7b788a576084bf0a480ae17c227b0bc41e109"}, + {file = "SQLAlchemy-2.0.31-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:750900a471d39a7eeba57580b11983030517a1f512c2cb287d5ad0fcf3aebd58"}, + {file = "SQLAlchemy-2.0.31-cp310-cp310-win32.whl", hash = "sha256:7bd112be780928c7f493c1a192cd8c5fc2a2a7b52b790bc5a84203fb4381c6be"}, + {file = "SQLAlchemy-2.0.31-cp310-cp310-win_amd64.whl", hash = "sha256:5a48ac4d359f058474fadc2115f78a5cdac9988d4f99eae44917f36aa1476327"}, + {file = "SQLAlchemy-2.0.31-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f68470edd70c3ac3b6cd5c2a22a8daf18415203ca1b036aaeb9b0fb6f54e8298"}, + {file = "SQLAlchemy-2.0.31-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2e2c38c2a4c5c634fe6c3c58a789712719fa1bf9b9d6ff5ebfce9a9e5b89c1ca"}, + {file = "SQLAlchemy-2.0.31-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd15026f77420eb2b324dcb93551ad9c5f22fab2c150c286ef1dc1160f110203"}, + {file = "SQLAlchemy-2.0.31-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2196208432deebdfe3b22185d46b08f00ac9d7b01284e168c212919891289396"}, + {file = "SQLAlchemy-2.0.31-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:352b2770097f41bff6029b280c0e03b217c2dcaddc40726f8f53ed58d8a85da4"}, + {file = "SQLAlchemy-2.0.31-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:56d51ae825d20d604583f82c9527d285e9e6d14f9a5516463d9705dab20c3740"}, + {file = "SQLAlchemy-2.0.31-cp311-cp311-win32.whl", hash = "sha256:6e2622844551945db81c26a02f27d94145b561f9d4b0c39ce7bfd2fda5776dac"}, + {file = "SQLAlchemy-2.0.31-cp311-cp311-win_amd64.whl", hash = "sha256:ccaf1b0c90435b6e430f5dd30a5aede4764942a695552eb3a4ab74ed63c5b8d3"}, + {file = "SQLAlchemy-2.0.31-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3b74570d99126992d4b0f91fb87c586a574a5872651185de8297c6f90055ae42"}, + {file = "SQLAlchemy-2.0.31-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6f77c4f042ad493cb8595e2f503c7a4fe44cd7bd59c7582fd6d78d7e7b8ec52c"}, + {file = "SQLAlchemy-2.0.31-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cd1591329333daf94467e699e11015d9c944f44c94d2091f4ac493ced0119449"}, + {file = "SQLAlchemy-2.0.31-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:74afabeeff415e35525bf7a4ecdab015f00e06456166a2eba7590e49f8db940e"}, + {file = "SQLAlchemy-2.0.31-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:b9c01990d9015df2c6f818aa8f4297d42ee71c9502026bb074e713d496e26b67"}, + {file = "SQLAlchemy-2.0.31-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:66f63278db425838b3c2b1c596654b31939427016ba030e951b292e32b99553e"}, + {file = "SQLAlchemy-2.0.31-cp312-cp312-win32.whl", hash = "sha256:0b0f658414ee4e4b8cbcd4a9bb0fd743c5eeb81fc858ca517217a8013d282c96"}, + {file = "SQLAlchemy-2.0.31-cp312-cp312-win_amd64.whl", hash = "sha256:fa4b1af3e619b5b0b435e333f3967612db06351217c58bfb50cee5f003db2a5a"}, + {file = "SQLAlchemy-2.0.31-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:f43e93057cf52a227eda401251c72b6fbe4756f35fa6bfebb5d73b86881e59b0"}, + {file = "SQLAlchemy-2.0.31-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d337bf94052856d1b330d5fcad44582a30c532a2463776e1651bd3294ee7e58b"}, + {file = "SQLAlchemy-2.0.31-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c06fb43a51ccdff3b4006aafee9fcf15f63f23c580675f7734245ceb6b6a9e05"}, + {file = "SQLAlchemy-2.0.31-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:b6e22630e89f0e8c12332b2b4c282cb01cf4da0d26795b7eae16702a608e7ca1"}, + {file = "SQLAlchemy-2.0.31-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:79a40771363c5e9f3a77f0e28b3302801db08040928146e6808b5b7a40749c88"}, + {file = "SQLAlchemy-2.0.31-cp37-cp37m-win32.whl", hash = "sha256:501ff052229cb79dd4c49c402f6cb03b5a40ae4771efc8bb2bfac9f6c3d3508f"}, + {file = "SQLAlchemy-2.0.31-cp37-cp37m-win_amd64.whl", hash = "sha256:597fec37c382a5442ffd471f66ce12d07d91b281fd474289356b1a0041bdf31d"}, + {file = "SQLAlchemy-2.0.31-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:dc6d69f8829712a4fd799d2ac8d79bdeff651c2301b081fd5d3fe697bd5b4ab9"}, + {file = "SQLAlchemy-2.0.31-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:23b9fbb2f5dd9e630db70fbe47d963c7779e9c81830869bd7d137c2dc1ad05fb"}, + {file = "SQLAlchemy-2.0.31-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2a21c97efcbb9f255d5c12a96ae14da873233597dfd00a3a0c4ce5b3e5e79704"}, + {file = "SQLAlchemy-2.0.31-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26a6a9837589c42b16693cf7bf836f5d42218f44d198f9343dd71d3164ceeeac"}, + {file = "SQLAlchemy-2.0.31-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:dc251477eae03c20fae8db9c1c23ea2ebc47331bcd73927cdcaecd02af98d3c3"}, + {file = "SQLAlchemy-2.0.31-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:2fd17e3bb8058359fa61248c52c7b09a97cf3c820e54207a50af529876451808"}, + {file = "SQLAlchemy-2.0.31-cp38-cp38-win32.whl", hash = "sha256:c76c81c52e1e08f12f4b6a07af2b96b9b15ea67ccdd40ae17019f1c373faa227"}, + {file = "SQLAlchemy-2.0.31-cp38-cp38-win_amd64.whl", hash = "sha256:4b600e9a212ed59355813becbcf282cfda5c93678e15c25a0ef896b354423238"}, + {file = "SQLAlchemy-2.0.31-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b6cf796d9fcc9b37011d3f9936189b3c8074a02a4ed0c0fbbc126772c31a6d4"}, + {file = "SQLAlchemy-2.0.31-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:78fe11dbe37d92667c2c6e74379f75746dc947ee505555a0197cfba9a6d4f1a4"}, + {file = "SQLAlchemy-2.0.31-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2fc47dc6185a83c8100b37acda27658fe4dbd33b7d5e7324111f6521008ab4fe"}, + {file = "SQLAlchemy-2.0.31-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8a41514c1a779e2aa9a19f67aaadeb5cbddf0b2b508843fcd7bafdf4c6864005"}, + {file = "SQLAlchemy-2.0.31-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:afb6dde6c11ea4525318e279cd93c8734b795ac8bb5dda0eedd9ebaca7fa23f1"}, + {file = "SQLAlchemy-2.0.31-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:3f9faef422cfbb8fd53716cd14ba95e2ef655400235c3dfad1b5f467ba179c8c"}, + {file = "SQLAlchemy-2.0.31-cp39-cp39-win32.whl", hash = "sha256:fc6b14e8602f59c6ba893980bea96571dd0ed83d8ebb9c4479d9ed5425d562e9"}, + {file = "SQLAlchemy-2.0.31-cp39-cp39-win_amd64.whl", hash = "sha256:3cb8a66b167b033ec72c3812ffc8441d4e9f5f78f5e31e54dcd4c90a4ca5bebc"}, + {file = "SQLAlchemy-2.0.31-py3-none-any.whl", hash = "sha256:69f3e3c08867a8e4856e92d7afb618b95cdee18e0bc1647b77599722c9a28911"}, + {file = "SQLAlchemy-2.0.31.tar.gz", hash = "sha256:b607489dd4a54de56984a0c7656247504bd5523d9d0ba799aef59d4add009484"}, +] + +[package.dependencies] +greenlet = {version = "!=0.4.17", markers = "python_version < \"3.13\" and (platform_machine == \"aarch64\" or platform_machine == \"ppc64le\" or platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"AMD64\" or platform_machine == \"win32\" or platform_machine == \"WIN32\")"} +typing-extensions = ">=4.6.0" + +[package.extras] +aiomysql = ["aiomysql (>=0.2.0)", "greenlet (!=0.4.17)"] +aioodbc = ["aioodbc", "greenlet (!=0.4.17)"] +aiosqlite = ["aiosqlite", "greenlet (!=0.4.17)", "typing_extensions (!=3.10.0.1)"] +asyncio = ["greenlet (!=0.4.17)"] +asyncmy = ["asyncmy (>=0.2.3,!=0.2.4,!=0.2.6)", "greenlet (!=0.4.17)"] +mariadb-connector = ["mariadb (>=1.0.1,!=1.1.2,!=1.1.5)"] +mssql = ["pyodbc"] +mssql-pymssql = ["pymssql"] +mssql-pyodbc = ["pyodbc"] +mypy = ["mypy (>=0.910)"] +mysql = ["mysqlclient (>=1.4.0)"] +mysql-connector = ["mysql-connector-python"] +oracle = ["cx_oracle (>=8)"] +oracle-oracledb = ["oracledb (>=1.0.1)"] +postgresql = ["psycopg2 (>=2.7)"] +postgresql-asyncpg = ["asyncpg", "greenlet (!=0.4.17)"] +postgresql-pg8000 = ["pg8000 (>=1.29.1)"] +postgresql-psycopg = ["psycopg (>=3.0.7)"] +postgresql-psycopg2binary = ["psycopg2-binary"] +postgresql-psycopg2cffi = ["psycopg2cffi"] +postgresql-psycopgbinary = ["psycopg[binary] (>=3.0.7)"] pymysql = ["pymysql"] sqlcipher = ["sqlcipher3_binary"] @@ -2116,9 +3452,12 @@ sqlcipher = ["sqlcipher3_binary"] name = "starlette" version = "0.36.3" description = "The little ASGI library that shines." -category = "main" optional = false python-versions = ">=3.8" +files = [ + {file = "starlette-0.36.3-py3-none-any.whl", hash = "sha256:13d429aa93a61dc40bf503e8c801db1f1bca3dc706b10ef2434a36123568f044"}, + {file = "starlette-0.36.3.tar.gz", hash = "sha256:90a671733cfb35771d8cc605e0b679d23b992f8dcfad48cc60b38cb29aeb7080"}, +] [package.dependencies] anyio = ">=3.4.0,<5" @@ -2131,9 +3470,12 @@ full = ["httpx (>=0.22.0)", "itsdangerous", "jinja2", "python-multipart (>=0.0.7 name = "stevedore" version = "5.2.0" description = "Manage dynamic plugins for Python applications" -category = "main" optional = true python-versions = ">=3.8" +files = [ + {file = "stevedore-5.2.0-py3-none-any.whl", hash = "sha256:1c15d95766ca0569cad14cb6272d4d31dae66b011a929d7c18219c176ea1b5c9"}, + {file = "stevedore-5.2.0.tar.gz", hash = "sha256:46b93ca40e1114cea93d738a6c1e365396981bb6bb78c27045b7587c9473544d"}, +] [package.dependencies] pbr = ">=2.0.0,<2.1.0 || >2.1.0" @@ -2142,25 +3484,34 @@ pbr = ">=2.0.0,<2.1.0 || >2.1.0" name = "tomli" version = "2.0.1" description = "A lil' TOML parser" -category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, + {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, +] [[package]] name = "tomlkit" version = "0.13.0" description = "Style preserving TOML library" -category = "dev" optional = false python-versions = ">=3.8" +files = [ + {file = "tomlkit-0.13.0-py3-none-any.whl", hash = "sha256:7075d3042d03b80f603482d69bf0c8f345c2b30e41699fd8883227f89972b264"}, + {file = "tomlkit-0.13.0.tar.gz", hash = "sha256:08ad192699734149f5b97b45f1f18dad7eb1b6d16bc72ad0c2335772650d7b72"}, +] [[package]] name = "typer" version = "0.5.0" description = "Typer, build great CLIs. Easy to code. Based on Python type hints." -category = "main" optional = false python-versions = ">=3.6" +files = [ + {file = "typer-0.5.0-py3-none-any.whl", hash = "sha256:a34409c0029ba7e48cb9e4f54c6400bf4158a6145b5dea32788e7a36ebbcb312"}, + {file = "typer-0.5.0.tar.gz", hash = "sha256:4c285a5585c94d32c305444af934f0078b6a8ba91464f3f85807c91cd499d195"}, +] [package.dependencies] click = ">=7.1.1,<9.0.0" @@ -2175,25 +3526,34 @@ test = ["black (>=22.3.0,<23.0.0)", "coverage (>=5.2,<6.0)", "isort (>=5.0.6,<6. name = "typing-extensions" version = "4.12.2" description = "Backported and Experimental Type Hints for Python 3.8+" -category = "main" optional = false python-versions = ">=3.8" +files = [ + {file = "typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d"}, + {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, +] [[package]] name = "tzdata" version = "2024.1" description = "Provider of IANA time zone data" -category = "main" optional = false python-versions = ">=2" +files = [ + {file = "tzdata-2024.1-py2.py3-none-any.whl", hash = "sha256:9068bc196136463f5245e51efda838afa15aaeca9903f49050dfa2679db4d252"}, + {file = "tzdata-2024.1.tar.gz", hash = "sha256:2674120f8d891909751c38abcdfd386ac0a5a1127954fbc332af6b5ceae07efd"}, +] [[package]] name = "tzlocal" version = "5.2" description = "tzinfo object for the local timezone" -category = "main" optional = false python-versions = ">=3.8" +files = [ + {file = "tzlocal-5.2-py3-none-any.whl", hash = "sha256:49816ef2fe65ea8ac19d19aa7a1ae0551c834303d5014c6d5a62e4cbda8047b8"}, + {file = "tzlocal-5.2.tar.gz", hash = "sha256:8d399205578f1a9342816409cc1e46a93ebd5755e39ea2d85334bea911bf0e6e"}, +] [package.dependencies] "backports.zoneinfo" = {version = "*", markers = "python_version < \"3.9\""} @@ -2206,17 +3566,23 @@ devenv = ["check-manifest", "pytest (>=4.3)", "pytest-cov", "pytest-mock (>=3.3) name = "uritemplate" version = "4.1.1" description = "Implementation of RFC 6570 URI Templates" -category = "main" optional = true python-versions = ">=3.6" +files = [ + {file = "uritemplate-4.1.1-py2.py3-none-any.whl", hash = "sha256:830c08b8d99bdd312ea4ead05994a38e8936266f84b9a7878232db50b044e02e"}, + {file = "uritemplate-4.1.1.tar.gz", hash = "sha256:4346edfc5c3b79f694bccd6d6099a322bbeb628dbf2cd86eea55a456ce5124f0"}, +] [[package]] name = "urllib3" version = "1.26.19" description = "HTTP library with thread-safe connection pooling, file post, and more." -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" +files = [ + {file = "urllib3-1.26.19-py2.py3-none-any.whl", hash = "sha256:37a0344459b199fce0e80b0d3569837ec6b6937435c5244e7fd73fa6006830f3"}, + {file = "urllib3-1.26.19.tar.gz", hash = "sha256:3e3d753a8618b86d7de333b4223005f68720bcd6a7d2bcb9fbd2229ec7c1e429"}, +] [package.extras] brotli = ["brotli (==1.0.9)", "brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotlipy (>=0.6.0)"] @@ -2227,9 +3593,12 @@ socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] name = "uvicorn" version = "0.27.1" description = "The lightning-fast ASGI server." -category = "main" optional = false python-versions = ">=3.8" +files = [ + {file = "uvicorn-0.27.1-py3-none-any.whl", hash = "sha256:5c89da2f3895767472a35556e539fd59f7edbe9b1e9c0e1c99eebeadc61838e4"}, + {file = "uvicorn-0.27.1.tar.gz", hash = "sha256:3d9a267296243532db80c83a959a3400502165ade2c1338dea4e67915fd4745a"}, +] [package.dependencies] click = ">=7.0" @@ -2243,25 +3612,34 @@ standard = ["colorama (>=0.4)", "httptools (>=0.5.0)", "python-dotenv (>=0.13)", name = "vine" version = "5.1.0" description = "Python promises." -category = "main" optional = false python-versions = ">=3.6" +files = [ + {file = "vine-5.1.0-py3-none-any.whl", hash = "sha256:40fdf3c48b2cfe1c38a49e9ae2da6fda88e4794c810050a728bd7413811fb1dc"}, + {file = "vine-5.1.0.tar.gz", hash = "sha256:8b62e981d35c41049211cf62a0a1242d8c1ee9bd15bb196ce38aefd6799e61e0"}, +] [[package]] name = "wcwidth" version = "0.2.13" description = "Measures the displayed width of unicode strings in a terminal" -category = "main" optional = false python-versions = "*" +files = [ + {file = "wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859"}, + {file = "wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5"}, +] [[package]] name = "Werkzeug" version = "3.0.3" description = "The comprehensive WSGI web application library." -category = "main" optional = false python-versions = ">=3.8" +files = [ + {file = "werkzeug-3.0.3-py3-none-any.whl", hash = "sha256:fc9645dc43e03e4d630d23143a04a7f947a9a3b5727cd535fdfe155a17cc48c8"}, + {file = "werkzeug-3.0.3.tar.gz", hash = "sha256:097e5bfda9f0aba8da6b8545146def481d06aa7d3266e7448e2cccf67dd8bd18"}, +] [package.dependencies] MarkupSafe = ">=2.1.1" @@ -2273,1678 +3651,100 @@ watchdog = ["watchdog (>=2.3)"] name = "wrapt" version = "1.16.0" description = "Module for decorators, wrappers and monkey patching." -category = "main" optional = false python-versions = ">=3.6" +files = [ + {file = "wrapt-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ffa565331890b90056c01db69c0fe634a776f8019c143a5ae265f9c6bc4bd6d4"}, + {file = "wrapt-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e4fdb9275308292e880dcbeb12546df7f3e0f96c6b41197e0cf37d2826359020"}, + {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb2dee3874a500de01c93d5c71415fcaef1d858370d405824783e7a8ef5db440"}, + {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2a88e6010048489cda82b1326889ec075a8c856c2e6a256072b28eaee3ccf487"}, + {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac83a914ebaf589b69f7d0a1277602ff494e21f4c2f743313414378f8f50a4cf"}, + {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:73aa7d98215d39b8455f103de64391cb79dfcad601701a3aa0dddacf74911d72"}, + {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:807cc8543a477ab7422f1120a217054f958a66ef7314f76dd9e77d3f02cdccd0"}, + {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:bf5703fdeb350e36885f2875d853ce13172ae281c56e509f4e6eca049bdfb136"}, + {file = "wrapt-1.16.0-cp310-cp310-win32.whl", hash = "sha256:f6b2d0c6703c988d334f297aa5df18c45e97b0af3679bb75059e0e0bd8b1069d"}, + {file = "wrapt-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:decbfa2f618fa8ed81c95ee18a387ff973143c656ef800c9f24fb7e9c16054e2"}, + {file = "wrapt-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1a5db485fe2de4403f13fafdc231b0dbae5eca4359232d2efc79025527375b09"}, + {file = "wrapt-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:75ea7d0ee2a15733684badb16de6794894ed9c55aa5e9903260922f0482e687d"}, + {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a452f9ca3e3267cd4d0fcf2edd0d035b1934ac2bd7e0e57ac91ad6b95c0c6389"}, + {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:43aa59eadec7890d9958748db829df269f0368521ba6dc68cc172d5d03ed8060"}, + {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:72554a23c78a8e7aa02abbd699d129eead8b147a23c56e08d08dfc29cfdddca1"}, + {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d2efee35b4b0a347e0d99d28e884dfd82797852d62fcd7ebdeee26f3ceb72cf3"}, + {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:6dcfcffe73710be01d90cae08c3e548d90932d37b39ef83969ae135d36ef3956"}, + {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:eb6e651000a19c96f452c85132811d25e9264d836951022d6e81df2fff38337d"}, + {file = "wrapt-1.16.0-cp311-cp311-win32.whl", hash = "sha256:66027d667efe95cc4fa945af59f92c5a02c6f5bb6012bff9e60542c74c75c362"}, + {file = "wrapt-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:aefbc4cb0a54f91af643660a0a150ce2c090d3652cf4052a5397fb2de549cd89"}, + {file = "wrapt-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5eb404d89131ec9b4f748fa5cfb5346802e5ee8836f57d516576e61f304f3b7b"}, + {file = "wrapt-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9090c9e676d5236a6948330e83cb89969f433b1943a558968f659ead07cb3b36"}, + {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94265b00870aa407bd0cbcfd536f17ecde43b94fb8d228560a1e9d3041462d73"}, + {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f2058f813d4f2b5e3a9eb2eb3faf8f1d99b81c3e51aeda4b168406443e8ba809"}, + {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:98b5e1f498a8ca1858a1cdbffb023bfd954da4e3fa2c0cb5853d40014557248b"}, + {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:14d7dc606219cdd7405133c713f2c218d4252f2a469003f8c46bb92d5d095d81"}, + {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:49aac49dc4782cb04f58986e81ea0b4768e4ff197b57324dcbd7699c5dfb40b9"}, + {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:418abb18146475c310d7a6dc71143d6f7adec5b004ac9ce08dc7a34e2babdc5c"}, + {file = "wrapt-1.16.0-cp312-cp312-win32.whl", hash = "sha256:685f568fa5e627e93f3b52fda002c7ed2fa1800b50ce51f6ed1d572d8ab3e7fc"}, + {file = "wrapt-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:dcdba5c86e368442528f7060039eda390cc4091bfd1dca41e8046af7c910dda8"}, + {file = "wrapt-1.16.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:d462f28826f4657968ae51d2181a074dfe03c200d6131690b7d65d55b0f360f8"}, + {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a33a747400b94b6d6b8a165e4480264a64a78c8a4c734b62136062e9a248dd39"}, + {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b3646eefa23daeba62643a58aac816945cadc0afaf21800a1421eeba5f6cfb9c"}, + {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ebf019be5c09d400cf7b024aa52b1f3aeebeff51550d007e92c3c1c4afc2a40"}, + {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:0d2691979e93d06a95a26257adb7bfd0c93818e89b1406f5a28f36e0d8c1e1fc"}, + {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:1acd723ee2a8826f3d53910255643e33673e1d11db84ce5880675954183ec47e"}, + {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:bc57efac2da352a51cc4658878a68d2b1b67dbe9d33c36cb826ca449d80a8465"}, + {file = "wrapt-1.16.0-cp36-cp36m-win32.whl", hash = "sha256:da4813f751142436b075ed7aa012a8778aa43a99f7b36afe9b742d3ed8bdc95e"}, + {file = "wrapt-1.16.0-cp36-cp36m-win_amd64.whl", hash = "sha256:6f6eac2360f2d543cc875a0e5efd413b6cbd483cb3ad7ebf888884a6e0d2e966"}, + {file = "wrapt-1.16.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a0ea261ce52b5952bf669684a251a66df239ec6d441ccb59ec7afa882265d593"}, + {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7bd2d7ff69a2cac767fbf7a2b206add2e9a210e57947dd7ce03e25d03d2de292"}, + {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9159485323798c8dc530a224bd3ffcf76659319ccc7bbd52e01e73bd0241a0c5"}, + {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a86373cf37cd7764f2201b76496aba58a52e76dedfaa698ef9e9688bfd9e41cf"}, + {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:73870c364c11f03ed072dda68ff7aea6d2a3a5c3fe250d917a429c7432e15228"}, + {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:b935ae30c6e7400022b50f8d359c03ed233d45b725cfdd299462f41ee5ffba6f"}, + {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:db98ad84a55eb09b3c32a96c576476777e87c520a34e2519d3e59c44710c002c"}, + {file = "wrapt-1.16.0-cp37-cp37m-win32.whl", hash = "sha256:9153ed35fc5e4fa3b2fe97bddaa7cbec0ed22412b85bcdaf54aeba92ea37428c"}, + {file = "wrapt-1.16.0-cp37-cp37m-win_amd64.whl", hash = "sha256:66dfbaa7cfa3eb707bbfcd46dab2bc6207b005cbc9caa2199bcbc81d95071a00"}, + {file = "wrapt-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1dd50a2696ff89f57bd8847647a1c363b687d3d796dc30d4dd4a9d1689a706f0"}, + {file = "wrapt-1.16.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:44a2754372e32ab315734c6c73b24351d06e77ffff6ae27d2ecf14cf3d229202"}, + {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e9723528b9f787dc59168369e42ae1c3b0d3fadb2f1a71de14531d321ee05b0"}, + {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dbed418ba5c3dce92619656802cc5355cb679e58d0d89b50f116e4a9d5a9603e"}, + {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:941988b89b4fd6b41c3f0bfb20e92bd23746579736b7343283297c4c8cbae68f"}, + {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6a42cd0cfa8ffc1915aef79cb4284f6383d8a3e9dcca70c445dcfdd639d51267"}, + {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:1ca9b6085e4f866bd584fb135a041bfc32cab916e69f714a7d1d397f8c4891ca"}, + {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d5e49454f19ef621089e204f862388d29e6e8d8b162efce05208913dde5b9ad6"}, + {file = "wrapt-1.16.0-cp38-cp38-win32.whl", hash = "sha256:c31f72b1b6624c9d863fc095da460802f43a7c6868c5dda140f51da24fd47d7b"}, + {file = "wrapt-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:490b0ee15c1a55be9c1bd8609b8cecd60e325f0575fc98f50058eae366e01f41"}, + {file = "wrapt-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9b201ae332c3637a42f02d1045e1d0cccfdc41f1f2f801dafbaa7e9b4797bfc2"}, + {file = "wrapt-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2076fad65c6736184e77d7d4729b63a6d1ae0b70da4868adeec40989858eb3fb"}, + {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5cd603b575ebceca7da5a3a251e69561bec509e0b46e4993e1cac402b7247b8"}, + {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b47cfad9e9bbbed2339081f4e346c93ecd7ab504299403320bf85f7f85c7d46c"}, + {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8212564d49c50eb4565e502814f694e240c55551a5f1bc841d4fcaabb0a9b8a"}, + {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:5f15814a33e42b04e3de432e573aa557f9f0f56458745c2074952f564c50e664"}, + {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:db2e408d983b0e61e238cf579c09ef7020560441906ca990fe8412153e3b291f"}, + {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:edfad1d29c73f9b863ebe7082ae9321374ccb10879eeabc84ba3b69f2579d537"}, + {file = "wrapt-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed867c42c268f876097248e05b6117a65bcd1e63b779e916fe2e33cd6fd0d3c3"}, + {file = "wrapt-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:eb1b046be06b0fce7249f1d025cd359b4b80fc1c3e24ad9eca33e0dcdb2e4a35"}, + {file = "wrapt-1.16.0-py3-none-any.whl", hash = "sha256:6906c4100a8fcbf2fa735f6059214bb13b97f75b1a61777fcf6432121ef12ef1"}, + {file = "wrapt-1.16.0.tar.gz", hash = "sha256:5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d"}, +] [[package]] name = "zipp" version = "3.19.2" description = "Backport of pathlib-compatible object wrapper for zip files" -category = "main" optional = false python-versions = ">=3.8" +files = [ + {file = "zipp-3.19.2-py3-none-any.whl", hash = "sha256:f091755f667055f2d02b32c53771a7a6c8b47e1fdbc4b72a8b9072b3eef8015c"}, + {file = "zipp-3.19.2.tar.gz", hash = "sha256:bf1dcf6450f873a13e952a29504887c89e6de7506209e5b1bcc3460135d4de19"}, +] [package.extras] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy", "pytest-ruff (>=0.2.1)"] [extras] -cloud_extras = ["google-api-python-client", "python-openstackclient", "python-heatclient"] +cloud-extras = ["google-api-python-client", "python-heatclient", "python-openstackclient"] [metadata] -lock-version = "1.1" +lock-version = "2.0" python-versions = ">=3.8.3,<=3.12.2" -content-hash = "8498ee7d4ec96c6482b7bf9d9c62223688bd9d12498bbec1d9ea70f9df1fe89b" - -[metadata.files] -alabaster = [ - {file = "alabaster-0.7.13-py3-none-any.whl", hash = "sha256:1ee19aca801bbabb5ba3f5f258e4422dfa86f82f3e9cefb0859b283cdd7f62a3"}, - {file = "alabaster-0.7.13.tar.gz", hash = "sha256:a27a4a084d5e690e16e01e03ad2b2e552c61a65469419b907243193de1a84ae2"}, -] -amqp = [ - {file = "amqp-5.2.0-py3-none-any.whl", hash = "sha256:827cb12fb0baa892aad844fd95258143bce4027fdac4fccddbc43330fd281637"}, - {file = "amqp-5.2.0.tar.gz", hash = "sha256:a1ecff425ad063ad42a486c902807d1482311481c8ad95a72694b2975e75f7fd"}, -] -aniso8601 = [ - {file = "aniso8601-9.0.1-py2.py3-none-any.whl", hash = "sha256:1d2b7ef82963909e93c4f24ce48d4de9e66009a21bf1c1e1c85bdd0812fe412f"}, - {file = "aniso8601-9.0.1.tar.gz", hash = "sha256:72e3117667eedf66951bb2d93f4296a56b94b078a8a95905a052611fb3f1b973"}, -] -annotated-types = [ - {file = "annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53"}, - {file = "annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89"}, -] -anyio = [ - {file = "anyio-4.4.0-py3-none-any.whl", hash = "sha256:c1b2d8f46a8a812513012e1107cb0e68c17159a7a594208005a57dc776e1bdc7"}, - {file = "anyio-4.4.0.tar.gz", hash = "sha256:5aadc6a1bbb7cdb0bede386cac5e2940f5e2ff3aa20277e991cf028e0585ce94"}, -] -APScheduler = [ - {file = "APScheduler-3.10.4-py3-none-any.whl", hash = "sha256:fb91e8a768632a4756a585f79ec834e0e27aad5860bac7eaa523d9ccefd87661"}, - {file = "APScheduler-3.10.4.tar.gz", hash = "sha256:e6df071b27d9be898e486bc7940a7be50b4af2e9da7c08f0744a96d4bd4cef4a"}, -] -argcomplete = [ - {file = "argcomplete-3.4.0-py3-none-any.whl", hash = "sha256:69a79e083a716173e5532e0fa3bef45f793f4e61096cf52b5a42c0211c8b8aa5"}, - {file = "argcomplete-3.4.0.tar.gz", hash = "sha256:c2abcdfe1be8ace47ba777d4fce319eb13bf8ad9dace8d085dcad6eded88057f"}, -] -astroid = [ - {file = "astroid-2.13.5-py3-none-any.whl", hash = "sha256:6891f444625b6edb2ac798829b689e95297e100ddf89dbed5a8c610e34901501"}, - {file = "astroid-2.13.5.tar.gz", hash = "sha256:df164d5ac811b9f44105a72b8f9d5edfb7b5b2d7e979b04ea377a77b3229114a"}, -] -async-timeout = [ - {file = "async-timeout-4.0.3.tar.gz", hash = "sha256:4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f"}, - {file = "async_timeout-4.0.3-py3-none-any.whl", hash = "sha256:7405140ff1230c310e51dc27b3145b9092d659ce68ff733fb0cefe3ee42be028"}, -] -attrs = [ - {file = "attrs-23.2.0-py3-none-any.whl", hash = "sha256:99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1"}, - {file = "attrs-23.2.0.tar.gz", hash = "sha256:935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30"}, -] -autopage = [ - {file = "autopage-0.5.2-py3-none-any.whl", hash = "sha256:f5eae54dd20ccc8b1ff611263fc87bc46608a9cde749bbcfc93339713a429c55"}, - {file = "autopage-0.5.2.tar.gz", hash = "sha256:826996d74c5aa9f4b6916195547312ac6384bac3810b8517063f293248257b72"}, -] -Babel = [ - {file = "Babel-2.15.0-py3-none-any.whl", hash = "sha256:08706bdad8d0a3413266ab61bd6c34d0c28d6e1e7badf40a2cebe67644e2e1fb"}, - {file = "babel-2.15.0.tar.gz", hash = "sha256:8daf0e265d05768bc6c7a314cf1321e9a123afc328cc635c18622a2f30a04413"}, -] -"backports.zoneinfo" = [ - {file = "backports.zoneinfo-0.2.1-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:da6013fd84a690242c310d77ddb8441a559e9cb3d3d59ebac9aca1a57b2e18bc"}, - {file = "backports.zoneinfo-0.2.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:89a48c0d158a3cc3f654da4c2de1ceba85263fafb861b98b59040a5086259722"}, - {file = "backports.zoneinfo-0.2.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:1c5742112073a563c81f786e77514969acb58649bcdf6cdf0b4ed31a348d4546"}, - {file = "backports.zoneinfo-0.2.1-cp36-cp36m-win32.whl", hash = "sha256:e8236383a20872c0cdf5a62b554b27538db7fa1bbec52429d8d106effbaeca08"}, - {file = "backports.zoneinfo-0.2.1-cp36-cp36m-win_amd64.whl", hash = "sha256:8439c030a11780786a2002261569bdf362264f605dfa4d65090b64b05c9f79a7"}, - {file = "backports.zoneinfo-0.2.1-cp37-cp37m-macosx_10_14_x86_64.whl", hash = "sha256:f04e857b59d9d1ccc39ce2da1021d196e47234873820cbeaad210724b1ee28ac"}, - {file = "backports.zoneinfo-0.2.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:17746bd546106fa389c51dbea67c8b7c8f0d14b5526a579ca6ccf5ed72c526cf"}, - {file = "backports.zoneinfo-0.2.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:5c144945a7752ca544b4b78c8c41544cdfaf9786f25fe5ffb10e838e19a27570"}, - {file = "backports.zoneinfo-0.2.1-cp37-cp37m-win32.whl", hash = "sha256:e55b384612d93be96506932a786bbcde5a2db7a9e6a4bb4bffe8b733f5b9036b"}, - {file = "backports.zoneinfo-0.2.1-cp37-cp37m-win_amd64.whl", hash = "sha256:a76b38c52400b762e48131494ba26be363491ac4f9a04c1b7e92483d169f6582"}, - {file = "backports.zoneinfo-0.2.1-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:8961c0f32cd0336fb8e8ead11a1f8cd99ec07145ec2931122faaac1c8f7fd987"}, - {file = "backports.zoneinfo-0.2.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:e81b76cace8eda1fca50e345242ba977f9be6ae3945af8d46326d776b4cf78d1"}, - {file = "backports.zoneinfo-0.2.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:7b0a64cda4145548fed9efc10322770f929b944ce5cee6c0dfe0c87bf4c0c8c9"}, - {file = "backports.zoneinfo-0.2.1-cp38-cp38-win32.whl", hash = "sha256:1b13e654a55cd45672cb54ed12148cd33628f672548f373963b0bff67b217328"}, - {file = "backports.zoneinfo-0.2.1-cp38-cp38-win_amd64.whl", hash = "sha256:4a0f800587060bf8880f954dbef70de6c11bbe59c673c3d818921f042f9954a6"}, - {file = "backports.zoneinfo-0.2.1.tar.gz", hash = "sha256:fadbfe37f74051d024037f223b8e001611eac868b5c5b06144ef4d8b799862f2"}, -] -bagit = [ - {file = "bagit-1.8.1-py2.py3-none-any.whl", hash = "sha256:d14dd7e373dd24d41f6748c42f123f7db77098dfa4a0125dbacb4c8bdf767c09"}, - {file = "bagit-1.8.1.tar.gz", hash = "sha256:37df1330d2e8640c8dee8ab6d0073ac701f0614d25f5252f9e05263409cee60c"}, -] -billiard = [ - {file = "billiard-4.2.0-py3-none-any.whl", hash = "sha256:07aa978b308f334ff8282bd4a746e681b3513db5c9a514cbdd810cbbdc19714d"}, - {file = "billiard-4.2.0.tar.gz", hash = "sha256:9a3c3184cb275aa17a732f93f65b20c525d3d9f253722d26a82194803ade5a2c"}, -] -blinker = [ - {file = "blinker-1.8.2-py3-none-any.whl", hash = "sha256:1779309f71bf239144b9399d06ae925637cf6634cf6bd131104184531bf67c01"}, - {file = "blinker-1.8.2.tar.gz", hash = "sha256:8f77b09d3bf7c795e969e9486f39c2c5e9c39d4ee07424be2bc594ece9642d83"}, -] -CacheControl = [ - {file = "cachecontrol-0.14.0-py3-none-any.whl", hash = "sha256:f5bf3f0620c38db2e5122c0726bdebb0d16869de966ea6a2befe92470b740ea0"}, - {file = "cachecontrol-0.14.0.tar.gz", hash = "sha256:7db1195b41c81f8274a7bbd97c956f44e8348265a1bc7641c37dfebc39f0c938"}, -] -cachetools = [ - {file = "cachetools-5.4.0-py3-none-any.whl", hash = "sha256:3ae3b49a3d5e28a77a0be2b37dbcb89005058959cb2323858c2657c4a8cab474"}, - {file = "cachetools-5.4.0.tar.gz", hash = "sha256:b8adc2e7c07f105ced7bc56dbb6dfbe7c4a00acce20e2227b3f355be89bc6827"}, -] -celery = [ - {file = "celery-5.4.0-py3-none-any.whl", hash = "sha256:369631eb580cf8c51a82721ec538684994f8277637edde2dfc0dacd73ed97f64"}, - {file = "celery-5.4.0.tar.gz", hash = "sha256:504a19140e8d3029d5acad88330c541d4c3f64c789d85f94756762d8bca7e706"}, -] -certifi = [ - {file = "certifi-2024.7.4-py3-none-any.whl", hash = "sha256:c198e21b1289c2ab85ee4e67bb4b4ef3ead0892059901a8d5b622f24a1101e90"}, - {file = "certifi-2024.7.4.tar.gz", hash = "sha256:5a1e7645bc0ec61a09e26c36f6106dd4cf40c6db3a1fb6352b0244e7fb057c7b"}, -] -cffi = [ - {file = "cffi-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6b3d6606d369fc1da4fd8c357d026317fbb9c9b75d36dc16e90e84c26854b088"}, - {file = "cffi-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ac0f5edd2360eea2f1daa9e26a41db02dd4b0451b48f7c318e217ee092a213e9"}, - {file = "cffi-1.16.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7e61e3e4fa664a8588aa25c883eab612a188c725755afff6289454d6362b9673"}, - {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a72e8961a86d19bdb45851d8f1f08b041ea37d2bd8d4fd19903bc3083d80c896"}, - {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5b50bf3f55561dac5438f8e70bfcdfd74543fd60df5fa5f62d94e5867deca684"}, - {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7651c50c8c5ef7bdb41108b7b8c5a83013bfaa8a935590c5d74627c047a583c7"}, - {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4108df7fe9b707191e55f33efbcb2d81928e10cea45527879a4749cbe472614"}, - {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:32c68ef735dbe5857c810328cb2481e24722a59a2003018885514d4c09af9743"}, - {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:673739cb539f8cdaa07d92d02efa93c9ccf87e345b9a0b556e3ecc666718468d"}, - {file = "cffi-1.16.0-cp310-cp310-win32.whl", hash = "sha256:9f90389693731ff1f659e55c7d1640e2ec43ff725cc61b04b2f9c6d8d017df6a"}, - {file = "cffi-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:e6024675e67af929088fda399b2094574609396b1decb609c55fa58b028a32a1"}, - {file = "cffi-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b84834d0cf97e7d27dd5b7f3aca7b6e9263c56308ab9dc8aae9784abb774d404"}, - {file = "cffi-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1b8ebc27c014c59692bb2664c7d13ce7a6e9a629be20e54e7271fa696ff2b417"}, - {file = "cffi-1.16.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ee07e47c12890ef248766a6e55bd38ebfb2bb8edd4142d56db91b21ea68b7627"}, - {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8a9d3ebe49f084ad71f9269834ceccbf398253c9fac910c4fd7053ff1386936"}, - {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e70f54f1796669ef691ca07d046cd81a29cb4deb1e5f942003f401c0c4a2695d"}, - {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5bf44d66cdf9e893637896c7faa22298baebcd18d1ddb6d2626a6e39793a1d56"}, - {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b78010e7b97fef4bee1e896df8a4bbb6712b7f05b7ef630f9d1da00f6444d2e"}, - {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c6a164aa47843fb1b01e941d385aab7215563bb8816d80ff3a363a9f8448a8dc"}, - {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e09f3ff613345df5e8c3667da1d918f9149bd623cd9070c983c013792a9a62eb"}, - {file = "cffi-1.16.0-cp311-cp311-win32.whl", hash = "sha256:2c56b361916f390cd758a57f2e16233eb4f64bcbeee88a4881ea90fca14dc6ab"}, - {file = "cffi-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:db8e577c19c0fda0beb7e0d4e09e0ba74b1e4c092e0e40bfa12fe05b6f6d75ba"}, - {file = "cffi-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:fa3a0128b152627161ce47201262d3140edb5a5c3da88d73a1b790a959126956"}, - {file = "cffi-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:68e7c44931cc171c54ccb702482e9fc723192e88d25a0e133edd7aff8fcd1f6e"}, - {file = "cffi-1.16.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:abd808f9c129ba2beda4cfc53bde801e5bcf9d6e0f22f095e45327c038bfe68e"}, - {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88e2b3c14bdb32e440be531ade29d3c50a1a59cd4e51b1dd8b0865c54ea5d2e2"}, - {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcc8eb6d5902bb1cf6dc4f187ee3ea80a1eba0a89aba40a5cb20a5087d961357"}, - {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7be2d771cdba2942e13215c4e340bfd76398e9227ad10402a8767ab1865d2e6"}, - {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e715596e683d2ce000574bae5d07bd522c781a822866c20495e52520564f0969"}, - {file = "cffi-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2d92b25dbf6cae33f65005baf472d2c245c050b1ce709cc4588cdcdd5495b520"}, - {file = "cffi-1.16.0-cp312-cp312-win32.whl", hash = "sha256:b2ca4e77f9f47c55c194982e10f058db063937845bb2b7a86c84a6cfe0aefa8b"}, - {file = "cffi-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:68678abf380b42ce21a5f2abde8efee05c114c2fdb2e9eef2efdb0257fba1235"}, - {file = "cffi-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0c9ef6ff37e974b73c25eecc13952c55bceed9112be2d9d938ded8e856138bcc"}, - {file = "cffi-1.16.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a09582f178759ee8128d9270cd1344154fd473bb77d94ce0aeb2a93ebf0feaf0"}, - {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e760191dd42581e023a68b758769e2da259b5d52e3103c6060ddc02c9edb8d7b"}, - {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:80876338e19c951fdfed6198e70bc88f1c9758b94578d5a7c4c91a87af3cf31c"}, - {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a6a14b17d7e17fa0d207ac08642c8820f84f25ce17a442fd15e27ea18d67c59b"}, - {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6602bc8dc6f3a9e02b6c22c4fc1e47aa50f8f8e6d3f78a5e16ac33ef5fefa324"}, - {file = "cffi-1.16.0-cp38-cp38-win32.whl", hash = "sha256:131fd094d1065b19540c3d72594260f118b231090295d8c34e19a7bbcf2e860a"}, - {file = "cffi-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:31d13b0f99e0836b7ff893d37af07366ebc90b678b6664c955b54561fc36ef36"}, - {file = "cffi-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:582215a0e9adbe0e379761260553ba11c58943e4bbe9c36430c4ca6ac74b15ed"}, - {file = "cffi-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b29ebffcf550f9da55bec9e02ad430c992a87e5f512cd63388abb76f1036d8d2"}, - {file = "cffi-1.16.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dc9b18bf40cc75f66f40a7379f6a9513244fe33c0e8aa72e2d56b0196a7ef872"}, - {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cb4a35b3642fc5c005a6755a5d17c6c8b6bcb6981baf81cea8bfbc8903e8ba8"}, - {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b86851a328eedc692acf81fb05444bdf1891747c25af7529e39ddafaf68a4f3f"}, - {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c0f31130ebc2d37cdd8e44605fb5fa7ad59049298b3f745c74fa74c62fbfcfc4"}, - {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f8e709127c6c77446a8c0a8c8bf3c8ee706a06cd44b1e827c3e6a2ee6b8c098"}, - {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:748dcd1e3d3d7cd5443ef03ce8685043294ad6bd7c02a38d1bd367cfd968e000"}, - {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8895613bcc094d4a1b2dbe179d88d7fb4a15cee43c052e8885783fac397d91fe"}, - {file = "cffi-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed86a35631f7bfbb28e108dd96773b9d5a6ce4811cf6ea468bb6a359b256b1e4"}, - {file = "cffi-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:3686dffb02459559c74dd3d81748269ffb0eb027c39a6fc99502de37d501faa8"}, - {file = "cffi-1.16.0.tar.gz", hash = "sha256:bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0"}, -] -charset-normalizer = [ - {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-win32.whl", hash = "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-win32.whl", hash = "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-win32.whl", hash = "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"}, - {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, -] -click = [ - {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, - {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, -] -click-didyoumean = [ - {file = "click_didyoumean-0.3.1-py3-none-any.whl", hash = "sha256:5c4bb6007cfea5f2fd6583a2fb6701a22a41eb98957e63d0fac41c10e7c3117c"}, - {file = "click_didyoumean-0.3.1.tar.gz", hash = "sha256:4f82fdff0dbe64ef8ab2279bd6aa3f6a99c3b28c05aa09cbfc07c9d7fbb5a463"}, -] -click-plugins = [ - {file = "click-plugins-1.1.1.tar.gz", hash = "sha256:46ab999744a9d831159c3411bb0c79346d94a444df9a3a3742e9ed63645f264b"}, - {file = "click_plugins-1.1.1-py2.py3-none-any.whl", hash = "sha256:5d262006d3222f5057fd81e1623d4443e41dcda5dc815c06b442aa3c02889fc8"}, -] -click-repl = [ - {file = "click-repl-0.3.0.tar.gz", hash = "sha256:17849c23dba3d667247dc4defe1757fff98694e90fe37474f3feebb69ced26a9"}, - {file = "click_repl-0.3.0-py3-none-any.whl", hash = "sha256:fb7e06deb8da8de86180a33a9da97ac316751c094c6899382da7feeeeb51b812"}, -] -cliff = [ - {file = "cliff-4.7.0-py3-none-any.whl", hash = "sha256:7c5ef733b364532775166bb980eb43108e264d145c1892ff1c51f9b4af417c24"}, - {file = "cliff-4.7.0.tar.gz", hash = "sha256:6ca45f8df519bbc0722c61049de7b7e442a465fa7f3f552b96d735fa26fd5b26"}, -] -cmd2 = [ - {file = "cmd2-2.4.3-py3-none-any.whl", hash = "sha256:f1988ff2fff0ed812a2d25218a081b0fa0108d45b48ba2a9272bb98091b654e6"}, - {file = "cmd2-2.4.3.tar.gz", hash = "sha256:71873c11f72bd19e2b1db578214716f0d4f7c8fa250093c601265a9a717dee52"}, -] -colorama = [ - {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, - {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, -] -coloredlogs = [ - {file = "coloredlogs-15.0.1-py2.py3-none-any.whl", hash = "sha256:612ee75c546f53e92e70049c9dbfcc18c935a2b9a53b66085ce9ef6a6e5c0934"}, - {file = "coloredlogs-15.0.1.tar.gz", hash = "sha256:7c991aa71a4577af2f82600d8f8f3a89f936baeaf9b50a9c197da014e5bf16b0"}, -] -coverage = [ - {file = "coverage-7.6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:dff044f661f59dace805eedb4a7404c573b6ff0cdba4a524141bc63d7be5c7fd"}, - {file = "coverage-7.6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a8659fd33ee9e6ca03950cfdcdf271d645cf681609153f218826dd9805ab585c"}, - {file = "coverage-7.6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7792f0ab20df8071d669d929c75c97fecfa6bcab82c10ee4adb91c7a54055463"}, - {file = "coverage-7.6.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d4b3cd1ca7cd73d229487fa5caca9e4bc1f0bca96526b922d61053ea751fe791"}, - {file = "coverage-7.6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e7e128f85c0b419907d1f38e616c4f1e9f1d1b37a7949f44df9a73d5da5cd53c"}, - {file = "coverage-7.6.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a94925102c89247530ae1dab7dc02c690942566f22e189cbd53579b0693c0783"}, - {file = "coverage-7.6.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:dcd070b5b585b50e6617e8972f3fbbee786afca71b1936ac06257f7e178f00f6"}, - {file = "coverage-7.6.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d50a252b23b9b4dfeefc1f663c568a221092cbaded20a05a11665d0dbec9b8fb"}, - {file = "coverage-7.6.0-cp310-cp310-win32.whl", hash = "sha256:0e7b27d04131c46e6894f23a4ae186a6a2207209a05df5b6ad4caee6d54a222c"}, - {file = "coverage-7.6.0-cp310-cp310-win_amd64.whl", hash = "sha256:54dece71673b3187c86226c3ca793c5f891f9fc3d8aa183f2e3653da18566169"}, - {file = "coverage-7.6.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c7b525ab52ce18c57ae232ba6f7010297a87ced82a2383b1afd238849c1ff933"}, - {file = "coverage-7.6.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4bea27c4269234e06f621f3fac3925f56ff34bc14521484b8f66a580aacc2e7d"}, - {file = "coverage-7.6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ed8d1d1821ba5fc88d4a4f45387b65de52382fa3ef1f0115a4f7a20cdfab0e94"}, - {file = "coverage-7.6.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:01c322ef2bbe15057bc4bf132b525b7e3f7206f071799eb8aa6ad1940bcf5fb1"}, - {file = "coverage-7.6.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:03cafe82c1b32b770a29fd6de923625ccac3185a54a5e66606da26d105f37dac"}, - {file = "coverage-7.6.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0d1b923fc4a40c5832be4f35a5dab0e5ff89cddf83bb4174499e02ea089daf57"}, - {file = "coverage-7.6.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4b03741e70fb811d1a9a1d75355cf391f274ed85847f4b78e35459899f57af4d"}, - {file = "coverage-7.6.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a73d18625f6a8a1cbb11eadc1d03929f9510f4131879288e3f7922097a429f63"}, - {file = "coverage-7.6.0-cp311-cp311-win32.whl", hash = "sha256:65fa405b837060db569a61ec368b74688f429b32fa47a8929a7a2f9b47183713"}, - {file = "coverage-7.6.0-cp311-cp311-win_amd64.whl", hash = "sha256:6379688fb4cfa921ae349c76eb1a9ab26b65f32b03d46bb0eed841fd4cb6afb1"}, - {file = "coverage-7.6.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f7db0b6ae1f96ae41afe626095149ecd1b212b424626175a6633c2999eaad45b"}, - {file = "coverage-7.6.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:bbdf9a72403110a3bdae77948b8011f644571311c2fb35ee15f0f10a8fc082e8"}, - {file = "coverage-7.6.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cc44bf0315268e253bf563f3560e6c004efe38f76db03a1558274a6e04bf5d5"}, - {file = "coverage-7.6.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:da8549d17489cd52f85a9829d0e1d91059359b3c54a26f28bec2c5d369524807"}, - {file = "coverage-7.6.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0086cd4fc71b7d485ac93ca4239c8f75732c2ae3ba83f6be1c9be59d9e2c6382"}, - {file = "coverage-7.6.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1fad32ee9b27350687035cb5fdf9145bc9cf0a094a9577d43e909948ebcfa27b"}, - {file = "coverage-7.6.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:044a0985a4f25b335882b0966625270a8d9db3d3409ddc49a4eb00b0ef5e8cee"}, - {file = "coverage-7.6.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:76d5f82213aa78098b9b964ea89de4617e70e0d43e97900c2778a50856dac605"}, - {file = "coverage-7.6.0-cp312-cp312-win32.whl", hash = "sha256:3c59105f8d58ce500f348c5b56163a4113a440dad6daa2294b5052a10db866da"}, - {file = "coverage-7.6.0-cp312-cp312-win_amd64.whl", hash = "sha256:ca5d79cfdae420a1d52bf177de4bc2289c321d6c961ae321503b2ca59c17ae67"}, - {file = "coverage-7.6.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d39bd10f0ae453554798b125d2f39884290c480f56e8a02ba7a6ed552005243b"}, - {file = "coverage-7.6.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:beb08e8508e53a568811016e59f3234d29c2583f6b6e28572f0954a6b4f7e03d"}, - {file = "coverage-7.6.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b2e16f4cd2bc4d88ba30ca2d3bbf2f21f00f382cf4e1ce3b1ddc96c634bc48ca"}, - {file = "coverage-7.6.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6616d1c9bf1e3faea78711ee42a8b972367d82ceae233ec0ac61cc7fec09fa6b"}, - {file = "coverage-7.6.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad4567d6c334c46046d1c4c20024de2a1c3abc626817ae21ae3da600f5779b44"}, - {file = "coverage-7.6.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:d17c6a415d68cfe1091d3296ba5749d3d8696e42c37fca5d4860c5bf7b729f03"}, - {file = "coverage-7.6.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:9146579352d7b5f6412735d0f203bbd8d00113a680b66565e205bc605ef81bc6"}, - {file = "coverage-7.6.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:cdab02a0a941af190df8782aafc591ef3ad08824f97850b015c8c6a8b3877b0b"}, - {file = "coverage-7.6.0-cp38-cp38-win32.whl", hash = "sha256:df423f351b162a702c053d5dddc0fc0ef9a9e27ea3f449781ace5f906b664428"}, - {file = "coverage-7.6.0-cp38-cp38-win_amd64.whl", hash = "sha256:f2501d60d7497fd55e391f423f965bbe9e650e9ffc3c627d5f0ac516026000b8"}, - {file = "coverage-7.6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7221f9ac9dad9492cecab6f676b3eaf9185141539d5c9689d13fd6b0d7de840c"}, - {file = "coverage-7.6.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ddaaa91bfc4477d2871442bbf30a125e8fe6b05da8a0015507bfbf4718228ab2"}, - {file = "coverage-7.6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c4cbe651f3904e28f3a55d6f371203049034b4ddbce65a54527a3f189ca3b390"}, - {file = "coverage-7.6.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:831b476d79408ab6ccfadaaf199906c833f02fdb32c9ab907b1d4aa0713cfa3b"}, - {file = "coverage-7.6.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:46c3d091059ad0b9c59d1034de74a7f36dcfa7f6d3bde782c49deb42438f2450"}, - {file = "coverage-7.6.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:4d5fae0a22dc86259dee66f2cc6c1d3e490c4a1214d7daa2a93d07491c5c04b6"}, - {file = "coverage-7.6.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:07ed352205574aad067482e53dd606926afebcb5590653121063fbf4e2175166"}, - {file = "coverage-7.6.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:49c76cdfa13015c4560702574bad67f0e15ca5a2872c6a125f6327ead2b731dd"}, - {file = "coverage-7.6.0-cp39-cp39-win32.whl", hash = "sha256:482855914928c8175735a2a59c8dc5806cf7d8f032e4820d52e845d1f731dca2"}, - {file = "coverage-7.6.0-cp39-cp39-win_amd64.whl", hash = "sha256:543ef9179bc55edfd895154a51792b01c017c87af0ebaae092720152e19e42ca"}, - {file = "coverage-7.6.0-pp38.pp39.pp310-none-any.whl", hash = "sha256:6fe885135c8a479d3e37a7aae61cbd3a0fb2deccb4dda3c25f92a49189f766d6"}, - {file = "coverage-7.6.0.tar.gz", hash = "sha256:289cc803fa1dc901f84701ac10c9ee873619320f2f9aff38794db4a4a0268d51"}, -] -cryptography = [ - {file = "cryptography-42.0.8-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:81d8a521705787afe7a18d5bfb47ea9d9cc068206270aad0b96a725022e18d2e"}, - {file = "cryptography-42.0.8-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:961e61cefdcb06e0c6d7e3a1b22ebe8b996eb2bf50614e89384be54c48c6b63d"}, - {file = "cryptography-42.0.8-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e3ec3672626e1b9e55afd0df6d774ff0e953452886e06e0f1eb7eb0c832e8902"}, - {file = "cryptography-42.0.8-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e599b53fd95357d92304510fb7bda8523ed1f79ca98dce2f43c115950aa78801"}, - {file = "cryptography-42.0.8-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:5226d5d21ab681f432a9c1cf8b658c0cb02533eece706b155e5fbd8a0cdd3949"}, - {file = "cryptography-42.0.8-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:6b7c4f03ce01afd3b76cf69a5455caa9cfa3de8c8f493e0d3ab7d20611c8dae9"}, - {file = "cryptography-42.0.8-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:2346b911eb349ab547076f47f2e035fc8ff2c02380a7cbbf8d87114fa0f1c583"}, - {file = "cryptography-42.0.8-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:ad803773e9df0b92e0a817d22fd8a3675493f690b96130a5e24f1b8fabbea9c7"}, - {file = "cryptography-42.0.8-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:2f66d9cd9147ee495a8374a45ca445819f8929a3efcd2e3df6428e46c3cbb10b"}, - {file = "cryptography-42.0.8-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:d45b940883a03e19e944456a558b67a41160e367a719833c53de6911cabba2b7"}, - {file = "cryptography-42.0.8-cp37-abi3-win32.whl", hash = "sha256:a0c5b2b0585b6af82d7e385f55a8bc568abff8923af147ee3c07bd8b42cda8b2"}, - {file = "cryptography-42.0.8-cp37-abi3-win_amd64.whl", hash = "sha256:57080dee41209e556a9a4ce60d229244f7a66ef52750f813bfbe18959770cfba"}, - {file = "cryptography-42.0.8-cp39-abi3-macosx_10_12_universal2.whl", hash = "sha256:dea567d1b0e8bc5764b9443858b673b734100c2871dc93163f58c46a97a83d28"}, - {file = "cryptography-42.0.8-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c4783183f7cb757b73b2ae9aed6599b96338eb957233c58ca8f49a49cc32fd5e"}, - {file = "cryptography-42.0.8-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0608251135d0e03111152e41f0cc2392d1e74e35703960d4190b2e0f4ca9c70"}, - {file = "cryptography-42.0.8-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:dc0fdf6787f37b1c6b08e6dfc892d9d068b5bdb671198c72072828b80bd5fe4c"}, - {file = "cryptography-42.0.8-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:9c0c1716c8447ee7dbf08d6db2e5c41c688544c61074b54fc4564196f55c25a7"}, - {file = "cryptography-42.0.8-cp39-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:fff12c88a672ab9c9c1cf7b0c80e3ad9e2ebd9d828d955c126be4fd3e5578c9e"}, - {file = "cryptography-42.0.8-cp39-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:cafb92b2bc622cd1aa6a1dce4b93307792633f4c5fe1f46c6b97cf67073ec961"}, - {file = "cryptography-42.0.8-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:31f721658a29331f895a5a54e7e82075554ccfb8b163a18719d342f5ffe5ecb1"}, - {file = "cryptography-42.0.8-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:b297f90c5723d04bcc8265fc2a0f86d4ea2e0f7ab4b6994459548d3a6b992a14"}, - {file = "cryptography-42.0.8-cp39-abi3-win32.whl", hash = "sha256:2f88d197e66c65be5e42cd72e5c18afbfae3f741742070e3019ac8f4ac57262c"}, - {file = "cryptography-42.0.8-cp39-abi3-win_amd64.whl", hash = "sha256:fa76fbb7596cc5839320000cdd5d0955313696d9511debab7ee7278fc8b5c84a"}, - {file = "cryptography-42.0.8-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:ba4f0a211697362e89ad822e667d8d340b4d8d55fae72cdd619389fb5912eefe"}, - {file = "cryptography-42.0.8-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:81884c4d096c272f00aeb1f11cf62ccd39763581645b0812e99a91505fa48e0c"}, - {file = "cryptography-42.0.8-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c9bb2ae11bfbab395bdd072985abde58ea9860ed84e59dbc0463a5d0159f5b71"}, - {file = "cryptography-42.0.8-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:7016f837e15b0a1c119d27ecd89b3515f01f90a8615ed5e9427e30d9cdbfed3d"}, - {file = "cryptography-42.0.8-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5a94eccb2a81a309806027e1670a358b99b8fe8bfe9f8d329f27d72c094dde8c"}, - {file = "cryptography-42.0.8-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:dec9b018df185f08483f294cae6ccac29e7a6e0678996587363dc352dc65c842"}, - {file = "cryptography-42.0.8-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:343728aac38decfdeecf55ecab3264b015be68fc2816ca800db649607aeee648"}, - {file = "cryptography-42.0.8-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:013629ae70b40af70c9a7a5db40abe5d9054e6f4380e50ce769947b73bf3caad"}, - {file = "cryptography-42.0.8.tar.gz", hash = "sha256:8d09d05439ce7baa8e9e95b07ec5b6c886f548deb7e0f69ef25f64b3bce842f2"}, -] -cwl-upgrader = [ - {file = "cwl-upgrader-1.2.11.tar.gz", hash = "sha256:57b4b6fea246ae96ac28dc4e65b28899e50a8be430957fbd97f25bbe2dfa468a"}, - {file = "cwl_upgrader-1.2.11-py3-none-any.whl", hash = "sha256:435b706b7ccc64c6b0af6785a0cebbdfa285af9e70f321dc7b43b363ba9b385c"}, -] -cwl-utils = [ - {file = "cwl-utils-0.16.tar.gz", hash = "sha256:38182e6dd12b039601ac2f72911b3d93ca4e37efca3b0165ffe162abab3edf7b"}, - {file = "cwl_utils-0.16-py3-none-any.whl", hash = "sha256:3583d02a9f066e0b2710bc974730c37cf8bb4c42c14c5be961357644a3c8f159"}, -] -cwltool = [ - {file = "cwltool-3.1.20220907141119-py3-none-any.whl", hash = "sha256:7680e48c13956bb2779a05a79c082d9f37c8049cabfcb06a2f6db0dd78e7d615"}, - {file = "cwltool-3.1.20220907141119.tar.gz", hash = "sha256:b322be0ebe0df0c14e38e16d7c8d86458f280f4f3d7717d615b132065efa5b66"}, -] -debtcollector = [ - {file = "debtcollector-3.0.0-py3-none-any.whl", hash = "sha256:46f9dacbe8ce49c47ebf2bf2ec878d50c9443dfae97cc7b8054be684e54c3e91"}, - {file = "debtcollector-3.0.0.tar.gz", hash = "sha256:2a8917d25b0e1f1d0d365d3c1c6ecfc7a522b1e9716e8a1a4a915126f7ccea6f"}, -] -decorator = [ - {file = "decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"}, - {file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"}, -] -dill = [ - {file = "dill-0.3.8-py3-none-any.whl", hash = "sha256:c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7"}, - {file = "dill-0.3.8.tar.gz", hash = "sha256:3ebe3c479ad625c4553aca177444d89b486b1d84982eeacded644afc0cf797ca"}, -] -docutils = [ - {file = "docutils-0.18.1-py2.py3-none-any.whl", hash = "sha256:23010f129180089fbcd3bc08cfefccb3b890b0050e1ca00c867036e9d161b98c"}, - {file = "docutils-0.18.1.tar.gz", hash = "sha256:679987caf361a7539d76e584cbeddc311e3aee937877c87346f31debc63e9d06"}, -] -"dogpile.cache" = [ - {file = "dogpile.cache-1.3.3-py3-none-any.whl", hash = "sha256:5e211c4902ebdf88c678d268e22454b41e68071632daa9402d8ee24e825ed8ca"}, - {file = "dogpile.cache-1.3.3.tar.gz", hash = "sha256:f84b8ed0b0fb297d151055447fa8dcaf7bae566d4dbdefecdcc1f37662ab588b"}, -] -exceptiongroup = [ - {file = "exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b"}, - {file = "exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc"}, -] -fastapi = [ - {file = "fastapi-0.109.2-py3-none-any.whl", hash = "sha256:2c9bab24667293b501cad8dd388c05240c850b58ec5876ee3283c47d6e1e3a4d"}, - {file = "fastapi-0.109.2.tar.gz", hash = "sha256:f3817eac96fe4f65a2ebb4baa000f394e55f5fccdaf7f75250804bc58f354f73"}, -] -filelock = [ - {file = "filelock-3.15.4-py3-none-any.whl", hash = "sha256:6ca1fffae96225dab4c6eaf1c4f4f28cd2568d3ec2a44e15a08520504de468e7"}, - {file = "filelock-3.15.4.tar.gz", hash = "sha256:2207938cbc1844345cb01a5a95524dae30f0ce089eba5b00378295a17e3e90cb"}, -] -Flask = [ - {file = "flask-2.3.3-py3-none-any.whl", hash = "sha256:f69fcd559dc907ed196ab9df0e48471709175e696d6e698dd4dbe940f96ce66b"}, - {file = "flask-2.3.3.tar.gz", hash = "sha256:09c347a92aa7ff4a8e7f3206795f30d826654baf38b873d0744cd571ca609efc"}, -] -Flask-RESTful = [ - {file = "Flask-RESTful-0.3.9.tar.gz", hash = "sha256:ccec650b835d48192138c85329ae03735e6ced58e9b2d9c2146d6c84c06fa53e"}, - {file = "Flask_RESTful-0.3.9-py2.py3-none-any.whl", hash = "sha256:4970c49b6488e46c520b325f54833374dc2b98e211f1b272bd4b0c516232afe2"}, -] -google-api-core = [ - {file = "google-api-core-2.19.1.tar.gz", hash = "sha256:f4695f1e3650b316a795108a76a1c416e6afb036199d1c1f1f110916df479ffd"}, - {file = "google_api_core-2.19.1-py3-none-any.whl", hash = "sha256:f12a9b8309b5e21d92483bbd47ce2c445861ec7d269ef6784ecc0ea8c1fa6125"}, -] -google-api-python-client = [ - {file = "google_api_python_client-2.137.0-py2.py3-none-any.whl", hash = "sha256:a8b5c5724885e5be9f5368739aa0ccf416627da4ebd914b410a090c18f84d692"}, - {file = "google_api_python_client-2.137.0.tar.gz", hash = "sha256:e739cb74aac8258b1886cb853b0722d47c81fe07ad649d7f2206f06530513c04"}, -] -google-auth = [ - {file = "google_auth-2.32.0-py2.py3-none-any.whl", hash = "sha256:53326ea2ebec768070a94bee4e1b9194c9646ea0c2bd72422785bd0f9abfad7b"}, - {file = "google_auth-2.32.0.tar.gz", hash = "sha256:49315be72c55a6a37d62819e3573f6b416aca00721f7e3e31a008d928bf64022"}, -] -google-auth-httplib2 = [ - {file = "google-auth-httplib2-0.2.0.tar.gz", hash = "sha256:38aa7badf48f974f1eb9861794e9c0cb2a0511a4ec0679b1f886d108f5640e05"}, - {file = "google_auth_httplib2-0.2.0-py2.py3-none-any.whl", hash = "sha256:b65a0a2123300dd71281a7bf6e64d65a0759287df52729bdd1ae2e47dc311a3d"}, -] -googleapis-common-protos = [ - {file = "googleapis-common-protos-1.63.2.tar.gz", hash = "sha256:27c5abdffc4911f28101e635de1533fb4cfd2c37fbaa9174587c799fac90aa87"}, - {file = "googleapis_common_protos-1.63.2-py2.py3-none-any.whl", hash = "sha256:27a2499c7e8aff199665b22741997e485eccc8645aa9176c7c988e6fae507945"}, -] - -[package.dependencies] -protobuf = ">=3.19.5,<3.20.0 || >3.20.0,<3.20.1 || >3.20.1,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<6.0.0.dev0" - -[package.extras] -grpc = ["grpcio (>=1.44.0,<2.0.0.dev0)"] - -[[package]] -name = "graphviz" -version = "0.20.3" -description = "Simple Python interface for Graphviz" -optional = false -python-versions = ">=3.8" -files = [ - {file = "graphviz-0.20.3-py3-none-any.whl", hash = "sha256:81f848f2904515d8cd359cc611faba817598d2feaac4027b266aa3eda7b3dde5"}, - {file = "graphviz-0.20.3.zip", hash = "sha256:09d6bc81e6a9fa392e7ba52135a9d49f1ed62526f96499325930e87ca1b5925d"}, -] - -[package.extras] -dev = ["flake8", "pep8-naming", "tox (>=3)", "twine", "wheel"] -docs = ["sphinx (>=5,<7)", "sphinx-autodoc-typehints", "sphinx-rtd-theme"] -test = ["coverage", "pytest (>=7,<8.1)", "pytest-cov", "pytest-mock (>=3)"] - -[[package]] -name = "greenlet" -version = "3.0.3" -description = "Lightweight in-process concurrent programming" -optional = false -python-versions = ">=3.7" -files = [ - {file = "greenlet-3.0.3-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:9da2bd29ed9e4f15955dd1595ad7bc9320308a3b766ef7f837e23ad4b4aac31a"}, - {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d353cadd6083fdb056bb46ed07e4340b0869c305c8ca54ef9da3421acbdf6881"}, - {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dca1e2f3ca00b84a396bc1bce13dd21f680f035314d2379c4160c98153b2059b"}, - {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3ed7fb269f15dc662787f4119ec300ad0702fa1b19d2135a37c2c4de6fadfd4a"}, - {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd4f49ae60e10adbc94b45c0b5e6a179acc1736cf7a90160b404076ee283cf83"}, - {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:73a411ef564e0e097dbe7e866bb2dda0f027e072b04da387282b02c308807405"}, - {file = "greenlet-3.0.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:7f362975f2d179f9e26928c5b517524e89dd48530a0202570d55ad6ca5d8a56f"}, - {file = "greenlet-3.0.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:649dde7de1a5eceb258f9cb00bdf50e978c9db1b996964cd80703614c86495eb"}, - {file = "greenlet-3.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:68834da854554926fbedd38c76e60c4a2e3198c6fbed520b106a8986445caaf9"}, - {file = "greenlet-3.0.3-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:b1b5667cced97081bf57b8fa1d6bfca67814b0afd38208d52538316e9422fc61"}, - {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:52f59dd9c96ad2fc0d5724107444f76eb20aaccb675bf825df6435acb7703559"}, - {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:afaff6cf5200befd5cec055b07d1c0a5a06c040fe5ad148abcd11ba6ab9b114e"}, - {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fe754d231288e1e64323cfad462fcee8f0288654c10bdf4f603a39ed923bef33"}, - {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2797aa5aedac23af156bbb5a6aa2cd3427ada2972c828244eb7d1b9255846379"}, - {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b7f009caad047246ed379e1c4dbcb8b020f0a390667ea74d2387be2998f58a22"}, - {file = "greenlet-3.0.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c5e1536de2aad7bf62e27baf79225d0d64360d4168cf2e6becb91baf1ed074f3"}, - {file = "greenlet-3.0.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:894393ce10ceac937e56ec00bb71c4c2f8209ad516e96033e4b3b1de270e200d"}, - {file = "greenlet-3.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:1ea188d4f49089fc6fb283845ab18a2518d279c7cd9da1065d7a84e991748728"}, - {file = "greenlet-3.0.3-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:70fb482fdf2c707765ab5f0b6655e9cfcf3780d8d87355a063547b41177599be"}, - {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4d1ac74f5c0c0524e4a24335350edad7e5f03b9532da7ea4d3c54d527784f2e"}, - {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:149e94a2dd82d19838fe4b2259f1b6b9957d5ba1b25640d2380bea9c5df37676"}, - {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:15d79dd26056573940fcb8c7413d84118086f2ec1a8acdfa854631084393efcc"}, - {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:881b7db1ebff4ba09aaaeae6aa491daeb226c8150fc20e836ad00041bcb11230"}, - {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fcd2469d6a2cf298f198f0487e0a5b1a47a42ca0fa4dfd1b6862c999f018ebbf"}, - {file = "greenlet-3.0.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:1f672519db1796ca0d8753f9e78ec02355e862d0998193038c7073045899f305"}, - {file = "greenlet-3.0.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2516a9957eed41dd8f1ec0c604f1cdc86758b587d964668b5b196a9db5bfcde6"}, - {file = "greenlet-3.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:bba5387a6975598857d86de9eac14210a49d554a77eb8261cc68b7d082f78ce2"}, - {file = "greenlet-3.0.3-cp37-cp37m-macosx_11_0_universal2.whl", hash = "sha256:5b51e85cb5ceda94e79d019ed36b35386e8c37d22f07d6a751cb659b180d5274"}, - {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:daf3cb43b7cf2ba96d614252ce1684c1bccee6b2183a01328c98d36fcd7d5cb0"}, - {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99bf650dc5d69546e076f413a87481ee1d2d09aaaaaca058c9251b6d8c14783f"}, - {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2dd6e660effd852586b6a8478a1d244b8dc90ab5b1321751d2ea15deb49ed414"}, - {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e3391d1e16e2a5a1507d83e4a8b100f4ee626e8eca43cf2cadb543de69827c4c"}, - {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e1f145462f1fa6e4a4ae3c0f782e580ce44d57c8f2c7aae1b6fa88c0b2efdb41"}, - {file = "greenlet-3.0.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:1a7191e42732df52cb5f39d3527217e7ab73cae2cb3694d241e18f53d84ea9a7"}, - {file = "greenlet-3.0.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:0448abc479fab28b00cb472d278828b3ccca164531daab4e970a0458786055d6"}, - {file = "greenlet-3.0.3-cp37-cp37m-win32.whl", hash = "sha256:b542be2440edc2d48547b5923c408cbe0fc94afb9f18741faa6ae970dbcb9b6d"}, - {file = "greenlet-3.0.3-cp37-cp37m-win_amd64.whl", hash = "sha256:01bc7ea167cf943b4c802068e178bbf70ae2e8c080467070d01bfa02f337ee67"}, - {file = "greenlet-3.0.3-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:1996cb9306c8595335bb157d133daf5cf9f693ef413e7673cb07e3e5871379ca"}, - {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ddc0f794e6ad661e321caa8d2f0a55ce01213c74722587256fb6566049a8b04"}, - {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c9db1c18f0eaad2f804728c67d6c610778456e3e1cc4ab4bbd5eeb8e6053c6fc"}, - {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7170375bcc99f1a2fbd9c306f5be8764eaf3ac6b5cb968862cad4c7057756506"}, - {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b66c9c1e7ccabad3a7d037b2bcb740122a7b17a53734b7d72a344ce39882a1b"}, - {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:098d86f528c855ead3479afe84b49242e174ed262456c342d70fc7f972bc13c4"}, - {file = "greenlet-3.0.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:81bb9c6d52e8321f09c3d165b2a78c680506d9af285bfccbad9fb7ad5a5da3e5"}, - {file = "greenlet-3.0.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fd096eb7ffef17c456cfa587523c5f92321ae02427ff955bebe9e3c63bc9f0da"}, - {file = "greenlet-3.0.3-cp38-cp38-win32.whl", hash = "sha256:d46677c85c5ba00a9cb6f7a00b2bfa6f812192d2c9f7d9c4f6a55b60216712f3"}, - {file = "greenlet-3.0.3-cp38-cp38-win_amd64.whl", hash = "sha256:419b386f84949bf0e7c73e6032e3457b82a787c1ab4a0e43732898a761cc9dbf"}, - {file = "greenlet-3.0.3-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:da70d4d51c8b306bb7a031d5cff6cc25ad253affe89b70352af5f1cb68e74b53"}, - {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:086152f8fbc5955df88382e8a75984e2bb1c892ad2e3c80a2508954e52295257"}, - {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d73a9fe764d77f87f8ec26a0c85144d6a951a6c438dfe50487df5595c6373eac"}, - {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7dcbe92cc99f08c8dd11f930de4d99ef756c3591a5377d1d9cd7dd5e896da71"}, - {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1551a8195c0d4a68fac7a4325efac0d541b48def35feb49d803674ac32582f61"}, - {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:64d7675ad83578e3fc149b617a444fab8efdafc9385471f868eb5ff83e446b8b"}, - {file = "greenlet-3.0.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b37eef18ea55f2ffd8f00ff8fe7c8d3818abd3e25fb73fae2ca3b672e333a7a6"}, - {file = "greenlet-3.0.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:77457465d89b8263bca14759d7c1684df840b6811b2499838cc5b040a8b5b113"}, - {file = "greenlet-3.0.3-cp39-cp39-win32.whl", hash = "sha256:57e8974f23e47dac22b83436bdcf23080ade568ce77df33159e019d161ce1d1e"}, - {file = "greenlet-3.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:c5ee858cfe08f34712f548c3c363e807e7186f03ad7a5039ebadb29e8c6be067"}, - {file = "greenlet-3.0.3.tar.gz", hash = "sha256:43374442353259554ce33599da8b692d5aa96f8976d567d4badf263371fbe491"}, -] -gunicorn = [ - {file = "gunicorn-22.0.0-py3-none-any.whl", hash = "sha256:350679f91b24062c86e386e198a15438d53a7a8207235a78ba1b53df4c4378d9"}, - {file = "gunicorn-22.0.0.tar.gz", hash = "sha256:4a0b436239ff76fb33f11c07a16482c521a7e09c1ce3cc293c2330afe01bec63"}, -] -h11 = [ - {file = "h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"}, - {file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"}, -] -httplib2 = [ - {file = "httplib2-0.22.0-py3-none-any.whl", hash = "sha256:14ae0a53c1ba8f3d37e9e27cf37eabb0fb9980f435ba405d546948b009dd64dc"}, - {file = "httplib2-0.22.0.tar.gz", hash = "sha256:d7a10bc5ef5ab08322488bde8c726eeee5c8618723fdb399597ec58f3d82df81"}, -] -humanfriendly = [ - {file = "humanfriendly-10.0-py2.py3-none-any.whl", hash = "sha256:1697e1a8a8f550fd43c2865cd84542fc175a61dcb779b6fee18cf6b6ccba1477"}, - {file = "humanfriendly-10.0.tar.gz", hash = "sha256:6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc"}, -] -idna = [ - {file = "idna-3.7-py3-none-any.whl", hash = "sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0"}, - {file = "idna-3.7.tar.gz", hash = "sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc"}, -] -imagesize = [ - {file = "imagesize-1.4.1-py2.py3-none-any.whl", hash = "sha256:0d8d18d08f840c19d0ee7ca1fd82490fdc3729b7ac93f49870406ddde8ef8d8b"}, - {file = "imagesize-1.4.1.tar.gz", hash = "sha256:69150444affb9cb0d5cc5a92b3676f0b2fb7cd9ae39e947a5e11a36b4497cd4a"}, -] -importlib-metadata = [ - {file = "importlib_metadata-8.0.0-py3-none-any.whl", hash = "sha256:15584cf2b1bf449d98ff8a6ff1abef57bf20f3ac6454f431736cd3e660921b2f"}, - {file = "importlib_metadata-8.0.0.tar.gz", hash = "sha256:188bd24e4c346d3f0a933f275c2fec67050326a856b9a359881d7c2a697e8812"}, -] -importlib-resources = [ - {file = "importlib_resources-6.4.0-py3-none-any.whl", hash = "sha256:50d10f043df931902d4194ea07ec57960f66a80449ff867bfe782b4c486ba78c"}, - {file = "importlib_resources-6.4.0.tar.gz", hash = "sha256:cdb2b453b8046ca4e3798eb1d84f3cce1446a0e8e7b5ef4efb600f19fc398145"}, -] -iniconfig = [ - {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, - {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, -] -iso8601 = [ - {file = "iso8601-2.1.0-py3-none-any.whl", hash = "sha256:aac4145c4dcb66ad8b648a02830f5e2ff6c24af20f4f482689be402db2429242"}, - {file = "iso8601-2.1.0.tar.gz", hash = "sha256:6b1d3829ee8921c4301998c909f7829fa9ed3cbdac0d3b16af2d743aed1ba8df"}, -] -isodate = [ - {file = "isodate-0.6.1-py2.py3-none-any.whl", hash = "sha256:0751eece944162659049d35f4f549ed815792b38793f07cf73381c1c87cbed96"}, - {file = "isodate-0.6.1.tar.gz", hash = "sha256:48c5881de7e8b0a0d648cb024c8062dc84e7b840ed81e864c7614fd3c127bde9"}, -] -isort = [ - {file = "isort-5.13.2-py3-none-any.whl", hash = "sha256:8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6"}, - {file = "isort-5.13.2.tar.gz", hash = "sha256:48fdfcb9face5d58a4f6dde2e72a1fb8dcaf8ab26f95ab49fab84c2ddefb0109"}, -] -itsdangerous = [ - {file = "itsdangerous-2.2.0-py3-none-any.whl", hash = "sha256:c6242fc49e35958c8b15141343aa660db5fc54d4f13a1db01a3f5891b98700ef"}, - {file = "itsdangerous-2.2.0.tar.gz", hash = "sha256:e0050c0b7da1eea53ffaf149c0cfbb5c6e2e2b69c4bef22c81fa6eb73e5f6173"}, -] -Jinja2 = [ - {file = "jinja2-3.1.4-py3-none-any.whl", hash = "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d"}, - {file = "jinja2-3.1.4.tar.gz", hash = "sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369"}, -] -jmespath = [ - {file = "jmespath-1.0.1-py3-none-any.whl", hash = "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980"}, - {file = "jmespath-1.0.1.tar.gz", hash = "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe"}, -] -jsonpatch = [ - {file = "jsonpatch-1.33-py2.py3-none-any.whl", hash = "sha256:0ae28c0cd062bbd8b8ecc26d7d164fbbea9652a1a3693f3b956c1eae5145dade"}, - {file = "jsonpatch-1.33.tar.gz", hash = "sha256:9fcd4009c41e6d12348b4a0ff2563ba56a2923a7dfee731d004e212e1ee5030c"}, -] -jsonpickle = [ - {file = "jsonpickle-2.2.0-py2.py3-none-any.whl", hash = "sha256:de7f2613818aa4f234138ca11243d6359ff83ae528b2185efdd474f62bcf9ae1"}, - {file = "jsonpickle-2.2.0.tar.gz", hash = "sha256:7b272918b0554182e53dc340ddd62d9b7f902fec7e7b05620c04f3ccef479a0e"}, -] -jsonpointer = [ - {file = "jsonpointer-3.0.0-py2.py3-none-any.whl", hash = "sha256:13e088adc14fca8b6aa8177c044e12701e6ad4b28ff10e65f2267a90109c9942"}, - {file = "jsonpointer-3.0.0.tar.gz", hash = "sha256:2b2d729f2091522d61c3b31f82e11870f60b68f43fbc705cb76bf4b832af59ef"}, -] -keystoneauth1 = [ - {file = "keystoneauth1-5.7.0-py3-none-any.whl", hash = "sha256:a3623bd03ed9a8cf1866d3eba113423e3cd898f74b79dd95598152b473a2cecc"}, - {file = "keystoneauth1-5.7.0.tar.gz", hash = "sha256:b2cc2d68d1a48e9c2c6d9b1b1fd00d7c7bdfe086e8040b51e70938a8ba3adfd1"}, -] -kombu = [ - {file = "kombu-5.3.7-py3-none-any.whl", hash = "sha256:5634c511926309c7f9789f1433e9ed402616b56836ef9878f01bd59267b4c7a9"}, - {file = "kombu-5.3.7.tar.gz", hash = "sha256:011c4cd9a355c14a1de8d35d257314a1d2456d52b7140388561acac3cf1a97bf"}, -] -lazy-object-proxy = [ - {file = "lazy-object-proxy-1.10.0.tar.gz", hash = "sha256:78247b6d45f43a52ef35c25b5581459e85117225408a4128a3daf8bf9648ac69"}, - {file = "lazy_object_proxy-1.10.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:855e068b0358ab916454464a884779c7ffa312b8925c6f7401e952dcf3b89977"}, - {file = "lazy_object_proxy-1.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ab7004cf2e59f7c2e4345604a3e6ea0d92ac44e1c2375527d56492014e690c3"}, - {file = "lazy_object_proxy-1.10.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dc0d2fc424e54c70c4bc06787e4072c4f3b1aa2f897dfdc34ce1013cf3ceef05"}, - {file = "lazy_object_proxy-1.10.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e2adb09778797da09d2b5ebdbceebf7dd32e2c96f79da9052b2e87b6ea495895"}, - {file = "lazy_object_proxy-1.10.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b1f711e2c6dcd4edd372cf5dec5c5a30d23bba06ee012093267b3376c079ec83"}, - {file = "lazy_object_proxy-1.10.0-cp310-cp310-win32.whl", hash = "sha256:76a095cfe6045c7d0ca77db9934e8f7b71b14645f0094ffcd842349ada5c5fb9"}, - {file = "lazy_object_proxy-1.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:b4f87d4ed9064b2628da63830986c3d2dca7501e6018347798313fcf028e2fd4"}, - {file = "lazy_object_proxy-1.10.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:fec03caabbc6b59ea4a638bee5fce7117be8e99a4103d9d5ad77f15d6f81020c"}, - {file = "lazy_object_proxy-1.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:02c83f957782cbbe8136bee26416686a6ae998c7b6191711a04da776dc9e47d4"}, - {file = "lazy_object_proxy-1.10.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:009e6bb1f1935a62889ddc8541514b6a9e1fcf302667dcb049a0be5c8f613e56"}, - {file = "lazy_object_proxy-1.10.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:75fc59fc450050b1b3c203c35020bc41bd2695ed692a392924c6ce180c6f1dc9"}, - {file = "lazy_object_proxy-1.10.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:782e2c9b2aab1708ffb07d4bf377d12901d7a1d99e5e410d648d892f8967ab1f"}, - {file = "lazy_object_proxy-1.10.0-cp311-cp311-win32.whl", hash = "sha256:edb45bb8278574710e68a6b021599a10ce730d156e5b254941754a9cc0b17d03"}, - {file = "lazy_object_proxy-1.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:e271058822765ad5e3bca7f05f2ace0de58a3f4e62045a8c90a0dfd2f8ad8cc6"}, - {file = "lazy_object_proxy-1.10.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e98c8af98d5707dcdecc9ab0863c0ea6e88545d42ca7c3feffb6b4d1e370c7ba"}, - {file = "lazy_object_proxy-1.10.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:952c81d415b9b80ea261d2372d2a4a2332a3890c2b83e0535f263ddfe43f0d43"}, - {file = "lazy_object_proxy-1.10.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80b39d3a151309efc8cc48675918891b865bdf742a8616a337cb0090791a0de9"}, - {file = "lazy_object_proxy-1.10.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:e221060b701e2aa2ea991542900dd13907a5c90fa80e199dbf5a03359019e7a3"}, - {file = "lazy_object_proxy-1.10.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:92f09ff65ecff3108e56526f9e2481b8116c0b9e1425325e13245abfd79bdb1b"}, - {file = "lazy_object_proxy-1.10.0-cp312-cp312-win32.whl", hash = "sha256:3ad54b9ddbe20ae9f7c1b29e52f123120772b06dbb18ec6be9101369d63a4074"}, - {file = "lazy_object_proxy-1.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:127a789c75151db6af398b8972178afe6bda7d6f68730c057fbbc2e96b08d282"}, - {file = "lazy_object_proxy-1.10.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9e4ed0518a14dd26092614412936920ad081a424bdcb54cc13349a8e2c6d106a"}, - {file = "lazy_object_proxy-1.10.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5ad9e6ed739285919aa9661a5bbed0aaf410aa60231373c5579c6b4801bd883c"}, - {file = "lazy_object_proxy-1.10.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2fc0a92c02fa1ca1e84fc60fa258458e5bf89d90a1ddaeb8ed9cc3147f417255"}, - {file = "lazy_object_proxy-1.10.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:0aefc7591920bbd360d57ea03c995cebc204b424524a5bd78406f6e1b8b2a5d8"}, - {file = "lazy_object_proxy-1.10.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5faf03a7d8942bb4476e3b62fd0f4cf94eaf4618e304a19865abf89a35c0bbee"}, - {file = "lazy_object_proxy-1.10.0-cp38-cp38-win32.whl", hash = "sha256:e333e2324307a7b5d86adfa835bb500ee70bfcd1447384a822e96495796b0ca4"}, - {file = "lazy_object_proxy-1.10.0-cp38-cp38-win_amd64.whl", hash = "sha256:cb73507defd385b7705c599a94474b1d5222a508e502553ef94114a143ec6696"}, - {file = "lazy_object_proxy-1.10.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:366c32fe5355ef5fc8a232c5436f4cc66e9d3e8967c01fb2e6302fd6627e3d94"}, - {file = "lazy_object_proxy-1.10.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2297f08f08a2bb0d32a4265e98a006643cd7233fb7983032bd61ac7a02956b3b"}, - {file = "lazy_object_proxy-1.10.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18dd842b49456aaa9a7cf535b04ca4571a302ff72ed8740d06b5adcd41fe0757"}, - {file = "lazy_object_proxy-1.10.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:217138197c170a2a74ca0e05bddcd5f1796c735c37d0eee33e43259b192aa424"}, - {file = "lazy_object_proxy-1.10.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9a3a87cf1e133e5b1994144c12ca4aa3d9698517fe1e2ca82977781b16955658"}, - {file = "lazy_object_proxy-1.10.0-cp39-cp39-win32.whl", hash = "sha256:30b339b2a743c5288405aa79a69e706a06e02958eab31859f7f3c04980853b70"}, - {file = "lazy_object_proxy-1.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:a899b10e17743683b293a729d3a11f2f399e8a90c73b089e29f5d0fe3509f0dd"}, - {file = "lazy_object_proxy-1.10.0-pp310.pp311.pp312.pp38.pp39-none-any.whl", hash = "sha256:80fa48bd89c8f2f456fc0765c11c23bf5af827febacd2f523ca5bc1893fcc09d"}, -] -lockfile = [ - {file = "lockfile-0.12.2-py2.py3-none-any.whl", hash = "sha256:6c3cb24f344923d30b2785d5ad75182c8ea7ac1b6171b08657258ec7429d50fa"}, - {file = "lockfile-0.12.2.tar.gz", hash = "sha256:6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799"}, -] -lxml = [ - {file = "lxml-5.2.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:364d03207f3e603922d0d3932ef363d55bbf48e3647395765f9bfcbdf6d23632"}, - {file = "lxml-5.2.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:50127c186f191b8917ea2fb8b206fbebe87fd414a6084d15568c27d0a21d60db"}, - {file = "lxml-5.2.2-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:74e4f025ef3db1c6da4460dd27c118d8cd136d0391da4e387a15e48e5c975147"}, - {file = "lxml-5.2.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:981a06a3076997adf7c743dcd0d7a0415582661e2517c7d961493572e909aa1d"}, - {file = "lxml-5.2.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aef5474d913d3b05e613906ba4090433c515e13ea49c837aca18bde190853dff"}, - {file = "lxml-5.2.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1e275ea572389e41e8b039ac076a46cb87ee6b8542df3fff26f5baab43713bca"}, - {file = "lxml-5.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5b65529bb2f21ac7861a0e94fdbf5dc0daab41497d18223b46ee8515e5ad297"}, - {file = "lxml-5.2.2-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:bcc98f911f10278d1daf14b87d65325851a1d29153caaf146877ec37031d5f36"}, - {file = "lxml-5.2.2-cp310-cp310-manylinux_2_28_ppc64le.whl", hash = "sha256:b47633251727c8fe279f34025844b3b3a3e40cd1b198356d003aa146258d13a2"}, - {file = "lxml-5.2.2-cp310-cp310-manylinux_2_28_s390x.whl", hash = "sha256:fbc9d316552f9ef7bba39f4edfad4a734d3d6f93341232a9dddadec4f15d425f"}, - {file = "lxml-5.2.2-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:13e69be35391ce72712184f69000cda04fc89689429179bc4c0ae5f0b7a8c21b"}, - {file = "lxml-5.2.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:3b6a30a9ab040b3f545b697cb3adbf3696c05a3a68aad172e3fd7ca73ab3c835"}, - {file = "lxml-5.2.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:a233bb68625a85126ac9f1fc66d24337d6e8a0f9207b688eec2e7c880f012ec0"}, - {file = "lxml-5.2.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:dfa7c241073d8f2b8e8dbc7803c434f57dbb83ae2a3d7892dd068d99e96efe2c"}, - {file = "lxml-5.2.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1a7aca7964ac4bb07680d5c9d63b9d7028cace3e2d43175cb50bba8c5ad33316"}, - {file = "lxml-5.2.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ae4073a60ab98529ab8a72ebf429f2a8cc612619a8c04e08bed27450d52103c0"}, - {file = "lxml-5.2.2-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:ffb2be176fed4457e445fe540617f0252a72a8bc56208fd65a690fdb1f57660b"}, - {file = "lxml-5.2.2-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:e290d79a4107d7d794634ce3e985b9ae4f920380a813717adf61804904dc4393"}, - {file = "lxml-5.2.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:96e85aa09274955bb6bd483eaf5b12abadade01010478154b0ec70284c1b1526"}, - {file = "lxml-5.2.2-cp310-cp310-win32.whl", hash = "sha256:f956196ef61369f1685d14dad80611488d8dc1ef00be57c0c5a03064005b0f30"}, - {file = "lxml-5.2.2-cp310-cp310-win_amd64.whl", hash = "sha256:875a3f90d7eb5c5d77e529080d95140eacb3c6d13ad5b616ee8095447b1d22e7"}, - {file = "lxml-5.2.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:45f9494613160d0405682f9eee781c7e6d1bf45f819654eb249f8f46a2c22545"}, - {file = "lxml-5.2.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b0b3f2df149efb242cee2ffdeb6674b7f30d23c9a7af26595099afaf46ef4e88"}, - {file = "lxml-5.2.2-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d28cb356f119a437cc58a13f8135ab8a4c8ece18159eb9194b0d269ec4e28083"}, - {file = "lxml-5.2.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:657a972f46bbefdbba2d4f14413c0d079f9ae243bd68193cb5061b9732fa54c1"}, - {file = "lxml-5.2.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b74b9ea10063efb77a965a8d5f4182806fbf59ed068b3c3fd6f30d2ac7bee734"}, - {file = "lxml-5.2.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:07542787f86112d46d07d4f3c4e7c760282011b354d012dc4141cc12a68cef5f"}, - {file = "lxml-5.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:303f540ad2dddd35b92415b74b900c749ec2010e703ab3bfd6660979d01fd4ed"}, - {file = "lxml-5.2.2-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:2eb2227ce1ff998faf0cd7fe85bbf086aa41dfc5af3b1d80867ecfe75fb68df3"}, - {file = "lxml-5.2.2-cp311-cp311-manylinux_2_28_ppc64le.whl", hash = "sha256:1d8a701774dfc42a2f0b8ccdfe7dbc140500d1049e0632a611985d943fcf12df"}, - {file = "lxml-5.2.2-cp311-cp311-manylinux_2_28_s390x.whl", hash = "sha256:56793b7a1a091a7c286b5f4aa1fe4ae5d1446fe742d00cdf2ffb1077865db10d"}, - {file = "lxml-5.2.2-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:eb00b549b13bd6d884c863554566095bf6fa9c3cecb2e7b399c4bc7904cb33b5"}, - {file = "lxml-5.2.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:1a2569a1f15ae6c8c64108a2cd2b4a858fc1e13d25846be0666fc144715e32ab"}, - {file = "lxml-5.2.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:8cf85a6e40ff1f37fe0f25719aadf443686b1ac7652593dc53c7ef9b8492b115"}, - {file = "lxml-5.2.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:d237ba6664b8e60fd90b8549a149a74fcc675272e0e95539a00522e4ca688b04"}, - {file = "lxml-5.2.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:0b3f5016e00ae7630a4b83d0868fca1e3d494c78a75b1c7252606a3a1c5fc2ad"}, - {file = "lxml-5.2.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:23441e2b5339bc54dc949e9e675fa35efe858108404ef9aa92f0456929ef6fe8"}, - {file = "lxml-5.2.2-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:2fb0ba3e8566548d6c8e7dd82a8229ff47bd8fb8c2da237607ac8e5a1b8312e5"}, - {file = "lxml-5.2.2-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:79d1fb9252e7e2cfe4de6e9a6610c7cbb99b9708e2c3e29057f487de5a9eaefa"}, - {file = "lxml-5.2.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6dcc3d17eac1df7859ae01202e9bb11ffa8c98949dcbeb1069c8b9a75917e01b"}, - {file = "lxml-5.2.2-cp311-cp311-win32.whl", hash = "sha256:4c30a2f83677876465f44c018830f608fa3c6a8a466eb223535035fbc16f3438"}, - {file = "lxml-5.2.2-cp311-cp311-win_amd64.whl", hash = "sha256:49095a38eb333aaf44c06052fd2ec3b8f23e19747ca7ec6f6c954ffea6dbf7be"}, - {file = "lxml-5.2.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:7429e7faa1a60cad26ae4227f4dd0459efde239e494c7312624ce228e04f6391"}, - {file = "lxml-5.2.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:50ccb5d355961c0f12f6cf24b7187dbabd5433f29e15147a67995474f27d1776"}, - {file = "lxml-5.2.2-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dc911208b18842a3a57266d8e51fc3cfaccee90a5351b92079beed912a7914c2"}, - {file = "lxml-5.2.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:33ce9e786753743159799fdf8e92a5da351158c4bfb6f2db0bf31e7892a1feb5"}, - {file = "lxml-5.2.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ec87c44f619380878bd49ca109669c9f221d9ae6883a5bcb3616785fa8f94c97"}, - {file = "lxml-5.2.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:08ea0f606808354eb8f2dfaac095963cb25d9d28e27edcc375d7b30ab01abbf6"}, - {file = "lxml-5.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75a9632f1d4f698b2e6e2e1ada40e71f369b15d69baddb8968dcc8e683839b18"}, - {file = "lxml-5.2.2-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:74da9f97daec6928567b48c90ea2c82a106b2d500f397eeb8941e47d30b1ca85"}, - {file = "lxml-5.2.2-cp312-cp312-manylinux_2_28_ppc64le.whl", hash = "sha256:0969e92af09c5687d769731e3f39ed62427cc72176cebb54b7a9d52cc4fa3b73"}, - {file = "lxml-5.2.2-cp312-cp312-manylinux_2_28_s390x.whl", hash = "sha256:9164361769b6ca7769079f4d426a41df6164879f7f3568be9086e15baca61466"}, - {file = "lxml-5.2.2-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:d26a618ae1766279f2660aca0081b2220aca6bd1aa06b2cf73f07383faf48927"}, - {file = "lxml-5.2.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ab67ed772c584b7ef2379797bf14b82df9aa5f7438c5b9a09624dd834c1c1aaf"}, - {file = "lxml-5.2.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:3d1e35572a56941b32c239774d7e9ad724074d37f90c7a7d499ab98761bd80cf"}, - {file = "lxml-5.2.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:8268cbcd48c5375f46e000adb1390572c98879eb4f77910c6053d25cc3ac2c67"}, - {file = "lxml-5.2.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:e282aedd63c639c07c3857097fc0e236f984ceb4089a8b284da1c526491e3f3d"}, - {file = "lxml-5.2.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6dfdc2bfe69e9adf0df4915949c22a25b39d175d599bf98e7ddf620a13678585"}, - {file = "lxml-5.2.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4aefd911793b5d2d7a921233a54c90329bf3d4a6817dc465f12ffdfe4fc7b8fe"}, - {file = "lxml-5.2.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:8b8df03a9e995b6211dafa63b32f9d405881518ff1ddd775db4e7b98fb545e1c"}, - {file = "lxml-5.2.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f11ae142f3a322d44513de1018b50f474f8f736bc3cd91d969f464b5bfef8836"}, - {file = "lxml-5.2.2-cp312-cp312-win32.whl", hash = "sha256:16a8326e51fcdffc886294c1e70b11ddccec836516a343f9ed0f82aac043c24a"}, - {file = "lxml-5.2.2-cp312-cp312-win_amd64.whl", hash = "sha256:bbc4b80af581e18568ff07f6395c02114d05f4865c2812a1f02f2eaecf0bfd48"}, - {file = "lxml-5.2.2-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:e3d9d13603410b72787579769469af730c38f2f25505573a5888a94b62b920f8"}, - {file = "lxml-5.2.2-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:38b67afb0a06b8575948641c1d6d68e41b83a3abeae2ca9eed2ac59892b36706"}, - {file = "lxml-5.2.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c689d0d5381f56de7bd6966a4541bff6e08bf8d3871bbd89a0c6ab18aa699573"}, - {file = "lxml-5.2.2-cp36-cp36m-manylinux_2_28_x86_64.whl", hash = "sha256:cf2a978c795b54c539f47964ec05e35c05bd045db5ca1e8366988c7f2fe6b3ce"}, - {file = "lxml-5.2.2-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:739e36ef7412b2bd940f75b278749106e6d025e40027c0b94a17ef7968d55d56"}, - {file = "lxml-5.2.2-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:d8bbcd21769594dbba9c37d3c819e2d5847656ca99c747ddb31ac1701d0c0ed9"}, - {file = "lxml-5.2.2-cp36-cp36m-musllinux_1_2_x86_64.whl", hash = "sha256:2304d3c93f2258ccf2cf7a6ba8c761d76ef84948d87bf9664e14d203da2cd264"}, - {file = "lxml-5.2.2-cp36-cp36m-win32.whl", hash = "sha256:02437fb7308386867c8b7b0e5bc4cd4b04548b1c5d089ffb8e7b31009b961dc3"}, - {file = "lxml-5.2.2-cp36-cp36m-win_amd64.whl", hash = "sha256:edcfa83e03370032a489430215c1e7783128808fd3e2e0a3225deee278585196"}, - {file = "lxml-5.2.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:28bf95177400066596cdbcfc933312493799382879da504633d16cf60bba735b"}, - {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3a745cc98d504d5bd2c19b10c79c61c7c3df9222629f1b6210c0368177589fb8"}, - {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b590b39ef90c6b22ec0be925b211298e810b4856909c8ca60d27ffbca6c12e6"}, - {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b336b0416828022bfd5a2e3083e7f5ba54b96242159f83c7e3eebaec752f1716"}, - {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_28_aarch64.whl", hash = "sha256:c2faf60c583af0d135e853c86ac2735ce178f0e338a3c7f9ae8f622fd2eb788c"}, - {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_28_x86_64.whl", hash = "sha256:4bc6cb140a7a0ad1f7bc37e018d0ed690b7b6520ade518285dc3171f7a117905"}, - {file = "lxml-5.2.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7ff762670cada8e05b32bf1e4dc50b140790909caa8303cfddc4d702b71ea184"}, - {file = "lxml-5.2.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:57f0a0bbc9868e10ebe874e9f129d2917750adf008fe7b9c1598c0fbbfdde6a6"}, - {file = "lxml-5.2.2-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:a6d2092797b388342c1bc932077ad232f914351932353e2e8706851c870bca1f"}, - {file = "lxml-5.2.2-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:60499fe961b21264e17a471ec296dcbf4365fbea611bf9e303ab69db7159ce61"}, - {file = "lxml-5.2.2-cp37-cp37m-win32.whl", hash = "sha256:d9b342c76003c6b9336a80efcc766748a333573abf9350f4094ee46b006ec18f"}, - {file = "lxml-5.2.2-cp37-cp37m-win_amd64.whl", hash = "sha256:b16db2770517b8799c79aa80f4053cd6f8b716f21f8aca962725a9565ce3ee40"}, - {file = "lxml-5.2.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:7ed07b3062b055d7a7f9d6557a251cc655eed0b3152b76de619516621c56f5d3"}, - {file = "lxml-5.2.2-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f60fdd125d85bf9c279ffb8e94c78c51b3b6a37711464e1f5f31078b45002421"}, - {file = "lxml-5.2.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8a7e24cb69ee5f32e003f50e016d5fde438010c1022c96738b04fc2423e61706"}, - {file = "lxml-5.2.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:23cfafd56887eaed93d07bc4547abd5e09d837a002b791e9767765492a75883f"}, - {file = "lxml-5.2.2-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:19b4e485cd07b7d83e3fe3b72132e7df70bfac22b14fe4bf7a23822c3a35bff5"}, - {file = "lxml-5.2.2-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:7ce7ad8abebe737ad6143d9d3bf94b88b93365ea30a5b81f6877ec9c0dee0a48"}, - {file = "lxml-5.2.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:e49b052b768bb74f58c7dda4e0bdf7b79d43a9204ca584ffe1fb48a6f3c84c66"}, - {file = "lxml-5.2.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d14a0d029a4e176795cef99c056d58067c06195e0c7e2dbb293bf95c08f772a3"}, - {file = "lxml-5.2.2-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:be49ad33819d7dcc28a309b86d4ed98e1a65f3075c6acd3cd4fe32103235222b"}, - {file = "lxml-5.2.2-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:a6d17e0370d2516d5bb9062c7b4cb731cff921fc875644c3d751ad857ba9c5b1"}, - {file = "lxml-5.2.2-cp38-cp38-win32.whl", hash = "sha256:5b8c041b6265e08eac8a724b74b655404070b636a8dd6d7a13c3adc07882ef30"}, - {file = "lxml-5.2.2-cp38-cp38-win_amd64.whl", hash = "sha256:f61efaf4bed1cc0860e567d2ecb2363974d414f7f1f124b1df368bbf183453a6"}, - {file = "lxml-5.2.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:fb91819461b1b56d06fa4bcf86617fac795f6a99d12239fb0c68dbeba41a0a30"}, - {file = "lxml-5.2.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d4ed0c7cbecde7194cd3228c044e86bf73e30a23505af852857c09c24e77ec5d"}, - {file = "lxml-5.2.2-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:54401c77a63cc7d6dc4b4e173bb484f28a5607f3df71484709fe037c92d4f0ed"}, - {file = "lxml-5.2.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:625e3ef310e7fa3a761d48ca7ea1f9d8718a32b1542e727d584d82f4453d5eeb"}, - {file = "lxml-5.2.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:519895c99c815a1a24a926d5b60627ce5ea48e9f639a5cd328bda0515ea0f10c"}, - {file = "lxml-5.2.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c7079d5eb1c1315a858bbf180000757db8ad904a89476653232db835c3114001"}, - {file = "lxml-5.2.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:343ab62e9ca78094f2306aefed67dcfad61c4683f87eee48ff2fd74902447726"}, - {file = "lxml-5.2.2-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:cd9e78285da6c9ba2d5c769628f43ef66d96ac3085e59b10ad4f3707980710d3"}, - {file = "lxml-5.2.2-cp39-cp39-manylinux_2_28_ppc64le.whl", hash = "sha256:546cf886f6242dff9ec206331209db9c8e1643ae642dea5fdbecae2453cb50fd"}, - {file = "lxml-5.2.2-cp39-cp39-manylinux_2_28_s390x.whl", hash = "sha256:02f6a8eb6512fdc2fd4ca10a49c341c4e109aa6e9448cc4859af5b949622715a"}, - {file = "lxml-5.2.2-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:339ee4a4704bc724757cd5dd9dc8cf4d00980f5d3e6e06d5847c1b594ace68ab"}, - {file = "lxml-5.2.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0a028b61a2e357ace98b1615fc03f76eb517cc028993964fe08ad514b1e8892d"}, - {file = "lxml-5.2.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:f90e552ecbad426eab352e7b2933091f2be77115bb16f09f78404861c8322981"}, - {file = "lxml-5.2.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:d83e2d94b69bf31ead2fa45f0acdef0757fa0458a129734f59f67f3d2eb7ef32"}, - {file = "lxml-5.2.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a02d3c48f9bb1e10c7788d92c0c7db6f2002d024ab6e74d6f45ae33e3d0288a3"}, - {file = "lxml-5.2.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:6d68ce8e7b2075390e8ac1e1d3a99e8b6372c694bbe612632606d1d546794207"}, - {file = "lxml-5.2.2-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:453d037e09a5176d92ec0fd282e934ed26d806331a8b70ab431a81e2fbabf56d"}, - {file = "lxml-5.2.2-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:3b019d4ee84b683342af793b56bb35034bd749e4cbdd3d33f7d1107790f8c472"}, - {file = "lxml-5.2.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:cb3942960f0beb9f46e2a71a3aca220d1ca32feb5a398656be934320804c0df9"}, - {file = "lxml-5.2.2-cp39-cp39-win32.whl", hash = "sha256:ac6540c9fff6e3813d29d0403ee7a81897f1d8ecc09a8ff84d2eea70ede1cdbf"}, - {file = "lxml-5.2.2-cp39-cp39-win_amd64.whl", hash = "sha256:610b5c77428a50269f38a534057444c249976433f40f53e3b47e68349cca1425"}, - {file = "lxml-5.2.2-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:b537bd04d7ccd7c6350cdaaaad911f6312cbd61e6e6045542f781c7f8b2e99d2"}, - {file = "lxml-5.2.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4820c02195d6dfb7b8508ff276752f6b2ff8b64ae5d13ebe02e7667e035000b9"}, - {file = "lxml-5.2.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2a09f6184f17a80897172863a655467da2b11151ec98ba8d7af89f17bf63dae"}, - {file = "lxml-5.2.2-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:76acba4c66c47d27c8365e7c10b3d8016a7da83d3191d053a58382311a8bf4e1"}, - {file = "lxml-5.2.2-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:b128092c927eaf485928cec0c28f6b8bead277e28acf56800e972aa2c2abd7a2"}, - {file = "lxml-5.2.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ae791f6bd43305aade8c0e22f816b34f3b72b6c820477aab4d18473a37e8090b"}, - {file = "lxml-5.2.2-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a2f6a1bc2460e643785a2cde17293bd7a8f990884b822f7bca47bee0a82fc66b"}, - {file = "lxml-5.2.2-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e8d351ff44c1638cb6e980623d517abd9f580d2e53bfcd18d8941c052a5a009"}, - {file = "lxml-5.2.2-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bec4bd9133420c5c52d562469c754f27c5c9e36ee06abc169612c959bd7dbb07"}, - {file = "lxml-5.2.2-pp37-pypy37_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:55ce6b6d803890bd3cc89975fca9de1dff39729b43b73cb15ddd933b8bc20484"}, - {file = "lxml-5.2.2-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:8ab6a358d1286498d80fe67bd3d69fcbc7d1359b45b41e74c4a26964ca99c3f8"}, - {file = "lxml-5.2.2-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:06668e39e1f3c065349c51ac27ae430719d7806c026fec462e5693b08b95696b"}, - {file = "lxml-5.2.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:9cd5323344d8ebb9fb5e96da5de5ad4ebab993bbf51674259dbe9d7a18049525"}, - {file = "lxml-5.2.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89feb82ca055af0fe797a2323ec9043b26bc371365847dbe83c7fd2e2f181c34"}, - {file = "lxml-5.2.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e481bba1e11ba585fb06db666bfc23dbe181dbafc7b25776156120bf12e0d5a6"}, - {file = "lxml-5.2.2-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:9d6c6ea6a11ca0ff9cd0390b885984ed31157c168565702959c25e2191674a14"}, - {file = "lxml-5.2.2-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:3d98de734abee23e61f6b8c2e08a88453ada7d6486dc7cdc82922a03968928db"}, - {file = "lxml-5.2.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:69ab77a1373f1e7563e0fb5a29a8440367dec051da6c7405333699d07444f511"}, - {file = "lxml-5.2.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:34e17913c431f5ae01d8658dbf792fdc457073dcdfbb31dc0cc6ab256e664a8d"}, - {file = "lxml-5.2.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:05f8757b03208c3f50097761be2dea0aba02e94f0dc7023ed73a7bb14ff11eb0"}, - {file = "lxml-5.2.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6a520b4f9974b0a0a6ed73c2154de57cdfd0c8800f4f15ab2b73238ffed0b36e"}, - {file = "lxml-5.2.2-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:5e097646944b66207023bc3c634827de858aebc226d5d4d6d16f0b77566ea182"}, - {file = "lxml-5.2.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:b5e4ef22ff25bfd4ede5f8fb30f7b24446345f3e79d9b7455aef2836437bc38a"}, - {file = "lxml-5.2.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:ff69a9a0b4b17d78170c73abe2ab12084bdf1691550c5629ad1fe7849433f324"}, - {file = "lxml-5.2.2.tar.gz", hash = "sha256:bb2dc4898180bea79863d5487e5f9c7c34297414bad54bcd0f0852aee9cfdb87"}, -] -MarkupSafe = [ - {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-win32.whl", hash = "sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-win_amd64.whl", hash = "sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5"}, - {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"}, -] -mccabe = [ - {file = "mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"}, - {file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"}, -] -mistune = [ - {file = "mistune-3.0.2-py3-none-any.whl", hash = "sha256:71481854c30fdbc938963d3605b72501f5c10a9320ecd412c121c163a1c7d205"}, - {file = "mistune-3.0.2.tar.gz", hash = "sha256:fc7f93ded930c92394ef2cb6f04a8aabab4117a91449e72dcc8dfa646a508be8"}, -] -msgpack = [ - {file = "msgpack-1.0.8-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:505fe3d03856ac7d215dbe005414bc28505d26f0c128906037e66d98c4e95868"}, - {file = "msgpack-1.0.8-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e6b7842518a63a9f17107eb176320960ec095a8ee3b4420b5f688e24bf50c53c"}, - {file = "msgpack-1.0.8-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:376081f471a2ef24828b83a641a02c575d6103a3ad7fd7dade5486cad10ea659"}, - {file = "msgpack-1.0.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5e390971d082dba073c05dbd56322427d3280b7cc8b53484c9377adfbae67dc2"}, - {file = "msgpack-1.0.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00e073efcba9ea99db5acef3959efa45b52bc67b61b00823d2a1a6944bf45982"}, - {file = "msgpack-1.0.8-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82d92c773fbc6942a7a8b520d22c11cfc8fd83bba86116bfcf962c2f5c2ecdaa"}, - {file = "msgpack-1.0.8-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:9ee32dcb8e531adae1f1ca568822e9b3a738369b3b686d1477cbc643c4a9c128"}, - {file = "msgpack-1.0.8-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e3aa7e51d738e0ec0afbed661261513b38b3014754c9459508399baf14ae0c9d"}, - {file = "msgpack-1.0.8-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:69284049d07fce531c17404fcba2bb1df472bc2dcdac642ae71a2d079d950653"}, - {file = "msgpack-1.0.8-cp310-cp310-win32.whl", hash = "sha256:13577ec9e247f8741c84d06b9ece5f654920d8365a4b636ce0e44f15e07ec693"}, - {file = "msgpack-1.0.8-cp310-cp310-win_amd64.whl", hash = "sha256:e532dbd6ddfe13946de050d7474e3f5fb6ec774fbb1a188aaf469b08cf04189a"}, - {file = "msgpack-1.0.8-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9517004e21664f2b5a5fd6333b0731b9cf0817403a941b393d89a2f1dc2bd836"}, - {file = "msgpack-1.0.8-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d16a786905034e7e34098634b184a7d81f91d4c3d246edc6bd7aefb2fd8ea6ad"}, - {file = "msgpack-1.0.8-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e2872993e209f7ed04d963e4b4fbae72d034844ec66bc4ca403329db2074377b"}, - {file = "msgpack-1.0.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c330eace3dd100bdb54b5653b966de7f51c26ec4a7d4e87132d9b4f738220ba"}, - {file = "msgpack-1.0.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:83b5c044f3eff2a6534768ccfd50425939e7a8b5cf9a7261c385de1e20dcfc85"}, - {file = "msgpack-1.0.8-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1876b0b653a808fcd50123b953af170c535027bf1d053b59790eebb0aeb38950"}, - {file = "msgpack-1.0.8-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:dfe1f0f0ed5785c187144c46a292b8c34c1295c01da12e10ccddfc16def4448a"}, - {file = "msgpack-1.0.8-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:3528807cbbb7f315bb81959d5961855e7ba52aa60a3097151cb21956fbc7502b"}, - {file = "msgpack-1.0.8-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e2f879ab92ce502a1e65fce390eab619774dda6a6ff719718069ac94084098ce"}, - {file = "msgpack-1.0.8-cp311-cp311-win32.whl", hash = "sha256:26ee97a8261e6e35885c2ecd2fd4a6d38252246f94a2aec23665a4e66d066305"}, - {file = "msgpack-1.0.8-cp311-cp311-win_amd64.whl", hash = "sha256:eadb9f826c138e6cf3c49d6f8de88225a3c0ab181a9b4ba792e006e5292d150e"}, - {file = "msgpack-1.0.8-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:114be227f5213ef8b215c22dde19532f5da9652e56e8ce969bf0a26d7c419fee"}, - {file = "msgpack-1.0.8-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d661dc4785affa9d0edfdd1e59ec056a58b3dbb9f196fa43587f3ddac654ac7b"}, - {file = "msgpack-1.0.8-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d56fd9f1f1cdc8227d7b7918f55091349741904d9520c65f0139a9755952c9e8"}, - {file = "msgpack-1.0.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0726c282d188e204281ebd8de31724b7d749adebc086873a59efb8cf7ae27df3"}, - {file = "msgpack-1.0.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8db8e423192303ed77cff4dce3a4b88dbfaf43979d280181558af5e2c3c71afc"}, - {file = "msgpack-1.0.8-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:99881222f4a8c2f641f25703963a5cefb076adffd959e0558dc9f803a52d6a58"}, - {file = "msgpack-1.0.8-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:b5505774ea2a73a86ea176e8a9a4a7c8bf5d521050f0f6f8426afe798689243f"}, - {file = "msgpack-1.0.8-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:ef254a06bcea461e65ff0373d8a0dd1ed3aa004af48839f002a0c994a6f72d04"}, - {file = "msgpack-1.0.8-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:e1dd7839443592d00e96db831eddb4111a2a81a46b028f0facd60a09ebbdd543"}, - {file = "msgpack-1.0.8-cp312-cp312-win32.whl", hash = "sha256:64d0fcd436c5683fdd7c907eeae5e2cbb5eb872fafbc03a43609d7941840995c"}, - {file = "msgpack-1.0.8-cp312-cp312-win_amd64.whl", hash = "sha256:74398a4cf19de42e1498368c36eed45d9528f5fd0155241e82c4082b7e16cffd"}, - {file = "msgpack-1.0.8-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:0ceea77719d45c839fd73abcb190b8390412a890df2f83fb8cf49b2a4b5c2f40"}, - {file = "msgpack-1.0.8-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1ab0bbcd4d1f7b6991ee7c753655b481c50084294218de69365f8f1970d4c151"}, - {file = "msgpack-1.0.8-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:1cce488457370ffd1f953846f82323cb6b2ad2190987cd4d70b2713e17268d24"}, - {file = "msgpack-1.0.8-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3923a1778f7e5ef31865893fdca12a8d7dc03a44b33e2a5f3295416314c09f5d"}, - {file = "msgpack-1.0.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a22e47578b30a3e199ab067a4d43d790249b3c0587d9a771921f86250c8435db"}, - {file = "msgpack-1.0.8-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bd739c9251d01e0279ce729e37b39d49a08c0420d3fee7f2a4968c0576678f77"}, - {file = "msgpack-1.0.8-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:d3420522057ebab1728b21ad473aa950026d07cb09da41103f8e597dfbfaeb13"}, - {file = "msgpack-1.0.8-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:5845fdf5e5d5b78a49b826fcdc0eb2e2aa7191980e3d2cfd2a30303a74f212e2"}, - {file = "msgpack-1.0.8-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6a0e76621f6e1f908ae52860bdcb58e1ca85231a9b0545e64509c931dd34275a"}, - {file = "msgpack-1.0.8-cp38-cp38-win32.whl", hash = "sha256:374a8e88ddab84b9ada695d255679fb99c53513c0a51778796fcf0944d6c789c"}, - {file = "msgpack-1.0.8-cp38-cp38-win_amd64.whl", hash = "sha256:f3709997b228685fe53e8c433e2df9f0cdb5f4542bd5114ed17ac3c0129b0480"}, - {file = "msgpack-1.0.8-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f51bab98d52739c50c56658cc303f190785f9a2cd97b823357e7aeae54c8f68a"}, - {file = "msgpack-1.0.8-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:73ee792784d48aa338bba28063e19a27e8d989344f34aad14ea6e1b9bd83f596"}, - {file = "msgpack-1.0.8-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f9904e24646570539a8950400602d66d2b2c492b9010ea7e965025cb71d0c86d"}, - {file = "msgpack-1.0.8-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e75753aeda0ddc4c28dce4c32ba2f6ec30b1b02f6c0b14e547841ba5b24f753f"}, - {file = "msgpack-1.0.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5dbf059fb4b7c240c873c1245ee112505be27497e90f7c6591261c7d3c3a8228"}, - {file = "msgpack-1.0.8-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4916727e31c28be8beaf11cf117d6f6f188dcc36daae4e851fee88646f5b6b18"}, - {file = "msgpack-1.0.8-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:7938111ed1358f536daf311be244f34df7bf3cdedb3ed883787aca97778b28d8"}, - {file = "msgpack-1.0.8-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:493c5c5e44b06d6c9268ce21b302c9ca055c1fd3484c25ba41d34476c76ee746"}, - {file = "msgpack-1.0.8-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5fbb160554e319f7b22ecf530a80a3ff496d38e8e07ae763b9e82fadfe96f273"}, - {file = "msgpack-1.0.8-cp39-cp39-win32.whl", hash = "sha256:f9af38a89b6a5c04b7d18c492c8ccf2aee7048aff1ce8437c4683bb5a1df893d"}, - {file = "msgpack-1.0.8-cp39-cp39-win_amd64.whl", hash = "sha256:ed59dd52075f8fc91da6053b12e8c89e37aa043f8986efd89e61fae69dc1b011"}, - {file = "msgpack-1.0.8.tar.gz", hash = "sha256:95c02b0e27e706e48d0e5426d1710ca78e0f0628d6e89d5b5a5b91a5f12274f3"}, -] -mypy-extensions = [ - {file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"}, - {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, -] -neo4j = [ - {file = "neo4j-5.22.0-py3-none-any.whl", hash = "sha256:8146755ac93d33cee594975172c15cffb68ab158e3358bb7a73b5e0b83367006"}, - {file = "neo4j-5.22.0.tar.gz", hash = "sha256:199677239ce11fcecabce9962af515df271c1313ba110e737dd7d668fccd0c04"}, -] -netaddr = [ - {file = "netaddr-1.3.0-py3-none-any.whl", hash = "sha256:c2c6a8ebe5554ce33b7d5b3a306b71bbb373e000bbbf2350dd5213cc56e3dbbe"}, - {file = "netaddr-1.3.0.tar.gz", hash = "sha256:5c3c3d9895b551b763779ba7db7a03487dc1f8e3b385af819af341ae9ef6e48a"}, -] -netifaces = [ - {file = "netifaces-0.11.0-cp27-cp27m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:eb4813b77d5df99903af4757ce980a98c4d702bbcb81f32a0b305a1537bdf0b1"}, - {file = "netifaces-0.11.0-cp27-cp27m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:5f9ca13babe4d845e400921973f6165a4c2f9f3379c7abfc7478160e25d196a4"}, - {file = "netifaces-0.11.0-cp27-cp27m-win32.whl", hash = "sha256:7dbb71ea26d304e78ccccf6faccef71bb27ea35e259fb883cfd7fd7b4f17ecb1"}, - {file = "netifaces-0.11.0-cp27-cp27m-win_amd64.whl", hash = "sha256:0f6133ac02521270d9f7c490f0c8c60638ff4aec8338efeff10a1b51506abe85"}, - {file = "netifaces-0.11.0-cp27-cp27mu-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:08e3f102a59f9eaef70948340aeb6c89bd09734e0dca0f3b82720305729f63ea"}, - {file = "netifaces-0.11.0-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:c03fb2d4ef4e393f2e6ffc6376410a22a3544f164b336b3a355226653e5efd89"}, - {file = "netifaces-0.11.0-cp34-cp34m-win32.whl", hash = "sha256:73ff21559675150d31deea8f1f8d7e9a9a7e4688732a94d71327082f517fc6b4"}, - {file = "netifaces-0.11.0-cp35-cp35m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:815eafdf8b8f2e61370afc6add6194bd5a7252ae44c667e96c4c1ecf418811e4"}, - {file = "netifaces-0.11.0-cp35-cp35m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:50721858c935a76b83dd0dd1ab472cad0a3ef540a1408057624604002fcfb45b"}, - {file = "netifaces-0.11.0-cp35-cp35m-win32.whl", hash = "sha256:c9a3a47cd3aaeb71e93e681d9816c56406ed755b9442e981b07e3618fb71d2ac"}, - {file = "netifaces-0.11.0-cp36-cp36m-macosx_10_15_x86_64.whl", hash = "sha256:aab1dbfdc55086c789f0eb37affccf47b895b98d490738b81f3b2360100426be"}, - {file = "netifaces-0.11.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c37a1ca83825bc6f54dddf5277e9c65dec2f1b4d0ba44b8fd42bc30c91aa6ea1"}, - {file = "netifaces-0.11.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:28f4bf3a1361ab3ed93c5ef360c8b7d4a4ae060176a3529e72e5e4ffc4afd8b0"}, - {file = "netifaces-0.11.0-cp36-cp36m-win32.whl", hash = "sha256:2650beee182fed66617e18474b943e72e52f10a24dc8cac1db36c41ee9c041b7"}, - {file = "netifaces-0.11.0-cp36-cp36m-win_amd64.whl", hash = "sha256:cb925e1ca024d6f9b4f9b01d83215fd00fe69d095d0255ff3f64bffda74025c8"}, - {file = "netifaces-0.11.0-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:84e4d2e6973eccc52778735befc01638498781ce0e39aa2044ccfd2385c03246"}, - {file = "netifaces-0.11.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:18917fbbdcb2d4f897153c5ddbb56b31fa6dd7c3fa9608b7e3c3a663df8206b5"}, - {file = "netifaces-0.11.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:48324183af7f1bc44f5f197f3dad54a809ad1ef0c78baee2c88f16a5de02c4c9"}, - {file = "netifaces-0.11.0-cp37-cp37m-win32.whl", hash = "sha256:8f7da24eab0d4184715d96208b38d373fd15c37b0dafb74756c638bd619ba150"}, - {file = "netifaces-0.11.0-cp37-cp37m-win_amd64.whl", hash = "sha256:2479bb4bb50968089a7c045f24d120f37026d7e802ec134c4490eae994c729b5"}, - {file = "netifaces-0.11.0-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:3ecb3f37c31d5d51d2a4d935cfa81c9bc956687c6f5237021b36d6fdc2815b2c"}, - {file = "netifaces-0.11.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:96c0fe9696398253f93482c84814f0e7290eee0bfec11563bd07d80d701280c3"}, - {file = "netifaces-0.11.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:c92ff9ac7c2282009fe0dcb67ee3cd17978cffbe0c8f4b471c00fe4325c9b4d4"}, - {file = "netifaces-0.11.0-cp38-cp38-win32.whl", hash = "sha256:d07b01c51b0b6ceb0f09fc48ec58debd99d2c8430b09e56651addeaf5de48048"}, - {file = "netifaces-0.11.0-cp38-cp38-win_amd64.whl", hash = "sha256:469fc61034f3daf095e02f9f1bbac07927b826c76b745207287bc594884cfd05"}, - {file = "netifaces-0.11.0-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:5be83986100ed1fdfa78f11ccff9e4757297735ac17391b95e17e74335c2047d"}, - {file = "netifaces-0.11.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:54ff6624eb95b8a07e79aa8817288659af174e954cca24cdb0daeeddfc03c4ff"}, - {file = "netifaces-0.11.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:841aa21110a20dc1621e3dd9f922c64ca64dd1eb213c47267a2c324d823f6c8f"}, - {file = "netifaces-0.11.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:e76c7f351e0444721e85f975ae92718e21c1f361bda946d60a214061de1f00a1"}, - {file = "netifaces-0.11.0.tar.gz", hash = "sha256:043a79146eb2907edf439899f262b3dfe41717d34124298ed281139a8b93ca32"}, -] -networkx = [ - {file = "networkx-3.1-py3-none-any.whl", hash = "sha256:4f33f68cb2afcf86f28a45f43efc27a9386b535d567d2127f8f61d51dec58d36"}, - {file = "networkx-3.1.tar.gz", hash = "sha256:de346335408f84de0eada6ff9fafafff9bcda11f0a0dfaa931133debb146ab61"}, -] -openstacksdk = [ - {file = "openstacksdk-3.3.0-py3-none-any.whl", hash = "sha256:e6d4121b87354984caf0e3c032e2ebf4d4440374f86c81c27ec52ca5df359157"}, - {file = "openstacksdk-3.3.0.tar.gz", hash = "sha256:0608690ca37ca73327b0fa3761d17e65395be37ff200b8735d8f24277b4f4980"}, -] -os-service-types = [ - {file = "os-service-types-1.7.0.tar.gz", hash = "sha256:31800299a82239363995b91f1ebf9106ac7758542a1e4ef6dc737a5932878c6c"}, - {file = "os_service_types-1.7.0-py2.py3-none-any.whl", hash = "sha256:0505c72205690910077fb72b88f2a1f07533c8d39f2fe75b29583481764965d6"}, -] -osc-lib = [ - {file = "osc-lib-3.1.0.tar.gz", hash = "sha256:ef085249a8764b6f29d404eda566a261a3003502aa431b39ffd54307ee103e19"}, - {file = "osc_lib-3.1.0-py3-none-any.whl", hash = "sha256:4e7bcf4745e98599e5cea9c989ece0fdb4cda51050dc2c219044eba68782d1aa"}, -] -"oslo.config" = [ - {file = "oslo.config-9.5.0-py3-none-any.whl", hash = "sha256:f5e9a6848c35a1c8975677d623ffcf31bbb7177d14cb8f43505b2a4c679dcdd0"}, - {file = "oslo.config-9.5.0.tar.gz", hash = "sha256:aa500044886b6c55f76577cb5a93492a4596c5f9283376760ea7852cc49c99a3"}, -] -"oslo.i18n" = [ - {file = "oslo.i18n-6.3.0-py3-none-any.whl", hash = "sha256:698eb5c63a01359ed6d91031d6331098190d38be0bdda7d270264d6f86bc79e7"}, - {file = "oslo.i18n-6.3.0.tar.gz", hash = "sha256:64a251edef8bf1bb1d4e6f78d377e149d4f15c1a9245de77f172016da6267444"}, -] -"oslo.serialization" = [ - {file = "oslo.serialization-5.4.0-py3-none-any.whl", hash = "sha256:f999b75f2c2904c2f6aae5efbb67ab668cc0e79470510b721937626b36427220"}, - {file = "oslo.serialization-5.4.0.tar.gz", hash = "sha256:315cb3465e99c685cb091b90365cb701bee7140e204ba3e5fc2d8a20b4ec6e76"}, -] -"oslo.utils" = [ - {file = "oslo.utils-7.2.0-py3-none-any.whl", hash = "sha256:53ce2d88fd1e9035e6be18c53447353d3e92ea0473d88272f43dc334ea9295af"}, - {file = "oslo.utils-7.2.0.tar.gz", hash = "sha256:94f8053391a33502dab4d84465403262ca19ffd8cfd29a1a5ea3c8aa620ef610"}, -] -packaging = [ - {file = "packaging-24.1-py3-none-any.whl", hash = "sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124"}, - {file = "packaging-24.1.tar.gz", hash = "sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002"}, -] -pbr = [ - {file = "pbr-6.0.0-py2.py3-none-any.whl", hash = "sha256:4a7317d5e3b17a3dccb6a8cfe67dab65b20551404c52c8ed41279fa4f0cb4cda"}, - {file = "pbr-6.0.0.tar.gz", hash = "sha256:d1377122a5a00e2f940ee482999518efe16d745d423a670c27773dfbc3c9a7d9"}, -] -platformdirs = [ - {file = "platformdirs-4.2.2-py3-none-any.whl", hash = "sha256:2d7a1657e36a80ea911db832a8a6ece5ee53d8de21edd5cc5879af6530b1bfee"}, - {file = "platformdirs-4.2.2.tar.gz", hash = "sha256:38b7b51f512eed9e84a22788b4bce1de17c0adb134d6becb09836e37d8654cd3"}, -] -pluggy = [ - {file = "pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"}, - {file = "pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1"}, -] -prettytable = [ - {file = "prettytable-3.10.2-py3-none-any.whl", hash = "sha256:1cbfdeb4bcc73976a778a0fb33cb6d752e75396f16574dcb3e2d6332fd93c76a"}, - {file = "prettytable-3.10.2.tar.gz", hash = "sha256:29ec6c34260191d42cd4928c28d56adec360ac2b1208a26c7e4f14b90cc8bc84"}, -] -prompt-toolkit = [ - {file = "prompt_toolkit-3.0.47-py3-none-any.whl", hash = "sha256:0d7bfa67001d5e39d02c224b663abc33687405033a8c422d0d675a5a13361d10"}, - {file = "prompt_toolkit-3.0.47.tar.gz", hash = "sha256:1e1b29cb58080b1e69f207c893a1a7bf16d127a5c30c9d17a25a5d77792e5360"}, -] -proto-plus = [ - {file = "proto-plus-1.24.0.tar.gz", hash = "sha256:30b72a5ecafe4406b0d339db35b56c4059064e69227b8c3bda7462397f966445"}, - {file = "proto_plus-1.24.0-py3-none-any.whl", hash = "sha256:402576830425e5f6ce4c2a6702400ac79897dab0b4343821aa5188b0fab81a12"}, -] -protobuf = [ - {file = "protobuf-5.27.2-cp310-abi3-win32.whl", hash = "sha256:354d84fac2b0d76062e9b3221f4abbbacdfd2a4d8af36bab0474f3a0bb30ab38"}, - {file = "protobuf-5.27.2-cp310-abi3-win_amd64.whl", hash = "sha256:0e341109c609749d501986b835f667c6e1e24531096cff9d34ae411595e26505"}, - {file = "protobuf-5.27.2-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:a109916aaac42bff84702fb5187f3edadbc7c97fc2c99c5ff81dd15dcce0d1e5"}, - {file = "protobuf-5.27.2-cp38-abi3-manylinux2014_aarch64.whl", hash = "sha256:176c12b1f1c880bf7a76d9f7c75822b6a2bc3db2d28baa4d300e8ce4cde7409b"}, - {file = "protobuf-5.27.2-cp38-abi3-manylinux2014_x86_64.whl", hash = "sha256:b848dbe1d57ed7c191dfc4ea64b8b004a3f9ece4bf4d0d80a367b76df20bf36e"}, - {file = "protobuf-5.27.2-cp38-cp38-win32.whl", hash = "sha256:4fadd8d83e1992eed0248bc50a4a6361dc31bcccc84388c54c86e530b7f58863"}, - {file = "protobuf-5.27.2-cp38-cp38-win_amd64.whl", hash = "sha256:610e700f02469c4a997e58e328cac6f305f649826853813177e6290416e846c6"}, - {file = "protobuf-5.27.2-cp39-cp39-win32.whl", hash = "sha256:9e8f199bf7f97bd7ecebffcae45ebf9527603549b2b562df0fbc6d4d688f14ca"}, - {file = "protobuf-5.27.2-cp39-cp39-win_amd64.whl", hash = "sha256:7fc3add9e6003e026da5fc9e59b131b8f22b428b991ccd53e2af8071687b4fce"}, - {file = "protobuf-5.27.2-py3-none-any.whl", hash = "sha256:54330f07e4949d09614707c48b06d1a22f8ffb5763c159efd5c0928326a91470"}, - {file = "protobuf-5.27.2.tar.gz", hash = "sha256:f3ecdef226b9af856075f28227ff2c90ce3a594d092c39bee5513573f25e2714"}, -] -prov = [ - {file = "prov-1.5.1-py2.py3-none-any.whl", hash = "sha256:5c930cbbd05424aa3066d336dc31d314dd9fa0280caeab064288e592ed716bea"}, - {file = "prov-1.5.1.tar.gz", hash = "sha256:7a2d72b0df43cd9c6e374d815c8ce3cd5ca371d54f98f837853ac9fcc98aee4c"}, -] -psutil = [ - {file = "psutil-6.0.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:a021da3e881cd935e64a3d0a20983bda0bb4cf80e4f74fa9bfcb1bc5785360c6"}, - {file = "psutil-6.0.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:1287c2b95f1c0a364d23bc6f2ea2365a8d4d9b726a3be7294296ff7ba97c17f0"}, - {file = "psutil-6.0.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:a9a3dbfb4de4f18174528d87cc352d1f788b7496991cca33c6996f40c9e3c92c"}, - {file = "psutil-6.0.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:6ec7588fb3ddaec7344a825afe298db83fe01bfaaab39155fa84cf1c0d6b13c3"}, - {file = "psutil-6.0.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:1e7c870afcb7d91fdea2b37c24aeb08f98b6d67257a5cb0a8bc3ac68d0f1a68c"}, - {file = "psutil-6.0.0-cp27-none-win32.whl", hash = "sha256:02b69001f44cc73c1c5279d02b30a817e339ceb258ad75997325e0e6169d8b35"}, - {file = "psutil-6.0.0-cp27-none-win_amd64.whl", hash = "sha256:21f1fb635deccd510f69f485b87433460a603919b45e2a324ad65b0cc74f8fb1"}, - {file = "psutil-6.0.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:c588a7e9b1173b6e866756dde596fd4cad94f9399daf99ad8c3258b3cb2b47a0"}, - {file = "psutil-6.0.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ed2440ada7ef7d0d608f20ad89a04ec47d2d3ab7190896cd62ca5fc4fe08bf0"}, - {file = "psutil-6.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5fd9a97c8e94059b0ef54a7d4baf13b405011176c3b6ff257c247cae0d560ecd"}, - {file = "psutil-6.0.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e2e8d0054fc88153ca0544f5c4d554d42e33df2e009c4ff42284ac9ebdef4132"}, - {file = "psutil-6.0.0-cp36-cp36m-win32.whl", hash = "sha256:fc8c9510cde0146432bbdb433322861ee8c3efbf8589865c8bf8d21cb30c4d14"}, - {file = "psutil-6.0.0-cp36-cp36m-win_amd64.whl", hash = "sha256:34859b8d8f423b86e4385ff3665d3f4d94be3cdf48221fbe476e883514fdb71c"}, - {file = "psutil-6.0.0-cp37-abi3-win32.whl", hash = "sha256:a495580d6bae27291324fe60cea0b5a7c23fa36a7cd35035a16d93bdcf076b9d"}, - {file = "psutil-6.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:33ea5e1c975250a720b3a6609c490db40dae5d83a4eb315170c4fe0d8b1f34b3"}, - {file = "psutil-6.0.0-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:ffe7fc9b6b36beadc8c322f84e1caff51e8703b88eee1da46d1e3a6ae11b4fd0"}, - {file = "psutil-6.0.0.tar.gz", hash = "sha256:8faae4f310b6d969fa26ca0545338b21f73c6b15db7c4a8d934a5482faa818f2"}, -] -pyasn1 = [ - {file = "pyasn1-0.6.0-py2.py3-none-any.whl", hash = "sha256:cca4bb0f2df5504f02f6f8a775b6e416ff9b0b3b16f7ee80b5a3153d9b804473"}, - {file = "pyasn1-0.6.0.tar.gz", hash = "sha256:3a35ab2c4b5ef98e17dfdec8ab074046fbda76e281c5a706ccd82328cfc8f64c"}, -] -pyasn1-modules = [ - {file = "pyasn1_modules-0.4.0-py3-none-any.whl", hash = "sha256:be04f15b66c206eed667e0bb5ab27e2b1855ea54a842e5037738099e8ca4ae0b"}, - {file = "pyasn1_modules-0.4.0.tar.gz", hash = "sha256:831dbcea1b177b28c9baddf4c6d1013c24c3accd14a1873fffaa6a2e905f17b6"}, -] -pycodestyle = [ - {file = "pycodestyle-2.12.0-py2.py3-none-any.whl", hash = "sha256:949a39f6b86c3e1515ba1787c2022131d165a8ad271b11370a8819aa070269e4"}, - {file = "pycodestyle-2.12.0.tar.gz", hash = "sha256:442f950141b4f43df752dd303511ffded3a04c2b6fb7f65980574f0c31e6e79c"}, -] -pycparser = [ - {file = "pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc"}, - {file = "pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6"}, -] -pydantic = [ - {file = "pydantic-2.8.2-py3-none-any.whl", hash = "sha256:73ee9fddd406dc318b885c7a2eab8a6472b68b8fb5ba8150949fc3db939f23c8"}, - {file = "pydantic-2.8.2.tar.gz", hash = "sha256:6f62c13d067b0755ad1c21a34bdd06c0c12625a22b0fc09c6b149816604f7c2a"}, -] -pydantic-core = [ - {file = "pydantic_core-2.20.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:3acae97ffd19bf091c72df4d726d552c473f3576409b2a7ca36b2f535ffff4a3"}, - {file = "pydantic_core-2.20.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:41f4c96227a67a013e7de5ff8f20fb496ce573893b7f4f2707d065907bffdbd6"}, - {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f239eb799a2081495ea659d8d4a43a8f42cd1fe9ff2e7e436295c38a10c286a"}, - {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:53e431da3fc53360db73eedf6f7124d1076e1b4ee4276b36fb25514544ceb4a3"}, - {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f1f62b2413c3a0e846c3b838b2ecd6c7a19ec6793b2a522745b0869e37ab5bc1"}, - {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d41e6daee2813ecceea8eda38062d69e280b39df793f5a942fa515b8ed67953"}, - {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d482efec8b7dc6bfaedc0f166b2ce349df0011f5d2f1f25537ced4cfc34fd98"}, - {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e93e1a4b4b33daed65d781a57a522ff153dcf748dee70b40c7258c5861e1768a"}, - {file = "pydantic_core-2.20.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e7c4ea22b6739b162c9ecaaa41d718dfad48a244909fe7ef4b54c0b530effc5a"}, - {file = "pydantic_core-2.20.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4f2790949cf385d985a31984907fecb3896999329103df4e4983a4a41e13e840"}, - {file = "pydantic_core-2.20.1-cp310-none-win32.whl", hash = "sha256:5e999ba8dd90e93d57410c5e67ebb67ffcaadcea0ad973240fdfd3a135506250"}, - {file = "pydantic_core-2.20.1-cp310-none-win_amd64.whl", hash = "sha256:512ecfbefef6dac7bc5eaaf46177b2de58cdf7acac8793fe033b24ece0b9566c"}, - {file = "pydantic_core-2.20.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d2a8fa9d6d6f891f3deec72f5cc668e6f66b188ab14bb1ab52422fe8e644f312"}, - {file = "pydantic_core-2.20.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:175873691124f3d0da55aeea1d90660a6ea7a3cfea137c38afa0a5ffabe37b88"}, - {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:37eee5b638f0e0dcd18d21f59b679686bbd18917b87db0193ae36f9c23c355fc"}, - {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:25e9185e2d06c16ee438ed39bf62935ec436474a6ac4f9358524220f1b236e43"}, - {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:150906b40ff188a3260cbee25380e7494ee85048584998c1e66df0c7a11c17a6"}, - {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ad4aeb3e9a97286573c03df758fc7627aecdd02f1da04516a86dc159bf70121"}, - {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d3f3ed29cd9f978c604708511a1f9c2fdcb6c38b9aae36a51905b8811ee5cbf1"}, - {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b0dae11d8f5ded51699c74d9548dcc5938e0804cc8298ec0aa0da95c21fff57b"}, - {file = "pydantic_core-2.20.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:faa6b09ee09433b87992fb5a2859efd1c264ddc37280d2dd5db502126d0e7f27"}, - {file = "pydantic_core-2.20.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9dc1b507c12eb0481d071f3c1808f0529ad41dc415d0ca11f7ebfc666e66a18b"}, - {file = "pydantic_core-2.20.1-cp311-none-win32.whl", hash = "sha256:fa2fddcb7107e0d1808086ca306dcade7df60a13a6c347a7acf1ec139aa6789a"}, - {file = "pydantic_core-2.20.1-cp311-none-win_amd64.whl", hash = "sha256:40a783fb7ee353c50bd3853e626f15677ea527ae556429453685ae32280c19c2"}, - {file = "pydantic_core-2.20.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:595ba5be69b35777474fa07f80fc260ea71255656191adb22a8c53aba4479231"}, - {file = "pydantic_core-2.20.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a4f55095ad087474999ee28d3398bae183a66be4823f753cd7d67dd0153427c9"}, - {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f9aa05d09ecf4c75157197f27cdc9cfaeb7c5f15021c6373932bf3e124af029f"}, - {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e97fdf088d4b31ff4ba35db26d9cc472ac7ef4a2ff2badeabf8d727b3377fc52"}, - {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bc633a9fe1eb87e250b5c57d389cf28998e4292336926b0b6cdaee353f89a237"}, - {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d573faf8eb7e6b1cbbcb4f5b247c60ca8be39fe2c674495df0eb4318303137fe"}, - {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26dc97754b57d2fd00ac2b24dfa341abffc380b823211994c4efac7f13b9e90e"}, - {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:33499e85e739a4b60c9dac710c20a08dc73cb3240c9a0e22325e671b27b70d24"}, - {file = "pydantic_core-2.20.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:bebb4d6715c814597f85297c332297c6ce81e29436125ca59d1159b07f423eb1"}, - {file = "pydantic_core-2.20.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:516d9227919612425c8ef1c9b869bbbee249bc91912c8aaffb66116c0b447ebd"}, - {file = "pydantic_core-2.20.1-cp312-none-win32.whl", hash = "sha256:469f29f9093c9d834432034d33f5fe45699e664f12a13bf38c04967ce233d688"}, - {file = "pydantic_core-2.20.1-cp312-none-win_amd64.whl", hash = "sha256:035ede2e16da7281041f0e626459bcae33ed998cca6a0a007a5ebb73414ac72d"}, - {file = "pydantic_core-2.20.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:0827505a5c87e8aa285dc31e9ec7f4a17c81a813d45f70b1d9164e03a813a686"}, - {file = "pydantic_core-2.20.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:19c0fa39fa154e7e0b7f82f88ef85faa2a4c23cc65aae2f5aea625e3c13c735a"}, - {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa223cd1e36b642092c326d694d8bf59b71ddddc94cdb752bbbb1c5c91d833b"}, - {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c336a6d235522a62fef872c6295a42ecb0c4e1d0f1a3e500fe949415761b8a19"}, - {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7eb6a0587eded33aeefea9f916899d42b1799b7b14b8f8ff2753c0ac1741edac"}, - {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:70c8daf4faca8da5a6d655f9af86faf6ec2e1768f4b8b9d0226c02f3d6209703"}, - {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e9fa4c9bf273ca41f940bceb86922a7667cd5bf90e95dbb157cbb8441008482c"}, - {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:11b71d67b4725e7e2a9f6e9c0ac1239bbc0c48cce3dc59f98635efc57d6dac83"}, - {file = "pydantic_core-2.20.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:270755f15174fb983890c49881e93f8f1b80f0b5e3a3cc1394a255706cabd203"}, - {file = "pydantic_core-2.20.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:c81131869240e3e568916ef4c307f8b99583efaa60a8112ef27a366eefba8ef0"}, - {file = "pydantic_core-2.20.1-cp313-none-win32.whl", hash = "sha256:b91ced227c41aa29c672814f50dbb05ec93536abf8f43cd14ec9521ea09afe4e"}, - {file = "pydantic_core-2.20.1-cp313-none-win_amd64.whl", hash = "sha256:65db0f2eefcaad1a3950f498aabb4875c8890438bc80b19362cf633b87a8ab20"}, - {file = "pydantic_core-2.20.1-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:4745f4ac52cc6686390c40eaa01d48b18997cb130833154801a442323cc78f91"}, - {file = "pydantic_core-2.20.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a8ad4c766d3f33ba8fd692f9aa297c9058970530a32c728a2c4bfd2616d3358b"}, - {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41e81317dd6a0127cabce83c0c9c3fbecceae981c8391e6f1dec88a77c8a569a"}, - {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:04024d270cf63f586ad41fff13fde4311c4fc13ea74676962c876d9577bcc78f"}, - {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eaad4ff2de1c3823fddf82f41121bdf453d922e9a238642b1dedb33c4e4f98ad"}, - {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:26ab812fa0c845df815e506be30337e2df27e88399b985d0bb4e3ecfe72df31c"}, - {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3c5ebac750d9d5f2706654c638c041635c385596caf68f81342011ddfa1e5598"}, - {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2aafc5a503855ea5885559eae883978c9b6d8c8993d67766ee73d82e841300dd"}, - {file = "pydantic_core-2.20.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:4868f6bd7c9d98904b748a2653031fc9c2f85b6237009d475b1008bfaeb0a5aa"}, - {file = "pydantic_core-2.20.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:aa2f457b4af386254372dfa78a2eda2563680d982422641a85f271c859df1987"}, - {file = "pydantic_core-2.20.1-cp38-none-win32.whl", hash = "sha256:225b67a1f6d602de0ce7f6c1c3ae89a4aa25d3de9be857999e9124f15dab486a"}, - {file = "pydantic_core-2.20.1-cp38-none-win_amd64.whl", hash = "sha256:6b507132dcfc0dea440cce23ee2182c0ce7aba7054576efc65634f080dbe9434"}, - {file = "pydantic_core-2.20.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:b03f7941783b4c4a26051846dea594628b38f6940a2fdc0df00b221aed39314c"}, - {file = "pydantic_core-2.20.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1eedfeb6089ed3fad42e81a67755846ad4dcc14d73698c120a82e4ccf0f1f9f6"}, - {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:635fee4e041ab9c479e31edda27fcf966ea9614fff1317e280d99eb3e5ab6fe2"}, - {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:77bf3ac639c1ff567ae3b47f8d4cc3dc20f9966a2a6dd2311dcc055d3d04fb8a"}, - {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7ed1b0132f24beeec5a78b67d9388656d03e6a7c837394f99257e2d55b461611"}, - {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c6514f963b023aeee506678a1cf821fe31159b925c4b76fe2afa94cc70b3222b"}, - {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10d4204d8ca33146e761c79f83cc861df20e7ae9f6487ca290a97702daf56006"}, - {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2d036c7187b9422ae5b262badb87a20a49eb6c5238b2004e96d4da1231badef1"}, - {file = "pydantic_core-2.20.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9ebfef07dbe1d93efb94b4700f2d278494e9162565a54f124c404a5656d7ff09"}, - {file = "pydantic_core-2.20.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:6b9d9bb600328a1ce523ab4f454859e9d439150abb0906c5a1983c146580ebab"}, - {file = "pydantic_core-2.20.1-cp39-none-win32.whl", hash = "sha256:784c1214cb6dd1e3b15dd8b91b9a53852aed16671cc3fbe4786f4f1db07089e2"}, - {file = "pydantic_core-2.20.1-cp39-none-win_amd64.whl", hash = "sha256:d2fe69c5434391727efa54b47a1e7986bb0186e72a41b203df8f5b0a19a4f669"}, - {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:a45f84b09ac9c3d35dfcf6a27fd0634d30d183205230a0ebe8373a0e8cfa0906"}, - {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:d02a72df14dfdbaf228424573a07af10637bd490f0901cee872c4f434a735b94"}, - {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d2b27e6af28f07e2f195552b37d7d66b150adbaa39a6d327766ffd695799780f"}, - {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:084659fac3c83fd674596612aeff6041a18402f1e1bc19ca39e417d554468482"}, - {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:242b8feb3c493ab78be289c034a1f659e8826e2233786e36f2893a950a719bb6"}, - {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:38cf1c40a921d05c5edc61a785c0ddb4bed67827069f535d794ce6bcded919fc"}, - {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:e0bbdd76ce9aa5d4209d65f2b27fc6e5ef1312ae6c5333c26db3f5ade53a1e99"}, - {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:254ec27fdb5b1ee60684f91683be95e5133c994cc54e86a0b0963afa25c8f8a6"}, - {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:407653af5617f0757261ae249d3fba09504d7a71ab36ac057c938572d1bc9331"}, - {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:c693e916709c2465b02ca0ad7b387c4f8423d1db7b4649c551f27a529181c5ad"}, - {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5b5ff4911aea936a47d9376fd3ab17e970cc543d1b68921886e7f64bd28308d1"}, - {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:177f55a886d74f1808763976ac4efd29b7ed15c69f4d838bbd74d9d09cf6fa86"}, - {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:964faa8a861d2664f0c7ab0c181af0bea66098b1919439815ca8803ef136fc4e"}, - {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:4dd484681c15e6b9a977c785a345d3e378d72678fd5f1f3c0509608da24f2ac0"}, - {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f6d6cff3538391e8486a431569b77921adfcdef14eb18fbf19b7c0a5294d4e6a"}, - {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a6d511cc297ff0883bc3708b465ff82d7560193169a8b93260f74ecb0a5e08a7"}, - {file = "pydantic_core-2.20.1.tar.gz", hash = "sha256:26ca695eeee5f9f1aeeb211ffc12f10bcb6f71e2989988fda61dabd65db878d4"}, -] -pydocstyle = [ - {file = "pydocstyle-6.1.1-py3-none-any.whl", hash = "sha256:6987826d6775056839940041beef5c08cc7e3d71d63149b48e36727f70144dc4"}, - {file = "pydocstyle-6.1.1.tar.gz", hash = "sha256:1d41b7c459ba0ee6c345f2eb9ae827cab14a7533a88c5c6f7e94923f72df92dc"}, -] -pydot = [ - {file = "pydot-3.0.1-py3-none-any.whl", hash = "sha256:43f1e878dc1ff7c1c2e3470a6999d4e9e97771c5c862440c2f0af0ba844c231f"}, - {file = "pydot-3.0.1.tar.gz", hash = "sha256:e18cf7f287c497d77b536a3d20a46284568fea390776dface6eabbdf1b1b5efc"}, -] -pyflakes = [ - {file = "pyflakes-3.0.1-py2.py3-none-any.whl", hash = "sha256:ec55bf7fe21fff7f1ad2f7da62363d749e2a470500eab1b555334b67aa1ef8cf"}, - {file = "pyflakes-3.0.1.tar.gz", hash = "sha256:ec8b276a6b60bd80defed25add7e439881c19e64850afd9b346283d4165fd0fd"}, -] -Pygments = [ - {file = "pygments-2.18.0-py3-none-any.whl", hash = "sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a"}, - {file = "pygments-2.18.0.tar.gz", hash = "sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199"}, -] -pylama = [ - {file = "pylama-8.4.1-py3-none-any.whl", hash = "sha256:5bbdbf5b620aba7206d688ed9fc917ecd3d73e15ec1a89647037a09fa3a86e60"}, - {file = "pylama-8.4.1.tar.gz", hash = "sha256:2d4f7aecfb5b7466216d48610c7d6bad1c3990c29cdd392ad08259b161e486f6"}, -] -pylint = [ - {file = "pylint-2.15.9-py3-none-any.whl", hash = "sha256:349c8cd36aede4d50a0754a8c0218b43323d13d5d88f4b2952ddfe3e169681eb"}, - {file = "pylint-2.15.9.tar.gz", hash = "sha256:18783cca3cfee5b83c6c5d10b3cdb66c6594520ffae61890858fe8d932e1c6b4"}, -] -pyparsing = [ - {file = "pyparsing-3.1.2-py3-none-any.whl", hash = "sha256:f9db75911801ed778fe61bb643079ff86601aca99fcae6345aa67292038fb742"}, - {file = "pyparsing-3.1.2.tar.gz", hash = "sha256:a1bac0ce561155ecc3ed78ca94d3c9378656ad4c94c1270de543f621420f94ad"}, -] -pyperclip = [ - {file = "pyperclip-1.9.0.tar.gz", hash = "sha256:b7de0142ddc81bfc5c7507eea19da920b92252b548b96186caf94a5e2527d310"}, -] -pyreadline3 = [ - {file = "pyreadline3-3.4.1-py3-none-any.whl", hash = "sha256:b0efb6516fd4fb07b45949053826a62fa4cb353db5be2bbb4a7aa1fdd1e345fb"}, - {file = "pyreadline3-3.4.1.tar.gz", hash = "sha256:6f3d1f7b8a31ba32b73917cefc1f28cc660562f39aea8646d30bd6eff21f7bae"}, -] -pytest = [ - {file = "pytest-7.2.0-py3-none-any.whl", hash = "sha256:892f933d339f068883b6fd5a459f03d85bfcb355e4981e146d2c7616c21fef71"}, - {file = "pytest-7.2.0.tar.gz", hash = "sha256:c4014eb40e10f11f355ad4e3c2fb2c6c6d1919c73f3b5a433de4708202cade59"}, -] -pytest-cov = [ - {file = "pytest-cov-5.0.0.tar.gz", hash = "sha256:5837b58e9f6ebd335b0f8060eecce69b662415b16dc503883a02f45dfeb14857"}, - {file = "pytest_cov-5.0.0-py3-none-any.whl", hash = "sha256:4f0764a1219df53214206bf1feea4633c3b558a2925c8b59f144f682861ce652"}, -] -pytest-mock = [ - {file = "pytest-mock-3.3.1.tar.gz", hash = "sha256:a4d6d37329e4a893e77d9ffa89e838dd2b45d5dc099984cf03c703ac8411bb82"}, - {file = "pytest_mock-3.3.1-py3-none-any.whl", hash = "sha256:024e405ad382646318c4281948aadf6fe1135632bea9cc67366ea0c4098ef5f2"}, -] -python-cinderclient = [ - {file = "python-cinderclient-9.5.0.tar.gz", hash = "sha256:1b9d717aff93cad420045fb6c52f6376ab72f085f8193130892020ec46c93555"}, - {file = "python_cinderclient-9.5.0-py3-none-any.whl", hash = "sha256:b2ee2681c1f9785957f89be10e7e41fee130729b5c6b2f7c5fa6b542fb27eaaa"}, -] -python-daemon = [ - {file = "python-daemon-2.3.2.tar.gz", hash = "sha256:3deeb808e72b6b89f98611889e11cc33754f5b2c1517ecfa1aaf25f402051fb5"}, - {file = "python_daemon-2.3.2-py3-none-any.whl", hash = "sha256:01d26358598f8c3f5fc6de553e2f3080ffc59cf89102d7ee8098f33c72b3c04c"}, -] -python-dateutil = [ - {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, - {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, -] -python-heatclient = [ - {file = "python-heatclient-3.5.0.tar.gz", hash = "sha256:075178d07607145f759a4c70c9247f92a0af9702cbb4182ac14bf0d9bc8e73d8"}, - {file = "python_heatclient-3.5.0-py3-none-any.whl", hash = "sha256:8ed9b47ce10ac1aee3282f00a219e2400eb85b2177a87e9cfe82bf9c91e17dfc"}, -] -python-keystoneclient = [ - {file = "python-keystoneclient-5.4.0.tar.gz", hash = "sha256:b2b4bdbe9daf7b0b353b8807672eeed01f87dd03b4f8b42d0d061b09b8931f41"}, - {file = "python_keystoneclient-5.4.0-py3-none-any.whl", hash = "sha256:9918043849032f387a0000104c553aac5ace02918a6b7afcdb99690164029867"}, -] -python-novaclient = [ - {file = "python-novaclient-18.6.0.tar.gz", hash = "sha256:573c10aa420b0898d35fb146edd8bb005806bfff0131ae2b5a30ca22ac89477b"}, - {file = "python_novaclient-18.6.0-py3-none-any.whl", hash = "sha256:ec88aa47a4cf9bc411eb65fb1623adcd68b02079386a644d6accb74e8349b529"}, -] -python-openstackclient = [ - {file = "python-openstackclient-6.6.0.tar.gz", hash = "sha256:bbef1ed34829c41052b2eca26480e29ca1f72be058d1430da5341ec44c4f295c"}, - {file = "python_openstackclient-6.6.0-py3-none-any.whl", hash = "sha256:149ce7d3740b7b054ab8257f92b260cdfd8b969ffe8a2215bd3682984387b327"}, -] -python-swiftclient = [ - {file = "python-swiftclient-4.6.0.tar.gz", hash = "sha256:d4d18540413893fc16ad87791d740f823f763435e8212e68eb53d60da2638233"}, - {file = "python_swiftclient-4.6.0-py3-none-any.whl", hash = "sha256:f82d89581b861ccda6ee22a9850d143602a6d77423368c55472d956305cf89b0"}, -] -pytz = [ - {file = "pytz-2024.1-py2.py3-none-any.whl", hash = "sha256:328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319"}, - {file = "pytz-2024.1.tar.gz", hash = "sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812"}, -] -PyYAML = [ - {file = "PyYAML-6.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a"}, - {file = "PyYAML-6.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f"}, - {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"}, - {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"}, - {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"}, - {file = "PyYAML-6.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290"}, - {file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"}, - {file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"}, - {file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"}, - {file = "PyYAML-6.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab"}, - {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"}, - {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"}, - {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"}, - {file = "PyYAML-6.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b"}, - {file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"}, - {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, - {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"}, - {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"}, - {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"}, - {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"}, - {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"}, - {file = "PyYAML-6.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df"}, - {file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"}, - {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"}, - {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"}, - {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd"}, - {file = "PyYAML-6.0.1-cp36-cp36m-win32.whl", hash = "sha256:fca0e3a251908a499833aa292323f32437106001d436eca0e6e7833256674585"}, - {file = "PyYAML-6.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa"}, - {file = "PyYAML-6.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3"}, - {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27"}, - {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3"}, - {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:baa90d3f661d43131ca170712d903e6295d1f7a0f595074f151c0aed377c9b9c"}, - {file = "PyYAML-6.0.1-cp37-cp37m-win32.whl", hash = "sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba"}, - {file = "PyYAML-6.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867"}, - {file = "PyYAML-6.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595"}, - {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"}, - {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"}, - {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"}, - {file = "PyYAML-6.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6"}, - {file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"}, - {file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"}, - {file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"}, - {file = "PyYAML-6.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859"}, - {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"}, - {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"}, - {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"}, - {file = "PyYAML-6.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5"}, - {file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"}, - {file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"}, - {file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"}, -] -rdflib = [ - {file = "rdflib-6.2.0-py3-none-any.whl", hash = "sha256:85c34a86dfc517a41e5f2425a41a0aceacc23983462b32e68610b9fad1383bca"}, - {file = "rdflib-6.2.0.tar.gz", hash = "sha256:62dc3c86d1712db0f55785baf8047f63731fa59b2682be03219cb89262065942"}, -] -redis = [ - {file = "redis-5.0.7-py3-none-any.whl", hash = "sha256:0e479e24da960c690be5d9b96d21f7b918a98c0cf49af3b6fafaa0753f93a0db"}, - {file = "redis-5.0.7.tar.gz", hash = "sha256:8f611490b93c8109b50adc317b31bfd84fff31def3475b92e7e80bf39f48175b"}, -] -requests = [ - {file = "requests-2.28.2-py3-none-any.whl", hash = "sha256:64299f4909223da747622c030b781c0d7811e359c37124b4bd368fb8c6518baa"}, - {file = "requests-2.28.2.tar.gz", hash = "sha256:98b1b2782e3c6c4904938b84c0eb932721069dfdb9134313beff7c83c2df24bf"}, -] -requests-unixsocket = [ - {file = "requests-unixsocket-0.3.0.tar.gz", hash = "sha256:28304283ea9357d45fff58ad5b11e47708cfbf5806817aa59b2a363228ee971e"}, - {file = "requests_unixsocket-0.3.0-py2.py3-none-any.whl", hash = "sha256:c685c680f0809e1b2955339b1e5afc3c0022b3066f4f7eb343f43a6065fc0e5d"}, -] -requestsexceptions = [ - {file = "requestsexceptions-1.4.0-py2.py3-none-any.whl", hash = "sha256:3083d872b6e07dc5c323563ef37671d992214ad9a32b0ca4a3d7f5500bf38ce3"}, - {file = "requestsexceptions-1.4.0.tar.gz", hash = "sha256:b095cbc77618f066d459a02b137b020c37da9f46d9b057704019c9f77dba3065"}, -] -rfc3986 = [ - {file = "rfc3986-2.0.0-py2.py3-none-any.whl", hash = "sha256:50b1502b60e289cb37883f3dfd34532b8873c7de9f49bb546641ce9cbd256ebd"}, - {file = "rfc3986-2.0.0.tar.gz", hash = "sha256:97aacf9dbd4bfd829baad6e6309fa6573aaf1be3f6fa735c8ab05e46cecb261c"}, -] -rsa = [ - {file = "rsa-4.9-py3-none-any.whl", hash = "sha256:90260d9058e514786967344d0ef75fa8727eed8a7d2e43ce9f4bcf1b536174f7"}, - {file = "rsa-4.9.tar.gz", hash = "sha256:e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21"}, -] -"ruamel.yaml" = [ - {file = "ruamel.yaml-0.17.21-py3-none-any.whl", hash = "sha256:742b35d3d665023981bd6d16b3d24248ce5df75fdb4e2924e93a05c1f8b61ca7"}, - {file = "ruamel.yaml-0.17.21.tar.gz", hash = "sha256:8b7ce697a2f212752a35c1ac414471dc16c424c9573be4926b56ff3f5d23b7af"}, -] -"ruamel.yaml.clib" = [ - {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:b42169467c42b692c19cf539c38d4602069d8c1505e97b86387fcf7afb766e1d"}, - {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-macosx_13_0_arm64.whl", hash = "sha256:07238db9cbdf8fc1e9de2489a4f68474e70dffcb32232db7c08fa61ca0c7c462"}, - {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:d92f81886165cb14d7b067ef37e142256f1c6a90a65cd156b063a43da1708cfd"}, - {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:fff3573c2db359f091e1589c3d7c5fc2f86f5bdb6f24252c2d8e539d4e45f412"}, - {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-win32.whl", hash = "sha256:c69212f63169ec1cfc9bb44723bf2917cbbd8f6191a00ef3410f5a7fe300722d"}, - {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-win_amd64.whl", hash = "sha256:cabddb8d8ead485e255fe80429f833172b4cadf99274db39abc080e068cbcc31"}, - {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:bef08cd86169d9eafb3ccb0a39edb11d8e25f3dae2b28f5c52fd997521133069"}, - {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-macosx_13_0_arm64.whl", hash = "sha256:b16420e621d26fdfa949a8b4b47ade8810c56002f5389970db4ddda51dbff248"}, - {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:b5edda50e5e9e15e54a6a8a0070302b00c518a9d32accc2346ad6c984aacd279"}, - {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:25c515e350e5b739842fc3228d662413ef28f295791af5e5110b543cf0b57d9b"}, - {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-win32.whl", hash = "sha256:53a300ed9cea38cf5a2a9b069058137c2ca1ce658a874b79baceb8f892f915a7"}, - {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-win_amd64.whl", hash = "sha256:c2a72e9109ea74e511e29032f3b670835f8a59bbdc9ce692c5b4ed91ccf1eedb"}, - {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:ebc06178e8821efc9692ea7544aa5644217358490145629914d8020042c24aa1"}, - {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-macosx_13_0_arm64.whl", hash = "sha256:edaef1c1200c4b4cb914583150dcaa3bc30e592e907c01117c08b13a07255ec2"}, - {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:7048c338b6c86627afb27faecf418768acb6331fc24cfa56c93e8c9780f815fa"}, - {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d176b57452ab5b7028ac47e7b3cf644bcfdc8cacfecf7e71759f7f51a59e5c92"}, - {file = "ruamel.yaml.clib-0.2.8-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:a5aa27bad2bb83670b71683aae140a1f52b0857a2deff56ad3f6c13a017a26ed"}, - {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c58ecd827313af6864893e7af0a3bb85fd529f862b6adbefe14643947cfe2942"}, - {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-macosx_12_0_arm64.whl", hash = "sha256:f481f16baec5290e45aebdc2a5168ebc6d35189ae6fea7a58787613a25f6e875"}, - {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:3fcc54cb0c8b811ff66082de1680b4b14cf8a81dce0d4fbf665c2265a81e07a1"}, - {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:7f67a1ee819dc4562d444bbafb135832b0b909f81cc90f7aa00260968c9ca1b3"}, - {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-win32.whl", hash = "sha256:75e1ed13e1f9de23c5607fe6bd1aeaae21e523b32d83bb33918245361e9cc51b"}, - {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-win_amd64.whl", hash = "sha256:3f215c5daf6a9d7bbed4a0a4f760f3113b10e82ff4c5c44bec20a68c8014f675"}, - {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1b617618914cb00bf5c34d4357c37aa15183fa229b24767259657746c9077615"}, - {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:a6a9ffd280b71ad062eae53ac1659ad86a17f59a0fdc7699fd9be40525153337"}, - {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:665f58bfd29b167039f714c6998178d27ccd83984084c286110ef26b230f259f"}, - {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:700e4ebb569e59e16a976857c8798aee258dceac7c7d6b50cab63e080058df91"}, - {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-win32.whl", hash = "sha256:955eae71ac26c1ab35924203fda6220f84dce57d6d7884f189743e2abe3a9fbe"}, - {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-win_amd64.whl", hash = "sha256:56f4252222c067b4ce51ae12cbac231bce32aee1d33fbfc9d17e5b8d6966c312"}, - {file = "ruamel.yaml.clib-0.2.8-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:03d1162b6d1df1caa3a4bd27aa51ce17c9afc2046c31b0ad60a0a96ec22f8001"}, - {file = "ruamel.yaml.clib-0.2.8-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:bba64af9fa9cebe325a62fa398760f5c7206b215201b0ec825005f1b18b9bccf"}, - {file = "ruamel.yaml.clib-0.2.8-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:9eb5dee2772b0f704ca2e45b1713e4e5198c18f515b52743576d196348f374d3"}, - {file = "ruamel.yaml.clib-0.2.8-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:da09ad1c359a728e112d60116f626cc9f29730ff3e0e7db72b9a2dbc2e4beed5"}, - {file = "ruamel.yaml.clib-0.2.8-cp39-cp39-win32.whl", hash = "sha256:84b554931e932c46f94ab306913ad7e11bba988104c5cff26d90d03f68258cd5"}, - {file = "ruamel.yaml.clib-0.2.8-cp39-cp39-win_amd64.whl", hash = "sha256:25ac8c08322002b06fa1d49d1646181f0b2c72f5cbc15a85e80b4c30a544bb15"}, - {file = "ruamel.yaml.clib-0.2.8.tar.gz", hash = "sha256:beb2e0404003de9a4cab9753a8805a8fe9320ee6673136ed7f04255fe60bb512"}, -] -schema-salad = [ - {file = "schema_salad-8.6.20240710082410-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:76e916baa5b73daddef8ae3369cb9bc18dc0ddd1a84670e7c996e7ceb04820b3"}, - {file = "schema_salad-8.6.20240710082410-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:20e00917d53e08596a122734b1f3700058b9d863f08b86bfc4639af004b6ae1a"}, - {file = "schema_salad-8.6.20240710082410-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:23fec1d39cf1dd1b7217974af5ffff5efd6d56aaabf3432d8eb28c215f4629dd"}, - {file = "schema_salad-8.6.20240710082410-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e006e391b6dcc7c5c1ce18de74ff4ba7bf233f1ad745d83a4ce86272a2e75692"}, - {file = "schema_salad-8.6.20240710082410-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:07e9df7acdb85ce47a19dae55e659793e99efcd914ddc3198f219ed8883da630"}, - {file = "schema_salad-8.6.20240710082410-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:827d78b91e17803224c77981df0afa64573f1b3f887804cafb2b82bf30a92eb0"}, - {file = "schema_salad-8.6.20240710082410-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:14e5eefba4fa3658ae05f683c541c6a99f86d93bfcc4c63363add7352719e52e"}, - {file = "schema_salad-8.6.20240710082410-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c865a160c66e09bed2a77551ebe569735945b249e404ca37c49db43d5285f781"}, - {file = "schema_salad-8.6.20240710082410-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:79961a6ce0b2dee9b66affad73883dd02da3d56576f89893acb06a815b72d44e"}, - {file = "schema_salad-8.6.20240710082410-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0624c287f6cd5072e0c3fa72a0493963f51a452a53378808271c22a64eac028a"}, - {file = "schema_salad-8.6.20240710082410-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c2b9b00c1b7ff6de2dae2cef4496a07e75cd0dc72766941f4ed97da59c141a19"}, - {file = "schema_salad-8.6.20240710082410-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:4b20799deb1552e9358ad407d3bf84a25e45c34c168be1b268f6b0a35393fab2"}, - {file = "schema_salad-8.6.20240710082410-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:a5bb572c2a29304b0d02c6f1d8756400ace624507a76be0ae847a75dd5d59f4a"}, - {file = "schema_salad-8.6.20240710082410-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:7e6d20fc3ab4d42d72f272b82dad2d52b9543a5aa1e57ee7a078e01a10f25b90"}, - {file = "schema_salad-8.6.20240710082410-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:edaa4f11c58336d807040378dde97d82d21af72c349b30a257f46db0f5d2ccbb"}, - {file = "schema_salad-8.6.20240710082410-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f398392eda9fd302999250bc950e35cb50d5d9e804192ba9223ddf51a223d9a7"}, - {file = "schema_salad-8.6.20240710082410-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:13d92ef4bba0c4fbdeeec6cc70538532826db818711156cd8da271a401e5df9e"}, - {file = "schema_salad-8.6.20240710082410-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:671ba89a7a34e9c59b34459580c3581a15bc647aaa3ed565756e573808d61347"}, - {file = "schema_salad-8.6.20240710082410-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:85431930b431f0c1289d1385b38f509abcb42f42675bfa2f22baf14898063408"}, - {file = "schema_salad-8.6.20240710082410-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2dfc0c52a08b623edadd614f44c222397f645d7e3e523e735860fdbb85777582"}, - {file = "schema_salad-8.6.20240710082410-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:d5a76aad8d54484c51bdd749a123a5c144191e0691bec2cbf97a985b0f1b9bbc"}, - {file = "schema_salad-8.6.20240710082410-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:e0ea9e606b34f5695f384ca3f11baccf2579aa3486d42190f24f7d8c172e5d61"}, - {file = "schema_salad-8.6.20240710082410-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:13b8ef75d5cd63cc27e791184401270a69ae75b210a61381b313dfdbf181eac4"}, - {file = "schema_salad-8.6.20240710082410-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f342835ff739521ca79e0b4ece1fffe02eb15fea29b3c89fb846d7d0c6ffcf2a"}, - {file = "schema_salad-8.6.20240710082410-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5301ba938a129b6673695f855e6b447ed31e9666e21daa867a20692379d7c385"}, - {file = "schema_salad-8.6.20240710082410-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b9270691a706ca91c1ca51dd89ea0699e98baa43f86a1eb19ec9ccd61d385430"}, - {file = "schema_salad-8.6.20240710082410-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:06b51bfbeb4b367cd61b692ebb6d70b5c7222547ae31e74756570b91f1e3696e"}, - {file = "schema_salad-8.6.20240710082410-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:813c744f2016688e3b7d95691def54116597b66ded2b664d5ba1ec3a0963ad06"}, - {file = "schema_salad-8.6.20240710082410-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d1395567e945d1a5fa8154aab6abc9d7072d7cc4f12b184afd714c8eb86ed17f"}, - {file = "schema_salad-8.6.20240710082410-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:614686b9832a51797df2aa145a12f2eef9a47a4540d5b980ce1db1b4941b29b5"}, - {file = "schema_salad-8.6.20240710082410-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:20bcc33a0f4219afaa9b363490597cd6757fe6487529141d816a754d33735ec0"}, - {file = "schema_salad-8.6.20240710082410-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:8850efe1d8edfff215b04387e4cd420ad07a106da0a3f3aeb15b82f1be0c0d3a"}, - {file = "schema_salad-8.6.20240710082410-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8915b987d81f64026da18aa91867a6eac464e1bad20b7ce2cbaf9ae61372c10e"}, - {file = "schema_salad-8.6.20240710082410-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:9a922070b63c2c9855f0d2dbc946beecb7341ce889a5dfdd31902e5c01ccbccf"}, - {file = "schema_salad-8.6.20240710082410-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:4aec0a36019b8eebc3bfc2267102a41177f6fcfb08dfdab008fa7c76725874c3"}, - {file = "schema_salad-8.6.20240710082410-py3-none-any.whl", hash = "sha256:96bedcb7ba8d31c5357465ba417a508c5699693dffb88426b470666d86f5c656"}, - {file = "schema_salad-8.6.20240710082410.tar.gz", hash = "sha256:65a497f91994967a46206535eac5ff3d27b00f318b8b50ebc8dea43be73dd369"}, -] -setuptools = [ - {file = "setuptools-70.3.0-py3-none-any.whl", hash = "sha256:fe384da74336c398e0d956d1cae0669bc02eed936cdb1d49b57de1990dc11ffc"}, - {file = "setuptools-70.3.0.tar.gz", hash = "sha256:f171bab1dfbc86b132997f26a119f6056a57950d058587841a0082e8830f9dc5"}, -] -shellescape = [ - {file = "shellescape-3.8.1-py2.py3-none-any.whl", hash = "sha256:f17127e390fa3f9aaa80c69c16ea73615fd9b5318fd8309c1dca6168ae7d85bf"}, - {file = "shellescape-3.8.1.tar.gz", hash = "sha256:40b310b30479be771bf3ab28bd8d40753778488bd46ea0969ba0b35038c3ec26"}, -] -six = [ - {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, - {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, -] -sniffio = [ - {file = "sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2"}, - {file = "sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc"}, -] -snowballstemmer = [ - {file = "snowballstemmer-2.2.0-py2.py3-none-any.whl", hash = "sha256:c8e1716e83cc398ae16824e5572ae04e0d9fc2c6b985fb0f900f5f0c96ecba1a"}, - {file = "snowballstemmer-2.2.0.tar.gz", hash = "sha256:09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1"}, -] -Sphinx = [ - {file = "Sphinx-6.2.1.tar.gz", hash = "sha256:6d56a34697bb749ffa0152feafc4b19836c755d90a7c59b72bc7dfd371b9cc6b"}, - {file = "sphinx-6.2.1-py3-none-any.whl", hash = "sha256:97787ff1fa3256a3eef9eda523a63dbf299f7b47e053cfcf684a1c2a8380c912"}, -] -sphinx-rtd-theme = [ - {file = "sphinx_rtd_theme-1.3.0-py2.py3-none-any.whl", hash = "sha256:46ddef89cc2416a81ecfbeaceab1881948c014b1b6e4450b815311a89fb977b0"}, - {file = "sphinx_rtd_theme-1.3.0.tar.gz", hash = "sha256:590b030c7abb9cf038ec053b95e5380b5c70d61591eb0b552063fbe7c41f0931"}, -] -sphinxcontrib-applehelp = [ - {file = "sphinxcontrib-applehelp-1.0.4.tar.gz", hash = "sha256:828f867945bbe39817c210a1abfd1bc4895c8b73fcaade56d45357a348a07d7e"}, - {file = "sphinxcontrib_applehelp-1.0.4-py3-none-any.whl", hash = "sha256:29d341f67fb0f6f586b23ad80e072c8e6ad0b48417db2bde114a4c9746feb228"}, -] -sphinxcontrib-devhelp = [ - {file = "sphinxcontrib-devhelp-1.0.2.tar.gz", hash = "sha256:ff7f1afa7b9642e7060379360a67e9c41e8f3121f2ce9164266f61b9f4b338e4"}, - {file = "sphinxcontrib_devhelp-1.0.2-py2.py3-none-any.whl", hash = "sha256:8165223f9a335cc1af7ffe1ed31d2871f325254c0423bc0c4c7cd1c1e4734a2e"}, -] -sphinxcontrib-htmlhelp = [ - {file = "sphinxcontrib-htmlhelp-2.0.1.tar.gz", hash = "sha256:0cbdd302815330058422b98a113195c9249825d681e18f11e8b1f78a2f11efff"}, - {file = "sphinxcontrib_htmlhelp-2.0.1-py3-none-any.whl", hash = "sha256:c38cb46dccf316c79de6e5515e1770414b797162b23cd3d06e67020e1d2a6903"}, -] -sphinxcontrib-jquery = [ - {file = "sphinxcontrib-jquery-4.1.tar.gz", hash = "sha256:1620739f04e36a2c779f1a131a2dfd49b2fd07351bf1968ced074365933abc7a"}, - {file = "sphinxcontrib_jquery-4.1-py2.py3-none-any.whl", hash = "sha256:f936030d7d0147dd026a4f2b5a57343d233f1fc7b363f68b3d4f1cb0993878ae"}, -] -sphinxcontrib-jsmath = [ - {file = "sphinxcontrib-jsmath-1.0.1.tar.gz", hash = "sha256:a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8"}, - {file = "sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl", hash = "sha256:2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178"}, -] -sphinxcontrib-qthelp = [ - {file = "sphinxcontrib-qthelp-1.0.3.tar.gz", hash = "sha256:4c33767ee058b70dba89a6fc5c1892c0d57a54be67ddd3e7875a18d14cba5a72"}, - {file = "sphinxcontrib_qthelp-1.0.3-py2.py3-none-any.whl", hash = "sha256:bd9fc24bcb748a8d51fd4ecaade681350aa63009a347a8c14e637895444dfab6"}, -] -sphinxcontrib-serializinghtml = [ - {file = "sphinxcontrib-serializinghtml-1.1.5.tar.gz", hash = "sha256:aa5f6de5dfdf809ef505c4895e51ef5c9eac17d0f287933eb49ec495280b6952"}, - {file = "sphinxcontrib_serializinghtml-1.1.5-py2.py3-none-any.whl", hash = "sha256:352a9a00ae864471d3a7ead8d7d79f5fc0b57e8b3f95e9867eb9eb28999b92fd"}, -] -SQLAlchemy = [ - {file = "SQLAlchemy-2.0.31-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f2a213c1b699d3f5768a7272de720387ae0122f1becf0901ed6eaa1abd1baf6c"}, - {file = "SQLAlchemy-2.0.31-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9fea3d0884e82d1e33226935dac990b967bef21315cbcc894605db3441347443"}, - {file = "SQLAlchemy-2.0.31-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3ad7f221d8a69d32d197e5968d798217a4feebe30144986af71ada8c548e9fa"}, - {file = "SQLAlchemy-2.0.31-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f2bee229715b6366f86a95d497c347c22ddffa2c7c96143b59a2aa5cc9eebbc"}, - {file = "SQLAlchemy-2.0.31-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:cd5b94d4819c0c89280b7c6109c7b788a576084bf0a480ae17c227b0bc41e109"}, - {file = "SQLAlchemy-2.0.31-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:750900a471d39a7eeba57580b11983030517a1f512c2cb287d5ad0fcf3aebd58"}, - {file = "SQLAlchemy-2.0.31-cp310-cp310-win32.whl", hash = "sha256:7bd112be780928c7f493c1a192cd8c5fc2a2a7b52b790bc5a84203fb4381c6be"}, - {file = "SQLAlchemy-2.0.31-cp310-cp310-win_amd64.whl", hash = "sha256:5a48ac4d359f058474fadc2115f78a5cdac9988d4f99eae44917f36aa1476327"}, - {file = "SQLAlchemy-2.0.31-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f68470edd70c3ac3b6cd5c2a22a8daf18415203ca1b036aaeb9b0fb6f54e8298"}, - {file = "SQLAlchemy-2.0.31-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2e2c38c2a4c5c634fe6c3c58a789712719fa1bf9b9d6ff5ebfce9a9e5b89c1ca"}, - {file = "SQLAlchemy-2.0.31-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd15026f77420eb2b324dcb93551ad9c5f22fab2c150c286ef1dc1160f110203"}, - {file = "SQLAlchemy-2.0.31-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2196208432deebdfe3b22185d46b08f00ac9d7b01284e168c212919891289396"}, - {file = "SQLAlchemy-2.0.31-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:352b2770097f41bff6029b280c0e03b217c2dcaddc40726f8f53ed58d8a85da4"}, - {file = "SQLAlchemy-2.0.31-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:56d51ae825d20d604583f82c9527d285e9e6d14f9a5516463d9705dab20c3740"}, - {file = "SQLAlchemy-2.0.31-cp311-cp311-win32.whl", hash = "sha256:6e2622844551945db81c26a02f27d94145b561f9d4b0c39ce7bfd2fda5776dac"}, - {file = "SQLAlchemy-2.0.31-cp311-cp311-win_amd64.whl", hash = "sha256:ccaf1b0c90435b6e430f5dd30a5aede4764942a695552eb3a4ab74ed63c5b8d3"}, - {file = "SQLAlchemy-2.0.31-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3b74570d99126992d4b0f91fb87c586a574a5872651185de8297c6f90055ae42"}, - {file = "SQLAlchemy-2.0.31-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6f77c4f042ad493cb8595e2f503c7a4fe44cd7bd59c7582fd6d78d7e7b8ec52c"}, - {file = "SQLAlchemy-2.0.31-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cd1591329333daf94467e699e11015d9c944f44c94d2091f4ac493ced0119449"}, - {file = "SQLAlchemy-2.0.31-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:74afabeeff415e35525bf7a4ecdab015f00e06456166a2eba7590e49f8db940e"}, - {file = "SQLAlchemy-2.0.31-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:b9c01990d9015df2c6f818aa8f4297d42ee71c9502026bb074e713d496e26b67"}, - {file = "SQLAlchemy-2.0.31-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:66f63278db425838b3c2b1c596654b31939427016ba030e951b292e32b99553e"}, - {file = "SQLAlchemy-2.0.31-cp312-cp312-win32.whl", hash = "sha256:0b0f658414ee4e4b8cbcd4a9bb0fd743c5eeb81fc858ca517217a8013d282c96"}, - {file = "SQLAlchemy-2.0.31-cp312-cp312-win_amd64.whl", hash = "sha256:fa4b1af3e619b5b0b435e333f3967612db06351217c58bfb50cee5f003db2a5a"}, - {file = "SQLAlchemy-2.0.31-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:f43e93057cf52a227eda401251c72b6fbe4756f35fa6bfebb5d73b86881e59b0"}, - {file = "SQLAlchemy-2.0.31-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d337bf94052856d1b330d5fcad44582a30c532a2463776e1651bd3294ee7e58b"}, - {file = "SQLAlchemy-2.0.31-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c06fb43a51ccdff3b4006aafee9fcf15f63f23c580675f7734245ceb6b6a9e05"}, - {file = "SQLAlchemy-2.0.31-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:b6e22630e89f0e8c12332b2b4c282cb01cf4da0d26795b7eae16702a608e7ca1"}, - {file = "SQLAlchemy-2.0.31-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:79a40771363c5e9f3a77f0e28b3302801db08040928146e6808b5b7a40749c88"}, - {file = "SQLAlchemy-2.0.31-cp37-cp37m-win32.whl", hash = "sha256:501ff052229cb79dd4c49c402f6cb03b5a40ae4771efc8bb2bfac9f6c3d3508f"}, - {file = "SQLAlchemy-2.0.31-cp37-cp37m-win_amd64.whl", hash = "sha256:597fec37c382a5442ffd471f66ce12d07d91b281fd474289356b1a0041bdf31d"}, - {file = "SQLAlchemy-2.0.31-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:dc6d69f8829712a4fd799d2ac8d79bdeff651c2301b081fd5d3fe697bd5b4ab9"}, - {file = "SQLAlchemy-2.0.31-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:23b9fbb2f5dd9e630db70fbe47d963c7779e9c81830869bd7d137c2dc1ad05fb"}, - {file = "SQLAlchemy-2.0.31-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2a21c97efcbb9f255d5c12a96ae14da873233597dfd00a3a0c4ce5b3e5e79704"}, - {file = "SQLAlchemy-2.0.31-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26a6a9837589c42b16693cf7bf836f5d42218f44d198f9343dd71d3164ceeeac"}, - {file = "SQLAlchemy-2.0.31-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:dc251477eae03c20fae8db9c1c23ea2ebc47331bcd73927cdcaecd02af98d3c3"}, - {file = "SQLAlchemy-2.0.31-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:2fd17e3bb8058359fa61248c52c7b09a97cf3c820e54207a50af529876451808"}, - {file = "SQLAlchemy-2.0.31-cp38-cp38-win32.whl", hash = "sha256:c76c81c52e1e08f12f4b6a07af2b96b9b15ea67ccdd40ae17019f1c373faa227"}, - {file = "SQLAlchemy-2.0.31-cp38-cp38-win_amd64.whl", hash = "sha256:4b600e9a212ed59355813becbcf282cfda5c93678e15c25a0ef896b354423238"}, - {file = "SQLAlchemy-2.0.31-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b6cf796d9fcc9b37011d3f9936189b3c8074a02a4ed0c0fbbc126772c31a6d4"}, - {file = "SQLAlchemy-2.0.31-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:78fe11dbe37d92667c2c6e74379f75746dc947ee505555a0197cfba9a6d4f1a4"}, - {file = "SQLAlchemy-2.0.31-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2fc47dc6185a83c8100b37acda27658fe4dbd33b7d5e7324111f6521008ab4fe"}, - {file = "SQLAlchemy-2.0.31-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8a41514c1a779e2aa9a19f67aaadeb5cbddf0b2b508843fcd7bafdf4c6864005"}, - {file = "SQLAlchemy-2.0.31-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:afb6dde6c11ea4525318e279cd93c8734b795ac8bb5dda0eedd9ebaca7fa23f1"}, - {file = "SQLAlchemy-2.0.31-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:3f9faef422cfbb8fd53716cd14ba95e2ef655400235c3dfad1b5f467ba179c8c"}, - {file = "SQLAlchemy-2.0.31-cp39-cp39-win32.whl", hash = "sha256:fc6b14e8602f59c6ba893980bea96571dd0ed83d8ebb9c4479d9ed5425d562e9"}, - {file = "SQLAlchemy-2.0.31-cp39-cp39-win_amd64.whl", hash = "sha256:3cb8a66b167b033ec72c3812ffc8441d4e9f5f78f5e31e54dcd4c90a4ca5bebc"}, - {file = "SQLAlchemy-2.0.31-py3-none-any.whl", hash = "sha256:69f3e3c08867a8e4856e92d7afb618b95cdee18e0bc1647b77599722c9a28911"}, - {file = "SQLAlchemy-2.0.31.tar.gz", hash = "sha256:b607489dd4a54de56984a0c7656247504bd5523d9d0ba799aef59d4add009484"}, -] -starlette = [ - {file = "starlette-0.36.3-py3-none-any.whl", hash = "sha256:13d429aa93a61dc40bf503e8c801db1f1bca3dc706b10ef2434a36123568f044"}, - {file = "starlette-0.36.3.tar.gz", hash = "sha256:90a671733cfb35771d8cc605e0b679d23b992f8dcfad48cc60b38cb29aeb7080"}, -] -stevedore = [ - {file = "stevedore-5.2.0-py3-none-any.whl", hash = "sha256:1c15d95766ca0569cad14cb6272d4d31dae66b011a929d7c18219c176ea1b5c9"}, - {file = "stevedore-5.2.0.tar.gz", hash = "sha256:46b93ca40e1114cea93d738a6c1e365396981bb6bb78c27045b7587c9473544d"}, -] -tomli = [ - {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, - {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, -] -tomlkit = [ - {file = "tomlkit-0.13.0-py3-none-any.whl", hash = "sha256:7075d3042d03b80f603482d69bf0c8f345c2b30e41699fd8883227f89972b264"}, - {file = "tomlkit-0.13.0.tar.gz", hash = "sha256:08ad192699734149f5b97b45f1f18dad7eb1b6d16bc72ad0c2335772650d7b72"}, -] -typer = [ - {file = "typer-0.5.0-py3-none-any.whl", hash = "sha256:a34409c0029ba7e48cb9e4f54c6400bf4158a6145b5dea32788e7a36ebbcb312"}, - {file = "typer-0.5.0.tar.gz", hash = "sha256:4c285a5585c94d32c305444af934f0078b6a8ba91464f3f85807c91cd499d195"}, -] -typing-extensions = [ - {file = "typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d"}, - {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, -] -tzdata = [ - {file = "tzdata-2024.1-py2.py3-none-any.whl", hash = "sha256:9068bc196136463f5245e51efda838afa15aaeca9903f49050dfa2679db4d252"}, - {file = "tzdata-2024.1.tar.gz", hash = "sha256:2674120f8d891909751c38abcdfd386ac0a5a1127954fbc332af6b5ceae07efd"}, -] -tzlocal = [ - {file = "tzlocal-5.2-py3-none-any.whl", hash = "sha256:49816ef2fe65ea8ac19d19aa7a1ae0551c834303d5014c6d5a62e4cbda8047b8"}, - {file = "tzlocal-5.2.tar.gz", hash = "sha256:8d399205578f1a9342816409cc1e46a93ebd5755e39ea2d85334bea911bf0e6e"}, -] -uritemplate = [ - {file = "uritemplate-4.1.1-py2.py3-none-any.whl", hash = "sha256:830c08b8d99bdd312ea4ead05994a38e8936266f84b9a7878232db50b044e02e"}, - {file = "uritemplate-4.1.1.tar.gz", hash = "sha256:4346edfc5c3b79f694bccd6d6099a322bbeb628dbf2cd86eea55a456ce5124f0"}, -] -urllib3 = [ - {file = "urllib3-1.26.19-py2.py3-none-any.whl", hash = "sha256:37a0344459b199fce0e80b0d3569837ec6b6937435c5244e7fd73fa6006830f3"}, - {file = "urllib3-1.26.19.tar.gz", hash = "sha256:3e3d753a8618b86d7de333b4223005f68720bcd6a7d2bcb9fbd2229ec7c1e429"}, -] -uvicorn = [ - {file = "uvicorn-0.27.1-py3-none-any.whl", hash = "sha256:5c89da2f3895767472a35556e539fd59f7edbe9b1e9c0e1c99eebeadc61838e4"}, - {file = "uvicorn-0.27.1.tar.gz", hash = "sha256:3d9a267296243532db80c83a959a3400502165ade2c1338dea4e67915fd4745a"}, -] -vine = [ - {file = "vine-5.1.0-py3-none-any.whl", hash = "sha256:40fdf3c48b2cfe1c38a49e9ae2da6fda88e4794c810050a728bd7413811fb1dc"}, - {file = "vine-5.1.0.tar.gz", hash = "sha256:8b62e981d35c41049211cf62a0a1242d8c1ee9bd15bb196ce38aefd6799e61e0"}, -] -wcwidth = [ - {file = "wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859"}, - {file = "wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5"}, -] -Werkzeug = [ - {file = "werkzeug-3.0.3-py3-none-any.whl", hash = "sha256:fc9645dc43e03e4d630d23143a04a7f947a9a3b5727cd535fdfe155a17cc48c8"}, - {file = "werkzeug-3.0.3.tar.gz", hash = "sha256:097e5bfda9f0aba8da6b8545146def481d06aa7d3266e7448e2cccf67dd8bd18"}, -] -wrapt = [ - {file = "wrapt-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ffa565331890b90056c01db69c0fe634a776f8019c143a5ae265f9c6bc4bd6d4"}, - {file = "wrapt-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e4fdb9275308292e880dcbeb12546df7f3e0f96c6b41197e0cf37d2826359020"}, - {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb2dee3874a500de01c93d5c71415fcaef1d858370d405824783e7a8ef5db440"}, - {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2a88e6010048489cda82b1326889ec075a8c856c2e6a256072b28eaee3ccf487"}, - {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac83a914ebaf589b69f7d0a1277602ff494e21f4c2f743313414378f8f50a4cf"}, - {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:73aa7d98215d39b8455f103de64391cb79dfcad601701a3aa0dddacf74911d72"}, - {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:807cc8543a477ab7422f1120a217054f958a66ef7314f76dd9e77d3f02cdccd0"}, - {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:bf5703fdeb350e36885f2875d853ce13172ae281c56e509f4e6eca049bdfb136"}, - {file = "wrapt-1.16.0-cp310-cp310-win32.whl", hash = "sha256:f6b2d0c6703c988d334f297aa5df18c45e97b0af3679bb75059e0e0bd8b1069d"}, - {file = "wrapt-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:decbfa2f618fa8ed81c95ee18a387ff973143c656ef800c9f24fb7e9c16054e2"}, - {file = "wrapt-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1a5db485fe2de4403f13fafdc231b0dbae5eca4359232d2efc79025527375b09"}, - {file = "wrapt-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:75ea7d0ee2a15733684badb16de6794894ed9c55aa5e9903260922f0482e687d"}, - {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a452f9ca3e3267cd4d0fcf2edd0d035b1934ac2bd7e0e57ac91ad6b95c0c6389"}, - {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:43aa59eadec7890d9958748db829df269f0368521ba6dc68cc172d5d03ed8060"}, - {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:72554a23c78a8e7aa02abbd699d129eead8b147a23c56e08d08dfc29cfdddca1"}, - {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d2efee35b4b0a347e0d99d28e884dfd82797852d62fcd7ebdeee26f3ceb72cf3"}, - {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:6dcfcffe73710be01d90cae08c3e548d90932d37b39ef83969ae135d36ef3956"}, - {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:eb6e651000a19c96f452c85132811d25e9264d836951022d6e81df2fff38337d"}, - {file = "wrapt-1.16.0-cp311-cp311-win32.whl", hash = "sha256:66027d667efe95cc4fa945af59f92c5a02c6f5bb6012bff9e60542c74c75c362"}, - {file = "wrapt-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:aefbc4cb0a54f91af643660a0a150ce2c090d3652cf4052a5397fb2de549cd89"}, - {file = "wrapt-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5eb404d89131ec9b4f748fa5cfb5346802e5ee8836f57d516576e61f304f3b7b"}, - {file = "wrapt-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9090c9e676d5236a6948330e83cb89969f433b1943a558968f659ead07cb3b36"}, - {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94265b00870aa407bd0cbcfd536f17ecde43b94fb8d228560a1e9d3041462d73"}, - {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f2058f813d4f2b5e3a9eb2eb3faf8f1d99b81c3e51aeda4b168406443e8ba809"}, - {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:98b5e1f498a8ca1858a1cdbffb023bfd954da4e3fa2c0cb5853d40014557248b"}, - {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:14d7dc606219cdd7405133c713f2c218d4252f2a469003f8c46bb92d5d095d81"}, - {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:49aac49dc4782cb04f58986e81ea0b4768e4ff197b57324dcbd7699c5dfb40b9"}, - {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:418abb18146475c310d7a6dc71143d6f7adec5b004ac9ce08dc7a34e2babdc5c"}, - {file = "wrapt-1.16.0-cp312-cp312-win32.whl", hash = "sha256:685f568fa5e627e93f3b52fda002c7ed2fa1800b50ce51f6ed1d572d8ab3e7fc"}, - {file = "wrapt-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:dcdba5c86e368442528f7060039eda390cc4091bfd1dca41e8046af7c910dda8"}, - {file = "wrapt-1.16.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:d462f28826f4657968ae51d2181a074dfe03c200d6131690b7d65d55b0f360f8"}, - {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a33a747400b94b6d6b8a165e4480264a64a78c8a4c734b62136062e9a248dd39"}, - {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b3646eefa23daeba62643a58aac816945cadc0afaf21800a1421eeba5f6cfb9c"}, - {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ebf019be5c09d400cf7b024aa52b1f3aeebeff51550d007e92c3c1c4afc2a40"}, - {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:0d2691979e93d06a95a26257adb7bfd0c93818e89b1406f5a28f36e0d8c1e1fc"}, - {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:1acd723ee2a8826f3d53910255643e33673e1d11db84ce5880675954183ec47e"}, - {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:bc57efac2da352a51cc4658878a68d2b1b67dbe9d33c36cb826ca449d80a8465"}, - {file = "wrapt-1.16.0-cp36-cp36m-win32.whl", hash = "sha256:da4813f751142436b075ed7aa012a8778aa43a99f7b36afe9b742d3ed8bdc95e"}, - {file = "wrapt-1.16.0-cp36-cp36m-win_amd64.whl", hash = "sha256:6f6eac2360f2d543cc875a0e5efd413b6cbd483cb3ad7ebf888884a6e0d2e966"}, - {file = "wrapt-1.16.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a0ea261ce52b5952bf669684a251a66df239ec6d441ccb59ec7afa882265d593"}, - {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7bd2d7ff69a2cac767fbf7a2b206add2e9a210e57947dd7ce03e25d03d2de292"}, - {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9159485323798c8dc530a224bd3ffcf76659319ccc7bbd52e01e73bd0241a0c5"}, - {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a86373cf37cd7764f2201b76496aba58a52e76dedfaa698ef9e9688bfd9e41cf"}, - {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:73870c364c11f03ed072dda68ff7aea6d2a3a5c3fe250d917a429c7432e15228"}, - {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:b935ae30c6e7400022b50f8d359c03ed233d45b725cfdd299462f41ee5ffba6f"}, - {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:db98ad84a55eb09b3c32a96c576476777e87c520a34e2519d3e59c44710c002c"}, - {file = "wrapt-1.16.0-cp37-cp37m-win32.whl", hash = "sha256:9153ed35fc5e4fa3b2fe97bddaa7cbec0ed22412b85bcdaf54aeba92ea37428c"}, - {file = "wrapt-1.16.0-cp37-cp37m-win_amd64.whl", hash = "sha256:66dfbaa7cfa3eb707bbfcd46dab2bc6207b005cbc9caa2199bcbc81d95071a00"}, - {file = "wrapt-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1dd50a2696ff89f57bd8847647a1c363b687d3d796dc30d4dd4a9d1689a706f0"}, - {file = "wrapt-1.16.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:44a2754372e32ab315734c6c73b24351d06e77ffff6ae27d2ecf14cf3d229202"}, - {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e9723528b9f787dc59168369e42ae1c3b0d3fadb2f1a71de14531d321ee05b0"}, - {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dbed418ba5c3dce92619656802cc5355cb679e58d0d89b50f116e4a9d5a9603e"}, - {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:941988b89b4fd6b41c3f0bfb20e92bd23746579736b7343283297c4c8cbae68f"}, - {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6a42cd0cfa8ffc1915aef79cb4284f6383d8a3e9dcca70c445dcfdd639d51267"}, - {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:1ca9b6085e4f866bd584fb135a041bfc32cab916e69f714a7d1d397f8c4891ca"}, - {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d5e49454f19ef621089e204f862388d29e6e8d8b162efce05208913dde5b9ad6"}, - {file = "wrapt-1.16.0-cp38-cp38-win32.whl", hash = "sha256:c31f72b1b6624c9d863fc095da460802f43a7c6868c5dda140f51da24fd47d7b"}, - {file = "wrapt-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:490b0ee15c1a55be9c1bd8609b8cecd60e325f0575fc98f50058eae366e01f41"}, - {file = "wrapt-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9b201ae332c3637a42f02d1045e1d0cccfdc41f1f2f801dafbaa7e9b4797bfc2"}, - {file = "wrapt-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2076fad65c6736184e77d7d4729b63a6d1ae0b70da4868adeec40989858eb3fb"}, - {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5cd603b575ebceca7da5a3a251e69561bec509e0b46e4993e1cac402b7247b8"}, - {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b47cfad9e9bbbed2339081f4e346c93ecd7ab504299403320bf85f7f85c7d46c"}, - {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8212564d49c50eb4565e502814f694e240c55551a5f1bc841d4fcaabb0a9b8a"}, - {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:5f15814a33e42b04e3de432e573aa557f9f0f56458745c2074952f564c50e664"}, - {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:db2e408d983b0e61e238cf579c09ef7020560441906ca990fe8412153e3b291f"}, - {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:edfad1d29c73f9b863ebe7082ae9321374ccb10879eeabc84ba3b69f2579d537"}, - {file = "wrapt-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed867c42c268f876097248e05b6117a65bcd1e63b779e916fe2e33cd6fd0d3c3"}, - {file = "wrapt-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:eb1b046be06b0fce7249f1d025cd359b4b80fc1c3e24ad9eca33e0dcdb2e4a35"}, - {file = "wrapt-1.16.0-py3-none-any.whl", hash = "sha256:6906c4100a8fcbf2fa735f6059214bb13b97f75b1a61777fcf6432121ef12ef1"}, - {file = "wrapt-1.16.0.tar.gz", hash = "sha256:5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d"}, -] -zipp = [ - {file = "zipp-3.19.2-py3-none-any.whl", hash = "sha256:f091755f667055f2d02b32c53771a7a6c8b47e1fdbc4b72a8b9072b3eef8015c"}, - {file = "zipp-3.19.2.tar.gz", hash = "sha256:bf1dcf6450f873a13e952a29504887c89e6de7506209e5b1bcc3460135d4de19"}, -] +content-hash = "8e101eadacbccc8fd87da3e74c8dddd05a81012719544d83dbb840232a0b4a31" From b9ce644655606ea30a3e00c48da7eda4829cb763 Mon Sep 17 00:00:00 2001 From: leahh Date: Thu, 12 Sep 2024 10:02:25 -0600 Subject: [PATCH 22/29] added graphml_key_updater to add any missing keys --- beeflow/common/gdb/graphml_key_updater.py | 65 +++++++++++++++++++++++ beeflow/wf_manager/resources/wf_utils.py | 2 + 2 files changed, 67 insertions(+) create mode 100644 beeflow/common/gdb/graphml_key_updater.py diff --git a/beeflow/common/gdb/graphml_key_updater.py b/beeflow/common/gdb/graphml_key_updater.py new file mode 100644 index 000000000..5c563ab79 --- /dev/null +++ b/beeflow/common/gdb/graphml_key_updater.py @@ -0,0 +1,65 @@ +import xml.etree.ElementTree as ET +import os + +from beeflow.common import paths + +bee_workdir = paths.workdir() +dags_dir = os.path.join(bee_workdir, 'dags') +graphmls_dir = dags_dir + "/graphmls" + +# Define the set of expected keys +expected_keys = {"id", "name", "state", "class", "type", "value", "source", + "workflow_id", "base_command", "stdout", "stderr", "default", + "prefix", "position", "value_from", "glob"} + +# Default settings for missing keys +default_key_definitions = { + "id": {"for": "node", "attr.name": "id", "attr.type": "string"}, + "name": {"for": "node", "attr.name": "name", "attr.type": "string"}, + "state": {"for": "node", "attr.name": "state", "attr.type": "string"}, + "class": {"for": "node", "attr.name": "class", "attr.type": "string"}, + "type": {"for": "node", "attr.name": "type", "attr.type": "string"}, + "value": {"for": "node", "attr.name": "value", "attr.type": "string"}, + "source": {"for": "node", "attr.name": "source", "attr.type": "string"}, + "workflow_id": {"for": "node", "attr.name": "workflow_id", "attr.type": "string"}, + "base_command": {"for": "node", "attr.name": "base_command", "attr.type": "string"}, + "stdout": {"for": "node", "attr.name": "stdout", "attr.type": "string"}, + "stderr": {"for": "node", "attr.name": "stderr", "attr.type": "string"}, + "default": {"for": "node", "attr.name": "default", "attr.type": "string"}, + "prefix": {"for": "node", "attr.name": "prefix", "attr.type": "string"}, + "position": {"for": "node", "attr.name": "position", "attr.type": "long"}, + "value_from": {"for": "node", "attr.name": "value_from", "attr.type": "string"}, + "glob": {"for": "node", "attr.name": "glob", "attr.type": "string"}, +} + +def update_graphml(wf_id): + """Update GraphML file by ensuring required keys are present and updating its structure.""" + short_id = wf_id[:6] + graphml_path = graphmls_dir + "/" + short_id + ".graphml" + # Parse the GraphML file and preserve namespaces + tree = ET.parse(graphml_path) + root = tree.getroot() + + # GraphML namespace + ns = {'graphml': 'http://graphml.graphdrawing.org/xmlns'} + + # Extract the defined keys (with namespace) + defined_keys = {key.attrib['id'] for key in root.findall('graphml:key', ns)} + + # Find all data keys in the graph + used_keys = {data.attrib['key'] for data in root.findall('.//graphml:data', ns)} + + # Check for missing keys + missing_keys = used_keys - defined_keys + + # Insert default key definitions for missing keys + for missing_key in missing_keys: + if missing_key in expected_keys: + default_def = default_key_definitions[missing_key] + key_element = ET.Element(f'{{{ns["graphml"]}}}key', + id=missing_key, + **default_def) + root.insert(0, key_element) # Insert at the top of the file + + # Save the updated GraphML file by overwriting the original one + tree.write(graphml_path, encoding='UTF-8', xml_declaration=True) diff --git a/beeflow/wf_manager/resources/wf_utils.py b/beeflow/wf_manager/resources/wf_utils.py index 790bd459e..ca5941ecf 100644 --- a/beeflow/wf_manager/resources/wf_utils.py +++ b/beeflow/wf_manager/resources/wf_utils.py @@ -9,6 +9,7 @@ from beeflow.common.config_driver import BeeConfig as bc from beeflow.common.gdb import neo4j_driver from beeflow.common.gdb.generate_graph import generate_viz +from beeflow.common.gdb.graphml_key_updater import update_graphml from beeflow.common.wf_interface import WorkflowInterface from beeflow.common.connection import Connection from beeflow.common import paths @@ -294,6 +295,7 @@ def export_dag(wf_id): """Export the DAG of the workflow.""" wfi = get_workflow_interface(wf_id) wfi.export_graphml() + update_graphml(wf_id) generate_viz(wf_id) From c8a976289f1d2c01e58168c1c165ea7fe2772c11 Mon Sep 17 00:00:00 2001 From: leahh Date: Thu, 12 Sep 2024 11:11:00 -0600 Subject: [PATCH 23/29] added hint and requirement nodes to generate_graph --- beeflow/common/gdb/generate_graph.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/beeflow/common/gdb/generate_graph.py b/beeflow/common/gdb/generate_graph.py index 1c261a0ac..f4a8921fb 100644 --- a/beeflow/common/gdb/generate_graph.py +++ b/beeflow/common/gdb/generate_graph.py @@ -10,8 +10,13 @@ dags_dir = os.path.join(bee_workdir, 'dags') graphmls_dir = dags_dir + "/graphmls" + def generate_viz(wf_id): - """Function to make the png.""" + """ + Generate a PNG of a workflow graph from a GraphML file. + This function reads a GraphML file, processes its nodes and edges into a Graphviz + directed graph, and saves the rendered PNG to the output path. + """ short_id = wf_id[:6] graphml_path = graphmls_dir + "/" + short_id + ".graphml" output_path = dags_dir + "/" + short_id @@ -29,7 +34,7 @@ def generate_viz(wf_id): node_label = "Workflow" color = 'steelblue' if label == ":Output": - node_label = node[1].get('glob', node_id) + node_label = node[1].get('value', node_id) color = 'mediumseagreen' if label == ":Metadata": node_label = node[1].get('state', node_id) @@ -40,6 +45,12 @@ def generate_viz(wf_id): if label == ":Input": node_label = node[1].get('source', node_id) color = 'sandybrown' + if label == ":Hint": + node_label = node[1].get('class', node_id) + color = 'plum' + if label == ":Requirement": + node_label = node[1].get('class', node_id) + color = 'lightpink1' dot.node(node_id, label=node_label, style='filled', fillcolor=color) From e506c690ed1e0c42dd958371fe2c497a9ad63219 Mon Sep 17 00:00:00 2001 From: leahh Date: Thu, 12 Sep 2024 11:27:56 -0600 Subject: [PATCH 24/29] fixed graphml_key_updater linting errors --- beeflow/common/gdb/graphml_key_updater.py | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/beeflow/common/gdb/graphml_key_updater.py b/beeflow/common/gdb/graphml_key_updater.py index 5c563ab79..70c8deba0 100644 --- a/beeflow/common/gdb/graphml_key_updater.py +++ b/beeflow/common/gdb/graphml_key_updater.py @@ -7,12 +7,10 @@ dags_dir = os.path.join(bee_workdir, 'dags') graphmls_dir = dags_dir + "/graphmls" -# Define the set of expected keys -expected_keys = {"id", "name", "state", "class", "type", "value", "source", - "workflow_id", "base_command", "stdout", "stderr", "default", +expected_keys = {"id", "name", "state", "class", "type", "value", "source", + "workflow_id", "base_command", "stdout", "stderr", "default", "prefix", "position", "value_from", "glob"} -# Default settings for missing keys default_key_definitions = { "id": {"for": "node", "attr.name": "id", "attr.type": "string"}, "name": {"for": "node", "attr.name": "name", "attr.type": "string"}, @@ -32,6 +30,7 @@ "glob": {"for": "node", "attr.name": "glob", "attr.type": "string"}, } + def update_graphml(wf_id): """Update GraphML file by ensuring required keys are present and updating its structure.""" short_id = wf_id[:6] @@ -40,26 +39,20 @@ def update_graphml(wf_id): tree = ET.parse(graphml_path) root = tree.getroot() - # GraphML namespace ns = {'graphml': 'http://graphml.graphdrawing.org/xmlns'} - - # Extract the defined keys (with namespace) defined_keys = {key.attrib['id'] for key in root.findall('graphml:key', ns)} - - # Find all data keys in the graph used_keys = {data.attrib['key'] for data in root.findall('.//graphml:data', ns)} - # Check for missing keys missing_keys = used_keys - defined_keys # Insert default key definitions for missing keys for missing_key in missing_keys: if missing_key in expected_keys: default_def = default_key_definitions[missing_key] - key_element = ET.Element(f'{{{ns["graphml"]}}}key', - id=missing_key, + key_element = ET.Element(f'{{{ns["graphml"]}}}key', + id=missing_key, **default_def) - root.insert(0, key_element) # Insert at the top of the file + root.insert(0, key_element) # Save the updated GraphML file by overwriting the original one tree.write(graphml_path, encoding='UTF-8', xml_declaration=True) From 647bf668f51b60127002d093d477c79016061ef4 Mon Sep 17 00:00:00 2001 From: leahh Date: Thu, 12 Sep 2024 11:29:10 -0600 Subject: [PATCH 25/29] refactored generate_graph to fix linting error C901 --- beeflow/common/gdb/generate_graph.py | 90 +++++++++++++++------------- 1 file changed, 49 insertions(+), 41 deletions(-) diff --git a/beeflow/common/gdb/generate_graph.py b/beeflow/common/gdb/generate_graph.py index f4a8921fb..e404bffbd 100644 --- a/beeflow/common/gdb/generate_graph.py +++ b/beeflow/common/gdb/generate_graph.py @@ -12,11 +12,7 @@ def generate_viz(wf_id): - """ - Generate a PNG of a workflow graph from a GraphML file. - This function reads a GraphML file, processes its nodes and edges into a Graphviz - directed graph, and saves the rendered PNG to the output path. - """ + """Generate a PNG of a workflow graph from a GraphML file.""" short_id = wf_id[:6] graphml_path = graphmls_dir + "/" + short_id + ".graphml" output_path = dags_dir + "/" + short_id @@ -24,47 +20,59 @@ def generate_viz(wf_id): # Load the GraphML file using NetworkX graph = nx.read_graphml(graphml_path) - # Create a new directed graph for Graphviz + # Initialize Graphviz graph dot = graphviz.Digraph(comment='Hierarchical Graph') - # Add nodes to the Graphviz graph - for node in graph.nodes(data=True): - node_id = node[0] - label = node[1].get('labels', node_id) - if label == ":Workflow": - node_label = "Workflow" - color = 'steelblue' - if label == ":Output": - node_label = node[1].get('value', node_id) - color = 'mediumseagreen' - if label == ":Metadata": - node_label = node[1].get('state', node_id) - color = 'skyblue' - if label == ":Task": - node_label = node[1].get('name', node_id) - color = 'lightcoral' - if label == ":Input": - node_label = node[1].get('source', node_id) - color = 'sandybrown' - if label == ":Hint": - node_label = node[1].get('class', node_id) - color = 'plum' - if label == ":Requirement": - node_label = node[1].get('class', node_id) - color = 'lightpink1' + # Add nodes and edges using helper functions + add_nodes_to_dot(graph, dot) + add_edges_to_dot(graph, dot) + + # Render the graph and save as PNG + png_data = dot.pipe(format='png') + with open(output_path + ".png", "wb") as png_file: + png_file.write(png_data) + + +def add_nodes_to_dot(graph, dot): + """Add nodes from the graph to the Graphviz object with labels and colors.""" + label_to_color = { + ":Workflow": 'steelblue', + ":Output": 'mediumseagreen', + ":Metadata": 'skyblue', + ":Task": 'lightcoral', + ":Input": 'sandybrown', + ":Hint": 'plum', + ":Requirement": 'lightpink1' + } + + for node_id, attributes in graph.nodes(data=True): + label = attributes.get('labels', node_id) + node_label, color = get_node_label_and_color(label, attributes, label_to_color) dot.node(node_id, label=node_label, style='filled', fillcolor=color) - # Add edges to the Graphviz graph - for edge in graph.edges(data=True): - source = edge[0] - target = edge[1] - edge_label = edge[2].get('label', '') + +def get_node_label_and_color(label, attributes, label_to_color): + """Return the appropriate node label and color based on node type.""" + if label == ":Workflow": + return "Workflow", label_to_color[label] + if label == ":Output": + return attributes.get('value', label), label_to_color[label] + if label == ":Metadata": + return attributes.get('state', label), label_to_color[label] + if label == ":Task": + return attributes.get('name', label), label_to_color[label] + if label == ":Input": + return attributes.get('source', label), label_to_color[label] + if label == ":Hint" or label == ":Requirement": + return attributes.get('class', label), label_to_color[label] + return label, 'gray' # Default color if label doesn't match + + +def add_edges_to_dot(graph, dot): + """Add edges from the graph to the Graphviz object with appropriate labels.""" + for source, target, attributes in graph.edges(data=True): + edge_label = attributes.get('label', '') if edge_label in ('INPUT_OF', 'DESCRIBES'): dot.edge(source, target, label=edge_label, fontsize="10") else: dot.edge(target, source, label=edge_label, fontsize="10") - - # Render the graph - png_data = dot.pipe(format='png') - with open(output_path + ".png", "wb") as png_file: - png_file.write(png_data) From d65a90fd7d0d3d72ce77cb706b845986066667ba Mon Sep 17 00:00:00 2001 From: leahh Date: Thu, 12 Sep 2024 11:43:33 -0600 Subject: [PATCH 26/29] fixed orientation of hint and requirement nodes in generate_graph --- beeflow/common/gdb/generate_graph.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/beeflow/common/gdb/generate_graph.py b/beeflow/common/gdb/generate_graph.py index e404bffbd..ce749b8de 100644 --- a/beeflow/common/gdb/generate_graph.py +++ b/beeflow/common/gdb/generate_graph.py @@ -72,7 +72,8 @@ def add_edges_to_dot(graph, dot): """Add edges from the graph to the Graphviz object with appropriate labels.""" for source, target, attributes in graph.edges(data=True): edge_label = attributes.get('label', '') - if edge_label in ('INPUT_OF', 'DESCRIBES'): + if edge_label in ('INPUT_OF', 'DESCRIBES', + 'HINT_OF', 'REQUIREMENT_OF'): dot.edge(source, target, label=edge_label, fontsize="10") else: dot.edge(target, source, label=edge_label, fontsize="10") From c2fe32d36037d52102bbfa5380d94d1a5b33ad6b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 12 Sep 2024 17:47:43 +0000 Subject: [PATCH 27/29] Updated coverage.svg --- coverage.svg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/coverage.svg b/coverage.svg index 012a8497e..a4262d340 100644 --- a/coverage.svg +++ b/coverage.svg @@ -15,7 +15,7 @@ coverage coverage - 70% - 70% + 69% + 69% From f09f3e1e6f943e530b1af5d337ad9de1b5e8b752 Mon Sep 17 00:00:00 2001 From: leahh Date: Thu, 12 Sep 2024 12:12:58 -0600 Subject: [PATCH 28/29] fixed generate_graph and graphml_key_updater linting errors --- beeflow/common/gdb/generate_graph.py | 32 ++++++++++++----------- beeflow/common/gdb/graphml_key_updater.py | 10 ++++--- 2 files changed, 23 insertions(+), 19 deletions(-) diff --git a/beeflow/common/gdb/generate_graph.py b/beeflow/common/gdb/generate_graph.py index ce749b8de..aa0cb73f8 100644 --- a/beeflow/common/gdb/generate_graph.py +++ b/beeflow/common/gdb/generate_graph.py @@ -53,27 +53,29 @@ def add_nodes_to_dot(graph, dot): def get_node_label_and_color(label, attributes, label_to_color): """Return the appropriate node label and color based on node type.""" - if label == ":Workflow": - return "Workflow", label_to_color[label] - if label == ":Output": - return attributes.get('value', label), label_to_color[label] - if label == ":Metadata": - return attributes.get('state', label), label_to_color[label] - if label == ":Task": - return attributes.get('name', label), label_to_color[label] - if label == ":Input": - return attributes.get('source', label), label_to_color[label] - if label == ":Hint" or label == ":Requirement": - return attributes.get('class', label), label_to_color[label] - return label, 'gray' # Default color if label doesn't match + label_to_attribute = { + ":Workflow": "Workflow", + ":Output": attributes.get('value', label), + ":Metadata": attributes.get('state', label), + ":Task": attributes.get('name', label), + ":Input": attributes.get('source', label), + ":Hint": attributes.get('class', label), + ":Requirement": attributes.get('class', label) + } + + # Check if the label is in the predefined labels + if label in label_to_attribute: + return label_to_attribute[label], label_to_color.get(label, 'gray') + + # Default case if no match + return label, 'gray' def add_edges_to_dot(graph, dot): """Add edges from the graph to the Graphviz object with appropriate labels.""" for source, target, attributes in graph.edges(data=True): edge_label = attributes.get('label', '') - if edge_label in ('INPUT_OF', 'DESCRIBES', - 'HINT_OF', 'REQUIREMENT_OF'): + if edge_label in ('INPUT_OF', 'DESCRIBES', 'HINT_OF', 'REQUIREMENT_OF'): dot.edge(source, target, label=edge_label, fontsize="10") else: dot.edge(target, source, label=edge_label, fontsize="10") diff --git a/beeflow/common/gdb/graphml_key_updater.py b/beeflow/common/gdb/graphml_key_updater.py index 70c8deba0..d18b95481 100644 --- a/beeflow/common/gdb/graphml_key_updater.py +++ b/beeflow/common/gdb/graphml_key_updater.py @@ -1,3 +1,5 @@ +"""Module to make sure all required keys are present.""" + import xml.etree.ElementTree as ET import os @@ -39,9 +41,9 @@ def update_graphml(wf_id): tree = ET.parse(graphml_path) root = tree.getroot() - ns = {'graphml': 'http://graphml.graphdrawing.org/xmlns'} - defined_keys = {key.attrib['id'] for key in root.findall('graphml:key', ns)} - used_keys = {data.attrib['key'] for data in root.findall('.//graphml:data', ns)} + name_space = {'graphml': 'http://graphml.graphdrawing.org/xmlns'} + defined_keys = {key.attrib['id'] for key in root.findall('graphml:key', name_space)} + used_keys = {data.attrib['key'] for data in root.findall('.//graphml:data', name_space)} missing_keys = used_keys - defined_keys @@ -49,7 +51,7 @@ def update_graphml(wf_id): for missing_key in missing_keys: if missing_key in expected_keys: default_def = default_key_definitions[missing_key] - key_element = ET.Element(f'{{{ns["graphml"]}}}key', + key_element = ET.Element(f'{{{name_space["graphml"]}}}key', id=missing_key, **default_def) root.insert(0, key_element) From fbd05a49a5e5943b2dd86957f45cb64fc714dc43 Mon Sep 17 00:00:00 2001 From: leahh Date: Fri, 13 Sep 2024 09:46:15 -0600 Subject: [PATCH 29/29] shortened id in secho statement and made text green --- beeflow/client/bee_client.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/beeflow/client/bee_client.py b/beeflow/client/bee_client.py index 338340a72..1dc03a9bb 100644 --- a/beeflow/client/bee_client.py +++ b/beeflow/client/bee_client.py @@ -628,7 +628,8 @@ def reexecute(wf_name: str = typer.Argument(..., help='The workflow name'), def dag(wf_id: str = typer.Argument(..., callback=match_short_id)): """Export a DAG of the workflow to a GraphML file.""" wf_utils.export_dag(wf_id) - typer.echo(f"DAG for workflow {wf_id} has been exported successfully.") + typer.secho(f"DAG for workflow {_short_id(wf_id)} has been exported successfully.", + fg=typer.colors.GREEN) @app.callback(invoke_without_command=True)