diff --git a/.github/workflows/continuous-integration.yaml b/.github/workflows/continuous-integration.yaml index 75cf9c355..0938a6b70 100644 --- a/.github/workflows/continuous-integration.yaml +++ b/.github/workflows/continuous-integration.yaml @@ -1,4 +1,4 @@ -name: concretefhe CI Pipeline +name: concrete-framework CI Pipeline on: pull_request: push: @@ -28,10 +28,10 @@ on: env: FORCE_REBUILD_DOCKER: ${{ (github.event_name == 'workflow_dispatch' && fromJSON(github.event.inputs.rebuild-env-docker)) || (github.event_name == 'repository_dispatch' && github.event.action == 'rebuild-env-docker') }} - ENV_DOCKERFILE: docker/Dockerfile.concretefhe-env - PREFLIGHT_IMAGE_BASE: ghcr.io/zama-ai/concretefhe-env:preflight - LATEST_IMAGE: ghcr.io/zama-ai/concretefhe-env:latest - BASE_IMAGE: ghcr.io/zama-ai/concretefhe-env + ENV_DOCKERFILE: docker/Dockerfile.concrete-framework-env + PREFLIGHT_IMAGE_BASE: ghcr.io/zama-ai/concrete-framework-env:preflight + LATEST_IMAGE: ghcr.io/zama-ai/concrete-framework-env:latest + BASE_IMAGE: ghcr.io/zama-ai/concrete-framework-env ACTION_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} IS_PR: ${{ github.event_name == 'pull_request' }} @@ -41,7 +41,7 @@ jobs: group: ${{ github.ref }} cancel-in-progress: true - name: Build & Push the concretefhe-env preflight Docker Image + name: Build & Push the concrete-framework-env preflight Docker Image runs-on: ubuntu-20.04 outputs: image: ${{ steps.set_image.outputs.image || env.LATEST_IMAGE }} @@ -91,7 +91,7 @@ jobs: echo "Docker image up to date." echo "BUILD_DOCKER=false" >> "$GITHUB_ENV" fi - # https://github.com/zama-ai/concretefhe-internal/issues/809 + # https://github.com/zama-ai/concrete-framework-internal/issues/809 # Remove gh_dl_release call once package is on PyPi - name: Set prefligh Docker image download compiler id: set_image @@ -124,7 +124,7 @@ jobs: registry: ghcr.io username: ${{ secrets.BOT_USERNAME }} password: ${{ secrets.BOT_TOKEN }} - - name: Build concretefhe-env Image + - name: Build concrete-framework-env Image if: ${{ success() && !cancelled() && fromJSON(env.BUILD_DOCKER) }} uses: docker/build-push-action@a66e35b9cbcf4ad0ea91ffcaf7bbad63ad9e0229 with: @@ -132,12 +132,12 @@ jobs: # builder: ${{ steps.buildx.outputs.name }} build-args: | WHEEL=${{ env.WHEEL }} - file: docker/Dockerfile.concretefhe-env + file: docker/Dockerfile.concrete-framework-env no-cache: true push: true tags: "${{ env.PREFLIGHT_IMAGE }}" labels: | - concretefhe_sha=${{ env.LABEL_SHA1 }} + concrete_framework_sha=${{ env.LABEL_SHA1 }} - name: Set notification report id: report if: ${{ always() }} @@ -447,7 +447,7 @@ jobs: echo "::set-output name=has-preprod::true" echo "::set-output name=aws-bucket::${{ secrets.AWS_REPO_PREPROD_DOCUMENTATION_BUCKET_NAME }}" echo "::set-output name=aws-distribution::${{ secrets.AWS_REPO_PREPROD_DOCUMENTATION_DISTRIBUTION_ID }}" - echo "::set-output name=dest-dir::concretefhe/${REF_NAME}" + echo "::set-output name=dest-dir::concrete-framework/${REF_NAME}" else echo "::set-output name=has-preprod::false" fi @@ -540,9 +540,9 @@ jobs: - name: Pull preflight image run: | docker pull "${PREFLIGHT_IMAGE}" - # https://github.com/zama-ai/concretefhe-internal/issues/809 + # https://github.com/zama-ai/concrete-framework-internal/issues/809 # update once release workflow is ok on the compiler side - - name: Retag to latest and concretefhe_compiler_version-concretefhe_sha1 and push + - name: Retag to latest and concrete_compiler_version-concrete_framework_sha1 and push run: | SHA1=$(git rev-parse HEAD) TAGGED_IMAGE="${BASE_IMAGE}:${COMPILER_TAG}-${SHA1}" @@ -588,7 +588,7 @@ jobs: runs-on: ubuntu-20.04 env: - RELEASE_IMAGE_BASE: ghcr.io/zama-ai/concretefhe + RELEASE_IMAGE_BASE: ghcr.io/zama-ai/concrete-framework steps: - uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 @@ -622,7 +622,7 @@ jobs: EXISTING_TAGS=$(curl \ -X GET \ -H "Authorization: Bearer $(echo ${{ secrets.BOT_TOKEN }} | base64)" \ - https://ghcr.io/v2/zama-ai/concretefhe/tags/list | jq -rc '.tags | join(" ")') + https://ghcr.io/v2/zama-ai/concrete-framework/tags/list | jq -rc '.tags | join(" ")') # We want the space separated list of versions to be expanded # shellcheck disable=SC2086 @@ -652,7 +652,7 @@ jobs: registry: ghcr.io username: ${{ secrets.BOT_USERNAME }} password: ${{ secrets.BOT_TOKEN }} - - name: Build concretefhe Image + - name: Build concrete-framework Image if: ${{ success() && !cancelled() }} uses: docker/build-push-action@a66e35b9cbcf4ad0ea91ffcaf7bbad63ad9e0229 with: @@ -734,7 +734,7 @@ jobs: aws s3api get-object \ --bucket ${{ steps.docs-push-infos.outputs.aws-bucket }} \ - --key concretefhe/versions.json "${DOWNLOADED_VERSIONS_JSON_FILE}" + --key concrete-framework/versions.json "${DOWNLOADED_VERSIONS_JSON_FILE}" # shellcheck disable=SC2086 poetry run python ./script/actions_utils/generate_versions_json.py \ @@ -769,7 +769,7 @@ jobs: cp ./script/actions_utils/RELEASE_TEMPLATE.md "${RELEASE_BODY_FILE}" { echo "Docker Image: ${RELEASE_IMG_GIT_TAG}"; - echo "Documentation: https://${{ steps.docs-push-infos.outputs.aws-bucket }}/concretefhe/${PROJECT_VERSION}"; + echo "Documentation: https://${{ steps.docs-push-infos.outputs.aws-bucket }}/concrete-framework/${PROJECT_VERSION}"; echo ""; } >> "${RELEASE_BODY_FILE}" cat "${RAW_CHANGELOG_DIR}"/* >> "${RELEASE_BODY_FILE}" @@ -782,7 +782,7 @@ jobs: env: AWS_S3_BUCKET: ${{ steps.docs-push-infos.outputs.aws-bucket }} SOURCE_DIR: ${{ steps.download-docs.outputs.download-path }} - DEST_DIR: 'concretefhe/${{ env.PROJECT_VERSION }}' + DEST_DIR: 'concrete-framework/${{ env.PROJECT_VERSION }}' run: | aws s3 sync "${SOURCE_DIR}" s3://"${AWS_S3_BUCKET}/${DEST_DIR}" --delete --acl public-read @@ -791,13 +791,13 @@ jobs: env: AWS_S3_BUCKET: ${{ steps.docs-push-infos.outputs.aws-bucket }} SOURCE_DIR: ${{ steps.download-docs.outputs.download-path }} - DEST_DIR: 'concretefhe/stable' + DEST_DIR: 'concrete-framework/stable' run: | aws s3 sync "${SOURCE_DIR}" s3://"${AWS_S3_BUCKET}/${DEST_DIR}" --delete --acl public-read - name: Invalidate CloudFront Cache for stable if: ${{ success() && !fromJSON(env.IS_PRERELEASE) && fromJSON(env.IS_LATEST) }} env: - SOURCE_PATH: "/concretefhe/stable/*" + SOURCE_PATH: "/concrete-framework/stable/*" DISTRIBUTION_ID: ${{ steps.docs-push-infos.outputs.aws-distribution }} run: | aws cloudfront create-invalidation \ @@ -815,16 +815,18 @@ jobs: tag_name: ${{ env.GIT_TAG }} fail_on_unmatched_files: true token: ${{ secrets.BOT_TOKEN }} + # TODO: https://github.com/zama-ai/concrete-framework-internal/issues/809 + # Remove versions.html - name: Push updated versions.html if: ${{ success() }} run: | aws s3 cp "${OUTPUT_VERSIONS_HTML_FILE}" \ - s3://${{ steps.docs-push-infos.outputs.aws-bucket }}/concretefhe/versions.html \ + s3://${{ steps.docs-push-infos.outputs.aws-bucket }}/concrete-framework/versions.html \ --acl public-read aws cloudfront create-invalidation \ --distribution-id ${{ steps.docs-push-infos.outputs.aws-distribution }} \ - --paths /concretefhe/versions.html + --paths /concrete-framework/versions.html - name: Set notification report id: report if: ${{ always() }} diff --git a/.github/workflows/package-watcher.yaml b/.github/workflows/package-watcher.yaml index b8022cbf8..bb4721fec 100644 --- a/.github/workflows/package-watcher.yaml +++ b/.github/workflows/package-watcher.yaml @@ -41,7 +41,7 @@ jobs: --compiler-release-endpoint-url \ https://api.github.com/repos/zama-ai/homomorphizer/releases \ --env_img_url \ - https://api.github.com/orgs/zama-ai/packages/container/concretefhe-env/versions \ + https://api.github.com/orgs/zama-ai/packages/container/concrete-framework-env/versions \ --file "${WHEEL_SPEC}" \ --token ${{ secrets.BOT_TOKEN }} \ --github-env "$GITHUB_ENV" diff --git a/Makefile b/Makefile index cfd49ff4d..19ed95450 100644 --- a/Makefile +++ b/Makefile @@ -1,9 +1,9 @@ SHELL:=/bin/bash -DEV_DOCKER_IMG:=concretefhe-dev -DEV_DOCKERFILE:=docker/Dockerfile.concretefhe-dev -DEV_CONTAINER_VENV_VOLUME:=concretefhe-internal-venv -DEV_CONTAINER_CACHE_VOLUME:=concretefhe-internal-cache +DEV_DOCKER_IMG:=concrete-framework-dev +DEV_DOCKERFILE:=docker/Dockerfile.concrete-framework-dev +DEV_CONTAINER_VENV_VOLUME:=concrete-framework-internal-venv +DEV_CONTAINER_CACHE_VOLUME:=concrete-framework-internal-cache SRC_DIR:=concrete .PHONY: setup_env # Set up the environment @@ -12,16 +12,16 @@ setup_env: poetry run python -m pip install -U --force-reinstall setuptools poetry install --extras full @# This is required to be friendly in the docker and on bare systems until the package is on pip - @# https://github.com/zama-ai/concretefhe-internal/issues/809 + @# https://github.com/zama-ai/concrete-framework-internal/issues/809 if [[ -d /pkg ]]; then \ NUM_PKG=$$(ls /pkg | wc -l); \ if [[ "$${NUM_PKG}" != "0" ]]; then \ poetry run python -m pip install --force-reinstall /pkg/*.whl; \ - poetry run python -m pip install --force-reinstall numpy==1.21.4; \ + poetry run python -m pip install --force-reinstall numpy==1.22.0; \ fi; \ fi @# we need to pin a specific version of numpy to avoid having license conflicts - @# see https://github.com/zama-ai/concretefhe-internal/runs/4455022611?check_suite_focus=true for details + @# see https://github.com/zama-ai/concrete-framework-internal/runs/4455022611?check_suite_focus=true for details .PHONY: sync_env # Synchronise the environment sync_env: diff --git a/README.md b/README.md index 6aeecb9b2..8a90099b5 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ -# concretefhe +# concrete-framework Concrete Framework Python API - collection of tools to FHE all the things -- [concretefhe](#concretefhe) +- [concrete-framework](#concrete-framework) - [For end users](#for-end-users) - [Using the project](#using-the-project) - [For developers](#for-developers) @@ -30,11 +30,11 @@ Information about how to use Docker for development are available in [DOCKER.md] ### Documenting -Some information about how to build the documentation of `concretefhe` are available in [DOCUMENTING.md](docs/dev/howto/DOCUMENTING.md). Notably, our documentation is pushed to [https://docs.zama.ai/concretefhe/](https://docs.zama.ai/concretefhe/). +Some information about how to build the documentation of `concrete-framework` are available in [DOCUMENTING.md](docs/dev/howto/DOCUMENTING.md). Notably, our documentation is pushed to [https://docs.zama.ai/concrete-framework/](https://docs.zama.ai/concrete-framework/). ### Developing -Some information about our terminology and the infrastructure of `concretefhe` are available in [TERMINOLOGY_AND_STRUCTURE.md](docs/dev/explanation/TERMINOLOGY_AND_STRUCTURE.md). An in-depth look at what is done in `concretefhe` is available in [COMPILATION.md](docs/dev/explanation/COMPILATION.md). +Some information about our terminology and the infrastructure of `concrete-framework` are available in [TERMINOLOGY_AND_STRUCTURE.md](docs/dev/explanation/TERMINOLOGY_AND_STRUCTURE.md). An in-depth look at what is done in `concrete-framework` is available in [COMPILATION.md](docs/dev/explanation/COMPILATION.md). ### Contributing diff --git a/concrete/common/bounds_measurement/inputset_eval.py b/concrete/common/bounds_measurement/inputset_eval.py index 92b61ec97..cfa41eb07 100644 --- a/concrete/common/bounds_measurement/inputset_eval.py +++ b/concrete/common/bounds_measurement/inputset_eval.py @@ -161,7 +161,7 @@ def eval_op_graph_bounds_on_inputset( def generate_input_values_dict(input_data) -> Dict[int, Any]: if num_input_nodes > 1: return dict(enumerate(input_data)) - # TODO: https://github.com/zama-ai/concretefhe-internal/issues/772 + # TODO: https://github.com/zama-ai/concrete-framework-internal/issues/772 # update this to support tuple in case of 1-input functions accepting tuples assert_true( not isinstance(input_data, tuple), diff --git a/concrete/common/debugging/drawing.py b/concrete/common/debugging/drawing.py index 86d1d634f..e08bdd85a 100644 --- a/concrete/common/debugging/drawing.py +++ b/concrete/common/debugging/drawing.py @@ -109,7 +109,8 @@ def draw_graph( err_msg = ( f"{draw_graph.__name__} requires pygraphviz, install your OS graphviz distribution " "https://pygraphviz.github.io/documentation/stable/install.html " - f"and reinstall with extras: `pip install --force-reinstall concretefhe[full]`" + "and reinstall with extras: `pip install --force-reinstall " + "concrete-framework[full]`" ) raise ImportError(err_msg) from e agraph.graph_attr["rankdir"] = "TB" if vertical else "LR" diff --git a/concrete/common/optimization/topological.py b/concrete/common/optimization/topological.py index 102821ddb..e2329a6ab 100644 --- a/concrete/common/optimization/topological.py +++ b/concrete/common/optimization/topological.py @@ -477,7 +477,7 @@ def subgraph_nodes_and_values_allow_fusing( # There *may* be a way to manage the other case by simulating the broadcast of the smaller input # array and then concatenating/stacking the results. This is not currently doable as we don't # have a concatenate operator on the compiler side. - # TODO: #587 https://github.com/zama-ai/concretefhe-internal/issues/587 + # TODO: #587 https://github.com/zama-ai/concrete-framework-internal/issues/587 variable_input_node_output = cast(TensorValue, variable_input_node.outputs[0]) variable_input_node_output_size, variable_input_node_output_shape = ( diff --git a/concrete/common/representation/intermediate.py b/concrete/common/representation/intermediate.py index 36c766006..e145d8200 100644 --- a/concrete/common/representation/intermediate.py +++ b/concrete/common/representation/intermediate.py @@ -318,8 +318,8 @@ class GenericFunction(IntermediateNode): op_attributes: Dict[str, Any] _n_in: int - # TODO: https://github.com/zama-ai/concretefhe-internal/issues/798 have a proper attribute - # system + # TODO: https://github.com/zama-ai/concrete-framework-internal/issues/798 have a proper + # attribute system DEFAULT_OP_ATTRIBUTES: Dict[str, Any] = {"fusable": True} KWARGS_IGNORED_IN_FORMATTING: Set[str] = { diff --git a/concrete/numpy/compile.py b/concrete/numpy/compile.py index fbcfe2f49..6ae36bb8d 100644 --- a/concrete/numpy/compile.py +++ b/concrete/numpy/compile.py @@ -523,9 +523,9 @@ def compile_numpy_function_into_op_graph_and_measure_bounds( # HACK -# TODO: remove this ugly hack when https://github.com/zama-ai/concretefhe-internal/issues/1001 is -# done -# TODO: https://github.com/zama-ai/concretefhe-internal/issues/1015 +# TODO: remove this ugly hack when +# https://github.com/zama-ai/concrete-framework-internal/issues/1001 is done +# TODO: https://github.com/zama-ai/concrete-framework-internal/issues/1015 def hack_offset_negative_inputs_to_lookup_tables(op_graph: OPGraph) -> None: """Hack the op_graph to add offsets to signed inputs to TLUs. @@ -605,9 +605,9 @@ def prepare_op_graph_for_mlir(op_graph: OPGraph): update_bit_width_for_mlir(op_graph) # HACK - # TODO: remove this ugly hack when https://github.com/zama-ai/concretefhe-internal/issues/1001 - # is done - # TODO: https://github.com/zama-ai/concretefhe-internal/issues/1015 + # TODO: remove this ugly hack when + # https://github.com/zama-ai/concrete-framework-internal/issues/1001 is done + # TODO: https://github.com/zama-ai/concrete-framework-internal/issues/1015 hack_offset_negative_inputs_to_lookup_tables(op_graph) diff --git a/concrete/numpy/tracing.py b/concrete/numpy/tracing.py index 727ed6e47..cecea4d4a 100644 --- a/concrete/numpy/tracing.py +++ b/concrete/numpy/tracing.py @@ -650,7 +650,7 @@ def _on_numpy_matmul(lhs: NPTracer, rhs: NPTracer): output_shape = common_output_dtypes_and_shapes[0][1] - # TODO: https://github.com/zama-ai/concretefhe-internal/issues/1174 + # TODO: https://github.com/zama-ai/concrete-framework-internal/issues/1174 # remove all the reshape logic once matmul supports more combinations of arguments if isinstance(lhs_output := lhs.output, TensorValue) and isinstance( rhs_output := rhs.output, TensorValue diff --git a/concrete/torch/compile.py b/concrete/torch/compile.py index b00459b54..8872cbbc4 100644 --- a/concrete/torch/compile.py +++ b/concrete/torch/compile.py @@ -1,6 +1,6 @@ """torch compilation function.""" -from typing import Iterable, Optional, Tuple, Union +from typing import Iterable, Optional, Union import numpy import torch @@ -9,8 +9,8 @@ from ..common.compilation import CompilationArtifacts, CompilationConfiguration from ..quantization import PostTrainingAffineQuantization, QuantizedArray, QuantizedModule from . import NumpyModule -TorchDataset = Union[Iterable[torch.Tensor], Iterable[Tuple[torch.Tensor, ...]]] -NPDataset = Union[Iterable[numpy.ndarray], Iterable[Tuple[numpy.ndarray, ...]]] +TorchDataset = Iterable[torch.Tensor] +NPDataset = Iterable[numpy.ndarray] def convert_torch_tensor_or_numpy_array_to_numpy_array( @@ -47,7 +47,7 @@ def compile_torch_model( Args: torch_model (torch.nn.Module): the model to quantize, torch_inputset (Union[TorchDataset, NPDataset]): the inputset, can contain either torch - tensors or numpy.ndarray or tuples of those for networks requiring multiple inputs + tensors or numpy.ndarray, only datasets with a single input are supported for now. function_parameters_encrypted_status (Dict[str, Union[str, EncryptedStatus]]): a dict with the name of the parameter and its encrypted status compilation_configuration (CompilationConfiguration): Configuration object to use @@ -66,15 +66,11 @@ def compile_torch_model( numpy_model = NumpyModule(torch_model) # Torch input to numpy - numpy_inputset = ( - tuple(convert_torch_tensor_or_numpy_array_to_numpy_array(val) for val in input_) - if isinstance(input_, tuple) - else convert_torch_tensor_or_numpy_array_to_numpy_array(input_) - for input_ in torch_inputset - ) - numpy_inputset_as_single_array = numpy.concatenate( - tuple(numpy.expand_dims(arr, 0) for arr in numpy_inputset) + tuple( + numpy.expand_dims(convert_torch_tensor_or_numpy_array_to_numpy_array(input_), 0) + for input_ in torch_inputset + ) ) # Quantize with post-training static method, to have a model with integer weights diff --git a/concrete/torch/numpy_module.py b/concrete/torch/numpy_module.py index 717b2399b..349062822 100644 --- a/concrete/torch/numpy_module.py +++ b/concrete/torch/numpy_module.py @@ -45,7 +45,7 @@ class NumpyModule: self.numpy_module_dict[name] = params.T if "weight" in name else params def __call__(self, x: numpy.ndarray): - """Return the function to be compiled by concretefhe.numpy.""" + """Return the function to be compiled.""" return self.forward(x) def forward(self, x: numpy.ndarray) -> numpy.ndarray: diff --git a/docker/Dockerfile.concretefhe-dev b/docker/Dockerfile.concrete-framework-dev similarity index 97% rename from docker/Dockerfile.concretefhe-dev rename to docker/Dockerfile.concrete-framework-dev index fc78f8a56..163328cb7 100644 --- a/docker/Dockerfile.concretefhe-dev +++ b/docker/Dockerfile.concrete-framework-dev @@ -1,4 +1,4 @@ -FROM ghcr.io/zama-ai/concretefhe-env +FROM ghcr.io/zama-ai/concrete-framework-env ENV SRC_DIR=/src diff --git a/docker/Dockerfile.concretefhe-env b/docker/Dockerfile.concrete-framework-env similarity index 92% rename from docker/Dockerfile.concretefhe-env rename to docker/Dockerfile.concrete-framework-env index fc478296b..706ba1bc5 100644 --- a/docker/Dockerfile.concretefhe-env +++ b/docker/Dockerfile.concrete-framework-env @@ -3,7 +3,7 @@ FROM ubuntu:20.04 # Do not change the line below it will be updated automatically when the docker is regenerated # compiler timestamp: 2021-12-22T10:49:30Z -# Remove once compiler is on PyPi https://github.com/zama-ai/concretefhe-internal/issues/809 +# Remove once compiler is on PyPi https://github.com/zama-ai/concrete-framework-internal/issues/809 ARG WHEEL ENV TZ=Europe/Paris RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone @@ -27,6 +27,6 @@ RUN apt-get update && apt-get upgrade --no-install-recommends -y && \ pip install --no-cache-dir --upgrade pip && \ pip install --no-cache-dir poetry -# Remove once compiler is on PyPi https://github.com/zama-ai/concretefhe-internal/issues/809 +# Remove once compiler is on PyPi https://github.com/zama-ai/concrete-framework-internal/issues/809 WORKDIR /pkg COPY pkg/${WHEEL} . diff --git a/docker/Dockerfile.concretefhe-env.dockerignore b/docker/Dockerfile.concrete-framework-env.dockerignore similarity index 100% rename from docker/Dockerfile.concretefhe-env.dockerignore rename to docker/Dockerfile.concrete-framework-env.dockerignore diff --git a/docker/build_release_image.sh b/docker/build_release_image.sh index 8ad9c8677..28780408b 100755 --- a/docker/build_release_image.sh +++ b/docker/build_release_image.sh @@ -2,4 +2,4 @@ CURR_DIR=$(dirname "$0") DOCKER_BUILDKIT=1 docker build --pull --no-cache -f "$CURR_DIR/Dockerfile.release" \ --t concretefhe-release "$CURR_DIR/.." +-t concrete-framework-release "$CURR_DIR/.." diff --git a/docs/conf.py b/docs/conf.py index f5df8826f..1e6f1fa34 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -21,7 +21,7 @@ project = 'Concrete Framework' copyright = '2021, Zama' author = 'Zama' description = 'Zama Concrete Framework' -root_url = os.environ.get("DOC_ROOT_URL", "/concretefhe") +root_url = os.environ.get("DOC_ROOT_URL", "/concrete-framework") root_url = root_url if root_url.endswith('/') else root_url + '/' # The full version, including alpha/beta/rc tags @@ -71,7 +71,7 @@ html_theme = 'sphinx_zama_theme' # so a file named "default.css" will overwrite the builtin "default.css". html_static_path = ['_static'] html_theme_options = { - "github_url": "https://github.com/zama-ai/concretefhe", + "github_url": "https://github.com/zama-ai/concrete-framework", "twitter_url": "https://twitter.com/zama_fhe", "icon_links": [{ "name": "Discourse", diff --git a/docs/dev/explanation/compilation.md b/docs/dev/explanation/compilation.md index 454e93dd2..57e3dbd59 100644 --- a/docs/dev/explanation/compilation.md +++ b/docs/dev/explanation/compilation.md @@ -1,8 +1,8 @@ # Compilation Pipeline In Depth -## What is **concretefhe**? +## What is **concrete-framework**? -**concretefhe** is the python API of the **Concrete** framework for developing homomorphic applications. +**concrete-framework** is the python API of the **Concrete** framework for developing homomorphic applications. One of its essential functionalities is to transform Python functions to their `MLIR` equivalent. Unfortunately, not all python functions can be converted due to the limits of current product (we are in the alpha stage), or sometimes due to inherent restrictions of FHE itself. However, you can already build interesting and impressing use cases, and more will be available in further versions of the framework. diff --git a/docs/dev/explanation/terminology_and_structure.md b/docs/dev/explanation/terminology_and_structure.md index 5569e5d9c..2172365f5 100644 --- a/docs/dev/explanation/terminology_and_structure.md +++ b/docs/dev/explanation/terminology_and_structure.md @@ -19,7 +19,7 @@ In this section we will go over some terms that we use throughout the project. ## Module structure -In this section, we will discuss the module structure of **concretefhe** briefly. You are encouraged to check individual `.py` files to learn more! +In this section, we will discuss the module structure of **concrete-framework** briefly. You are encouraged to check individual `.py` files to learn more! - concrete - common: types and utilities that can be used by multiple frontends (e.g., numpy, torch) diff --git a/docs/dev/howto/contributing.md b/docs/dev/howto/contributing.md index 01cface89..1032aa4bb 100644 --- a/docs/dev/howto/contributing.md +++ b/docs/dev/howto/contributing.md @@ -2,7 +2,7 @@ # Contributing ```{important} -There are two ways to contribute to **concretefhe**: +There are two ways to contribute to **concrete-framework**: - you can open issues to report bugs, typos and suggest ideas - you can ask to become an official contributor by emailing hello@zama.ai. Only approved contributors can send pull requests, so please make sure to get in touch before you do! ``` @@ -28,7 +28,7 @@ git checkout -b fix/tracing_indexing_42 ### Conformance -Each commit to **concretefhe** should be conformant to the standards decided by the team. Conformance can be checked using the following command. +Each commit to **concrete-framework** should be conformant to the standards decided by the team. Conformance can be checked using the following command. ```shell make pcc diff --git a/docs/dev/howto/project_setup.md b/docs/dev/howto/project_setup.md index a42cfa48d..3d8204ba8 100644 --- a/docs/dev/howto/project_setup.md +++ b/docs/dev/howto/project_setup.md @@ -1,16 +1,16 @@ # Project Setup ```{note} -It is strongly recommended to use the development docker (see the [docker](./docker.md) guide). However you can setup the project on bare macOS and Linux provided you install the required dependencies (check Dockerfile.concretefhe-env for the required binary packages like make). +It is strongly recommended to use the development docker (see the [docker](./docker.md) guide). However you can setup the project on bare macOS and Linux provided you install the required dependencies (check Dockerfile.concrete-framework-env for the required binary packages like make). -The project targets Python 3.8 through 3.10 inclusive. +The project targets Python 3.8 through 3.9 inclusive. ``` ## Installing Python -**concretefhe** is a `Python` library, so `Python` should be installed to develop **concretefhe**. `v3.8`, `v3.9` and `v3.10` are the only supported versions. +**concrete-framework** is a `Python` library, so `Python` should be installed to develop **concrete-framework**. `v3.8` and `v3.9` are the only supported versions. -You can follow [this](https://realpython.com/installing-python/) guide to install it (alternatively you can google `how to install python 3.8 (or 3.9, 3.10)`). +You can follow [this](https://realpython.com/installing-python/) guide to install it (alternatively you can google `how to install python 3.8 (or 3.9)`). ## Installing Poetry @@ -45,10 +45,10 @@ In the following sections, be sure to use the proper `make` tool for your system ## Cloning repository -Now, it's time to get the source code of **concretefhe**. You can use the following command to do that. +Now, it's time to get the source code of **concrete-framework**. You can use the following command to do that. ```shell -git clone https://github.com/zama-ai/concretefhe-internal.git +git clone https://github.com/zama-ai/concrete-framework-internal.git ``` ## Setting up environment on your host OS @@ -56,7 +56,7 @@ git clone https://github.com/zama-ai/concretefhe-internal.git We are going to make use of virtual environments. This helps to keep the project isolated from other `Python` projects in the system. The following commands will create a new virtual environment under the project directory and install dependencies to it. ```shell -cd concretefhe-internal +cd concrete-framework-internal make setup_env ``` diff --git a/docs/dev/howto/releasing.md b/docs/dev/howto/releasing.md index 98955c483..453e08a91 100644 --- a/docs/dev/howto/releasing.md +++ b/docs/dev/howto/releasing.md @@ -2,8 +2,8 @@ ## Release Candidate cycle -Before settling for a final release, we go through a Release Candidate (RC) cycle. The idea is that once the code base and documentations look ready for a release you create an RC Release by opening an issue with the release template [here](https://github.com/zama-ai/concretefhe-internal/issues/new?assignees=&labels=&template=release.md), starting with version `vX.Y.Zrc1` and then with versions `vX.Y.Zrc2`, `vX.Y.Zrc3`... +Before settling for a final release, we go through a Release Candidate (RC) cycle. The idea is that once the code base and documentations look ready for a release you create an RC Release by opening an issue with the release template [here](https://github.com/zama-ai/concrete-framework-internal/issues/new?assignees=&labels=&template=release.md), starting with version `vX.Y.Zrc1` and then with versions `vX.Y.Zrc2`, `vX.Y.Zrc3`... ## Proper release -Once the last RC is deemed ready, open an issue with the release template using the last RC version from which you remove the `rc?` part (i.e. `v12.67.19` if your last RC version was `v12.67.19-rc4`) on [github](https://github.com/zama-ai/concretefhe-internal/issues/new?assignees=&labels=&template=release.md). +Once the last RC is deemed ready, open an issue with the release template using the last RC version from which you remove the `rc?` part (i.e. `v12.67.19` if your last RC version was `v12.67.19-rc4`) on [github](https://github.com/zama-ai/concrete-framework-internal/issues/new?assignees=&labels=&template=release.md). diff --git a/docs/user/basics/installing.md b/docs/user/basics/installing.md index 1d2d0a08e..5a8db24e5 100644 --- a/docs/user/basics/installing.md +++ b/docs/user/basics/installing.md @@ -5,11 +5,11 @@ To install **Concrete** from PyPi, run the following: ```shell -pip install concretefhe +pip install concrete-framework ``` ```{note} -Note that **concretefhe** has `pygraphviz` as an optional dependency to draw graphs. +Note that **concrete-framework** has `pygraphviz` as an optional dependency to draw graphs. ``` ```{WARNING} @@ -24,19 +24,19 @@ Do check =2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" [[package]] name = "attrs" -version = "21.2.0" +version = "21.4.0" description = "Classes Without Boilerplate" category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" [package.extras] -dev = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface", "furo", "sphinx", "sphinx-notfound-page", "pre-commit"] +dev = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface", "furo", "sphinx", "sphinx-notfound-page", "pre-commit", "cloudpickle"] docs = ["furo", "sphinx", "zope.interface", "sphinx-notfound-page"] -tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface"] -tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins"] +tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface", "cloudpickle"] +tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "cloudpickle"] [[package]] name = "babel" @@ -128,10 +128,7 @@ mypy-extensions = ">=0.4.3" pathspec = ">=0.9.0,<1" platformdirs = ">=2" tomli = ">=0.2.6,<2.0.0" -typing-extensions = [ - {version = ">=3.10.0.0", markers = "python_version < \"3.10\""}, - {version = "!=3.10.0.1", markers = "python_version >= \"3.10\""}, -] +typing-extensions = ">=3.10.0.0" [package.extras] colorama = ["colorama (>=0.4.3)"] @@ -376,7 +373,7 @@ dev = ["coverage", "hypothesis", "hypothesmith (>=0.2)", "pre-commit"] [[package]] name = "fonttools" -version = "4.28.3" +version = "4.28.5" description = "Tools to manipulate font files" category = "main" optional = false @@ -454,11 +451,11 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" [[package]] name = "importlib-metadata" -version = "4.8.2" +version = "4.10.0" description = "Read metadata from Python packages" category = "dev" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" [package.dependencies] zipp = ">=0.5" @@ -466,7 +463,7 @@ zipp = ">=0.5" [package.extras] docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"] perf = ["ipython"] -testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "packaging", "pep517", "pyfakefs", "flufl.flake8", "pytest-perf (>=0.9.2)", "pytest-black (>=0.3.7)", "pytest-mypy", "importlib-resources (>=1.3)"] +testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "packaging", "pyfakefs", "flufl.flake8", "pytest-perf (>=0.9.2)", "pytest-black (>=0.3.7)", "pytest-mypy", "importlib-resources (>=1.3)"] [[package]] name = "importlib-resources" @@ -644,7 +641,7 @@ python-versions = ">=3.6" [[package]] name = "jsonschema" -version = "4.3.0" +version = "4.3.3" description = "An implementation of JSON Schema validation for Python" category = "dev" optional = false @@ -747,11 +744,11 @@ python-versions = ">=3.6" [[package]] name = "keyring" -version = "23.4.0" +version = "23.5.0" description = "Store and access your passwords safely." category = "dev" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" [package.dependencies] importlib-metadata = ">=3.6" @@ -1100,11 +1097,11 @@ test = ["pytest", "coverage", "requests", "nbval", "selenium", "pytest-cov", "re [[package]] name = "numpy" -version = "1.21.4" +version = "1.22.0" description = "NumPy is the fundamental package for array computing with Python." category = "main" optional = false -python-versions = ">=3.7,<3.11" +python-versions = ">=3.8" [[package]] name = "packageurl-python" @@ -1141,7 +1138,6 @@ numpy = [ {version = ">=1.17.3", markers = "platform_machine != \"aarch64\" and platform_machine != \"arm64\" and python_version < \"3.10\""}, {version = ">=1.19.2", markers = "platform_machine == \"aarch64\" and python_version < \"3.10\""}, {version = ">=1.20.0", markers = "platform_machine == \"arm64\" and python_version < \"3.10\""}, - {version = ">=1.21.0", markers = "python_version >= \"3.10\""}, ] python-dateutil = ">=2.7.3" pytz = ">=2017.3" @@ -1260,11 +1256,11 @@ testing = ["coverage", "nose"] [[package]] name = "platformdirs" -version = "2.4.0" +version = "2.4.1" description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." category = "dev" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" [package.extras] docs = ["Sphinx (>=4)", "furo (>=2021.7.5b38)", "proselint (>=0.10.2)", "sphinx-autodoc-typehints (>=1.12)"] @@ -1314,7 +1310,7 @@ wcwidth = "*" [[package]] name = "psutil" -version = "5.8.0" +version = "5.9.0" description = "Cross-platform lib for process and system monitoring in Python." category = "dev" optional = false @@ -1373,7 +1369,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" [[package]] name = "pydantic" -version = "1.8.2" +version = "1.9.0" description = "Data validation and settings management using python 3.6 type hinting" category = "dev" optional = false @@ -1410,7 +1406,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" [[package]] name = "pygments" -version = "2.10.0" +version = "2.11.1" description = "Pygments is a syntax highlighting package written in Python." category = "dev" optional = false @@ -1634,7 +1630,7 @@ python-versions = "*" [[package]] name = "pywin32" -version = "302" +version = "303" description = "Python for Window Extensions" category = "dev" optional = false @@ -1700,11 +1696,17 @@ test = ["flaky", "pytest", "pytest-qt"] [[package]] name = "qtpy" -version = "1.11.3" -description = "Provides an abstraction layer on top of the various Qt bindings (PyQt5, PyQt4 and PySide) and additional custom QWidgets." +version = "2.0.0" +description = "Provides an abstraction layer on top of the various Qt bindings (PyQt5/6 and PySide2/6)." category = "dev" optional = false -python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*" +python-versions = ">=3.6" + +[package.dependencies] +packaging = "*" + +[package.extras] +test = ["pytest (>=6.0.0,<7.0)", "pytest-cov (>=2.11.0)"] [[package]] name = "readme-renderer" @@ -1724,7 +1726,7 @@ md = ["cmarkgfm (>=0.5.0,<0.7.0)"] [[package]] name = "requests" -version = "2.26.0" +version = "2.27.0" description = "Python HTTP for Humans." category = "dev" optional = false @@ -2080,7 +2082,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" [[package]] name = "torch" -version = "1.10.0" +version = "1.10.1" description = "Tensors and Dynamic neural networks in Python with strong GPU acceleration" category = "main" optional = false @@ -2145,7 +2147,7 @@ tqdm = ">=4.14" [[package]] name = "types-setuptools" -version = "57.4.4" +version = "57.4.5" description = "Typing stubs for setuptools" category = "dev" optional = false @@ -2228,15 +2230,15 @@ python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" [[package]] name = "zipp" -version = "3.6.0" +version = "3.7.0" description = "Backport of pathlib-compatible object wrapper for zip files" category = "dev" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" [package.extras] docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"] -testing = ["pytest (>=4.6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "jaraco.itertools", "func-timeout", "pytest-black (>=0.3.7)", "pytest-mypy"] +testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "jaraco.itertools", "func-timeout", "pytest-black (>=0.3.7)", "pytest-mypy"] [extras] extras = ["pygraphviz"] @@ -2244,8 +2246,8 @@ full = ["pygraphviz"] [metadata] lock-version = "1.1" -python-versions = ">=3.8,<3.11" -content-hash = "a65fc210c558f583f6bc0dc3c1ebe6f768ed51c38a074952b61cea66fc1b4181" +python-versions = ">=3.8,<3.10" +content-hash = "2ce4daeb16628c833d97527e34108b84bce5c5167d6a6a78d62517bcbb5938bc" [metadata.files] alabaster = [ @@ -2292,8 +2294,8 @@ atomicwrites = [ {file = "atomicwrites-1.4.0.tar.gz", hash = "sha256:ae70396ad1a434f9c7046fd2dd196fc04b12f9e91ffb859164193be8b6168a7a"}, ] attrs = [ - {file = "attrs-21.2.0-py2.py3-none-any.whl", hash = "sha256:149e90d6d8ac20db7a955ad60cf0e6881a3f20d37096140088356da6c716b0b1"}, - {file = "attrs-21.2.0.tar.gz", hash = "sha256:ef6aaac3ca6cd92904cdd0d83f629a15f18053ec84e6432106f7a4d04ae4f5fb"}, + {file = "attrs-21.4.0-py2.py3-none-any.whl", hash = "sha256:2d27e3784d7a565d36ab851fe94887c5eccd6a463168875832a1be79c82828b4"}, + {file = "attrs-21.4.0.tar.gz", hash = "sha256:626ba8234211db98e869df76230a137c4c40a12d72445c45d5f5b716f076e2fd"}, ] babel = [ {file = "Babel-2.9.1-py2.py3-none-any.whl", hash = "sha256:ab49e12b91d937cd11f0b67cb259a57ab4ad2b59ac7a3b41d6c06c0ac5b0def9"}, @@ -2525,8 +2527,8 @@ flake8-bugbear = [ {file = "flake8_bugbear-21.11.29-py36.py37.py38-none-any.whl", hash = "sha256:179e41ddae5de5e3c20d1f61736feeb234e70958fbb56ab3c28a67739c8e9a82"}, ] fonttools = [ - {file = "fonttools-4.28.3-py3-none-any.whl", hash = "sha256:ca6ecc67e5a5620d31754f92147f22f48fd5461fd3fafe6afe031aa9ee079b0f"}, - {file = "fonttools-4.28.3.zip", hash = "sha256:edb48922873d3fda489ab400bd40888ac239ae8070b53f494b839bcdff0d01f6"}, + {file = "fonttools-4.28.5-py3-none-any.whl", hash = "sha256:edf251d5d2cc0580d5f72de4621c338d8c66c5f61abb50cf486640f73c8194d5"}, + {file = "fonttools-4.28.5.zip", hash = "sha256:545c05d0f7903a863c2020e07b8f0a57517f2c40d940bded77076397872d14ca"}, ] gitdb = [ {file = "gitdb-4.0.9-py3-none-any.whl", hash = "sha256:8033ad4e853066ba6ca92050b9df2f89301b8fc8bf7e9324d412a63f8bf1a8fd"}, @@ -2549,8 +2551,8 @@ imagesize = [ {file = "imagesize-1.3.0.tar.gz", hash = "sha256:cd1750d452385ca327479d45b64d9c7729ecf0b3969a58148298c77092261f9d"}, ] importlib-metadata = [ - {file = "importlib_metadata-4.8.2-py3-none-any.whl", hash = "sha256:53ccfd5c134223e497627b9815d5030edf77d2ed573922f7a0b8f8bb81a1c100"}, - {file = "importlib_metadata-4.8.2.tar.gz", hash = "sha256:75bdec14c397f528724c1bfd9709d660b33a4d2e77387a3358f20b848bb5e5fb"}, + {file = "importlib_metadata-4.10.0-py3-none-any.whl", hash = "sha256:b7cf7d3fef75f1e4c80a96ca660efbd51473d7e8f39b5ab9210febc7809012a4"}, + {file = "importlib_metadata-4.10.0.tar.gz", hash = "sha256:92a8b58ce734b2a4494878e0ecf7d79ccd7a128b5fc6014c401e0b61f006f0f6"}, ] importlib-resources = [ {file = "importlib_resources-5.4.0-py3-none-any.whl", hash = "sha256:33a95faed5fc19b4bc16b29a6eeae248a3fe69dd55d4d229d2b480e23eeaad45"}, @@ -2602,8 +2604,8 @@ joblib = [ {file = "joblib-1.1.0.tar.gz", hash = "sha256:4158fcecd13733f8be669be0683b96ebdbbd38d23559f54dca7205aea1bf1e35"}, ] jsonschema = [ - {file = "jsonschema-4.3.0-py3-none-any.whl", hash = "sha256:ab7069946a3ad2037e79a5cdc8d0e9a74cd00721d426d75c5d69a6707c778218"}, - {file = "jsonschema-4.3.0.tar.gz", hash = "sha256:cb7f57b40f870409d7571844d0623f66d8078c90a9c255d9a4d4314b5ec3fc7c"}, + {file = "jsonschema-4.3.3-py3-none-any.whl", hash = "sha256:eb7a69801beb7325653aa8fd373abbf9ff8f85b536ab2812e5e8287b522fb6a2"}, + {file = "jsonschema-4.3.3.tar.gz", hash = "sha256:f210d4ce095ed1e8af635d15c8ee79b586f656ab54399ba87b8ab87e5bff0ade"}, ] jupyter = [ {file = "jupyter-1.0.0-py2.py3-none-any.whl", hash = "sha256:5b290f93b98ffbc21c0c7e749f054b3267782166d72fa5e3ed1ed4eaf34a2b78"}, @@ -2631,8 +2633,8 @@ jupyterlab-widgets = [ {file = "jupyterlab_widgets-1.0.2.tar.gz", hash = "sha256:7885092b2b96bf189c3a705cc3c412a4472ec5e8382d0b47219a66cccae73cfa"}, ] keyring = [ - {file = "keyring-23.4.0-py3-none-any.whl", hash = "sha256:3dc0f66062a4f8f6f2ce30d6a516e6e623e6c3c2e76864204ceaf64695408f07"}, - {file = "keyring-23.4.0.tar.gz", hash = "sha256:88f206024295e3c6fb16bb0a60fb4bb7ec1185629dc5a729f12aa7c236d01387"}, + {file = "keyring-23.5.0-py3-none-any.whl", hash = "sha256:b0d28928ac3ec8e42ef4cc227822647a19f1d544f21f96457965dc01cf555261"}, + {file = "keyring-23.5.0.tar.gz", hash = "sha256:9012508e141a80bd1c0b6778d5c610dd9f8c464d75ac6774248500503f972fb9"}, ] kiwisolver = [ {file = "kiwisolver-1.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:1d819553730d3c2724582124aee8a03c846ec4362ded1034c16fb3ef309264e6"}, @@ -2957,36 +2959,28 @@ notebook = [ {file = "notebook-6.4.6.tar.gz", hash = "sha256:7bcdf79bd1cda534735bd9830d2cbedab4ee34d8fe1df6e7b946b3aab0902ba3"}, ] numpy = [ - {file = "numpy-1.21.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8890b3360f345e8360133bc078d2dacc2843b6ee6059b568781b15b97acbe39f"}, - {file = "numpy-1.21.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:69077388c5a4b997442b843dbdc3a85b420fb693ec8e33020bb24d647c164fa5"}, - {file = "numpy-1.21.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e89717274b41ebd568cd7943fc9418eeb49b1785b66031bc8a7f6300463c5898"}, - {file = "numpy-1.21.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0b78ecfa070460104934e2caf51694ccd00f37d5e5dbe76f021b1b0b0d221823"}, - {file = "numpy-1.21.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:615d4e328af7204c13ae3d4df7615a13ff60a49cb0d9106fde07f541207883ca"}, - {file = "numpy-1.21.4-cp310-cp310-win_amd64.whl", hash = "sha256:1403b4e2181fc72664737d848b60e65150f272fe5a1c1cbc16145ed43884065a"}, - {file = "numpy-1.21.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:74b85a17528ca60cf98381a5e779fc0264b4a88b46025e6bcbe9621f46bb3e63"}, - {file = "numpy-1.21.4-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:92aafa03da8658609f59f18722b88f0a73a249101169e28415b4fa148caf7e41"}, - {file = "numpy-1.21.4-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:5d95668e727c75b3f5088ec7700e260f90ec83f488e4c0aaccb941148b2cd377"}, - {file = "numpy-1.21.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f5162ec777ba7138906c9c274353ece5603646c6965570d82905546579573f73"}, - {file = "numpy-1.21.4-cp37-cp37m-win32.whl", hash = "sha256:81225e58ef5fce7f1d80399575576fc5febec79a8a2742e8ef86d7b03beef49f"}, - {file = "numpy-1.21.4-cp37-cp37m-win_amd64.whl", hash = "sha256:32fe5b12061f6446adcbb32cf4060a14741f9c21e15aaee59a207b6ce6423469"}, - {file = "numpy-1.21.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:c449eb870616a7b62e097982c622d2577b3dbc800aaf8689254ec6e0197cbf1e"}, - {file = "numpy-1.21.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2e4ed57f45f0aa38beca2a03b6532e70e548faf2debbeb3291cfc9b315d9be8f"}, - {file = "numpy-1.21.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:1247ef28387b7bb7f21caf2dbe4767f4f4175df44d30604d42ad9bd701ebb31f"}, - {file = "numpy-1.21.4-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:34f3456f530ae8b44231c63082c8899fe9c983fd9b108c997c4b1c8c2d435333"}, - {file = "numpy-1.21.4-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:4c9c23158b87ed0e70d9a50c67e5c0b3f75bcf2581a8e34668d4e9d7474d76c6"}, - {file = "numpy-1.21.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e4799be6a2d7d3c33699a6f77201836ac975b2e1b98c2a07f66a38f499cb50ce"}, - {file = "numpy-1.21.4-cp38-cp38-win32.whl", hash = "sha256:bc988afcea53e6156546e5b2885b7efab089570783d9d82caf1cfd323b0bb3dd"}, - {file = "numpy-1.21.4-cp38-cp38-win_amd64.whl", hash = "sha256:170b2a0805c6891ca78c1d96ee72e4c3ed1ae0a992c75444b6ab20ff038ba2cd"}, - {file = "numpy-1.21.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:fde96af889262e85aa033f8ee1d3241e32bf36228318a61f1ace579df4e8170d"}, - {file = "numpy-1.21.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c885bfc07f77e8fee3dc879152ba993732601f1f11de248d4f357f0ffea6a6d4"}, - {file = "numpy-1.21.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9e6f5f50d1eff2f2f752b3089a118aee1ea0da63d56c44f3865681009b0af162"}, - {file = "numpy-1.21.4-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:ad010846cdffe7ec27e3f933397f8a8d6c801a48634f419e3d075db27acf5880"}, - {file = "numpy-1.21.4-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:c74c699b122918a6c4611285cc2cad4a3aafdb135c22a16ec483340ef97d573c"}, - {file = "numpy-1.21.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9864424631775b0c052f3bd98bc2712d131b3e2cd95d1c0c68b91709170890b0"}, - {file = "numpy-1.21.4-cp39-cp39-win32.whl", hash = "sha256:b1e2312f5b8843a3e4e8224b2b48fe16119617b8fc0a54df8f50098721b5bed2"}, - {file = "numpy-1.21.4-cp39-cp39-win_amd64.whl", hash = "sha256:e3c3e990274444031482a31280bf48674441e0a5b55ddb168f3a6db3e0c38ec8"}, - {file = "numpy-1.21.4-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a3deb31bc84f2b42584b8c4001c85d1934dbfb4030827110bc36bfd11509b7bf"}, - {file = "numpy-1.21.4.zip", hash = "sha256:e6c76a87633aa3fa16614b61ccedfae45b91df2767cf097aa9c933932a7ed1e0"}, + {file = "numpy-1.22.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3d22662b4b10112c545c91a0741f2436f8ca979ab3d69d03d19322aa970f9695"}, + {file = "numpy-1.22.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:11a1f3816ea82eed4178102c56281782690ab5993251fdfd75039aad4d20385f"}, + {file = "numpy-1.22.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5dc65644f75a4c2970f21394ad8bea1a844104f0fe01f278631be1c7eae27226"}, + {file = "numpy-1.22.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42c16cec1c8cf2728f1d539bd55aaa9d6bb48a7de2f41eb944697293ef65a559"}, + {file = "numpy-1.22.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a97e82c39d9856fe7d4f9b86d8a1e66eff99cf3a8b7ba48202f659703d27c46f"}, + {file = "numpy-1.22.0-cp310-cp310-win_amd64.whl", hash = "sha256:e41e8951749c4b5c9a2dc5fdbc1a4eec6ab2a140fdae9b460b0f557eed870f4d"}, + {file = "numpy-1.22.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:bece0a4a49e60e472a6d1f70ac6cdea00f9ab80ff01132f96bd970cdd8a9e5a9"}, + {file = "numpy-1.22.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:818b9be7900e8dc23e013a92779135623476f44a0de58b40c32a15368c01d471"}, + {file = "numpy-1.22.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:47ee7a839f5885bc0c63a74aabb91f6f40d7d7b639253768c4199b37aede7982"}, + {file = "numpy-1.22.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a024181d7aef0004d76fb3bce2a4c9f2e67a609a9e2a6ff2571d30e9976aa383"}, + {file = "numpy-1.22.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f71d57cc8645f14816ae249407d309be250ad8de93ef61d9709b45a0ddf4050c"}, + {file = "numpy-1.22.0-cp38-cp38-win32.whl", hash = "sha256:283d9de87c0133ef98f93dfc09fad3fb382f2a15580de75c02b5bb36a5a159a5"}, + {file = "numpy-1.22.0-cp38-cp38-win_amd64.whl", hash = "sha256:2762331de395739c91f1abb88041f94a080cb1143aeec791b3b223976228af3f"}, + {file = "numpy-1.22.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:76ba7c40e80f9dc815c5e896330700fd6e20814e69da9c1267d65a4d051080f1"}, + {file = "numpy-1.22.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:0cfe07133fd00b27edee5e6385e333e9eeb010607e8a46e1cd673f05f8596595"}, + {file = "numpy-1.22.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6ed0d073a9c54ac40c41a9c2d53fcc3d4d4ed607670b9e7b0de1ba13b4cbfe6f"}, + {file = "numpy-1.22.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41388e32e40b41dd56eb37fcaa7488b2b47b0adf77c66154d6b89622c110dfe9"}, + {file = "numpy-1.22.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b55b953a1bdb465f4dc181758570d321db4ac23005f90ffd2b434cc6609a63dd"}, + {file = "numpy-1.22.0-cp39-cp39-win32.whl", hash = "sha256:5a311ee4d983c487a0ab546708edbdd759393a3dc9cd30305170149fedd23c88"}, + {file = "numpy-1.22.0-cp39-cp39-win_amd64.whl", hash = "sha256:a97a954a8c2f046d3817c2bce16e3c7e9a9c2afffaf0400f5c16df5172a67c9c"}, + {file = "numpy-1.22.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb02929b0d6bfab4c48a79bd805bd7419114606947ec8284476167415171f55b"}, + {file = "numpy-1.22.0.zip", hash = "sha256:a955e4128ac36797aaffd49ab44ec74a71c11d6938df83b1285492d277db5397"}, ] packageurl-python = [ {file = "packageurl-python-0.9.6.tar.gz", hash = "sha256:c01fbaf62ad2eb791e97158d1f30349e830bee2dd3e9503a87f6c3ffae8d1cf0"}, @@ -3102,8 +3096,8 @@ pkginfo = [ {file = "pkginfo-1.8.2.tar.gz", hash = "sha256:542e0d0b6750e2e21c20179803e40ab50598d8066d51097a0e382cba9eb02bff"}, ] platformdirs = [ - {file = "platformdirs-2.4.0-py3-none-any.whl", hash = "sha256:8868bbe3c3c80d42f20156f22e7131d2fb321f5bc86a2a345375c6481a67021d"}, - {file = "platformdirs-2.4.0.tar.gz", hash = "sha256:367a5e80b3d04d2428ffa76d33f124cf11e8fff2acdaa9b43d545f5c7d661ef2"}, + {file = "platformdirs-2.4.1-py3-none-any.whl", hash = "sha256:1d7385c7db91728b83efd0ca99a5afb296cab9d0ed8313a45ed8ba17967ecfca"}, + {file = "platformdirs-2.4.1.tar.gz", hash = "sha256:440633ddfebcc36264232365d7840a970e75e1018d15b4327d11f91909045fda"}, ] pluggy = [ {file = "pluggy-1.0.0-py2.py3-none-any.whl", hash = "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3"}, @@ -3121,34 +3115,33 @@ prompt-toolkit = [ {file = "prompt_toolkit-3.0.24.tar.gz", hash = "sha256:1bb05628c7d87b645974a1bad3f17612be0c29fa39af9f7688030163f680bad6"}, ] psutil = [ - {file = "psutil-5.8.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:0066a82f7b1b37d334e68697faba68e5ad5e858279fd6351c8ca6024e8d6ba64"}, - {file = "psutil-5.8.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:0ae6f386d8d297177fd288be6e8d1afc05966878704dad9847719650e44fc49c"}, - {file = "psutil-5.8.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:12d844996d6c2b1d3881cfa6fa201fd635971869a9da945cf6756105af73d2df"}, - {file = "psutil-5.8.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:02b8292609b1f7fcb34173b25e48d0da8667bc85f81d7476584d889c6e0f2131"}, - {file = "psutil-5.8.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:6ffe81843131ee0ffa02c317186ed1e759a145267d54fdef1bc4ea5f5931ab60"}, - {file = "psutil-5.8.0-cp27-none-win32.whl", hash = "sha256:ea313bb02e5e25224e518e4352af4bf5e062755160f77e4b1767dd5ccb65f876"}, - {file = "psutil-5.8.0-cp27-none-win_amd64.whl", hash = "sha256:5da29e394bdedd9144c7331192e20c1f79283fb03b06e6abd3a8ae45ffecee65"}, - {file = "psutil-5.8.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:74fb2557d1430fff18ff0d72613c5ca30c45cdbfcddd6a5773e9fc1fe9364be8"}, - {file = "psutil-5.8.0-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:74f2d0be88db96ada78756cb3a3e1b107ce8ab79f65aa885f76d7664e56928f6"}, - {file = "psutil-5.8.0-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:99de3e8739258b3c3e8669cb9757c9a861b2a25ad0955f8e53ac662d66de61ac"}, - {file = "psutil-5.8.0-cp36-cp36m-win32.whl", hash = "sha256:36b3b6c9e2a34b7d7fbae330a85bf72c30b1c827a4366a07443fc4b6270449e2"}, - {file = "psutil-5.8.0-cp36-cp36m-win_amd64.whl", hash = "sha256:52de075468cd394ac98c66f9ca33b2f54ae1d9bff1ef6b67a212ee8f639ec06d"}, - {file = "psutil-5.8.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c6a5fd10ce6b6344e616cf01cc5b849fa8103fbb5ba507b6b2dee4c11e84c935"}, - {file = "psutil-5.8.0-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:61f05864b42fedc0771d6d8e49c35f07efd209ade09a5afe6a5059e7bb7bf83d"}, - {file = "psutil-5.8.0-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:0dd4465a039d343925cdc29023bb6960ccf4e74a65ad53e768403746a9207023"}, - {file = "psutil-5.8.0-cp37-cp37m-win32.whl", hash = "sha256:1bff0d07e76114ec24ee32e7f7f8d0c4b0514b3fae93e3d2aaafd65d22502394"}, - {file = "psutil-5.8.0-cp37-cp37m-win_amd64.whl", hash = "sha256:fcc01e900c1d7bee2a37e5d6e4f9194760a93597c97fee89c4ae51701de03563"}, - {file = "psutil-5.8.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6223d07a1ae93f86451d0198a0c361032c4c93ebd4bf6d25e2fb3edfad9571ef"}, - {file = "psutil-5.8.0-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:d225cd8319aa1d3c85bf195c4e07d17d3cd68636b8fc97e6cf198f782f99af28"}, - {file = "psutil-5.8.0-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:28ff7c95293ae74bf1ca1a79e8805fcde005c18a122ca983abf676ea3466362b"}, - {file = "psutil-5.8.0-cp38-cp38-win32.whl", hash = "sha256:ce8b867423291cb65cfc6d9c4955ee9bfc1e21fe03bb50e177f2b957f1c2469d"}, - {file = "psutil-5.8.0-cp38-cp38-win_amd64.whl", hash = "sha256:90f31c34d25b1b3ed6c40cdd34ff122b1887a825297c017e4cbd6796dd8b672d"}, - {file = "psutil-5.8.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6323d5d845c2785efb20aded4726636546b26d3b577aded22492908f7c1bdda7"}, - {file = "psutil-5.8.0-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:245b5509968ac0bd179287d91210cd3f37add77dad385ef238b275bad35fa1c4"}, - {file = "psutil-5.8.0-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:90d4091c2d30ddd0a03e0b97e6a33a48628469b99585e2ad6bf21f17423b112b"}, - {file = "psutil-5.8.0-cp39-cp39-win32.whl", hash = "sha256:ea372bcc129394485824ae3e3ddabe67dc0b118d262c568b4d2602a7070afdb0"}, - {file = "psutil-5.8.0-cp39-cp39-win_amd64.whl", hash = "sha256:f4634b033faf0d968bb9220dd1c793b897ab7f1189956e1aa9eae752527127d3"}, - {file = "psutil-5.8.0.tar.gz", hash = "sha256:0c9ccb99ab76025f2f0bbecf341d4656e9c1351db8cc8a03ccd62e318ab4b5c6"}, + {file = "psutil-5.9.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:55ce319452e3d139e25d6c3f85a1acf12d1607ddedea5e35fb47a552c051161b"}, + {file = "psutil-5.9.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:7336292a13a80eb93c21f36bde4328aa748a04b68c13d01dfddd67fc13fd0618"}, + {file = "psutil-5.9.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:cb8d10461c1ceee0c25a64f2dd54872b70b89c26419e147a05a10b753ad36ec2"}, + {file = "psutil-5.9.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:7641300de73e4909e5d148e90cc3142fb890079e1525a840cf0dfd39195239fd"}, + {file = "psutil-5.9.0-cp27-none-win32.whl", hash = "sha256:ea42d747c5f71b5ccaa6897b216a7dadb9f52c72a0fe2b872ef7d3e1eacf3ba3"}, + {file = "psutil-5.9.0-cp27-none-win_amd64.whl", hash = "sha256:ef216cc9feb60634bda2f341a9559ac594e2eeaadd0ba187a4c2eb5b5d40b91c"}, + {file = "psutil-5.9.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:90a58b9fcae2dbfe4ba852b57bd4a1dded6b990a33d6428c7614b7d48eccb492"}, + {file = "psutil-5.9.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ff0d41f8b3e9ebb6b6110057e40019a432e96aae2008951121ba4e56040b84f3"}, + {file = "psutil-5.9.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:742c34fff804f34f62659279ed5c5b723bb0195e9d7bd9907591de9f8f6558e2"}, + {file = "psutil-5.9.0-cp310-cp310-win32.whl", hash = "sha256:8293942e4ce0c5689821f65ce6522ce4786d02af57f13c0195b40e1edb1db61d"}, + {file = "psutil-5.9.0-cp310-cp310-win_amd64.whl", hash = "sha256:9b51917c1af3fa35a3f2dabd7ba96a2a4f19df3dec911da73875e1edaf22a40b"}, + {file = "psutil-5.9.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:3d00a664e31921009a84367266b35ba0aac04a2a6cad09c550a89041034d19a0"}, + {file = "psutil-5.9.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7779be4025c540d1d65a2de3f30caeacc49ae7a2152108adeaf42c7534a115ce"}, + {file = "psutil-5.9.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:072664401ae6e7c1bfb878c65d7282d4b4391f1bc9a56d5e03b5a490403271b5"}, + {file = "psutil-5.9.0-cp37-cp37m-win32.whl", hash = "sha256:df2c8bd48fb83a8408c8390b143c6a6fa10cb1a674ca664954de193fdcab36a9"}, + {file = "psutil-5.9.0-cp37-cp37m-win_amd64.whl", hash = "sha256:1d7b433519b9a38192dfda962dd8f44446668c009833e1429a52424624f408b4"}, + {file = "psutil-5.9.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:c3400cae15bdb449d518545cbd5b649117de54e3596ded84aacabfbb3297ead2"}, + {file = "psutil-5.9.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b2237f35c4bbae932ee98902a08050a27821f8f6dfa880a47195e5993af4702d"}, + {file = "psutil-5.9.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1070a9b287846a21a5d572d6dddd369517510b68710fca56b0e9e02fd24bed9a"}, + {file = "psutil-5.9.0-cp38-cp38-win32.whl", hash = "sha256:76cebf84aac1d6da5b63df11fe0d377b46b7b500d892284068bacccf12f20666"}, + {file = "psutil-5.9.0-cp38-cp38-win_amd64.whl", hash = "sha256:3151a58f0fbd8942ba94f7c31c7e6b310d2989f4da74fcbf28b934374e9bf841"}, + {file = "psutil-5.9.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:539e429da49c5d27d5a58e3563886057f8fc3868a5547b4f1876d9c0f007bccf"}, + {file = "psutil-5.9.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:58c7d923dc209225600aec73aa2c4ae8ea33b1ab31bc11ef8a5933b027476f07"}, + {file = "psutil-5.9.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3611e87eea393f779a35b192b46a164b1d01167c9d323dda9b1e527ea69d697d"}, + {file = "psutil-5.9.0-cp39-cp39-win32.whl", hash = "sha256:4e2fb92e3aeae3ec3b7b66c528981fd327fb93fd906a77215200404444ec1845"}, + {file = "psutil-5.9.0-cp39-cp39-win_amd64.whl", hash = "sha256:7d190ee2eaef7831163f254dc58f6d2e2a22e27382b936aab51c835fc080c3d3"}, + {file = "psutil-5.9.0.tar.gz", hash = "sha256:869842dbd66bb80c3217158e629d6fceaecc3a3166d3d1faee515b05dd26ca25"}, ] ptable = [ {file = "PTable-0.9.2.tar.gz", hash = "sha256:aa7fc151cb40f2dabcd2275ba6f7fd0ff8577a86be3365cd3fb297cbe09cc292"}, @@ -3173,28 +3166,41 @@ pycparser = [ {file = "pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"}, ] pydantic = [ - {file = "pydantic-1.8.2-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:05ddfd37c1720c392f4e0d43c484217b7521558302e7069ce8d318438d297739"}, - {file = "pydantic-1.8.2-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:a7c6002203fe2c5a1b5cbb141bb85060cbff88c2d78eccbc72d97eb7022c43e4"}, - {file = "pydantic-1.8.2-cp36-cp36m-manylinux2014_i686.whl", hash = "sha256:589eb6cd6361e8ac341db97602eb7f354551482368a37f4fd086c0733548308e"}, - {file = "pydantic-1.8.2-cp36-cp36m-manylinux2014_x86_64.whl", hash = "sha256:10e5622224245941efc193ad1d159887872776df7a8fd592ed746aa25d071840"}, - {file = "pydantic-1.8.2-cp36-cp36m-win_amd64.whl", hash = "sha256:99a9fc39470010c45c161a1dc584997f1feb13f689ecf645f59bb4ba623e586b"}, - {file = "pydantic-1.8.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a83db7205f60c6a86f2c44a61791d993dff4b73135df1973ecd9eed5ea0bda20"}, - {file = "pydantic-1.8.2-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:41b542c0b3c42dc17da70554bc6f38cbc30d7066d2c2815a94499b5684582ecb"}, - {file = "pydantic-1.8.2-cp37-cp37m-manylinux2014_i686.whl", hash = "sha256:ea5cb40a3b23b3265f6325727ddfc45141b08ed665458be8c6285e7b85bd73a1"}, - {file = "pydantic-1.8.2-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:18b5ea242dd3e62dbf89b2b0ec9ba6c7b5abaf6af85b95a97b00279f65845a23"}, - {file = "pydantic-1.8.2-cp37-cp37m-win_amd64.whl", hash = "sha256:234a6c19f1c14e25e362cb05c68afb7f183eb931dd3cd4605eafff055ebbf287"}, - {file = "pydantic-1.8.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:021ea0e4133e8c824775a0cfe098677acf6fa5a3cbf9206a376eed3fc09302cd"}, - {file = "pydantic-1.8.2-cp38-cp38-manylinux1_i686.whl", hash = "sha256:e710876437bc07bd414ff453ac8ec63d219e7690128d925c6e82889d674bb505"}, - {file = "pydantic-1.8.2-cp38-cp38-manylinux2014_i686.whl", hash = "sha256:ac8eed4ca3bd3aadc58a13c2aa93cd8a884bcf21cb019f8cfecaae3b6ce3746e"}, - {file = "pydantic-1.8.2-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:4a03cbbe743e9c7247ceae6f0d8898f7a64bb65800a45cbdc52d65e370570820"}, - {file = "pydantic-1.8.2-cp38-cp38-win_amd64.whl", hash = "sha256:8621559dcf5afacf0069ed194278f35c255dc1a1385c28b32dd6c110fd6531b3"}, - {file = "pydantic-1.8.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8b223557f9510cf0bfd8b01316bf6dd281cf41826607eada99662f5e4963f316"}, - {file = "pydantic-1.8.2-cp39-cp39-manylinux1_i686.whl", hash = "sha256:244ad78eeb388a43b0c927e74d3af78008e944074b7d0f4f696ddd5b2af43c62"}, - {file = "pydantic-1.8.2-cp39-cp39-manylinux2014_i686.whl", hash = "sha256:05ef5246a7ffd2ce12a619cbb29f3307b7c4509307b1b49f456657b43529dc6f"}, - {file = "pydantic-1.8.2-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:54cd5121383f4a461ff7644c7ca20c0419d58052db70d8791eacbbe31528916b"}, - {file = "pydantic-1.8.2-cp39-cp39-win_amd64.whl", hash = "sha256:4be75bebf676a5f0f87937c6ddb061fa39cbea067240d98e298508c1bda6f3f3"}, - {file = "pydantic-1.8.2-py3-none-any.whl", hash = "sha256:fec866a0b59f372b7e776f2d7308511784dace622e0992a0b59ea3ccee0ae833"}, - {file = "pydantic-1.8.2.tar.gz", hash = "sha256:26464e57ccaafe72b7ad156fdaa4e9b9ef051f69e175dbbb463283000c05ab7b"}, + {file = "pydantic-1.9.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:cb23bcc093697cdea2708baae4f9ba0e972960a835af22560f6ae4e7e47d33f5"}, + {file = "pydantic-1.9.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1d5278bd9f0eee04a44c712982343103bba63507480bfd2fc2790fa70cd64cf4"}, + {file = "pydantic-1.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ab624700dc145aa809e6f3ec93fb8e7d0f99d9023b713f6a953637429b437d37"}, + {file = "pydantic-1.9.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c8d7da6f1c1049eefb718d43d99ad73100c958a5367d30b9321b092771e96c25"}, + {file = "pydantic-1.9.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:3c3b035103bd4e2e4a28da9da7ef2fa47b00ee4a9cf4f1a735214c1bcd05e0f6"}, + {file = "pydantic-1.9.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:3011b975c973819883842c5ab925a4e4298dffccf7782c55ec3580ed17dc464c"}, + {file = "pydantic-1.9.0-cp310-cp310-win_amd64.whl", hash = "sha256:086254884d10d3ba16da0588604ffdc5aab3f7f09557b998373e885c690dd398"}, + {file = "pydantic-1.9.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:0fe476769acaa7fcddd17cadd172b156b53546ec3614a4d880e5d29ea5fbce65"}, + {file = "pydantic-1.9.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c8e9dcf1ac499679aceedac7e7ca6d8641f0193c591a2d090282aaf8e9445a46"}, + {file = "pydantic-1.9.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d1e4c28f30e767fd07f2ddc6f74f41f034d1dd6bc526cd59e63a82fe8bb9ef4c"}, + {file = "pydantic-1.9.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:c86229333cabaaa8c51cf971496f10318c4734cf7b641f08af0a6fbf17ca3054"}, + {file = "pydantic-1.9.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:c0727bda6e38144d464daec31dff936a82917f431d9c39c39c60a26567eae3ed"}, + {file = "pydantic-1.9.0-cp36-cp36m-win_amd64.whl", hash = "sha256:dee5ef83a76ac31ab0c78c10bd7d5437bfdb6358c95b91f1ba7ff7b76f9996a1"}, + {file = "pydantic-1.9.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:d9c9bdb3af48e242838f9f6e6127de9be7063aad17b32215ccc36a09c5cf1070"}, + {file = "pydantic-1.9.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ee7e3209db1e468341ef41fe263eb655f67f5c5a76c924044314e139a1103a2"}, + {file = "pydantic-1.9.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0b6037175234850ffd094ca77bf60fb54b08b5b22bc85865331dd3bda7a02fa1"}, + {file = "pydantic-1.9.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:b2571db88c636d862b35090ccf92bf24004393f85c8870a37f42d9f23d13e032"}, + {file = "pydantic-1.9.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8b5ac0f1c83d31b324e57a273da59197c83d1bb18171e512908fe5dc7278a1d6"}, + {file = "pydantic-1.9.0-cp37-cp37m-win_amd64.whl", hash = "sha256:bbbc94d0c94dd80b3340fc4f04fd4d701f4b038ebad72c39693c794fd3bc2d9d"}, + {file = "pydantic-1.9.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:e0896200b6a40197405af18828da49f067c2fa1f821491bc8f5bde241ef3f7d7"}, + {file = "pydantic-1.9.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7bdfdadb5994b44bd5579cfa7c9b0e1b0e540c952d56f627eb227851cda9db77"}, + {file = "pydantic-1.9.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:574936363cd4b9eed8acdd6b80d0143162f2eb654d96cb3a8ee91d3e64bf4cf9"}, + {file = "pydantic-1.9.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c556695b699f648c58373b542534308922c46a1cda06ea47bc9ca45ef5b39ae6"}, + {file = "pydantic-1.9.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:f947352c3434e8b937e3aa8f96f47bdfe6d92779e44bb3f41e4c213ba6a32145"}, + {file = "pydantic-1.9.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5e48ef4a8b8c066c4a31409d91d7ca372a774d0212da2787c0d32f8045b1e034"}, + {file = "pydantic-1.9.0-cp38-cp38-win_amd64.whl", hash = "sha256:96f240bce182ca7fe045c76bcebfa0b0534a1bf402ed05914a6f1dadff91877f"}, + {file = "pydantic-1.9.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:815ddebb2792efd4bba5488bc8fde09c29e8ca3227d27cf1c6990fc830fd292b"}, + {file = "pydantic-1.9.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6c5b77947b9e85a54848343928b597b4f74fc364b70926b3c4441ff52620640c"}, + {file = "pydantic-1.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c68c3bc88dbda2a6805e9a142ce84782d3930f8fdd9655430d8576315ad97ce"}, + {file = "pydantic-1.9.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5a79330f8571faf71bf93667d3ee054609816f10a259a109a0738dac983b23c3"}, + {file = "pydantic-1.9.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f5a64b64ddf4c99fe201ac2724daada8595ada0d102ab96d019c1555c2d6441d"}, + {file = "pydantic-1.9.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a733965f1a2b4090a5238d40d983dcd78f3ecea221c7af1497b845a9709c1721"}, + {file = "pydantic-1.9.0-cp39-cp39-win_amd64.whl", hash = "sha256:2cc6a4cb8a118ffec2ca5fcb47afbacb4f16d0ab8b7350ddea5e8ef7bcc53a16"}, + {file = "pydantic-1.9.0-py3-none-any.whl", hash = "sha256:085ca1de245782e9b46cefcf99deecc67d418737a1fd3f6a4f511344b613a5b3"}, + {file = "pydantic-1.9.0.tar.gz", hash = "sha256:742645059757a56ecd886faf4ed2441b9c0cd406079c2b4bee51bcc3fbcd510a"}, ] pydocstyle = [ {file = "pydocstyle-6.1.1-py3-none-any.whl", hash = "sha256:6987826d6775056839940041beef5c08cc7e3d71d63149b48e36727f70144dc4"}, @@ -3205,8 +3211,8 @@ pyflakes = [ {file = "pyflakes-2.3.1.tar.gz", hash = "sha256:f5bc8ecabc05bb9d291eb5203d6810b49040f6ff446a756326104746cc00c1db"}, ] pygments = [ - {file = "Pygments-2.10.0-py3-none-any.whl", hash = "sha256:b8e67fe6af78f492b3c4b3e2970c0624cbf08beb1e493b2c99b9fa1b67a20380"}, - {file = "Pygments-2.10.0.tar.gz", hash = "sha256:f398865f7eb6874156579fdf36bc840a03cab64d1cde9e93d68f46a425ec52c6"}, + {file = "Pygments-2.11.1-py3-none-any.whl", hash = "sha256:9135c1af61eec0f650cd1ea1ed8ce298e54d56bcd8cc2ef46edd7702c171337c"}, + {file = "Pygments-2.11.1.tar.gz", hash = "sha256:59b895e326f0fb0d733fd28c6839bd18ad0687ba20efc26d4277fd1d30b971f4"}, ] pygments-style-tomorrow = [ {file = "pygments-style-tomorrow-1.0.0.1.tar.gz", hash = "sha256:4132c31f11738f6bed52d43a3f187aa3b889a118f9a29b40d1f6afb5bb1037be"}, @@ -3291,16 +3297,18 @@ pytz = [ {file = "pytz-2021.3.tar.gz", hash = "sha256:acad2d8b20a1af07d4e4c9d2e9285c5ed9104354062f275f3fcd88dcef4f1326"}, ] pywin32 = [ - {file = "pywin32-302-cp310-cp310-win32.whl", hash = "sha256:251b7a9367355ccd1a4cd69cd8dd24bd57b29ad83edb2957cfa30f7ed9941efa"}, - {file = "pywin32-302-cp310-cp310-win_amd64.whl", hash = "sha256:79cf7e6ddaaf1cd47a9e50cc74b5d770801a9db6594464137b1b86aa91edafcc"}, - {file = "pywin32-302-cp36-cp36m-win32.whl", hash = "sha256:fe21c2fb332d03dac29de070f191bdbf14095167f8f2165fdc57db59b1ecc006"}, - {file = "pywin32-302-cp36-cp36m-win_amd64.whl", hash = "sha256:d3761ab4e8c5c2dbc156e2c9ccf38dd51f936dc77e58deb940ffbc4b82a30528"}, - {file = "pywin32-302-cp37-cp37m-win32.whl", hash = "sha256:48dd4e348f1ee9538dd4440bf201ea8c110ea6d9f3a5010d79452e9fa80480d9"}, - {file = "pywin32-302-cp37-cp37m-win_amd64.whl", hash = "sha256:496df89f10c054c9285cc99f9d509e243f4e14ec8dfc6d78c9f0bf147a893ab1"}, - {file = "pywin32-302-cp38-cp38-win32.whl", hash = "sha256:e372e477d938a49266136bff78279ed14445e00718b6c75543334351bf535259"}, - {file = "pywin32-302-cp38-cp38-win_amd64.whl", hash = "sha256:543552e66936378bd2d673c5a0a3d9903dba0b0a87235ef0c584f058ceef5872"}, - {file = "pywin32-302-cp39-cp39-win32.whl", hash = "sha256:2393c1a40dc4497fd6161b76801b8acd727c5610167762b7c3e9fd058ef4a6ab"}, - {file = "pywin32-302-cp39-cp39-win_amd64.whl", hash = "sha256:af5aea18167a31efcacc9f98a2ca932c6b6a6d91ebe31f007509e293dea12580"}, + {file = "pywin32-303-cp310-cp310-win32.whl", hash = "sha256:6fed4af057039f309263fd3285d7b8042d41507343cd5fa781d98fcc5b90e8bb"}, + {file = "pywin32-303-cp310-cp310-win_amd64.whl", hash = "sha256:51cb52c5ec6709f96c3f26e7795b0bf169ee0d8395b2c1d7eb2c029a5008ed51"}, + {file = "pywin32-303-cp311-cp311-win32.whl", hash = "sha256:d9b5d87ca944eb3aa4cd45516203ead4b37ab06b8b777c54aedc35975dec0dee"}, + {file = "pywin32-303-cp311-cp311-win_amd64.whl", hash = "sha256:fcf44032f5b14fcda86028cdf49b6ebdaea091230eb0a757282aa656e4732439"}, + {file = "pywin32-303-cp36-cp36m-win32.whl", hash = "sha256:aad484d52ec58008ca36bd4ad14a71d7dd0a99db1a4ca71072213f63bf49c7d9"}, + {file = "pywin32-303-cp36-cp36m-win_amd64.whl", hash = "sha256:2a09632916b6bb231ba49983fe989f2f625cea237219530e81a69239cd0c4559"}, + {file = "pywin32-303-cp37-cp37m-win32.whl", hash = "sha256:b1675d82bcf6dbc96363fca747bac8bff6f6e4a447a4287ac652aa4b9adc796e"}, + {file = "pywin32-303-cp37-cp37m-win_amd64.whl", hash = "sha256:c268040769b48a13367221fced6d4232ed52f044ffafeda247bd9d2c6bdc29ca"}, + {file = "pywin32-303-cp38-cp38-win32.whl", hash = "sha256:5f9ec054f5a46a0f4dfd72af2ce1372f3d5a6e4052af20b858aa7df2df7d355b"}, + {file = "pywin32-303-cp38-cp38-win_amd64.whl", hash = "sha256:793bf74fce164bcffd9d57bb13c2c15d56e43c9542a7b9687b4fccf8f8a41aba"}, + {file = "pywin32-303-cp39-cp39-win32.whl", hash = "sha256:7d3271c98434617a11921c5ccf74615794d97b079e22ed7773790822735cc352"}, + {file = "pywin32-303-cp39-cp39-win_amd64.whl", hash = "sha256:79cbb862c11b9af19bcb682891c1b91942ec2ff7de8151e2aea2e175899cda34"}, ] pywin32-ctypes = [ {file = "pywin32-ctypes-0.2.0.tar.gz", hash = "sha256:24ffc3b341d457d48e8922352130cf2644024a4ff09762a2261fd34c36ee5942"}, @@ -3403,16 +3411,16 @@ qtconsole = [ {file = "qtconsole-5.2.2.tar.gz", hash = "sha256:8f9db97b27782184efd0a0f2d57ea3bd852d053747a2e442a9011329c082976d"}, ] qtpy = [ - {file = "QtPy-1.11.3-py2.py3-none-any.whl", hash = "sha256:e121fbee8e95645af29c5a4aceba8d657991551fc1aa3b6b6012faf4725a1d20"}, - {file = "QtPy-1.11.3.tar.gz", hash = "sha256:d427addd37386a8d786db81864a5536700861d95bf085cb31d1bea855d699557"}, + {file = "QtPy-2.0.0-py3-none-any.whl", hash = "sha256:74bf26be3288aadc843cf3381d5ef0b82f11417ecdcbf26718a408f32590f1ac"}, + {file = "QtPy-2.0.0.tar.gz", hash = "sha256:777e333df4d711b2ec9743117ab319dadfbd743a5a0eee35923855ca3d35cd9d"}, ] readme-renderer = [ {file = "readme_renderer-32.0-py3-none-any.whl", hash = "sha256:a50a0f2123a4c1145ac6f420e1a348aafefcc9211c846e3d51df05fe3d865b7d"}, {file = "readme_renderer-32.0.tar.gz", hash = "sha256:b512beafa6798260c7d5af3e1b1f097e58bfcd9a575da7c4ddd5e037490a5b85"}, ] requests = [ - {file = "requests-2.26.0-py2.py3-none-any.whl", hash = "sha256:6c1246513ecd5ecd4528a0906f910e8f0f9c6b8ec72030dc9fd154dc1a6efd24"}, - {file = "requests-2.26.0.tar.gz", hash = "sha256:b8aa58f8cf793ffd8782d3d8cb19e66ef36f7aba4353eec859e74678b01b07a7"}, + {file = "requests-2.27.0-py2.py3-none-any.whl", hash = "sha256:f71a09d7feba4a6b64ffd8e9d9bc60f9bf7d7e19fd0e04362acb1cfc2e3d98df"}, + {file = "requests-2.27.0.tar.gz", hash = "sha256:8e5643905bf20a308e25e4c1dd379117c09000bf8a82ebccc462cfb1b34a16b5"}, ] requests-toolbelt = [ {file = "requests-toolbelt-0.9.1.tar.gz", hash = "sha256:968089d4584ad4ad7c171454f0a5c6dac23971e9472521ea3b6d49d610aa6fc0"}, @@ -3576,24 +3584,24 @@ tomlkit = [ {file = "tomlkit-0.7.0.tar.gz", hash = "sha256:ac57f29693fab3e309ea789252fcce3061e19110085aa31af5446ca749325618"}, ] torch = [ - {file = "torch-1.10.0-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:56022b0ce94c54e95a2f63fc5a1494feb1fc3d5c7a9b35a62944651d03edef05"}, - {file = "torch-1.10.0-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:13e1ffab502aa32d6841a018771b47028d02dbbc685c5b79cfd61db5464dae4e"}, - {file = "torch-1.10.0-cp36-cp36m-win_amd64.whl", hash = "sha256:3c0a942e0df104c80b0eedc30d2a19cdc3d28601bc6e280bf24b2e6255016d3b"}, - {file = "torch-1.10.0-cp36-none-macosx_10_9_x86_64.whl", hash = "sha256:eea16c01af1980ba709c00e8d5e6c09bedb5b30f9fa2085f6a52a78d7dc4e125"}, - {file = "torch-1.10.0-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:b812e8d40d7037748da40bb695bd849e7b2e7faad4cd06df53d2cc4531926fda"}, - {file = "torch-1.10.0-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:034df0b20603bfc81325094586647302891b9b20be7e36f152c7dd6af00deac1"}, - {file = "torch-1.10.0-cp37-cp37m-win_amd64.whl", hash = "sha256:67fc509e207b8e7330f2e76e77800950317d31d035a4d19593db991962afead4"}, - {file = "torch-1.10.0-cp37-none-macosx_10_9_x86_64.whl", hash = "sha256:4499055547087d7ef7e8a754f09c2c4f1470297ae3e5490363dba66c75501b21"}, - {file = "torch-1.10.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:ab0cf330714c8f79a837c04784a7a5658b014cf5a4ca527e7b710155ae519cdf"}, - {file = "torch-1.10.0-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:e01ba5946267014abfdb30248bcdbd457aaa20cff749febe7fc191e5ae096af4"}, - {file = "torch-1.10.0-cp38-cp38-win_amd64.whl", hash = "sha256:9013002adcb42bac05dcdbf0a03dd9f6bb5d7ab8b9817041c1176a014870786b"}, - {file = "torch-1.10.0-cp38-none-macosx_10_9_x86_64.whl", hash = "sha256:aef7afb62e9b174b4e0e5e1e4a42e3bab3b8490a668d666f62f7d4517559fbf2"}, - {file = "torch-1.10.0-cp38-none-macosx_11_0_arm64.whl", hash = "sha256:d6185827b285780653cdd81d77a09fdca76a5b190d5986d552be2a5c442cfaa4"}, - {file = "torch-1.10.0-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:d82e68302c9b5c76ed585e04d61be0ca2184f70cb8ffeba8610570609ad5d7c9"}, - {file = "torch-1.10.0-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:e5822200bf80a1495ad98a2bb41803eeba4a85ce373e35fc65765f7f888f5374"}, - {file = "torch-1.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:ca2c88fa4376e2648785029ab108e6e7abd784eb6535fc6036004b9254f9f7c1"}, - {file = "torch-1.10.0-cp39-none-macosx_10_9_x86_64.whl", hash = "sha256:d6ef87470b44df9970e84542547d5ba7720bb89616602441df555a39b124e2bc"}, - {file = "torch-1.10.0-cp39-none-macosx_11_0_arm64.whl", hash = "sha256:eea675ec01ec4b4a0655fd2984f166a5ca3b933dae6ad4eb4e52eba7026dc176"}, + {file = "torch-1.10.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:adbb5f292e260e39715d67478823e03e3001db1af5b02c18caa34549dccb421e"}, + {file = "torch-1.10.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:ac8cae04458cc47555fa07a760496c2fdf687223bcc13df5fed56ea3aead37f5"}, + {file = "torch-1.10.1-cp36-cp36m-win_amd64.whl", hash = "sha256:40508d67288c46ff1fad301fa6e996e0e936a733f2401475fc92c21dc3ef702d"}, + {file = "torch-1.10.1-cp36-none-macosx_10_9_x86_64.whl", hash = "sha256:8b47bd113c6cbd9a49669aaaa233ad5f25852d6ca3e640f9c71c808e65a1fdf4"}, + {file = "torch-1.10.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:50360868ad3f039cf99f0250300dbec51bf686a7b84dc6bbdb8dff4b1171c0f0"}, + {file = "torch-1.10.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:e3d2154722189ed74747a494dce9588978dd55e43ca24c5bd307fb52620b232b"}, + {file = "torch-1.10.1-cp37-cp37m-win_amd64.whl", hash = "sha256:d9c495bcd5f00becff5b051b5e4be86b7eaa0433cd0fe57f77c02bc1b93ab5b1"}, + {file = "torch-1.10.1-cp37-none-macosx_10_9_x86_64.whl", hash = "sha256:6b327d7b4eb2461b16d46763d46df71e597235ccc428650538a2735a0898270d"}, + {file = "torch-1.10.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:1c6c56178e5dacf7602ad00dc79c263d6c41c0f76261e9641e6bd2679678ceb3"}, + {file = "torch-1.10.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:2ffa2db4ccb6466c59e3f95b7a582d47ae721e476468f4ffbcaa2832e0b92b9b"}, + {file = "torch-1.10.1-cp38-cp38-win_amd64.whl", hash = "sha256:af577602e884c5e40fbd29ec978f052202355da93cd31e0a23251bd7aaff5a99"}, + {file = "torch-1.10.1-cp38-none-macosx_10_9_x86_64.whl", hash = "sha256:725d86e9809073eef868a3ddf4189878ee7af46fac71403834dd0925b3db9b82"}, + {file = "torch-1.10.1-cp38-none-macosx_11_0_arm64.whl", hash = "sha256:fa197cfe047d0515bef238f42472721406609ebaceff2fd4e17f2ad4692ee51c"}, + {file = "torch-1.10.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:cca660b27a90dbbc0af06c859260f6b875aef37c0897bd353e5deed085d2c877"}, + {file = "torch-1.10.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:01f4ffdafbfbd7d106fb4e487feee2cf29cced9903df8cb0444b0e308f9c5e92"}, + {file = "torch-1.10.1-cp39-cp39-win_amd64.whl", hash = "sha256:607eccb7d539a11877cd02d95f4b164b7941fcf538ac7ff087bfed19e3644283"}, + {file = "torch-1.10.1-cp39-none-macosx_10_9_x86_64.whl", hash = "sha256:26b6dfbe21e247e67c615bfab0017ec391ed1517f88bbeea6228a49edd24cd88"}, + {file = "torch-1.10.1-cp39-none-macosx_11_0_arm64.whl", hash = "sha256:5644280d88c5b6de27eacc0d911f968aad41a4bab297af4df5e571bc0927d3e4"}, ] tornado = [ {file = "tornado-6.1-cp35-cp35m-macosx_10_9_x86_64.whl", hash = "sha256:d371e811d6b156d82aa5f9a4e08b58debf97c302a35714f6f45e35139c332e32"}, @@ -3651,8 +3659,8 @@ twine = [ {file = "twine-3.7.1.tar.gz", hash = "sha256:28460a3db6b4532bde6a5db6755cf2dce6c5020bada8a641bb2c5c7a9b1f35b8"}, ] types-setuptools = [ - {file = "types-setuptools-57.4.4.tar.gz", hash = "sha256:a3cbcbf3f02142bb5d3b5c5f5918f453b8752362b96d58aba2a5cfa43ba6d209"}, - {file = "types_setuptools-57.4.4-py3-none-any.whl", hash = "sha256:9fe4180548e5cbb44cc0d343a47e4dc1d6769c31e16447994788c28df169011f"}, + {file = "types-setuptools-57.4.5.tar.gz", hash = "sha256:a4600efdca68a33204ad9c083fd9966d63aee61a7d007e912b6afc6ff57d6e02"}, + {file = "types_setuptools-57.4.5-py3-none-any.whl", hash = "sha256:920a7c1ee120025e939a1707f8fd09a1266edbf7848eae7b8de7c5909a824cc8"}, ] types-toml = [ {file = "types-toml-0.10.1.tar.gz", hash = "sha256:5c1f8f8d57692397c8f902bf6b4d913a0952235db7db17d2908cc110e70610cb"}, @@ -3736,6 +3744,6 @@ wrapt = [ {file = "wrapt-1.13.3.tar.gz", hash = "sha256:1fea9cd438686e6682271d36f3481a9f3636195578bab9ca3382e2f5f01fc185"}, ] zipp = [ - {file = "zipp-3.6.0-py3-none-any.whl", hash = "sha256:9fe5ea21568a0a70e50f273397638d39b03353731e6cbbb3fd8502a33fec40bc"}, - {file = "zipp-3.6.0.tar.gz", hash = "sha256:71c644c5369f4a6e07636f0aa966270449561fcea2e3d6747b8d23efaa9d7832"}, + {file = "zipp-3.7.0-py3-none-any.whl", hash = "sha256:b47250dd24f92b7dd6a0a8fc5244da14608f3ca90a5efcd37a3b1642fac9a375"}, + {file = "zipp-3.7.0.tar.gz", hash = "sha256:9f50f446828eb9d45b267433fd3e9da8d801f614129124863f9c51ebceafb87d"}, ] diff --git a/pyproject.toml b/pyproject.toml index 7fa232135..14a132580 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,5 +1,5 @@ [tool.poetry] -name = "concretefhe" +name = "concrete-framework" version = "0.2.0-rc5" description = "Concrete Framework" authors = ["Zama "] @@ -8,7 +8,7 @@ packages = [ ] [tool.poetry.dependencies] -python = ">=3.8,<3.11" +python = ">=3.8,<3.10" networkx = "^2.6.3" matplotlib = "^3.4.3" numpy = "^1.21.2" @@ -32,7 +32,7 @@ pydocstyle = "^6.1.1" jupyter = "^1.0.0" flake8 = "^3.9.2" flake8-bugbear = "^21.9.2" -nbsphinx = "^0.8.7" +nbsphinx = "0.8.7" tqdm = "^4.62.3" psutil = "^5.8.0" py-cpuinfo = "^8.0.0" diff --git a/script/actions_utils/timestamp_check_compiler_package_update_container.sh b/script/actions_utils/timestamp_check_compiler_package_update_container.sh index f4c883a06..347cfb6f7 100755 --- a/script/actions_utils/timestamp_check_compiler_package_update_container.sh +++ b/script/actions_utils/timestamp_check_compiler_package_update_container.sh @@ -6,7 +6,7 @@ FILE= COMPILER_RELEASE_ENDPOINT_URL= ENV_IMG_ENDPOINT_URL= TOKEN= -ENV_DOCKERFILE=./docker/Dockerfile.concretefhe-env +ENV_DOCKERFILE=./docker/Dockerfile.concrete-framework-env GITHUB_ENV_FILE=debug.txt while [ -n "$1" ] diff --git a/script/actions_utils/timestamp_check_update_container.sh b/script/actions_utils/timestamp_check_update_container.sh index a2ce24a66..64958f93f 100755 --- a/script/actions_utils/timestamp_check_update_container.sh +++ b/script/actions_utils/timestamp_check_update_container.sh @@ -5,7 +5,7 @@ set -e BASE_IMG_ENDPOINT_URL= ENV_IMG_ENDPOINT_URL= TOKEN= -ENV_DOCKERFILE=./docker/Dockerfile.concretefhe-env +ENV_DOCKERFILE=./docker/Dockerfile.concrete-framework-env GITHUB_ENV_FILE=debug.txt while [ -n "$1" ] diff --git a/script/make_utils/licenses.sh b/script/make_utils/licenses.sh index 91ffedc11..033cf64e9 100755 --- a/script/make_utils/licenses.sh +++ b/script/make_utils/licenses.sh @@ -62,7 +62,7 @@ then python -m pip install -U --force-reinstall setuptools poetry install --no-dev --extras full python -m pip install pip-licenses - pip-licenses | grep -v "pkg\-resources\|concretefhe" | tee "${NEW_LICENSES_FILENAME}" + pip-licenses | grep -v "pkg\-resources\|concrete-framework" | tee "${NEW_LICENSES_FILENAME}" # Remove trailing whitespaces if [ "$UNAME" == "Darwin" ] @@ -99,7 +99,7 @@ then source $TMP_VENV_PATH/tmp_venv/bin/activate make setup_env - pip-licenses | grep -v "pkg\-resources\|concretefhe" | tee "${NEW_LICENSES_FILENAME}" + pip-licenses | grep -v "pkg\-resources\|concrete-framework" | tee "${NEW_LICENSES_FILENAME}" # Remove trailing whitespaces if [ "$UNAME" == "Darwin" ] diff --git a/tests/common/bounds_measurement/test_inputset_eval.py b/tests/common/bounds_measurement/test_inputset_eval.py index de82cb3f8..e51c8fa3b 100644 --- a/tests/common/bounds_measurement/test_inputset_eval.py +++ b/tests/common/bounds_measurement/test_inputset_eval.py @@ -506,7 +506,7 @@ def test_inpuset_eval_1_input(default_compilation_configuration): assert output_node.outputs[0] == EncryptedScalar(UnsignedInteger(6)) -# TODO: https://github.com/zama-ai/concretefhe-internal/issues/772 +# TODO: https://github.com/zama-ai/concrete-framework-internal/issues/772 # Remove once this issue is done def test_inpuset_eval_1_input_refuse_tuple(default_compilation_configuration): """Test case for a function with a single parameter and passing the inputset with tuples.""" diff --git a/tests/conftest.py b/tests/conftest.py index f30fa2f0a..d15a58360 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -55,7 +55,7 @@ def pytest_addoption(parser): ) -DEFAULT_KEYRING_PATH = Path.home().resolve() / ".cache/concretefhe_pytest" +DEFAULT_KEYRING_PATH = Path.home().resolve() / ".cache/concrete-framework_pytest" def get_keyring_dir_from_session_or_default( @@ -404,7 +404,7 @@ def check_is_good_execution_impl( # >= if there are 8 bits signed integers allow_relaxed_tests_passing = max_bit_width >= ACCEPTABLE_MAXIMAL_BITWIDTH_FROM_CONCRETE_LIB - # FIXME: https://github.com/zama-ai/concretefhe-internal/issues/1255 + # FIXME: https://github.com/zama-ai/concrete-framework-internal/issues/1255 # Increased with compiler accuracy which dropped, make sure to remove once accuracy improves nb_tries = 10 @@ -432,7 +432,7 @@ def check_is_good_execution_impl( if verbose: print(f"Good computation after {i} tries") return - # FIXME: https://github.com/zama-ai/concretefhe-internal/issues/1264 + # FIXME: https://github.com/zama-ai/concrete-framework-internal/issues/1264 # Remove the relaxed tests once accuracy is good again for 7 bits if allow_relaxed_tests_passing and cells_were_properly_computed.all(): print( diff --git a/tests/numpy/test_compile.py b/tests/numpy/test_compile.py index ca0387c65..3fb0bc427 100644 --- a/tests/numpy/test_compile.py +++ b/tests/numpy/test_compile.py @@ -242,7 +242,7 @@ def mix_x_and_y_and_call_f_with_integer_inputs(func, x, y): def mix_x_and_y_and_call_f_which_expects_small_inputs(func, x, y): """Create an upper function to test `func`, which expects small values to not use too much precision""" - # TODO: https://github.com/zama-ai/concretefhe-internal/issues/993 + # TODO: https://github.com/zama-ai/concrete-framework-internal/issues/993 # Understand why it's failing with 0.77 for numpy.arctanh a = numpy.abs(0.5 * numpy.sin(x)) z = numpy.abs(3 * func(a)) @@ -336,7 +336,7 @@ def subtest_compile_and_run_unary_ufunc_correctness( default_compilation_configuration, ) - # TODO: https://github.com/zama-ai/concretefhe-internal/issues/910 + # TODO: https://github.com/zama-ai/concrete-framework-internal/issues/910 args = [ numpy.random.randint(low, high, size=tensor_shape, dtype=numpy.uint8) if tensor_shape != () @@ -377,7 +377,7 @@ def subtest_compile_and_run_binary_ufunc_correctness( default_compilation_configuration, ) - # TODO: https://github.com/zama-ai/concretefhe-internal/issues/910 + # TODO: https://github.com/zama-ai/concrete-framework-internal/issues/910 args = [ numpy.random.randint(low, high, size=tensor_shape, dtype=numpy.uint8) if tensor_shape != ()