From 6cf39f7637736e077124469b8e97220dda99c3f0 Mon Sep 17 00:00:00 2001 From: kobymeir Date: Thu, 5 Sep 2024 09:47:22 +0300 Subject: [PATCH 01/28] build content docs - take 1 --- .gitlab/ci/.gitlab-ci.yml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .gitlab/ci/.gitlab-ci.yml diff --git a/.gitlab/ci/.gitlab-ci.yml b/.gitlab/ci/.gitlab-ci.yml new file mode 100644 index 000000000..362936573 --- /dev/null +++ b/.gitlab/ci/.gitlab-ci.yml @@ -0,0 +1,7 @@ +variables: + CURRENT_BRANCH_NAME: infra-content-docs + +include: + - file: "/.gitlab/ci/content-ci/ci/.gitlab-ci.yml" + ref: infra-content-docs + project: "${CI_PROJECT_NAMESPACE}/infra" From 934b72fc082a8fbe0bf307ffaed31d26c62d17cc Mon Sep 17 00:00:00 2001 From: kobymeir Date: Thu, 5 Sep 2024 10:23:59 +0300 Subject: [PATCH 02/28] build content docs - take 2 --- .gitlab/ci/.gitlab-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitlab/ci/.gitlab-ci.yml b/.gitlab/ci/.gitlab-ci.yml index 362936573..517056c4c 100644 --- a/.gitlab/ci/.gitlab-ci.yml +++ b/.gitlab/ci/.gitlab-ci.yml @@ -5,3 +5,4 @@ include: - file: "/.gitlab/ci/content-ci/ci/.gitlab-ci.yml" ref: infra-content-docs project: "${CI_PROJECT_NAMESPACE}/infra" + From a11a85aec47dcc561a9f51291a75b8d5cea6f963 Mon Sep 17 00:00:00 2001 From: kobymeir Date: Thu, 5 Sep 2024 10:27:54 +0300 Subject: [PATCH 03/28] build content docs - take 3 --- .gitlab/ci/.gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab/ci/.gitlab-ci.yml b/.gitlab/ci/.gitlab-ci.yml index 517056c4c..2cfbf5f85 100644 --- a/.gitlab/ci/.gitlab-ci.yml +++ b/.gitlab/ci/.gitlab-ci.yml @@ -2,7 +2,7 @@ variables: CURRENT_BRANCH_NAME: infra-content-docs include: - - file: "/.gitlab/ci/content-ci/ci/.gitlab-ci.yml" + - file: "/.gitlab/ci/content-docs/.gitlab-ci.yml" ref: infra-content-docs project: "${CI_PROJECT_NAMESPACE}/infra" From fa2d74badb25e990f54c70c2f10532193e7c288f Mon Sep 17 00:00:00 2001 From: kobymeir Date: Thu, 5 Sep 2024 10:35:04 +0300 Subject: [PATCH 04/28] build content docs - take 4 --- .gitlab/ci/.gitlab-ci.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitlab/ci/.gitlab-ci.yml b/.gitlab/ci/.gitlab-ci.yml index 2cfbf5f85..7b7eca2a0 100644 --- a/.gitlab/ci/.gitlab-ci.yml +++ b/.gitlab/ci/.gitlab-ci.yml @@ -5,4 +5,3 @@ include: - file: "/.gitlab/ci/content-docs/.gitlab-ci.yml" ref: infra-content-docs project: "${CI_PROJECT_NAMESPACE}/infra" - From 936a4e2cdf464f84870551c6aec2b9c7391a0bb4 Mon Sep 17 00:00:00 2001 From: kobymeir Date: Thu, 5 Sep 2024 10:42:15 +0300 Subject: [PATCH 05/28] build content docs - take 5 --- .gitlab/ci/.gitlab-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitlab/ci/.gitlab-ci.yml b/.gitlab/ci/.gitlab-ci.yml index 7b7eca2a0..2cfbf5f85 100644 --- a/.gitlab/ci/.gitlab-ci.yml +++ b/.gitlab/ci/.gitlab-ci.yml @@ -5,3 +5,4 @@ include: - file: "/.gitlab/ci/content-docs/.gitlab-ci.yml" ref: infra-content-docs project: "${CI_PROJECT_NAMESPACE}/infra" + From 57a341bedfc64b798747143f3b85a45e714c4402 Mon Sep 17 00:00:00 2001 From: kobymeir Date: Thu, 5 Sep 2024 14:51:40 +0300 Subject: [PATCH 06/28] build content docs - take 6 --- .gitlab/helper_functions.sh | 81 +++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 .gitlab/helper_functions.sh diff --git a/.gitlab/helper_functions.sh b/.gitlab/helper_functions.sh new file mode 100644 index 000000000..2ccc08395 --- /dev/null +++ b/.gitlab/helper_functions.sh @@ -0,0 +1,81 @@ +#!/bin/bash + +CYAN="\e[0;36m" +CLEAR="\e[0m" +SECTION_START="\e[0Ksection_start:the_time:section_id\r\e[0K${CYAN}section_header${CLEAR}" +SECTION_END="\e[0Ksection_end:the_time:section_id\r\e[0K" +RED='\033[0;31m' +GREEN='\033[0;32m' +BLUE='\033[0;34m' +NC='\033[0m' + +section_start() { + local section_header section_id start + start="$SECTION_START" + if [[ "$#" -eq 1 ]]; then + section_header="$1" + section_id="$(echo "$1" | tr -c '[:alnum:]\n\r' '_')" + elif [[ "$#" -eq 2 ]]; then + if [[ "$2" =~ -{0,2}collapsed ]]; then + start="${start/section_id/section_id[collapsed=true]}" + section_header="$1" + section_id="$(echo "$1" | tr -c '[:alnum:]\n\r' '_')" + else + section_header="$2" + section_id="$1" + fi + elif [[ "$#" -eq 3 && "$3" =~ /^-{0,2}collapsed$/ ]]; then + start="${start/section_id/section_id[collapsed=true]}" + section_header="$2" + section_id="$1" + else + echo "section_start should be called with 1-3 args but it was called with $#" + echo "acceptable usages:" + echo " 1. section_start \"\" \"\"" + echo " 2. section_start \"\"" + echo " 3. section_start \"\" \"\" --collapse" + echo " 4. section_start \"\" --collapse" + echo "where is only alphanumeric characters and underscore and" + echo "--collapse indicates that you would like those log steps to be collapsed in the job log output by default" + exit 9 + fi + start_time=$(date +%s) + start="$(echo "$start" | sed -e "s/the_time/$start_time/" -e "s/section_id/$section_id/" -e "s/section_header/$section_header/")" + echo -e "$start" + date +"[%Y-%m-%dT%H:%M:%S.%3N] section start" +} + +section_end() { + local section_id end + date +"[%Y-%m-%dT%H:%M:%S.%3N] section end" + end="$SECTION_END" + if [[ "$#" -eq 1 ]]; then + section_id="$(echo "$1" | tr -c '[:alnum:]\n\r' '_')" + else + echo "section_end should be called with 1 arg but it was called with $#" + echo "acceptable usage:" + echo " 1. section_end \"\"" + echo " 2. section_start \"\"" + echo "where or is that of the section this marks the end of" + exit 9 + fi + end_time=$(date +%s) + end="$(echo "$end" | sed -e "s/the_time/$end_time/" -e "s/section_id/$section_id/")" + echo -e "$end" +} + +job-done() { + mkdir -p "${PIPELINE_JOBS_FOLDER}" + echo "creating file ${PIPELINE_JOBS_FOLDER}/${CI_JOB_NAME}.txt" + echo "done" > "${PIPELINE_JOBS_FOLDER}/${CI_JOB_NAME}.txt" + echo "finished writing to file ${PIPELINE_JOBS_FOLDER}/${CI_JOB_NAME}.txt" +} + +sleep-with-progress() { + local sleep_time=${1:-10} + local sleep_interval=${2:-1} + local sleep_message=${3:-"Sleeping... "} + local columns=${4:-$(tput cols)} + local sleep_step=$((sleep_time / sleep_interval)) + for ((i=0; i< sleep_step;i++)); do echo "${sleep_interval}";sleep "${sleep_interval}"; done | poetry run tqdm --total ${sleep_time} --unit seconds --leave --update --colour green -ncols ${columns} --desc "${sleep_message}" 1> /dev/null +} From 222649d6ae2e5b7298d3a1f5fbd75ab270d202cf Mon Sep 17 00:00:00 2001 From: kobymeir Date: Sun, 8 Sep 2024 09:32:45 +0300 Subject: [PATCH 07/28] build content docs - take 7 --- content-repo/create-docs.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/content-repo/create-docs.sh b/content-repo/create-docs.sh index 7001bbd17..6332c397d 100755 --- a/content-repo/create-docs.sh +++ b/content-repo/create-docs.sh @@ -6,7 +6,7 @@ set -e # Script will check out the Demisto content repo and then generate documentation based upon the checkout SCRIPT_DIR=$(dirname ${BASH_SOURCE}) -CURRENT_DIR=`pwd` +CURRENT_DIR=$(pwd) if [[ "${SCRIPT_DIR}" != /* ]]; then SCRIPT_DIR="${CURRENT_DIR}/${SCRIPT_DIR}" fi @@ -48,17 +48,17 @@ else echo "==== content git url: ${CONTENT_GIT_URL} branch: ${CONTENT_BRANCH} ====" if [[ -d ${CONTENT_GIT_DIR} && $(cd ${CONTENT_GIT_DIR}; git remote get-url origin) != "${CONTENT_GIT_URL}" ]]; then - echo "Deleting dir: ${CONTENT_GIT_DIR} as remote url dooesn't match ${CONTENT_GIT_URL} ..." + echo "Deleting dir: ${CONTENT_GIT_DIR} as remote url doesn't match ${CONTENT_GIT_URL} ..." rm -rf "${CONTENT_GIT_DIR}" fi if [ ! -d ${CONTENT_GIT_DIR} ]; then # Do not do "git clone --depth 1" as we need full history for the deprecated integrations data generation echo "Cloning content to dir: ${CONTENT_GIT_DIR} ..." - git clone ${CONTENT_GIT_URL} ${CONTENT_GIT_DIR} + git clone -q ${CONTENT_GIT_URL} ${CONTENT_GIT_DIR} else echo "Content dir: ${CONTENT_GIT_DIR} exists. Skipped clone." - if [ -z "${CONTENT_REPO_SKIP_PULL}"]; then + if [ -z "${CONTENT_REPO_SKIP_PULL}" ]; then echo "Doing pull..." (cd ${CONTENT_GIT_DIR}; git pull) fi @@ -75,7 +75,7 @@ else echo "Using content master to generate build" CONTENT_BRANCH=master git checkout master - # you can use an old hash to try to see if bulid passes when there is a failure. + # you can use an old hash to try to see if build passes when there is a failure. # git checkout b11f4cfe4a3bf567656ef021f3d8f1bf66bcb9f6 fi echo "Git log:" From 97a8bbebe4545447a2d5f297e78b8b23541bd477 Mon Sep 17 00:00:00 2001 From: kobymeir Date: Mon, 9 Sep 2024 19:53:38 +0300 Subject: [PATCH 08/28] build content docs - take 8 --- .circleci/config.yml | 4 ++-- content-repo/create-docs.sh | 4 +++- content-repo/gendocs.py | 2 +- content-repo/post_github_comment.py | 4 ++-- content-repo/test_data/circleci-forked-build.json | 4 ++-- content-repo/test_data/circleci-non-forked-build.json | 4 ++-- content-repo/test_data/circleci-non-pr-build.json | 4 ++-- 7 files changed, 14 insertions(+), 12 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 423e5553f..0008d8488 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -124,8 +124,8 @@ jobs: export PATH="$PATH:`pwd`/node_modules/.bin" export GOOGLE_APPLICATION_CREDENTIALS="$HOME"/gcloud.json - if [ "$CIRCLE_BRANCH" = "master" ]; then - echo "Deploying to prod as CIRCLE_BRANCH is equal to master!" + if [[ "${CIRCLE_BRANCH}" = "master" ]] || [[ "${CI_COMMIT_REF_NAME}" == "master" ]]; then + echo "Deploying to prod as CI_COMMIT_REF_NAME is equal to master!" firebase deploy --only hosting > deploy-info-firebase.txt else # Get the PR number from the CIRCLE_PULL_REQUEST env variable which is in the form of: diff --git a/content-repo/create-docs.sh b/content-repo/create-docs.sh index 6332c397d..75963a02e 100755 --- a/content-repo/create-docs.sh +++ b/content-repo/create-docs.sh @@ -20,8 +20,10 @@ if [[ -n "$CONTENT_REPO_DIR" ]]; then echo "=================================" else CONTENT_GIT_DIR=${SCRIPT_DIR}/.content - if [[ -n "${CIRCLE_BRANCH}" ]]; then + if [[ -n "${CIRCLE_BRANCH}" ]]; then # CircleCI - deprecated remove! CURRENT_BRANCH=${CIRCLE_BRANCH} + elif [[ -n "${CI_COMMIT_REF_NAME}" ]]; then + CURRENT_BRANCH=${CI_COMMIT_REF_NAME} else CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD) fi diff --git a/content-repo/gendocs.py b/content-repo/gendocs.py index a9f1db9ca..985e700be 100755 --- a/content-repo/gendocs.py +++ b/content-repo/gendocs.py @@ -82,7 +82,7 @@ def timestamped_print(*args, **kwargs): DEPRECATED_INFO_FILE = f'{os.path.dirname(os.path.abspath(__file__))}/extra-docs/articles/deprecated_info.json' # initialize the seed according to the PR branch. Used when selecting max files. -random.seed(os.getenv('CIRCLE_BRANCH')) +random.seed(os.getenv('CIRCLE_BRANCH', os.getenv("CI_COMMIT_REF_NAME"))) MIN_RELEASE_VERSION = StrictVersion((datetime.now() + relativedelta(months=-18)).strftime('%y.%-m.0')) PACKS_INTEGRATIONS_PREFIX = 'Integrations' diff --git a/content-repo/post_github_comment.py b/content-repo/post_github_comment.py index 7c53e9ba0..322d2d2f0 100755 --- a/content-repo/post_github_comment.py +++ b/content-repo/post_github_comment.py @@ -106,7 +106,7 @@ def post_comment(deploy_info_file: str): "Congratulations! The automatic build has completed successfully.\n" \ f"A preview site is available at: {deploy_url}\n\n---\n" \ "**Important:** Make sure to inspect your changes at the preview site." - if os.getenv('CIRCLE_BRANCH') == 'master': + if os.getenv('CIRCLE_BRANCH', os.getenv("CI_COMMIT_REF_NAME")) == 'master': message = "# Production Site Updated\n\n" \ "Congratulations! The automatic build has completed successfully.\n" \ @@ -135,7 +135,7 @@ def main(): PR_NUM: if set will use this as the pull request number. Otherwise will move on to CIRCLE_PULL_REQUEST CIRCLE_PULL_REQUEST: pull request url to use to get the pull id. Such as: https://github.com/demisto/content-docs/pull/9 if CIRCLE_PULL_REQUEST will try to get issue id from last commit comment (case of merge into master) -CIRCLE_BRANCH: if set to master treats as a production deployment +CI_COMMIT_REF_NAME: if set to master treats as a production deployment SKIP_SSL_VERIFY: if set will skip ssl verification (used for testing behind GP) """ parser = argparse.ArgumentParser(description=desc, diff --git a/content-repo/test_data/circleci-forked-build.json b/content-repo/test_data/circleci-forked-build.json index 1be84e5c1..2f37d5426 100644 --- a/content-repo/test_data/circleci-forked-build.json +++ b/content-repo/test_data/circleci-forked-build.json @@ -72,7 +72,7 @@ "failed" : null, "infrastructure_fail" : null, "name" : "Checkout code", - "bash_command" : "#!/bin/sh\nset -e\n\n# Workaround old docker images with incorrect $HOME\n# check https://github.com/docker/docker/issues/2968 for details\nif [ \"${HOME}\" = \"/\" ]\nthen\n export HOME=$(getent passwd $(id -un) | cut -d: -f6)\nfi\n\necho Using SSH Config Dir $SSH_CONFIG_DIR\n\nmkdir -p $SSH_CONFIG_DIR\n\necho 'github.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==\nbitbucket.org ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAubiN81eDcafrgMeLzaFPsw2kNvEcqTKl/VqLat/MaB33pZy0y3rJZtnqwR2qOOvbwKZYKiEO1O6VqNEBxKvJJelCq0dTXWT5pbO2gDXC6h6QDXCaHo6pOHGPUy+YBaGQRGuSusMEASYiWunYN0vCAI8QaXnWMXNMdFP3jHAJH0eDsoiGnLPBlBp4TNm6rYI74nMzgz3B9IikW4WVK+dc8KZJZWYjAuORU3jc1c/NPskD2ASinf8v3xnfXeukU0sJ5N6m5E8VLjObPEO+mN2t/FZTMZLiFqPWc/ALSqnMnnhwrNi2rbfg/rd/IpL8Le3pSBne8+seeFVBoGqzHM9yXw==\n' >> $SSH_CONFIG_DIR/known_hosts\n\n(umask 077; touch $SSH_CONFIG_DIR/id_rsa)\nchmod 0600 $SSH_CONFIG_DIR/id_rsa\n(cat < $SSH_CONFIG_DIR/id_rsa\n$CHECKOUT_KEY\nEOF\n)\n\nexport GIT_SSH_COMMAND='ssh -i $SSH_CONFIG_DIR/id_rsa -o UserKnownHostsFile=$SSH_CONFIG_DIR/known_hosts'\n\n# use git+ssh instead of https\ngit config --global url.\"ssh://git@github.com\".insteadOf \"https://github.com\" || true\ngit config --global gc.auto 0 || true\n\nif [ -e /home/circleci/project/.git ]\nthen\n cd /home/circleci/project\n git remote set-url origin \"$CIRCLE_REPOSITORY_URL\" || true\nelse\n mkdir -p /home/circleci/project\n cd /home/circleci/project\n git clone \"$CIRCLE_REPOSITORY_URL\" .\nfi\n\nif [ -n \"$CIRCLE_TAG\" ]\nthen\n git fetch --force origin \"refs/tags/${CIRCLE_TAG}\"\nelse\n git fetch --force origin \"pull/345/head:remotes/origin/pull/345\"\nfi\n\n\nif [ -n \"$CIRCLE_TAG\" ]\nthen\n git reset --hard \"$CIRCLE_SHA1\"\n git checkout -q \"$CIRCLE_TAG\"\nelif [ -n \"$CIRCLE_BRANCH\" ]\nthen\n git reset --hard \"$CIRCLE_SHA1\"\n git checkout -q -B \"$CIRCLE_BRANCH\"\nfi\n\ngit reset --hard \"$CIRCLE_SHA1\"", + "bash_command" : "#!/bin/sh\nset -e\n\n# Workaround old docker images with incorrect $HOME\n# check https://github.com/docker/docker/issues/2968 for details\nif [ \"${HOME}\" = \"/\" ]\nthen\n export HOME=$(getent passwd $(id -un) | cut -d: -f6)\nfi\n\necho Using SSH Config Dir $SSH_CONFIG_DIR\n\nmkdir -p $SSH_CONFIG_DIR\n\necho 'github.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==\nbitbucket.org ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAubiN81eDcafrgMeLzaFPsw2kNvEcqTKl/VqLat/MaB33pZy0y3rJZtnqwR2qOOvbwKZYKiEO1O6VqNEBxKvJJelCq0dTXWT5pbO2gDXC6h6QDXCaHo6pOHGPUy+YBaGQRGuSusMEASYiWunYN0vCAI8QaXnWMXNMdFP3jHAJH0eDsoiGnLPBlBp4TNm6rYI74nMzgz3B9IikW4WVK+dc8KZJZWYjAuORU3jc1c/NPskD2ASinf8v3xnfXeukU0sJ5N6m5E8VLjObPEO+mN2t/FZTMZLiFqPWc/ALSqnMnnhwrNi2rbfg/rd/IpL8Le3pSBne8+seeFVBoGqzHM9yXw==\n' >> $SSH_CONFIG_DIR/known_hosts\n\n(umask 077; touch $SSH_CONFIG_DIR/id_rsa)\nchmod 0600 $SSH_CONFIG_DIR/id_rsa\n(cat < $SSH_CONFIG_DIR/id_rsa\n$CHECKOUT_KEY\nEOF\n)\n\nexport GIT_SSH_COMMAND='ssh -i $SSH_CONFIG_DIR/id_rsa -o UserKnownHostsFile=$SSH_CONFIG_DIR/known_hosts'\n\n# use git+ssh instead of https\ngit config --global url.\"ssh://git@github.com\".insteadOf \"https://github.com\" || true\ngit config --global gc.auto 0 || true\n\nif [ -e /home/circleci/project/.git ]\nthen\n cd /home/circleci/project\n git remote set-url origin \"$CIRCLE_REPOSITORY_URL\" || true\nelse\n mkdir -p /home/circleci/project\n cd /home/circleci/project\n git clone \"$CIRCLE_REPOSITORY_URL\" .\nfi\n\nif [ -n \"$CIRCLE_TAG\" ]\nthen\n git fetch --force origin \"refs/tags/${CIRCLE_TAG}\"\nelse\n git fetch --force origin \"pull/345/head:remotes/origin/pull/345\"\nfi\n\n\nif [ -n \"$CIRCLE_TAG\" ]\nthen\n git reset --hard \"$CIRCLE_SHA1\"\n git checkout -q \"$CIRCLE_TAG\"\nelif [ -n \"$CI_COMMIT_REF_NAME\" ]\nthen\n git reset --hard \"$CIRCLE_SHA1\"\n git checkout -q -B \"$CI_COMMIT_REF_NAME\"\nfi\n\ngit reset --hard \"$CIRCLE_SHA1\"", "status" : "success", "timedout" : null, "continue" : null, @@ -397,7 +397,7 @@ "used_features" : [ "" ] }, "circle_yml" : { - "string" : "version: 2\njobs:\n build:\n machine:\n image: ubuntu-1604:202007-01\n steps:\n - checkout\n - restore_cache:\n key: npm-cache-{{ checksum \"package-lock.json\" }}\n - run:\n name: Setup Node\n command: \"echo '[ -s \\\"$NVM_DIR/nvm.sh\\\" ] && \\\\. \\\"$NVM_DIR/nvm.sh\\\"' >> $BASH_ENV\\nsource $BASH_ENV\\nnvm install `cat .nvmrc` \\n\"\n - run:\n name: Setup Python\n command: |\n pyenv versions\n pyenv global 3.7.8 3.8.3\n pip3 install pipenv\n pipenv install\n - run:\n name: NPM Install\n command: |\n nvm use\n node --version\n npm --version\n npm ci\n - run:\n name: NPM Build content-repo docs\n command: |\n nvm use\n npm run reference-docs\n - run:\n name: NPM Build\n no_output_timeout: 40m\n environment:\n ALGOLIA_INDEX: demisto\n command: \"nvm use \\nnpm run heapstats\\nnpm run build-docusaurus\\necho \\\"Build is done. Create tar of the build dir\\\"\\ntar czf build-site.tar.gz build\\n\"\n - store_artifacts:\n path: build-site.tar.gz\n - save_cache:\n key: npm-cache-{{ checksum \"package-lock.json\" }}\n paths:\n - node_modules\n - persist_to_workspace:\n root: /home/circleci/project\n paths:\n - build\n deploy:\n docker:\n - image: circleci/python:3.7.9-buster-node\n resource_class: small\n steps:\n - checkout\n - attach_workspace:\n at: /home/circleci/project\n - run:\n name: Setup Python\n command: |\n pipenv install\n - run:\n name: Deploy to Firebase\n no_output_timeout: 30m\n command: |\n echo $FIREBASE_JSON_KEY > \"$HOME\"/gcloud.json\n npm install firebase-tools\n export PATH=\"$PATH:`pwd`/node_modules/.bin\"\n export GOOGLE_APPLICATION_CREDENTIALS=\"$HOME\"/gcloud.json\n if [ \"$CIRCLE_BRANCH\" = \"master\" ]; then\n echo \"Deploying to prod as CIRCLE_BRANCH is equal to master!\"\n firebase deploy --only hosting > deploy-info-firebase.txt\n else\n # Get the PR number from the CIRCLE_PULL_REQUEST env variable which is in the form of:\n # https://github.com/demisto/content-docs/pull/335\n firebase hosting:channel:deploy \"pull-request-${CIRCLE_PULL_REQUEST##*/}\" --only xsoar.pan.dev > deploy-info-firebase.txt\n cat deploy-info-firebase.txt\n fi\n - run:\n name: Post Comment Firebase\n command: |\n pipenv run ./content-repo/post_github_comment.py deploy-info-firebase.txt\nworkflows:\n build_and_deploy:\n jobs:\n - build\n - deploy:\n filters:\n branches:\n only: /^(?!pull\\/).*$/\n requires:\n - build\n version: 2\n\n# Original config.yml file:\n# ### =============================================================\n# ### This configuration file is used by CircleCI build server\n# ### https://circleci.com/docs/config-sample\n# ### =============================================================\n# version: 2.1\n# jobs:\n# build:\n# \n# machine:\n# image: ubuntu-1604:202007-01\n# \n# steps:\n# - checkout\n# - restore_cache:\n# key: npm-cache-{{ checksum \\\"package-lock.json\\\" }}\n# - run:\n# name: Setup Node\n# command: |\n# echo '[ -s \\\"$NVM_DIR/nvm.sh\\\" ] && \\\\. \\\"$NVM_DIR/nvm.sh\\\"' >> $BASH_ENV\n# source $BASH_ENV\n# nvm install `cat .nvmrc` \n# - run:\n# name: Setup Python\n# command: |\n# pyenv versions\n# pyenv global 3.7.8 3.8.3\n# pip3 install pipenv\n# pipenv install\n# - run:\n# name: NPM Install\n# command: |\n# nvm use\n# node --version\n# npm --version\n# npm ci\n# - run:\n# name: NPM Build content-repo docs\n# command: |\n# nvm use\n# npm run reference-docs\n# - run:\n# name: NPM Build\n# no_output_timeout: 40m\n# environment:\n# ALGOLIA_INDEX: demisto\n# command: |\n# nvm use \n# npm run heapstats\n# npm run build-docusaurus\n# echo \\\"Build is done. Create tar of the build dir\\\"\n# tar czf build-site.tar.gz build\n# - store_artifacts:\n# path: build-site.tar.gz\n# - save_cache:\n# key: npm-cache-{{ checksum \\\"package-lock.json\\\" }}\n# paths:\n# - node_modules\n# - persist_to_workspace:\n# # Must be an absolute path, or relative path from working_directory. This is a directory on the container which is \n# # taken to be the root directory of the workspace.\n# root: /home/circleci/project\n# # Must be relative path from root\n# paths:\n# - build \n# \n# deploy:\n# docker:\n# - image: circleci/python:3.7.9-buster-node\n# resource_class: small\n# steps:\n# - checkout\n# - attach_workspace:\n# at: /home/circleci/project\n# - run:\n# name: Setup Python\n# command: | \n# pipenv install\n# - run:\n# name: Deploy to Firebase\n# no_output_timeout: 30m\n# command: |\n# echo $FIREBASE_JSON_KEY > \"$HOME\"/gcloud.json\n# npm install firebase-tools\n# export PATH=\"$PATH:`pwd`/node_modules/.bin\"\n# export GOOGLE_APPLICATION_CREDENTIALS=\"$HOME\"/gcloud.json\n# if [ \"$CIRCLE_BRANCH\" = \"master\" ]; then\n# echo \"Deploying to prod as CIRCLE_BRANCH is equal to master!\"\n# firebase deploy --only hosting > deploy-info-firebase.txt\n# else\n# # Get the PR number from the CIRCLE_PULL_REQUEST env variable which is in the form of:\n# # https://github.com/demisto/content-docs/pull/335\n# firebase hosting:channel:deploy \"pull-request-${CIRCLE_PULL_REQUEST##*/}\" --only xsoar.pan.dev > deploy-info-firebase.txt\n# cat deploy-info-firebase.txt\n# fi\n# - run:\n# name: Post Comment Firebase\n# command: |\n# pipenv run ./content-repo/post_github_comment.py deploy-info-firebase.txt\n# \n# workflows:\n# build_and_deploy:\n# jobs:\n# - build\n# - deploy:\n# requires:\n# - build\n# filters:\n# branches:\n# # only from non-fork\n# only: /^(?!pull\\\\/).*$/" + "string" : "version: 2\njobs:\n build:\n machine:\n image: ubuntu-1604:202007-01\n steps:\n - checkout\n - restore_cache:\n key: npm-cache-{{ checksum \"package-lock.json\" }}\n - run:\n name: Setup Node\n command: \"echo '[ -s \\\"$NVM_DIR/nvm.sh\\\" ] && \\\\. \\\"$NVM_DIR/nvm.sh\\\"' >> $BASH_ENV\\nsource $BASH_ENV\\nnvm install `cat .nvmrc` \\n\"\n - run:\n name: Setup Python\n command: |\n pyenv versions\n pyenv global 3.7.8 3.8.3\n pip3 install pipenv\n pipenv install\n - run:\n name: NPM Install\n command: |\n nvm use\n node --version\n npm --version\n npm ci\n - run:\n name: NPM Build content-repo docs\n command: |\n nvm use\n npm run reference-docs\n - run:\n name: NPM Build\n no_output_timeout: 40m\n environment:\n ALGOLIA_INDEX: demisto\n command: \"nvm use \\nnpm run heapstats\\nnpm run build-docusaurus\\necho \\\"Build is done. Create tar of the build dir\\\"\\ntar czf build-site.tar.gz build\\n\"\n - store_artifacts:\n path: build-site.tar.gz\n - save_cache:\n key: npm-cache-{{ checksum \"package-lock.json\" }}\n paths:\n - node_modules\n - persist_to_workspace:\n root: /home/circleci/project\n paths:\n - build\n deploy:\n docker:\n - image: circleci/python:3.7.9-buster-node\n resource_class: small\n steps:\n - checkout\n - attach_workspace:\n at: /home/circleci/project\n - run:\n name: Setup Python\n command: |\n pipenv install\n - run:\n name: Deploy to Firebase\n no_output_timeout: 30m\n command: |\n echo $FIREBASE_JSON_KEY > \"$HOME\"/gcloud.json\n npm install firebase-tools\n export PATH=\"$PATH:`pwd`/node_modules/.bin\"\n export GOOGLE_APPLICATION_CREDENTIALS=\"$HOME\"/gcloud.json\n if [ \"$CI_COMMIT_REF_NAME\" = \"master\" ]; then\n echo \"Deploying to prod as CI_COMMIT_REF_NAME is equal to master!\"\n firebase deploy --only hosting > deploy-info-firebase.txt\n else\n # Get the PR number from the CIRCLE_PULL_REQUEST env variable which is in the form of:\n # https://github.com/demisto/content-docs/pull/335\n firebase hosting:channel:deploy \"pull-request-${CIRCLE_PULL_REQUEST##*/}\" --only xsoar.pan.dev > deploy-info-firebase.txt\n cat deploy-info-firebase.txt\n fi\n - run:\n name: Post Comment Firebase\n command: |\n pipenv run ./content-repo/post_github_comment.py deploy-info-firebase.txt\nworkflows:\n build_and_deploy:\n jobs:\n - build\n - deploy:\n filters:\n branches:\n only: /^(?!pull\\/).*$/\n requires:\n - build\n version: 2\n\n# Original config.yml file:\n# ### =============================================================\n# ### This configuration file is used by CircleCI build server\n# ### https://circleci.com/docs/config-sample\n# ### =============================================================\n# version: 2.1\n# jobs:\n# build:\n# \n# machine:\n# image: ubuntu-1604:202007-01\n# \n# steps:\n# - checkout\n# - restore_cache:\n# key: npm-cache-{{ checksum \\\"package-lock.json\\\" }}\n# - run:\n# name: Setup Node\n# command: |\n# echo '[ -s \\\"$NVM_DIR/nvm.sh\\\" ] && \\\\. \\\"$NVM_DIR/nvm.sh\\\"' >> $BASH_ENV\n# source $BASH_ENV\n# nvm install `cat .nvmrc` \n# - run:\n# name: Setup Python\n# command: |\n# pyenv versions\n# pyenv global 3.7.8 3.8.3\n# pip3 install pipenv\n# pipenv install\n# - run:\n# name: NPM Install\n# command: |\n# nvm use\n# node --version\n# npm --version\n# npm ci\n# - run:\n# name: NPM Build content-repo docs\n# command: |\n# nvm use\n# npm run reference-docs\n# - run:\n# name: NPM Build\n# no_output_timeout: 40m\n# environment:\n# ALGOLIA_INDEX: demisto\n# command: |\n# nvm use \n# npm run heapstats\n# npm run build-docusaurus\n# echo \\\"Build is done. Create tar of the build dir\\\"\n# tar czf build-site.tar.gz build\n# - store_artifacts:\n# path: build-site.tar.gz\n# - save_cache:\n# key: npm-cache-{{ checksum \\\"package-lock.json\\\" }}\n# paths:\n# - node_modules\n# - persist_to_workspace:\n# # Must be an absolute path, or relative path from working_directory. This is a directory on the container which is \n# # taken to be the root directory of the workspace.\n# root: /home/circleci/project\n# # Must be relative path from root\n# paths:\n# - build \n# \n# deploy:\n# docker:\n# - image: circleci/python:3.7.9-buster-node\n# resource_class: small\n# steps:\n# - checkout\n# - attach_workspace:\n# at: /home/circleci/project\n# - run:\n# name: Setup Python\n# command: | \n# pipenv install\n# - run:\n# name: Deploy to Firebase\n# no_output_timeout: 30m\n# command: |\n# echo $FIREBASE_JSON_KEY > \"$HOME\"/gcloud.json\n# npm install firebase-tools\n# export PATH=\"$PATH:`pwd`/node_modules/.bin\"\n# export GOOGLE_APPLICATION_CREDENTIALS=\"$HOME\"/gcloud.json\n# if [ \"$CI_COMMIT_REF_NAME\" = \"master\" ]; then\n# echo \"Deploying to prod as CI_COMMIT_REF_NAME is equal to master!\"\n# firebase deploy --only hosting > deploy-info-firebase.txt\n# else\n# # Get the PR number from the CIRCLE_PULL_REQUEST env variable which is in the form of:\n# # https://github.com/demisto/content-docs/pull/335\n# firebase hosting:channel:deploy \"pull-request-${CIRCLE_PULL_REQUEST##*/}\" --only xsoar.pan.dev > deploy-info-firebase.txt\n# cat deploy-info-firebase.txt\n# fi\n# - run:\n# name: Post Comment Firebase\n# command: |\n# pipenv run ./content-repo/post_github_comment.py deploy-info-firebase.txt\n# \n# workflows:\n# build_and_deploy:\n# jobs:\n# - build\n# - deploy:\n# requires:\n# - build\n# filters:\n# branches:\n# # only from non-fork\n# only: /^(?!pull\\\\/).*$/" }, "messages" : [ ], "is_first_green_build" : false, diff --git a/content-repo/test_data/circleci-non-forked-build.json b/content-repo/test_data/circleci-non-forked-build.json index 7664a0639..899a1a506 100644 --- a/content-repo/test_data/circleci-non-forked-build.json +++ b/content-repo/test_data/circleci-non-forked-build.json @@ -72,7 +72,7 @@ "failed" : null, "infrastructure_fail" : null, "name" : "Checkout code", - "bash_command" : "#!/bin/sh\nset -e\n\n# Workaround old docker images with incorrect $HOME\n# check https://github.com/docker/docker/issues/2968 for details\nif [ \"${HOME}\" = \"/\" ]\nthen\n export HOME=$(getent passwd $(id -un) | cut -d: -f6)\nfi\n\necho Using SSH Config Dir $SSH_CONFIG_DIR\n\nmkdir -p $SSH_CONFIG_DIR\n\necho 'github.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==\nbitbucket.org ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAubiN81eDcafrgMeLzaFPsw2kNvEcqTKl/VqLat/MaB33pZy0y3rJZtnqwR2qOOvbwKZYKiEO1O6VqNEBxKvJJelCq0dTXWT5pbO2gDXC6h6QDXCaHo6pOHGPUy+YBaGQRGuSusMEASYiWunYN0vCAI8QaXnWMXNMdFP3jHAJH0eDsoiGnLPBlBp4TNm6rYI74nMzgz3B9IikW4WVK+dc8KZJZWYjAuORU3jc1c/NPskD2ASinf8v3xnfXeukU0sJ5N6m5E8VLjObPEO+mN2t/FZTMZLiFqPWc/ALSqnMnnhwrNi2rbfg/rd/IpL8Le3pSBne8+seeFVBoGqzHM9yXw==\n' >> $SSH_CONFIG_DIR/known_hosts\n\n(umask 077; touch $SSH_CONFIG_DIR/id_rsa)\nchmod 0600 $SSH_CONFIG_DIR/id_rsa\n(cat < $SSH_CONFIG_DIR/id_rsa\n$CHECKOUT_KEY\nEOF\n)\n\nexport GIT_SSH_COMMAND='ssh -i $SSH_CONFIG_DIR/id_rsa -o UserKnownHostsFile=$SSH_CONFIG_DIR/known_hosts'\n\n# use git+ssh instead of https\ngit config --global url.\"ssh://git@github.com\".insteadOf \"https://github.com\" || true\ngit config --global gc.auto 0 || true\n\nif [ -e /home/circleci/project/.git ]\nthen\n cd /home/circleci/project\n git remote set-url origin \"$CIRCLE_REPOSITORY_URL\" || true\nelse\n mkdir -p /home/circleci/project\n cd /home/circleci/project\n git clone \"$CIRCLE_REPOSITORY_URL\" .\nfi\n\nif [ -n \"$CIRCLE_TAG\" ]\nthen\n git fetch --force origin \"refs/tags/${CIRCLE_TAG}\"\nelse\n git fetch --force origin \"evisochek-patch-1:remotes/origin/evisochek-patch-1\"\nfi\n\n\nif [ -n \"$CIRCLE_TAG\" ]\nthen\n git reset --hard \"$CIRCLE_SHA1\"\n git checkout -q \"$CIRCLE_TAG\"\nelif [ -n \"$CIRCLE_BRANCH\" ]\nthen\n git reset --hard \"$CIRCLE_SHA1\"\n git checkout -q -B \"$CIRCLE_BRANCH\"\nfi\n\ngit reset --hard \"$CIRCLE_SHA1\"", + "bash_command" : "#!/bin/sh\nset -e\n\n# Workaround old docker images with incorrect $HOME\n# check https://github.com/docker/docker/issues/2968 for details\nif [ \"${HOME}\" = \"/\" ]\nthen\n export HOME=$(getent passwd $(id -un) | cut -d: -f6)\nfi\n\necho Using SSH Config Dir $SSH_CONFIG_DIR\n\nmkdir -p $SSH_CONFIG_DIR\n\necho 'github.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==\nbitbucket.org ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAubiN81eDcafrgMeLzaFPsw2kNvEcqTKl/VqLat/MaB33pZy0y3rJZtnqwR2qOOvbwKZYKiEO1O6VqNEBxKvJJelCq0dTXWT5pbO2gDXC6h6QDXCaHo6pOHGPUy+YBaGQRGuSusMEASYiWunYN0vCAI8QaXnWMXNMdFP3jHAJH0eDsoiGnLPBlBp4TNm6rYI74nMzgz3B9IikW4WVK+dc8KZJZWYjAuORU3jc1c/NPskD2ASinf8v3xnfXeukU0sJ5N6m5E8VLjObPEO+mN2t/FZTMZLiFqPWc/ALSqnMnnhwrNi2rbfg/rd/IpL8Le3pSBne8+seeFVBoGqzHM9yXw==\n' >> $SSH_CONFIG_DIR/known_hosts\n\n(umask 077; touch $SSH_CONFIG_DIR/id_rsa)\nchmod 0600 $SSH_CONFIG_DIR/id_rsa\n(cat < $SSH_CONFIG_DIR/id_rsa\n$CHECKOUT_KEY\nEOF\n)\n\nexport GIT_SSH_COMMAND='ssh -i $SSH_CONFIG_DIR/id_rsa -o UserKnownHostsFile=$SSH_CONFIG_DIR/known_hosts'\n\n# use git+ssh instead of https\ngit config --global url.\"ssh://git@github.com\".insteadOf \"https://github.com\" || true\ngit config --global gc.auto 0 || true\n\nif [ -e /home/circleci/project/.git ]\nthen\n cd /home/circleci/project\n git remote set-url origin \"$CIRCLE_REPOSITORY_URL\" || true\nelse\n mkdir -p /home/circleci/project\n cd /home/circleci/project\n git clone \"$CIRCLE_REPOSITORY_URL\" .\nfi\n\nif [ -n \"$CIRCLE_TAG\" ]\nthen\n git fetch --force origin \"refs/tags/${CIRCLE_TAG}\"\nelse\n git fetch --force origin \"evisochek-patch-1:remotes/origin/evisochek-patch-1\"\nfi\n\n\nif [ -n \"$CIRCLE_TAG\" ]\nthen\n git reset --hard \"$CIRCLE_SHA1\"\n git checkout -q \"$CIRCLE_TAG\"\nelif [ -n \"$CI_COMMIT_REF_NAME\" ]\nthen\n git reset --hard \"$CIRCLE_SHA1\"\n git checkout -q -B \"$CI_COMMIT_REF_NAME\"\nfi\n\ngit reset --hard \"$CIRCLE_SHA1\"", "status" : "success", "timedout" : null, "continue" : null, @@ -401,7 +401,7 @@ "used_features" : [ "" ] }, "circle_yml" : { - "string" : "version: 2\njobs:\n build:\n machine:\n image: ubuntu-1604:202007-01\n steps:\n - checkout\n - restore_cache:\n key: npm-cache-{{ checksum \"package-lock.json\" }}\n - run:\n name: Setup Node\n command: \"echo '[ -s \\\"$NVM_DIR/nvm.sh\\\" ] && \\\\. \\\"$NVM_DIR/nvm.sh\\\"' >> $BASH_ENV\\nsource $BASH_ENV\\nnvm install `cat .nvmrc` \\n\"\n - run:\n name: Setup Python\n command: |\n pyenv versions\n pyenv global 3.7.8 3.8.3\n pip3 install pipenv\n pipenv install\n - run:\n name: NPM Install\n command: |\n nvm use\n node --version\n npm --version\n npm ci\n - run:\n name: NPM Build content-repo docs\n command: |\n nvm use\n npm run reference-docs\n - run:\n name: NPM Build\n no_output_timeout: 40m\n environment:\n ALGOLIA_INDEX: demisto\n command: \"nvm use \\nnpm run heapstats\\nnpm run build-docusaurus\\necho \\\"Build is done. Create tar of the build dir\\\"\\ntar czf build-site.tar.gz build\\n\"\n - store_artifacts:\n path: build-site.tar.gz\n - save_cache:\n key: npm-cache-{{ checksum \"package-lock.json\" }}\n paths:\n - node_modules\n - persist_to_workspace:\n root: /home/circleci/project\n paths:\n - build\n deploy:\n docker:\n - image: circleci/python:3.7.9-buster-node\n resource_class: small\n steps:\n - checkout\n - attach_workspace:\n at: /home/circleci/project\n - run:\n name: Setup Python\n command: |\n pipenv install\n - run:\n name: Deploy to Firebase\n no_output_timeout: 30m\n command: |\n echo $FIREBASE_JSON_KEY > \"$HOME\"/gcloud.json\n npm install firebase-tools\n export PATH=\"$PATH:`pwd`/node_modules/.bin\"\n export GOOGLE_APPLICATION_CREDENTIALS=\"$HOME\"/gcloud.json\n if [ \"$CIRCLE_BRANCH\" = \"master\" ]; then\n echo \"Deploying to prod as CIRCLE_BRANCH is equal to master!\"\n firebase deploy --only hosting > deploy-info-firebase.txt\n else\n # Get the PR number from the CIRCLE_PULL_REQUEST env variable which is in the form of:\n # https://github.com/demisto/content-docs/pull/335\n firebase hosting:channel:deploy \"pull-request-${CIRCLE_PULL_REQUEST##*/}\" --only xsoar.pan.dev > deploy-info-firebase.txt\n cat deploy-info-firebase.txt\n fi\n - run:\n name: Post Comment Firebase\n command: |\n pipenv run ./content-repo/post_github_comment.py deploy-info-firebase.txt\nworkflows:\n build_and_deploy:\n jobs:\n - build\n - deploy:\n filters:\n branches:\n only: /^(?!pull\\/).*$/\n requires:\n - build\n version: 2\n\n# Original config.yml file:\n# ### =============================================================\n# ### This configuration file is used by CircleCI build server\n# ### https://circleci.com/docs/config-sample\n# ### =============================================================\n# version: 2.1\n# jobs:\n# build:\n# \n# machine:\n# image: ubuntu-1604:202007-01\n# \n# steps:\n# - checkout\n# - restore_cache:\n# key: npm-cache-{{ checksum \\\"package-lock.json\\\" }}\n# - run:\n# name: Setup Node\n# command: |\n# echo '[ -s \\\"$NVM_DIR/nvm.sh\\\" ] && \\\\. \\\"$NVM_DIR/nvm.sh\\\"' >> $BASH_ENV\n# source $BASH_ENV\n# nvm install `cat .nvmrc` \n# - run:\n# name: Setup Python\n# command: |\n# pyenv versions\n# pyenv global 3.7.8 3.8.3\n# pip3 install pipenv\n# pipenv install\n# - run:\n# name: NPM Install\n# command: |\n# nvm use\n# node --version\n# npm --version\n# npm ci\n# - run:\n# name: NPM Build content-repo docs\n# command: |\n# nvm use\n# npm run reference-docs\n# - run:\n# name: NPM Build\n# no_output_timeout: 40m\n# environment:\n# ALGOLIA_INDEX: demisto\n# command: |\n# nvm use \n# npm run heapstats\n# npm run build-docusaurus\n# echo \\\"Build is done. Create tar of the build dir\\\"\n# tar czf build-site.tar.gz build\n# - store_artifacts:\n# path: build-site.tar.gz\n# - save_cache:\n# key: npm-cache-{{ checksum \\\"package-lock.json\\\" }}\n# paths:\n# - node_modules\n# - persist_to_workspace:\n# # Must be an absolute path, or relative path from working_directory. This is a directory on the container which is \n# # taken to be the root directory of the workspace.\n# root: /home/circleci/project\n# # Must be relative path from root\n# paths:\n# - build \n# \n# deploy:\n# docker:\n# - image: circleci/python:3.7.9-buster-node\n# resource_class: small\n# steps:\n# - checkout\n# - attach_workspace:\n# at: /home/circleci/project\n# - run:\n# name: Setup Python\n# command: | \n# pipenv install\n# - run:\n# name: Deploy to Firebase\n# no_output_timeout: 30m\n# command: |\n# echo $FIREBASE_JSON_KEY > \"$HOME\"/gcloud.json\n# npm install firebase-tools\n# export PATH=\"$PATH:`pwd`/node_modules/.bin\"\n# export GOOGLE_APPLICATION_CREDENTIALS=\"$HOME\"/gcloud.json\n# if [ \"$CIRCLE_BRANCH\" = \"master\" ]; then\n# echo \"Deploying to prod as CIRCLE_BRANCH is equal to master!\"\n# firebase deploy --only hosting > deploy-info-firebase.txt\n# else\n# # Get the PR number from the CIRCLE_PULL_REQUEST env variable which is in the form of:\n# # https://github.com/demisto/content-docs/pull/335\n# firebase hosting:channel:deploy \"pull-request-${CIRCLE_PULL_REQUEST##*/}\" --only xsoar.pan.dev > deploy-info-firebase.txt\n# cat deploy-info-firebase.txt\n# fi\n# - run:\n# name: Post Comment Firebase\n# command: |\n# pipenv run ./content-repo/post_github_comment.py deploy-info-firebase.txt\n# \n# workflows:\n# build_and_deploy:\n# jobs:\n# - build\n# - deploy:\n# requires:\n# - build\n# filters:\n# branches:\n# # only from non-fork\n# only: /^(?!pull\\\\/).*$/" + "string" : "version: 2\njobs:\n build:\n machine:\n image: ubuntu-1604:202007-01\n steps:\n - checkout\n - restore_cache:\n key: npm-cache-{{ checksum \"package-lock.json\" }}\n - run:\n name: Setup Node\n command: \"echo '[ -s \\\"$NVM_DIR/nvm.sh\\\" ] && \\\\. \\\"$NVM_DIR/nvm.sh\\\"' >> $BASH_ENV\\nsource $BASH_ENV\\nnvm install `cat .nvmrc` \\n\"\n - run:\n name: Setup Python\n command: |\n pyenv versions\n pyenv global 3.7.8 3.8.3\n pip3 install pipenv\n pipenv install\n - run:\n name: NPM Install\n command: |\n nvm use\n node --version\n npm --version\n npm ci\n - run:\n name: NPM Build content-repo docs\n command: |\n nvm use\n npm run reference-docs\n - run:\n name: NPM Build\n no_output_timeout: 40m\n environment:\n ALGOLIA_INDEX: demisto\n command: \"nvm use \\nnpm run heapstats\\nnpm run build-docusaurus\\necho \\\"Build is done. Create tar of the build dir\\\"\\ntar czf build-site.tar.gz build\\n\"\n - store_artifacts:\n path: build-site.tar.gz\n - save_cache:\n key: npm-cache-{{ checksum \"package-lock.json\" }}\n paths:\n - node_modules\n - persist_to_workspace:\n root: /home/circleci/project\n paths:\n - build\n deploy:\n docker:\n - image: circleci/python:3.7.9-buster-node\n resource_class: small\n steps:\n - checkout\n - attach_workspace:\n at: /home/circleci/project\n - run:\n name: Setup Python\n command: |\n pipenv install\n - run:\n name: Deploy to Firebase\n no_output_timeout: 30m\n command: |\n echo $FIREBASE_JSON_KEY > \"$HOME\"/gcloud.json\n npm install firebase-tools\n export PATH=\"$PATH:`pwd`/node_modules/.bin\"\n export GOOGLE_APPLICATION_CREDENTIALS=\"$HOME\"/gcloud.json\n if [ \"$CI_COMMIT_REF_NAME\" = \"master\" ]; then\n echo \"Deploying to prod as CI_COMMIT_REF_NAME is equal to master!\"\n firebase deploy --only hosting > deploy-info-firebase.txt\n else\n # Get the PR number from the CIRCLE_PULL_REQUEST env variable which is in the form of:\n # https://github.com/demisto/content-docs/pull/335\n firebase hosting:channel:deploy \"pull-request-${CIRCLE_PULL_REQUEST##*/}\" --only xsoar.pan.dev > deploy-info-firebase.txt\n cat deploy-info-firebase.txt\n fi\n - run:\n name: Post Comment Firebase\n command: |\n pipenv run ./content-repo/post_github_comment.py deploy-info-firebase.txt\nworkflows:\n build_and_deploy:\n jobs:\n - build\n - deploy:\n filters:\n branches:\n only: /^(?!pull\\/).*$/\n requires:\n - build\n version: 2\n\n# Original config.yml file:\n# ### =============================================================\n# ### This configuration file is used by CircleCI build server\n# ### https://circleci.com/docs/config-sample\n# ### =============================================================\n# version: 2.1\n# jobs:\n# build:\n# \n# machine:\n# image: ubuntu-1604:202007-01\n# \n# steps:\n# - checkout\n# - restore_cache:\n# key: npm-cache-{{ checksum \\\"package-lock.json\\\" }}\n# - run:\n# name: Setup Node\n# command: |\n# echo '[ -s \\\"$NVM_DIR/nvm.sh\\\" ] && \\\\. \\\"$NVM_DIR/nvm.sh\\\"' >> $BASH_ENV\n# source $BASH_ENV\n# nvm install `cat .nvmrc` \n# - run:\n# name: Setup Python\n# command: |\n# pyenv versions\n# pyenv global 3.7.8 3.8.3\n# pip3 install pipenv\n# pipenv install\n# - run:\n# name: NPM Install\n# command: |\n# nvm use\n# node --version\n# npm --version\n# npm ci\n# - run:\n# name: NPM Build content-repo docs\n# command: |\n# nvm use\n# npm run reference-docs\n# - run:\n# name: NPM Build\n# no_output_timeout: 40m\n# environment:\n# ALGOLIA_INDEX: demisto\n# command: |\n# nvm use \n# npm run heapstats\n# npm run build-docusaurus\n# echo \\\"Build is done. Create tar of the build dir\\\"\n# tar czf build-site.tar.gz build\n# - store_artifacts:\n# path: build-site.tar.gz\n# - save_cache:\n# key: npm-cache-{{ checksum \\\"package-lock.json\\\" }}\n# paths:\n# - node_modules\n# - persist_to_workspace:\n# # Must be an absolute path, or relative path from working_directory. This is a directory on the container which is \n# # taken to be the root directory of the workspace.\n# root: /home/circleci/project\n# # Must be relative path from root\n# paths:\n# - build \n# \n# deploy:\n# docker:\n# - image: circleci/python:3.7.9-buster-node\n# resource_class: small\n# steps:\n# - checkout\n# - attach_workspace:\n# at: /home/circleci/project\n# - run:\n# name: Setup Python\n# command: | \n# pipenv install\n# - run:\n# name: Deploy to Firebase\n# no_output_timeout: 30m\n# command: |\n# echo $FIREBASE_JSON_KEY > \"$HOME\"/gcloud.json\n# npm install firebase-tools\n# export PATH=\"$PATH:`pwd`/node_modules/.bin\"\n# export GOOGLE_APPLICATION_CREDENTIALS=\"$HOME\"/gcloud.json\n# if [ \"$CI_COMMIT_REF_NAME\" = \"master\" ]; then\n# echo \"Deploying to prod as CI_COMMIT_REF_NAME is equal to master!\"\n# firebase deploy --only hosting > deploy-info-firebase.txt\n# else\n# # Get the PR number from the CIRCLE_PULL_REQUEST env variable which is in the form of:\n# # https://github.com/demisto/content-docs/pull/335\n# firebase hosting:channel:deploy \"pull-request-${CIRCLE_PULL_REQUEST##*/}\" --only xsoar.pan.dev > deploy-info-firebase.txt\n# cat deploy-info-firebase.txt\n# fi\n# - run:\n# name: Post Comment Firebase\n# command: |\n# pipenv run ./content-repo/post_github_comment.py deploy-info-firebase.txt\n# \n# workflows:\n# build_and_deploy:\n# jobs:\n# - build\n# - deploy:\n# requires:\n# - build\n# filters:\n# branches:\n# # only from non-fork\n# only: /^(?!pull\\\\/).*$/" }, "messages" : [ ], "is_first_green_build" : false, diff --git a/content-repo/test_data/circleci-non-pr-build.json b/content-repo/test_data/circleci-non-pr-build.json index 27b50900d..31ede940d 100644 --- a/content-repo/test_data/circleci-non-pr-build.json +++ b/content-repo/test_data/circleci-non-pr-build.json @@ -72,7 +72,7 @@ "failed" : null, "infrastructure_fail" : null, "name" : "Checkout code", - "bash_command" : "#!/bin/sh\nset -e\n\n# Workaround old docker images with incorrect $HOME\n# check https://github.com/docker/docker/issues/2968 for details\nif [ \"${HOME}\" = \"/\" ]\nthen\n export HOME=$(getent passwd $(id -un) | cut -d: -f6)\nfi\n\necho Using SSH Config Dir $SSH_CONFIG_DIR\n\nmkdir -p $SSH_CONFIG_DIR\n\necho 'github.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==\nbitbucket.org ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAubiN81eDcafrgMeLzaFPsw2kNvEcqTKl/VqLat/MaB33pZy0y3rJZtnqwR2qOOvbwKZYKiEO1O6VqNEBxKvJJelCq0dTXWT5pbO2gDXC6h6QDXCaHo6pOHGPUy+YBaGQRGuSusMEASYiWunYN0vCAI8QaXnWMXNMdFP3jHAJH0eDsoiGnLPBlBp4TNm6rYI74nMzgz3B9IikW4WVK+dc8KZJZWYjAuORU3jc1c/NPskD2ASinf8v3xnfXeukU0sJ5N6m5E8VLjObPEO+mN2t/FZTMZLiFqPWc/ALSqnMnnhwrNi2rbfg/rd/IpL8Le3pSBne8+seeFVBoGqzHM9yXw==\n' >> $SSH_CONFIG_DIR/known_hosts\n\n(umask 077; touch $SSH_CONFIG_DIR/id_rsa)\nchmod 0600 $SSH_CONFIG_DIR/id_rsa\n(cat < $SSH_CONFIG_DIR/id_rsa\n$CHECKOUT_KEY\nEOF\n)\n\nexport GIT_SSH_COMMAND='ssh -i $SSH_CONFIG_DIR/id_rsa -o UserKnownHostsFile=$SSH_CONFIG_DIR/known_hosts'\n\n# use git+ssh instead of https\ngit config --global url.\"ssh://git@github.com\".insteadOf \"https://github.com\" || true\ngit config --global gc.auto 0 || true\n\nif [ -e /home/circleci/project/.git ]\nthen\n cd /home/circleci/project\n git remote set-url origin \"$CIRCLE_REPOSITORY_URL\" || true\nelse\n mkdir -p /home/circleci/project\n cd /home/circleci/project\n git clone \"$CIRCLE_REPOSITORY_URL\" .\nfi\n\nif [ -n \"$CIRCLE_TAG\" ]\nthen\n git fetch --force origin \"refs/tags/${CIRCLE_TAG}\"\nelse\n git fetch --force origin \"master:remotes/origin/master\"\nfi\n\n\nif [ -n \"$CIRCLE_TAG\" ]\nthen\n git reset --hard \"$CIRCLE_SHA1\"\n git checkout -q \"$CIRCLE_TAG\"\nelif [ -n \"$CIRCLE_BRANCH\" ]\nthen\n git reset --hard \"$CIRCLE_SHA1\"\n git checkout -q -B \"$CIRCLE_BRANCH\"\nfi\n\ngit reset --hard \"$CIRCLE_SHA1\"", + "bash_command" : "#!/bin/sh\nset -e\n\n# Workaround old docker images with incorrect $HOME\n# check https://github.com/docker/docker/issues/2968 for details\nif [ \"${HOME}\" = \"/\" ]\nthen\n export HOME=$(getent passwd $(id -un) | cut -d: -f6)\nfi\n\necho Using SSH Config Dir $SSH_CONFIG_DIR\n\nmkdir -p $SSH_CONFIG_DIR\n\necho 'github.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==\nbitbucket.org ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAubiN81eDcafrgMeLzaFPsw2kNvEcqTKl/VqLat/MaB33pZy0y3rJZtnqwR2qOOvbwKZYKiEO1O6VqNEBxKvJJelCq0dTXWT5pbO2gDXC6h6QDXCaHo6pOHGPUy+YBaGQRGuSusMEASYiWunYN0vCAI8QaXnWMXNMdFP3jHAJH0eDsoiGnLPBlBp4TNm6rYI74nMzgz3B9IikW4WVK+dc8KZJZWYjAuORU3jc1c/NPskD2ASinf8v3xnfXeukU0sJ5N6m5E8VLjObPEO+mN2t/FZTMZLiFqPWc/ALSqnMnnhwrNi2rbfg/rd/IpL8Le3pSBne8+seeFVBoGqzHM9yXw==\n' >> $SSH_CONFIG_DIR/known_hosts\n\n(umask 077; touch $SSH_CONFIG_DIR/id_rsa)\nchmod 0600 $SSH_CONFIG_DIR/id_rsa\n(cat < $SSH_CONFIG_DIR/id_rsa\n$CHECKOUT_KEY\nEOF\n)\n\nexport GIT_SSH_COMMAND='ssh -i $SSH_CONFIG_DIR/id_rsa -o UserKnownHostsFile=$SSH_CONFIG_DIR/known_hosts'\n\n# use git+ssh instead of https\ngit config --global url.\"ssh://git@github.com\".insteadOf \"https://github.com\" || true\ngit config --global gc.auto 0 || true\n\nif [ -e /home/circleci/project/.git ]\nthen\n cd /home/circleci/project\n git remote set-url origin \"$CIRCLE_REPOSITORY_URL\" || true\nelse\n mkdir -p /home/circleci/project\n cd /home/circleci/project\n git clone \"$CIRCLE_REPOSITORY_URL\" .\nfi\n\nif [ -n \"$CIRCLE_TAG\" ]\nthen\n git fetch --force origin \"refs/tags/${CIRCLE_TAG}\"\nelse\n git fetch --force origin \"master:remotes/origin/master\"\nfi\n\n\nif [ -n \"$CIRCLE_TAG\" ]\nthen\n git reset --hard \"$CIRCLE_SHA1\"\n git checkout -q \"$CIRCLE_TAG\"\nelif [ -n \"$CI_COMMIT_REF_NAME\" ]\nthen\n git reset --hard \"$CIRCLE_SHA1\"\n git checkout -q -B \"$CI_COMMIT_REF_NAME\"\nfi\n\ngit reset --hard \"$CIRCLE_SHA1\"", "status" : "success", "timedout" : null, "continue" : null, @@ -398,7 +398,7 @@ "used_features" : [ "" ] }, "circle_yml" : { - "string" : "version: 2\njobs:\n build:\n machine:\n image: ubuntu-1604:202007-01\n steps:\n - checkout\n - restore_cache:\n key: npm-cache-{{ checksum \"package-lock.json\" }}\n - run:\n name: Setup Node\n command: \"echo '[ -s \\\"$NVM_DIR/nvm.sh\\\" ] && \\\\. \\\"$NVM_DIR/nvm.sh\\\"' >> $BASH_ENV\\nsource $BASH_ENV\\nnvm install `cat .nvmrc` \\n\"\n - run:\n name: Setup Python\n command: |\n pyenv versions\n pyenv global 3.7.8 3.8.3\n pip3 install pipenv\n pipenv install\n - run:\n name: NPM Install\n command: |\n nvm use\n node --version\n npm --version\n npm ci\n - run:\n name: NPM Build content-repo docs\n command: |\n nvm use\n npm run reference-docs\n - run:\n name: NPM Build\n no_output_timeout: 40m\n environment:\n ALGOLIA_INDEX: demisto\n command: \"nvm use \\nnpm run heapstats\\nnpm run build-docusaurus\\necho \\\"Build is done. Create tar of the build dir\\\"\\ntar czf build-site.tar.gz build\\n\"\n - store_artifacts:\n path: build-site.tar.gz\n - save_cache:\n key: npm-cache-{{ checksum \"package-lock.json\" }}\n paths:\n - node_modules\n - persist_to_workspace:\n root: /home/circleci/project\n paths:\n - build\n deploy:\n docker:\n - image: circleci/python:3.7.9-buster-node\n resource_class: small\n steps:\n - checkout\n - attach_workspace:\n at: /home/circleci/project\n - run:\n name: Setup Python\n command: |\n pipenv install\n - run:\n name: Deploy to Firebase\n no_output_timeout: 30m\n command: |\n echo $FIREBASE_JSON_KEY > \"$HOME\"/gcloud.json\n npm install firebase-tools\n export PATH=\"$PATH:`pwd`/node_modules/.bin\"\n export GOOGLE_APPLICATION_CREDENTIALS=\"$HOME\"/gcloud.json\n if [ \"$CIRCLE_BRANCH\" = \"master\" ]; then\n echo \"Deploying to prod as CIRCLE_BRANCH is equal to master!\"\n firebase deploy --only hosting > deploy-info-firebase.txt\n else\n # Get the PR number from the CIRCLE_PULL_REQUEST env variable which is in the form of:\n # https://github.com/demisto/content-docs/pull/335\n firebase hosting:channel:deploy \"pull-request-${CIRCLE_PULL_REQUEST##*/}\" --only xsoar.pan.dev > deploy-info-firebase.txt\n cat deploy-info-firebase.txt\n fi\n - run:\n name: Post Comment Firebase\n command: |\n pipenv run ./content-repo/post_github_comment.py deploy-info-firebase.txt\nworkflows:\n build_and_deploy:\n jobs:\n - build\n - deploy:\n filters:\n branches:\n only: /^(?!pull\\/).*$/\n requires:\n - build\n version: 2\n\n# Original config.yml file:\n# ### =============================================================\n# ### This configuration file is used by CircleCI build server\n# ### https://circleci.com/docs/config-sample\n# ### =============================================================\n# version: 2.1\n# jobs:\n# build:\n# \n# machine:\n# image: ubuntu-1604:202007-01\n# \n# steps:\n# - checkout\n# - restore_cache:\n# key: npm-cache-{{ checksum \\\"package-lock.json\\\" }}\n# - run:\n# name: Setup Node\n# command: |\n# echo '[ -s \\\"$NVM_DIR/nvm.sh\\\" ] && \\\\. \\\"$NVM_DIR/nvm.sh\\\"' >> $BASH_ENV\n# source $BASH_ENV\n# nvm install `cat .nvmrc` \n# - run:\n# name: Setup Python\n# command: |\n# pyenv versions\n# pyenv global 3.7.8 3.8.3\n# pip3 install pipenv\n# pipenv install\n# - run:\n# name: NPM Install\n# command: |\n# nvm use\n# node --version\n# npm --version\n# npm ci\n# - run:\n# name: NPM Build content-repo docs\n# command: |\n# nvm use\n# npm run reference-docs\n# - run:\n# name: NPM Build\n# no_output_timeout: 40m\n# environment:\n# ALGOLIA_INDEX: demisto\n# command: |\n# nvm use \n# npm run heapstats\n# npm run build-docusaurus\n# echo \\\"Build is done. Create tar of the build dir\\\"\n# tar czf build-site.tar.gz build\n# - store_artifacts:\n# path: build-site.tar.gz\n# - save_cache:\n# key: npm-cache-{{ checksum \\\"package-lock.json\\\" }}\n# paths:\n# - node_modules\n# - persist_to_workspace:\n# # Must be an absolute path, or relative path from working_directory. This is a directory on the container which is \n# # taken to be the root directory of the workspace.\n# root: /home/circleci/project\n# # Must be relative path from root\n# paths:\n# - build \n# \n# deploy:\n# docker:\n# - image: circleci/python:3.7.9-buster-node\n# resource_class: small\n# steps:\n# - checkout\n# - attach_workspace:\n# at: /home/circleci/project\n# - run:\n# name: Setup Python\n# command: | \n# pipenv install\n# - run:\n# name: Deploy to Firebase\n# no_output_timeout: 30m\n# command: |\n# echo $FIREBASE_JSON_KEY > \"$HOME\"/gcloud.json\n# npm install firebase-tools\n# export PATH=\"$PATH:`pwd`/node_modules/.bin\"\n# export GOOGLE_APPLICATION_CREDENTIALS=\"$HOME\"/gcloud.json\n# if [ \"$CIRCLE_BRANCH\" = \"master\" ]; then\n# echo \"Deploying to prod as CIRCLE_BRANCH is equal to master!\"\n# firebase deploy --only hosting > deploy-info-firebase.txt\n# else\n# # Get the PR number from the CIRCLE_PULL_REQUEST env variable which is in the form of:\n# # https://github.com/demisto/content-docs/pull/335\n# firebase hosting:channel:deploy \"pull-request-${CIRCLE_PULL_REQUEST##*/}\" --only xsoar.pan.dev > deploy-info-firebase.txt\n# cat deploy-info-firebase.txt\n# fi\n# - run:\n# name: Post Comment Firebase\n# command: |\n# pipenv run ./content-repo/post_github_comment.py deploy-info-firebase.txt\n# \n# workflows:\n# build_and_deploy:\n# jobs:\n# - build\n# - deploy:\n# requires:\n# - build\n# filters:\n# branches:\n# # only from non-fork\n# only: /^(?!pull\\\\/).*$/" + "string" : "version: 2\njobs:\n build:\n machine:\n image: ubuntu-1604:202007-01\n steps:\n - checkout\n - restore_cache:\n key: npm-cache-{{ checksum \"package-lock.json\" }}\n - run:\n name: Setup Node\n command: \"echo '[ -s \\\"$NVM_DIR/nvm.sh\\\" ] && \\\\. \\\"$NVM_DIR/nvm.sh\\\"' >> $BASH_ENV\\nsource $BASH_ENV\\nnvm install `cat .nvmrc` \\n\"\n - run:\n name: Setup Python\n command: |\n pyenv versions\n pyenv global 3.7.8 3.8.3\n pip3 install pipenv\n pipenv install\n - run:\n name: NPM Install\n command: |\n nvm use\n node --version\n npm --version\n npm ci\n - run:\n name: NPM Build content-repo docs\n command: |\n nvm use\n npm run reference-docs\n - run:\n name: NPM Build\n no_output_timeout: 40m\n environment:\n ALGOLIA_INDEX: demisto\n command: \"nvm use \\nnpm run heapstats\\nnpm run build-docusaurus\\necho \\\"Build is done. Create tar of the build dir\\\"\\ntar czf build-site.tar.gz build\\n\"\n - store_artifacts:\n path: build-site.tar.gz\n - save_cache:\n key: npm-cache-{{ checksum \"package-lock.json\" }}\n paths:\n - node_modules\n - persist_to_workspace:\n root: /home/circleci/project\n paths:\n - build\n deploy:\n docker:\n - image: circleci/python:3.7.9-buster-node\n resource_class: small\n steps:\n - checkout\n - attach_workspace:\n at: /home/circleci/project\n - run:\n name: Setup Python\n command: |\n pipenv install\n - run:\n name: Deploy to Firebase\n no_output_timeout: 30m\n command: |\n echo $FIREBASE_JSON_KEY > \"$HOME\"/gcloud.json\n npm install firebase-tools\n export PATH=\"$PATH:`pwd`/node_modules/.bin\"\n export GOOGLE_APPLICATION_CREDENTIALS=\"$HOME\"/gcloud.json\n if [ \"$CI_COMMIT_REF_NAME\" = \"master\" ]; then\n echo \"Deploying to prod as CI_COMMIT_REF_NAME is equal to master!\"\n firebase deploy --only hosting > deploy-info-firebase.txt\n else\n # Get the PR number from the CIRCLE_PULL_REQUEST env variable which is in the form of:\n # https://github.com/demisto/content-docs/pull/335\n firebase hosting:channel:deploy \"pull-request-${CIRCLE_PULL_REQUEST##*/}\" --only xsoar.pan.dev > deploy-info-firebase.txt\n cat deploy-info-firebase.txt\n fi\n - run:\n name: Post Comment Firebase\n command: |\n pipenv run ./content-repo/post_github_comment.py deploy-info-firebase.txt\nworkflows:\n build_and_deploy:\n jobs:\n - build\n - deploy:\n filters:\n branches:\n only: /^(?!pull\\/).*$/\n requires:\n - build\n version: 2\n\n# Original config.yml file:\n# ### =============================================================\n# ### This configuration file is used by CircleCI build server\n# ### https://circleci.com/docs/config-sample\n# ### =============================================================\n# version: 2.1\n# jobs:\n# build:\n# \n# machine:\n# image: ubuntu-1604:202007-01\n# \n# steps:\n# - checkout\n# - restore_cache:\n# key: npm-cache-{{ checksum \\\"package-lock.json\\\" }}\n# - run:\n# name: Setup Node\n# command: |\n# echo '[ -s \\\"$NVM_DIR/nvm.sh\\\" ] && \\\\. \\\"$NVM_DIR/nvm.sh\\\"' >> $BASH_ENV\n# source $BASH_ENV\n# nvm install `cat .nvmrc` \n# - run:\n# name: Setup Python\n# command: |\n# pyenv versions\n# pyenv global 3.7.8 3.8.3\n# pip3 install pipenv\n# pipenv install\n# - run:\n# name: NPM Install\n# command: |\n# nvm use\n# node --version\n# npm --version\n# npm ci\n# - run:\n# name: NPM Build content-repo docs\n# command: |\n# nvm use\n# npm run reference-docs\n# - run:\n# name: NPM Build\n# no_output_timeout: 40m\n# environment:\n# ALGOLIA_INDEX: demisto\n# command: |\n# nvm use \n# npm run heapstats\n# npm run build-docusaurus\n# echo \\\"Build is done. Create tar of the build dir\\\"\n# tar czf build-site.tar.gz build\n# - store_artifacts:\n# path: build-site.tar.gz\n# - save_cache:\n# key: npm-cache-{{ checksum \\\"package-lock.json\\\" }}\n# paths:\n# - node_modules\n# - persist_to_workspace:\n# # Must be an absolute path, or relative path from working_directory. This is a directory on the container which is \n# # taken to be the root directory of the workspace.\n# root: /home/circleci/project\n# # Must be relative path from root\n# paths:\n# - build \n# \n# deploy:\n# docker:\n# - image: circleci/python:3.7.9-buster-node\n# resource_class: small\n# steps:\n# - checkout\n# - attach_workspace:\n# at: /home/circleci/project\n# - run:\n# name: Setup Python\n# command: | \n# pipenv install\n# - run:\n# name: Deploy to Firebase\n# no_output_timeout: 30m\n# command: |\n# echo $FIREBASE_JSON_KEY > \"$HOME\"/gcloud.json\n# npm install firebase-tools\n# export PATH=\"$PATH:`pwd`/node_modules/.bin\"\n# export GOOGLE_APPLICATION_CREDENTIALS=\"$HOME\"/gcloud.json\n# if [ \"$CI_COMMIT_REF_NAME\" = \"master\" ]; then\n# echo \"Deploying to prod as CI_COMMIT_REF_NAME is equal to master!\"\n# firebase deploy --only hosting > deploy-info-firebase.txt\n# else\n# # Get the PR number from the CIRCLE_PULL_REQUEST env variable which is in the form of:\n# # https://github.com/demisto/content-docs/pull/335\n# firebase hosting:channel:deploy \"pull-request-${CIRCLE_PULL_REQUEST##*/}\" --only xsoar.pan.dev > deploy-info-firebase.txt\n# cat deploy-info-firebase.txt\n# fi\n# - run:\n# name: Post Comment Firebase\n# command: |\n# pipenv run ./content-repo/post_github_comment.py deploy-info-firebase.txt\n# \n# workflows:\n# build_and_deploy:\n# jobs:\n# - build\n# - deploy:\n# requires:\n# - build\n# filters:\n# branches:\n# # only from non-fork\n# only: /^(?!pull\\\\/).*$/" }, "messages" : [ ], "is_first_green_build" : false, From 495da0a6d2376572a8d5e5a768b4c07c0646ba7b Mon Sep 17 00:00:00 2001 From: kobymeir Date: Sun, 6 Oct 2024 08:49:36 +0300 Subject: [PATCH 09/28] build content docs - take 9 --- .hooks/bootstrap | 114 ++++++++++++++++++++++++++++++++++++++++ .pre-commit-config.yaml | 69 ++++++++++++++++++++++++ poetry.toml | 2 + pyproject.toml | 79 ++++++++++++++++++++++++++++ 4 files changed, 264 insertions(+) create mode 100755 .hooks/bootstrap create mode 100644 .pre-commit-config.yaml create mode 100644 poetry.toml create mode 100644 pyproject.toml diff --git a/.hooks/bootstrap b/.hooks/bootstrap new file mode 100755 index 000000000..2e3cbd2cc --- /dev/null +++ b/.hooks/bootstrap @@ -0,0 +1,114 @@ +#!/usr/bin/env bash + +# +# Bootstraps a development environment. +# +# This includes: +# * install pre-commit hooks +# * setup infra dependencies with poetry + +function exit_on_error { + if [ "${1}" -ne 0 ]; then + echo "ERROR: ${2}, exiting with code ${1}" 1>&2 + exit "${1}" + fi +} + +# poetry is installed in ~/.local/bin +PATH=~/.local/bin:$PATH + +if [[ "$1" == "-h" ]] || [[ "$1" == "--help" ]]; then + cat << __EOF__ +Setup development environment (run with no arguments): +* install pre-commit hooks (set NO_HOOKS=1 to skip) +__EOF__ + exit 0 +fi + +if [ ! "${PWD}" == "$(git rev-parse --show-toplevel)" ]; then + cat >&2 <<__EOF__ +ERROR: this script must be run at the root of the source tree +__EOF__ + exit 1 +fi + +echo "=======================" +if [ -z "${INSTALL_POETRY}" ]; then + if ! command -v poetry >/dev/null 2>&1; then + echo "ERROR: poetry is missing. Please run the following command to install poetry: + curl -sSL https://install.python-poetry.org | python3 -" 1>&2 + exit 1 + fi +else + should_install_poetry="yes" + if command -v poetry >/dev/null 2>&1; then + if [[ "$(poetry --version)" == "Poetry (version ${POETRY_VERSION})" ]]; then + echo "Poetry already installed:$(poetry --version) with correct version" + should_install_poetry="no" + else + echo "Poetry installed with a different version:$(poetry --version) required:${POETRY_VERSION}" + fi + else + echo "Poetry isn't installed" + fi + if [[ "${should_install_poetry}" == "yes" ]]; then + echo "Installing Poetry version:${POETRY_VERSION}" + curl -sSL https://install.python-poetry.org | python3 - --version "${POETRY_VERSION}" + error_code=$? + if ! command -v poetry >/dev/null 2>&1; then + exit_on_error $? "Poetry isn't installed" + fi + if [[ "$(poetry --version)" == "Poetry (version ${POETRY_VERSION})" ]]; then + echo "Poetry version ${POETRY_VERSION} installed successfully" + else + exit_on_error 1 "Poetry version $(poetry --version) doesn't match the required version: ${POETRY_VERSION}" + fi + if [ -n "${ARTIFACTS_FOLDER}" ] && [ "${error_code}" -ne 0 ]; then + cp "${PWD}"/poetry-installer-error-*.log "${ARTIFACTS_FOLDER}" + fi + exit_on_error $error_code "Failed to install Poetry version:${POETRY_VERSION}" + fi +fi + +GIT_HOOKS_DIR="${PWD}/.git/hooks" + +if [ -n "${NO_HOOKS}" ]; then + echo "Skipping hooks setup as environment variable NO_HOOKS is set" +else + if [ ! -e "${GIT_HOOKS_DIR}/pre-commit" ]; then + echo "Installing 'pre-commit' hooks" + poetry run pre-commit install + exit_on_error $? "Failed to install pre-commit hook" + else + echo "Skipping install of pre-commit hook as it already exists." + echo "If you want to re-install: 'rm ${GIT_HOOKS_DIR}/pre-commit' and then run this script again." + exit 1 + fi +fi + +if [ -n "${CI}" ]; then + echo "Detected CI environment" + echo "Checking whether poetry files are valid" + poetry check --no-interaction + exit_on_error $? "Failed to check poetry files" + echo "Installing dependencies..." + poetry install --no-interaction + exit_on_error $? "Failed to install dependencies" +else + echo "Detected local environment" + echo "Check if poetry files are valid" + poetry check + exit_on_error $? "Failed to check poetry files" + echo "Installing dependencies..." + poetry install + exit_on_error $? "Failed to install dependencies" +fi + +echo "==========================" +echo "Done setting up virtualenv with poetry" +echo "Activate the venv by running: poetry shell" +echo "Deactivate by running: deactivate" +echo "=======================" + +echo "Finished setting up the environment." +exit 0 diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 000000000..f20c87b71 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,69 @@ +repos: +- repo: https://github.com/charliermarsh/ruff-pre-commit + rev: v0.5.4 + hooks: + - id: ruff + args: + - --fix + exclude: CommonServerPython.py + - id: ruff-format +- repo: https://github.com/pappasam/toml-sort + rev: v0.23.1 + hooks: + - id: toml-sort-fix + exclude: poetry.lock +- repo: https://github.com/pre-commit/pre-commit-hooks + rev: v4.6.0 + hooks: + - id: check-json + - id: check-yaml + exclude: .gitlab + - id: check-ast + - id: check-merge-conflict +# - id: debug-statements +# language_version: python3 + - id: name-tests-test + files: .+_test.py$ + - id: trailing-whitespace + - id: check-toml + - id: check-xml +- repo: https://github.com/python-poetry/poetry + rev: 1.8.3 + hooks: + - id: poetry-check + args: + - --lock + files: ^pyproject.toml$ +- repo: https://github.com/hadialqattan/pycln + rev: v2.4.0 + hooks: + - id: pycln + args: + - --all +- repo: https://github.com/pre-commit/mirrors-mypy + rev: v1.10.1 + hooks: + - id: mypy + entry: mypy + args: + - --show-error-codes + additional_dependencies: + - types-requests + - types-paramiko + - types-PyYAML + - types-setuptools + - types-ujson + - types-decorator + - types-retry + - types-pytz + - types-python-dateutil + - types-tabulate + - types-dateparser + types: [python] + #duplicate here and in pyproject.toml because https://github.com/python/mypy/issues/13916 + exclude: artifacts*|.*_test|test_.*|test_data|tests_data|.venv +- repo: https://github.com/koalaman/shellcheck-precommit + rev: v0.10.0 + hooks: + - id: shellcheck + args: ["--severity=error"] diff --git a/poetry.toml b/poetry.toml new file mode 100644 index 000000000..ab1033bd3 --- /dev/null +++ b/poetry.toml @@ -0,0 +1,2 @@ +[virtualenvs] +in-project = true diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 000000000..6fce71b34 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,79 @@ +[build-system] +build-backend = "poetry.core.masonry.api" +requires = ["poetry-core"] + +[tool.coverage.run] +omit = ["**/conftest.py", "*/test_data/*", "*_test.py", "conftest.py"] +relative_files = true + +[tool.mypy] +allow_redefinition = true +check_untyped_defs = true +exclude = [ + ".*_test.py$", + ".venv", + "artifacts*", + "test_.*.py", + "test_data", + "tests_data" +] +follow_imports = "silent" +ignore_missing_imports = true +namespace_packages = true +pretty = true +python_version = "3.9" +show_error_codes = true + +[tool.poetry] +authors = ["Cortex XSOAR"] +description = "" +name = "content-docs" +package-mode = false +readme = "README.md" +version = "0.0.5" + +[tool.poetry.dependencies] +PyYAML = "^6.0" +inflection = "^0.5.1" +beautifulsoup4 = "^4.11.1" +requests = "^2.32.3" +pydoc-markdown = "==3.10.0" +python-dateutil = "^2.9.0" +slack_sdk = "^3.31.0" +packaging = "^24" +google-api-python-client = "^2.64.0" +google-cloud-storage = "^2.9.0" + +[tool.poetry.group.dev.dependencies] +types-PyYAML = "6.0.12.20240311" +types-python-dateutil = "2.9.0.20241003" +types-requests = "2.32.0.20240914" + +[tool.ruff] +line-length = 130 +target-version = "py39" +lint.ignore = [ + "F403", # undefined-local-with-import-star + "F405", # undefined-local-with-import-star-usage + "PLC1901", # compare-to-empty-string + "RUF005", # collection-literal-concatenation" + "RUF012", # mutable-class-default + "RUF013", # implicit-optional + "RUF015", # unnecessary-iterable-allocation-for-first-element + "RUF017", # quadratic-list-summation + "RUF100" # unused-noqa +] +lint.select = [ + 'E', + 'F', + 'FURB', + 'I', + 'PIE', + 'PLC', + 'PLE', + 'RSE', + 'RUF', + 'TID', + 'UP', + 'YTT' +] From f0ff634acf166ced723a4192b45fbe1f5d041af0 Mon Sep 17 00:00:00 2001 From: kobymeir Date: Sun, 6 Oct 2024 13:03:21 +0300 Subject: [PATCH 10/28] build content docs - take 10 --- content-repo/create-docs.sh | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/content-repo/create-docs.sh b/content-repo/create-docs.sh index 75963a02e..4fe0aabc6 100755 --- a/content-repo/create-docs.sh +++ b/content-repo/create-docs.sh @@ -123,7 +123,7 @@ BUCKET_DIR="${SCRIPT_DIR}/.content-bucket" if [[ ! -d "$BUCKET_DIR" ]]; then echo "Copying bucket docs content to: $BUCKET_DIR" mkdir "${BUCKET_DIR}" - gsutil -m cp -r gs://marketplace-dist/content/docs/Packs/ "${BUCKET_DIR}" + gsutil -q -m cp -r gs://marketplace-dist/content/docs/Packs/ "${BUCKET_DIR}" else echo "Skipping copying bucket data as dir: $BUCKET_DIR already exists" echo "If you want to re-copy, delete the dir: $BUCKET_DIR" @@ -154,16 +154,19 @@ sed -i -e '/from DemistoClassApiModule import */d' CommonServerPython.py # Removing the first lines from CommonServerPython.py which are a description of the script we don't need here echo "$(tail -n +6 CommonServerPython.py)" > CommonServerPython.py -echo "Installing pipenv..." -pipenv install +#echo "Installing pipenv..." +#pipenv install echo "Generating docs..." -pipenv run ./gendocs.py -t "${TARGET_DIR}" -d "${CONTENT_GIT_DIR}" -b "${CURRENT_BRANCH}" +#pipenv run ./gendocs.py -t "${TARGET_DIR}" -d "${CONTENT_GIT_DIR}" -b "${CURRENT_BRANCH}" +poetry run ./gendocs.py -t "${TARGET_DIR}" -d "${CONTENT_GIT_DIR}" -b "${CURRENT_BRANCH}" echo "Generating Demisto class and CommonServerPython docs..." -pipenv run ./gen_pydocs.py -t "${TARGET_DIR}" +#pipenv run ./gen_pydocs.py -t "${TARGET_DIR}" +poetry run ./gen_pydocs.py -t "${TARGET_DIR}" if [[ "$CURRENT_BRANCH" != "master" && "$CURRENT_BRANCH" != *"gen-top-contrib"* ]]; then echo "Skipping top contributors page generation, should run only on master or branch containing 'gen-top-contrib'." exit 0 else echo "Generating top contributors page..." - pipenv run python ./gen_top_contrib.py -t "${CONTRIB_TARGET_DIR}" + poetry run ./gen_top_contrib.py -t "${CONTRIB_TARGET_DIR}" +# pipenv run python ./gen_top_contrib.py -t "${CONTRIB_TARGET_DIR}" fi From aa3653ae229f7fac77f4194c1b109eb8997f60f4 Mon Sep 17 00:00:00 2001 From: kobymeir Date: Sun, 6 Oct 2024 13:58:25 +0300 Subject: [PATCH 11/28] build content docs - take 11 --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index 6fce71b34..a68015f92 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -43,6 +43,7 @@ slack_sdk = "^3.31.0" packaging = "^24" google-api-python-client = "^2.64.0" google-cloud-storage = "^2.9.0" +docspec = "^2.2.1" [tool.poetry.group.dev.dependencies] types-PyYAML = "6.0.12.20240311" From dba1e3e936f96412e4846fb41aa432d3153b5ef6 Mon Sep 17 00:00:00 2001 From: kobymeir Date: Mon, 7 Oct 2024 14:31:22 +0300 Subject: [PATCH 12/28] build content docs - take 12 --- poetry.lock | 1303 ++++++++++++++++++++++++++++++++++++++++++++++++ pyproject.toml | 12 +- 2 files changed, 1310 insertions(+), 5 deletions(-) create mode 100644 poetry.lock diff --git a/poetry.lock b/poetry.lock new file mode 100644 index 000000000..9647b9084 --- /dev/null +++ b/poetry.lock @@ -0,0 +1,1303 @@ +# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. + +[[package]] +name = "beautifulsoup4" +version = "4.12.3" +description = "Screen-scraping library" +optional = false +python-versions = ">=3.6.0" +files = [ + {file = "beautifulsoup4-4.12.3-py3-none-any.whl", hash = "sha256:b80878c9f40111313e55da8ba20bdba06d8fa3969fc68304167741bbf9e082ed"}, + {file = "beautifulsoup4-4.12.3.tar.gz", hash = "sha256:74e3d1928edc070d21748185c46e3fb33490f22f52a3addee9aee0f4f7781051"}, +] + +[package.dependencies] +soupsieve = ">1.2" + +[package.extras] +cchardet = ["cchardet"] +chardet = ["chardet"] +charset-normalizer = ["charset-normalizer"] +html5lib = ["html5lib"] +lxml = ["lxml"] + +[[package]] +name = "black" +version = "23.12.1" +description = "The uncompromising code formatter." +optional = false +python-versions = ">=3.8" +files = [ + {file = "black-23.12.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e0aaf6041986767a5e0ce663c7a2f0e9eaf21e6ff87a5f95cbf3675bfd4c41d2"}, + {file = "black-23.12.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c88b3711d12905b74206227109272673edce0cb29f27e1385f33b0163c414bba"}, + {file = "black-23.12.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a920b569dc6b3472513ba6ddea21f440d4b4c699494d2e972a1753cdc25df7b0"}, + {file = "black-23.12.1-cp310-cp310-win_amd64.whl", hash = "sha256:3fa4be75ef2a6b96ea8d92b1587dd8cb3a35c7e3d51f0738ced0781c3aa3a5a3"}, + {file = "black-23.12.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8d4df77958a622f9b5a4c96edb4b8c0034f8434032ab11077ec6c56ae9f384ba"}, + {file = "black-23.12.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:602cfb1196dc692424c70b6507593a2b29aac0547c1be9a1d1365f0d964c353b"}, + {file = "black-23.12.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c4352800f14be5b4864016882cdba10755bd50805c95f728011bcb47a4afd59"}, + {file = "black-23.12.1-cp311-cp311-win_amd64.whl", hash = "sha256:0808494f2b2df923ffc5723ed3c7b096bd76341f6213989759287611e9837d50"}, + {file = "black-23.12.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:25e57fd232a6d6ff3f4478a6fd0580838e47c93c83eaf1ccc92d4faf27112c4e"}, + {file = "black-23.12.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2d9e13db441c509a3763a7a3d9a49ccc1b4e974a47be4e08ade2a228876500ec"}, + {file = "black-23.12.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d1bd9c210f8b109b1762ec9fd36592fdd528485aadb3f5849b2740ef17e674e"}, + {file = "black-23.12.1-cp312-cp312-win_amd64.whl", hash = "sha256:ae76c22bde5cbb6bfd211ec343ded2163bba7883c7bc77f6b756a1049436fbb9"}, + {file = "black-23.12.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1fa88a0f74e50e4487477bc0bb900c6781dbddfdfa32691e780bf854c3b4a47f"}, + {file = "black-23.12.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a4d6a9668e45ad99d2f8ec70d5c8c04ef4f32f648ef39048d010b0689832ec6d"}, + {file = "black-23.12.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b18fb2ae6c4bb63eebe5be6bd869ba2f14fd0259bda7d18a46b764d8fb86298a"}, + {file = "black-23.12.1-cp38-cp38-win_amd64.whl", hash = "sha256:c04b6d9d20e9c13f43eee8ea87d44156b8505ca8a3c878773f68b4e4812a421e"}, + {file = "black-23.12.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3e1b38b3135fd4c025c28c55ddfc236b05af657828a8a6abe5deec419a0b7055"}, + {file = "black-23.12.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4f0031eaa7b921db76decd73636ef3a12c942ed367d8c3841a0739412b260a54"}, + {file = "black-23.12.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:97e56155c6b737854e60a9ab1c598ff2533d57e7506d97af5481141671abf3ea"}, + {file = "black-23.12.1-cp39-cp39-win_amd64.whl", hash = "sha256:dd15245c8b68fe2b6bd0f32c1556509d11bb33aec9b5d0866dd8e2ed3dba09c2"}, + {file = "black-23.12.1-py3-none-any.whl", hash = "sha256:78baad24af0f033958cad29731e27363183e140962595def56423e626f4bee3e"}, + {file = "black-23.12.1.tar.gz", hash = "sha256:4ce3ef14ebe8d9509188014d96af1c456a910d5b5cbf434a09fef7e024b3d0d5"}, +] + +[package.dependencies] +click = ">=8.0.0" +mypy-extensions = ">=0.4.3" +packaging = ">=22.0" +pathspec = ">=0.9.0" +platformdirs = ">=2" +tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} +typing-extensions = {version = ">=4.0.1", markers = "python_version < \"3.11\""} + +[package.extras] +colorama = ["colorama (>=0.4.3)"] +d = ["aiohttp (>=3.7.4)", "aiohttp (>=3.7.4,!=3.9.0)"] +jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] +uvloop = ["uvloop (>=0.15.2)"] + +[[package]] +name = "cachetools" +version = "5.5.0" +description = "Extensible memoizing collections and decorators" +optional = false +python-versions = ">=3.7" +files = [ + {file = "cachetools-5.5.0-py3-none-any.whl", hash = "sha256:02134e8439cdc2ffb62023ce1debca2944c3f289d66bb17ead3ab3dede74b292"}, + {file = "cachetools-5.5.0.tar.gz", hash = "sha256:2cc24fb4cbe39633fb7badd9db9ca6295d766d9c2995f245725a46715d050f2a"}, +] + +[[package]] +name = "certifi" +version = "2024.8.30" +description = "Python package for providing Mozilla's CA Bundle." +optional = false +python-versions = ">=3.6" +files = [ + {file = "certifi-2024.8.30-py3-none-any.whl", hash = "sha256:922820b53db7a7257ffbda3f597266d435245903d80737e34f8a45ff3e3230d8"}, + {file = "certifi-2024.8.30.tar.gz", hash = "sha256:bec941d2aa8195e248a60b31ff9f0558284cf01a52591ceda73ea9afffd69fd9"}, +] + +[[package]] +name = "charset-normalizer" +version = "3.3.2" +description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." +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" +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\""} + +[[package]] +name = "colorama" +version = "0.4.6" +description = "Cross-platform colored terminal text." +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 = "databind" +version = "4.5.2" +description = "Databind is a library inspired by jackson-databind to de-/serialize Python dataclasses. The `databind` package will install the full suite of databind packages. Compatible with Python 3.8 and newer." +optional = false +python-versions = "<4.0.0,>=3.8.0" +files = [ + {file = "databind-4.5.2-py3-none-any.whl", hash = "sha256:b9c3a03c0414aa4567f095d7218ac904bd2b267b58e3763dac28e83d64b69770"}, + {file = "databind-4.5.2.tar.gz", hash = "sha256:0a8aa0ff130a0306581c559388f5ef65e0fae7ef4b86412eacb1f4a0420006c4"}, +] + +[package.dependencies] +Deprecated = ">=1.2.12,<2.0.0" +nr-date = ">=2.0.0,<3.0.0" +nr-stream = ">=1.0.0,<2.0.0" +typeapi = ">=2.0.1,<3" +typing-extensions = ">=3.10.0,<5" + +[[package]] +name = "databind-core" +version = "4.5.2" +description = "Databind is a library inspired by jackson-databind to de-/serialize Python dataclasses. Compatible with Python 3.8 and newer. Deprecated, use `databind` package." +optional = false +python-versions = "<4.0.0,>=3.8.0" +files = [ + {file = "databind.core-4.5.2-py3-none-any.whl", hash = "sha256:a1dd1c6bd8ca9907d1292d8df9ec763ce91543e27f7eda4268e4a1a84fcd1c42"}, + {file = "databind.core-4.5.2.tar.gz", hash = "sha256:b8ac8127bc5d6b239a2a81aeddb268b0c4cadd53fbce7e8b2c7a9ef6413bccb3"}, +] + +[package.dependencies] +databind = ">=4.5.2,<5.0.0" + +[[package]] +name = "databind-json" +version = "4.5.2" +description = "De-/serialize Python dataclasses to or from JSON payloads. Compatible with Python 3.8 and newer. Deprecated, use `databind` module instead." +optional = false +python-versions = "<4.0.0,>=3.8.0" +files = [ + {file = "databind.json-4.5.2-py3-none-any.whl", hash = "sha256:a803bf440634685984361cb2a5a975887e487c854ed48d81ff7aaf3a1ed1e94c"}, + {file = "databind.json-4.5.2.tar.gz", hash = "sha256:6cc9b5c6fddaebd49b2433932948eb3be8a41633b90aa37998d7922504b8f165"}, +] + +[package.dependencies] +databind = ">=4.5.2,<5.0.0" + +[[package]] +name = "deprecated" +version = "1.2.14" +description = "Python @deprecated decorator to deprecate old python classes, functions or methods." +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "Deprecated-1.2.14-py2.py3-none-any.whl", hash = "sha256:6fac8b097794a90302bdbb17b9b815e732d3c4720583ff1b198499d78470466c"}, + {file = "Deprecated-1.2.14.tar.gz", hash = "sha256:e5323eb936458dccc2582dc6f9c322c852a775a27065ff2b0c4970b9d53d01b3"}, +] + +[package.dependencies] +wrapt = ">=1.10,<2" + +[package.extras] +dev = ["PyTest", "PyTest-Cov", "bump2version (<1)", "sphinx (<2)", "tox"] + +[[package]] +name = "docspec" +version = "2.2.1" +description = "Docspec is a JSON object specification for representing API documentation of programming languages." +optional = false +python-versions = ">=3.7,<4.0" +files = [ + {file = "docspec-2.2.1-py3-none-any.whl", hash = "sha256:7538f750095a9688c6980ff9a4e029a823a500f64bd00b6b4bdb27951feb31cb"}, + {file = "docspec-2.2.1.tar.gz", hash = "sha256:4854e77edc0e2de40e785e57e95880f7095a05fe978f8b54cef7a269586e15ff"}, +] + +[package.dependencies] +"databind.core" = ">=4.2.6,<5.0.0" +"databind.json" = ">=4.2.6,<5.0.0" +Deprecated = ">=1.2.12,<2.0.0" + +[[package]] +name = "docspec-python" +version = "2.2.1" +description = "A parser based on lib2to3 producing docspec data from Python source code." +optional = false +python-versions = ">=3.7,<4.0" +files = [ + {file = "docspec_python-2.2.1-py3-none-any.whl", hash = "sha256:76ac41d35a8face35b2d766c2e8a416fb8832359785d396f0d53bcb00f178e54"}, + {file = "docspec_python-2.2.1.tar.gz", hash = "sha256:c41b850b4d6f4de30999ea6f82c9cdb9183d9bcba45559ee9173d3dab7281559"}, +] + +[package.dependencies] +black = ">=23.1.0,<24.0.0" +docspec = ">=2.2.1,<3.0.0" +"nr.util" = ">=0.7.0" + +[[package]] +name = "docstring-parser" +version = "0.11" +description = "\"Parse Python docstrings in reST, Google and Numpydoc format\"" +optional = false +python-versions = ">=3.6" +files = [ + {file = "docstring_parser-0.11.tar.gz", hash = "sha256:93b3f8f481c7d24e37c5d9f30293c89e2933fa209421c8abd731dd3ef0715ecb"}, +] + +[package.extras] +test = ["black", "pytest"] + +[[package]] +name = "google-api-core" +version = "2.20.0" +description = "Google API client core library" +optional = false +python-versions = ">=3.7" +files = [ + {file = "google_api_core-2.20.0-py3-none-any.whl", hash = "sha256:ef0591ef03c30bb83f79b3d0575c3f31219001fc9c5cf37024d08310aeffed8a"}, + {file = "google_api_core-2.20.0.tar.gz", hash = "sha256:f74dff1889ba291a4b76c5079df0711810e2d9da81abfdc99957bc961c1eb28f"}, +] + +[package.dependencies] +google-auth = ">=2.14.1,<3.0.dev0" +googleapis-common-protos = ">=1.56.2,<2.0.dev0" +proto-plus = ">=1.22.3,<2.0.0dev" +protobuf = ">=3.19.5,<3.20.0 || >3.20.0,<3.20.1 || >3.20.1,<4.21.0 || >4.21.0,<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" +requests = ">=2.18.0,<3.0.0.dev0" + +[package.extras] +grpc = ["grpcio (>=1.33.2,<2.0dev)", "grpcio (>=1.49.1,<2.0dev)", "grpcio-status (>=1.33.2,<2.0.dev0)", "grpcio-status (>=1.49.1,<2.0.dev0)"] +grpcgcp = ["grpcio-gcp (>=0.2.2,<1.0.dev0)"] +grpcio-gcp = ["grpcio-gcp (>=0.2.2,<1.0.dev0)"] + +[[package]] +name = "google-api-python-client" +version = "2.147.0" +description = "Google API Client Library for Python" +optional = false +python-versions = ">=3.7" +files = [ + {file = "google_api_python_client-2.147.0-py2.py3-none-any.whl", hash = "sha256:c6ecfa193c695baa41e84562d8f8f244fcd164419eca3fc9fd7565646668f9b2"}, + {file = "google_api_python_client-2.147.0.tar.gz", hash = "sha256:e864c2cf61d34c00f05278b8bdb72b93b6fa34f0de9ead51d20435f3b65f91be"}, +] + +[package.dependencies] +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" +uritemplate = ">=3.0.1,<5" + +[[package]] +name = "google-auth" +version = "2.35.0" +description = "Google Authentication Library" +optional = false +python-versions = ">=3.7" +files = [ + {file = "google_auth-2.35.0-py2.py3-none-any.whl", hash = "sha256:25df55f327ef021de8be50bad0dfd4a916ad0de96da86cd05661c9297723ad3f"}, + {file = "google_auth-2.35.0.tar.gz", hash = "sha256:f4c64ed4e01e8e8b646ef34c018f8bf3338df0c8e37d8b3bba40e7f574a3278a"}, +] + +[package.dependencies] +cachetools = ">=2.0.0,<6.0" +pyasn1-modules = ">=0.2.1" +rsa = ">=3.1.4,<5" + +[package.extras] +aiohttp = ["aiohttp (>=3.6.2,<4.0.0.dev0)", "requests (>=2.20.0,<3.0.0.dev0)"] +enterprise-cert = ["cryptography", "pyopenssl"] +pyopenssl = ["cryptography (>=38.0.3)", "pyopenssl (>=20.0.0)"] +reauth = ["pyu2f (>=0.1.5)"] +requests = ["requests (>=2.20.0,<3.0.0.dev0)"] + +[[package]] +name = "google-auth-httplib2" +version = "0.2.0" +description = "Google Authentication Library: httplib2 transport" +optional = false +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 = "*" +httplib2 = ">=0.19.0" + +[[package]] +name = "google-cloud-core" +version = "2.4.1" +description = "Google Cloud API client core library" +optional = false +python-versions = ">=3.7" +files = [ + {file = "google-cloud-core-2.4.1.tar.gz", hash = "sha256:9b7749272a812bde58fff28868d0c5e2f585b82f37e09a1f6ed2d4d10f134073"}, + {file = "google_cloud_core-2.4.1-py2.py3-none-any.whl", hash = "sha256:a9e6a4422b9ac5c29f79a0ede9485473338e2ce78d91f2370c01e730eab22e61"}, +] + +[package.dependencies] +google-api-core = ">=1.31.6,<2.0.dev0 || >2.3.0,<3.0.0dev" +google-auth = ">=1.25.0,<3.0dev" + +[package.extras] +grpc = ["grpcio (>=1.38.0,<2.0dev)", "grpcio-status (>=1.38.0,<2.0.dev0)"] + +[[package]] +name = "google-cloud-storage" +version = "2.18.2" +description = "Google Cloud Storage API client library" +optional = false +python-versions = ">=3.7" +files = [ + {file = "google_cloud_storage-2.18.2-py2.py3-none-any.whl", hash = "sha256:97a4d45c368b7d401ed48c4fdfe86e1e1cb96401c9e199e419d289e2c0370166"}, + {file = "google_cloud_storage-2.18.2.tar.gz", hash = "sha256:aaf7acd70cdad9f274d29332673fcab98708d0e1f4dceb5a5356aaef06af4d99"}, +] + +[package.dependencies] +google-api-core = ">=2.15.0,<3.0.0dev" +google-auth = ">=2.26.1,<3.0dev" +google-cloud-core = ">=2.3.0,<3.0dev" +google-crc32c = ">=1.0,<2.0dev" +google-resumable-media = ">=2.7.2" +requests = ">=2.18.0,<3.0.0dev" + +[package.extras] +protobuf = ["protobuf (<6.0.0dev)"] +tracing = ["opentelemetry-api (>=1.1.0)"] + +[[package]] +name = "google-crc32c" +version = "1.6.0" +description = "A python wrapper of the C library 'Google CRC32C'" +optional = false +python-versions = ">=3.9" +files = [ + {file = "google_crc32c-1.6.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:5bcc90b34df28a4b38653c36bb5ada35671ad105c99cfe915fb5bed7ad6924aa"}, + {file = "google_crc32c-1.6.0-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:d9e9913f7bd69e093b81da4535ce27af842e7bf371cde42d1ae9e9bd382dc0e9"}, + {file = "google_crc32c-1.6.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a184243544811e4a50d345838a883733461e67578959ac59964e43cca2c791e7"}, + {file = "google_crc32c-1.6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:236c87a46cdf06384f614e9092b82c05f81bd34b80248021f729396a78e55d7e"}, + {file = "google_crc32c-1.6.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ebab974b1687509e5c973b5c4b8b146683e101e102e17a86bd196ecaa4d099fc"}, + {file = "google_crc32c-1.6.0-cp310-cp310-win_amd64.whl", hash = "sha256:50cf2a96da226dcbff8671233ecf37bf6e95de98b2a2ebadbfdf455e6d05df42"}, + {file = "google_crc32c-1.6.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:f7a1fc29803712f80879b0806cb83ab24ce62fc8daf0569f2204a0cfd7f68ed4"}, + {file = "google_crc32c-1.6.0-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:40b05ab32a5067525670880eb5d169529089a26fe35dce8891127aeddc1950e8"}, + {file = "google_crc32c-1.6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a9e4b426c3702f3cd23b933436487eb34e01e00327fac20c9aebb68ccf34117d"}, + {file = "google_crc32c-1.6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:51c4f54dd8c6dfeb58d1df5e4f7f97df8abf17a36626a217f169893d1d7f3e9f"}, + {file = "google_crc32c-1.6.0-cp311-cp311-win_amd64.whl", hash = "sha256:bb8b3c75bd157010459b15222c3fd30577042a7060e29d42dabce449c087f2b3"}, + {file = "google_crc32c-1.6.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:ed767bf4ba90104c1216b68111613f0d5926fb3780660ea1198fc469af410e9d"}, + {file = "google_crc32c-1.6.0-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:62f6d4a29fea082ac4a3c9be5e415218255cf11684ac6ef5488eea0c9132689b"}, + {file = "google_crc32c-1.6.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c87d98c7c4a69066fd31701c4e10d178a648c2cac3452e62c6b24dc51f9fcc00"}, + {file = "google_crc32c-1.6.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bd5e7d2445d1a958c266bfa5d04c39932dc54093fa391736dbfdb0f1929c1fb3"}, + {file = "google_crc32c-1.6.0-cp312-cp312-win_amd64.whl", hash = "sha256:7aec8e88a3583515f9e0957fe4f5f6d8d4997e36d0f61624e70469771584c760"}, + {file = "google_crc32c-1.6.0-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:e2806553238cd076f0a55bddab37a532b53580e699ed8e5606d0de1f856b5205"}, + {file = "google_crc32c-1.6.0-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:bb0966e1c50d0ef5bc743312cc730b533491d60585a9a08f897274e57c3f70e0"}, + {file = "google_crc32c-1.6.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:386122eeaaa76951a8196310432c5b0ef3b53590ef4c317ec7588ec554fec5d2"}, + {file = "google_crc32c-1.6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d2952396dc604544ea7476b33fe87faedc24d666fb0c2d5ac971a2b9576ab871"}, + {file = "google_crc32c-1.6.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:35834855408429cecf495cac67ccbab802de269e948e27478b1e47dfb6465e57"}, + {file = "google_crc32c-1.6.0-cp39-cp39-win_amd64.whl", hash = "sha256:d8797406499f28b5ef791f339594b0b5fdedf54e203b5066675c406ba69d705c"}, + {file = "google_crc32c-1.6.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:48abd62ca76a2cbe034542ed1b6aee851b6f28aaca4e6551b5599b6f3ef175cc"}, + {file = "google_crc32c-1.6.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18e311c64008f1f1379158158bb3f0c8d72635b9eb4f9545f8cf990c5668e59d"}, + {file = "google_crc32c-1.6.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:05e2d8c9a2f853ff116db9706b4a27350587f341eda835f46db3c0a8c8ce2f24"}, + {file = "google_crc32c-1.6.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:91ca8145b060679ec9176e6de4f89b07363d6805bd4760631ef254905503598d"}, + {file = "google_crc32c-1.6.0.tar.gz", hash = "sha256:6eceb6ad197656a1ff49ebfbbfa870678c75be4344feb35ac1edf694309413dc"}, +] + +[package.extras] +testing = ["pytest"] + +[[package]] +name = "google-resumable-media" +version = "2.7.2" +description = "Utilities for Google Media Downloads and Resumable Uploads" +optional = false +python-versions = ">=3.7" +files = [ + {file = "google_resumable_media-2.7.2-py2.py3-none-any.whl", hash = "sha256:3ce7551e9fe6d99e9a126101d2536612bb73486721951e9562fee0f90c6ababa"}, + {file = "google_resumable_media-2.7.2.tar.gz", hash = "sha256:5280aed4629f2b60b847b0d42f9857fd4935c11af266744df33d8074cae92fe0"}, +] + +[package.dependencies] +google-crc32c = ">=1.0,<2.0dev" + +[package.extras] +aiohttp = ["aiohttp (>=3.6.2,<4.0.0dev)", "google-auth (>=1.22.0,<2.0dev)"] +requests = ["requests (>=2.18.0,<3.0.0dev)"] + +[[package]] +name = "googleapis-common-protos" +version = "1.65.0" +description = "Common protobufs used in Google APIs" +optional = false +python-versions = ">=3.7" +files = [ + {file = "googleapis_common_protos-1.65.0-py2.py3-none-any.whl", hash = "sha256:2972e6c496f435b92590fd54045060867f3fe9be2c82ab148fc8885035479a63"}, + {file = "googleapis_common_protos-1.65.0.tar.gz", hash = "sha256:334a29d07cddc3aa01dee4988f9afd9b2916ee2ff49d6b757155dc0d197852c0"}, +] + +[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" + +[package.extras] +grpc = ["grpcio (>=1.44.0,<2.0.0.dev0)"] + +[[package]] +name = "httplib2" +version = "0.22.0" +description = "A comprehensive HTTP client library." +optional = false +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\""} + +[[package]] +name = "idna" +version = "3.10" +description = "Internationalized Domain Names in Applications (IDNA)" +optional = false +python-versions = ">=3.6" +files = [ + {file = "idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3"}, + {file = "idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9"}, +] + +[package.extras] +all = ["flake8 (>=7.1.1)", "mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2)"] + +[[package]] +name = "importlib-metadata" +version = "8.5.0" +description = "Read metadata from Python packages" +optional = false +python-versions = ">=3.8" +files = [ + {file = "importlib_metadata-8.5.0-py3-none-any.whl", hash = "sha256:45e54197d28b7a7f1559e60b95e7c567032b602131fbd588f1497f47880aa68b"}, + {file = "importlib_metadata-8.5.0.tar.gz", hash = "sha256:71522656f0abace1d072b9e5481a48f07c138e00f079c38c8f883823f9c26bd7"}, +] + +[package.dependencies] +zipp = ">=3.20" + +[package.extras] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] +cover = ["pytest-cov"] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +enabler = ["pytest-enabler (>=2.2)"] +perf = ["ipython"] +test = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-perf (>=0.9.2)"] +type = ["pytest-mypy"] + +[[package]] +name = "inflection" +version = "0.5.1" +description = "A port of Ruby on Rails inflector to Python" +optional = false +python-versions = ">=3.5" +files = [ + {file = "inflection-0.5.1-py2.py3-none-any.whl", hash = "sha256:f38b2b640938a4f35ade69ac3d053042959b62a0f1076a5bbaa1b9526605a8a2"}, + {file = "inflection-0.5.1.tar.gz", hash = "sha256:1a29730d366e996aaacffb2f1f1cb9593dc38e2ddd30c91250c6dde09ea9b417"}, +] + +[[package]] +name = "jinja2" +version = "3.1.4" +description = "A very fast and expressive template engine." +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" + +[package.extras] +i18n = ["Babel (>=2.7)"] + +[[package]] +name = "markupsafe" +version = "2.1.5" +description = "Safely add untrusted strings to HTML/XML markup." +optional = false +python-versions = ">=3.7" +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 = "mypy-extensions" +version = "1.0.0" +description = "Type system extensions for programs checked with the mypy type checker." +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 = "nr-date" +version = "2.1.0" +description = "" +optional = false +python-versions = ">=3.6,<4.0" +files = [ + {file = "nr_date-2.1.0-py3-none-any.whl", hash = "sha256:bd672a9dfbdcf7c4b9289fea6750c42490eaee08036a72059dcc78cb236ed568"}, + {file = "nr_date-2.1.0.tar.gz", hash = "sha256:0643aea13bcdc2a8bc56af9d5e6a89ef244c9744a1ef00cdc735902ba7f7d2e6"}, +] + +[[package]] +name = "nr-stream" +version = "1.1.5" +description = "" +optional = false +python-versions = ">=3.6,<4.0" +files = [ + {file = "nr_stream-1.1.5-py3-none-any.whl", hash = "sha256:47e12150b331ad2cb729cfd9d2abd281c9949809729ba461c6aa87dd9927b2d4"}, + {file = "nr_stream-1.1.5.tar.gz", hash = "sha256:eb0216c6bfc61a46d4568dba3b588502c610ec8ddef4ac98f3932a2bd7264f65"}, +] + +[[package]] +name = "nr-types" +version = "4.0.2" +description = "Toolbox with useful Python classes and type magic." +optional = false +python-versions = "*" +files = [ + {file = "nr.types-4.0.2.tar.gz", hash = "sha256:6c44f37441cf5d563c9e0302dc2bc942b2a22d7a73ff18fa71f88017fa6254ef"}, +] + +[package.dependencies] +deprecated = "*" +six = "*" +typing = "*" + +[package.extras] +full = ["PyYAML"] +persist = ["nr.fs (>=1.5.0)"] +test = ["pytest", "pytest-cov"] + +[[package]] +name = "nr-util" +version = "0.8.12" +description = "General purpose Python utility library." +optional = false +python-versions = ">=3.7,<4.0" +files = [ + {file = "nr.util-0.8.12-py3-none-any.whl", hash = "sha256:91da02ac9795eb8e015372275c1efe54bac9051231ee9b0e7e6f96b0b4e7d2bb"}, + {file = "nr.util-0.8.12.tar.gz", hash = "sha256:a4549c2033d99d2f0379b3f3d233fd2a8ade286bbf0b3ad0cc7cea16022214f4"}, +] + +[package.dependencies] +deprecated = ">=1.2.0,<2.0.0" +typing-extensions = ">=3.0.0" + +[[package]] +name = "packaging" +version = "24.1" +description = "Core utilities for Python packages" +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 = "pathspec" +version = "0.12.1" +description = "Utility library for gitignore style pattern matching of file paths." +optional = false +python-versions = ">=3.8" +files = [ + {file = "pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08"}, + {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"}, +] + +[[package]] +name = "platformdirs" +version = "4.3.6" +description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." +optional = false +python-versions = ">=3.8" +files = [ + {file = "platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb"}, + {file = "platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907"}, +] + +[package.extras] +docs = ["furo (>=2024.8.6)", "proselint (>=0.14)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=8.3.2)", "pytest-cov (>=5)", "pytest-mock (>=3.14)"] +type = ["mypy (>=1.11.2)"] + +[[package]] +name = "proto-plus" +version = "1.24.0" +description = "Beautiful, Pythonic protocol buffers." +optional = false +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" + +[package.extras] +testing = ["google-api-core (>=1.31.5)"] + +[[package]] +name = "protobuf" +version = "5.28.2" +description = "" +optional = false +python-versions = ">=3.8" +files = [ + {file = "protobuf-5.28.2-cp310-abi3-win32.whl", hash = "sha256:eeea10f3dc0ac7e6b4933d32db20662902b4ab81bf28df12218aa389e9c2102d"}, + {file = "protobuf-5.28.2-cp310-abi3-win_amd64.whl", hash = "sha256:2c69461a7fcc8e24be697624c09a839976d82ae75062b11a0972e41fd2cd9132"}, + {file = "protobuf-5.28.2-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:a8b9403fc70764b08d2f593ce44f1d2920c5077bf7d311fefec999f8c40f78b7"}, + {file = "protobuf-5.28.2-cp38-abi3-manylinux2014_aarch64.whl", hash = "sha256:35cfcb15f213449af7ff6198d6eb5f739c37d7e4f1c09b5d0641babf2cc0c68f"}, + {file = "protobuf-5.28.2-cp38-abi3-manylinux2014_x86_64.whl", hash = "sha256:5e8a95246d581eef20471b5d5ba010d55f66740942b95ba9b872d918c459452f"}, + {file = "protobuf-5.28.2-cp38-cp38-win32.whl", hash = "sha256:87317e9bcda04a32f2ee82089a204d3a2f0d3c8aeed16568c7daf4756e4f1fe0"}, + {file = "protobuf-5.28.2-cp38-cp38-win_amd64.whl", hash = "sha256:c0ea0123dac3399a2eeb1a1443d82b7afc9ff40241433296769f7da42d142ec3"}, + {file = "protobuf-5.28.2-cp39-cp39-win32.whl", hash = "sha256:ca53faf29896c526863366a52a8f4d88e69cd04ec9571ed6082fa117fac3ab36"}, + {file = "protobuf-5.28.2-cp39-cp39-win_amd64.whl", hash = "sha256:8ddc60bf374785fb7cb12510b267f59067fa10087325b8e1855b898a0d81d276"}, + {file = "protobuf-5.28.2-py3-none-any.whl", hash = "sha256:52235802093bd8a2811abbe8bf0ab9c5f54cca0a751fdd3f6ac2a21438bffece"}, + {file = "protobuf-5.28.2.tar.gz", hash = "sha256:59379674ff119717404f7454647913787034f03fe7049cbef1d74a97bb4593f0"}, +] + +[[package]] +name = "pyasn1" +version = "0.6.1" +description = "Pure-Python implementation of ASN.1 types and DER/BER/CER codecs (X.208)" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pyasn1-0.6.1-py3-none-any.whl", hash = "sha256:0d632f46f2ba09143da3a8afe9e33fb6f92fa2320ab7e886e2d0f7672af84629"}, + {file = "pyasn1-0.6.1.tar.gz", hash = "sha256:6f580d2bdd84365380830acf45550f2511469f673cb4a5ae3857a3170128b034"}, +] + +[[package]] +name = "pyasn1-modules" +version = "0.4.1" +description = "A collection of ASN.1-based protocols modules" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pyasn1_modules-0.4.1-py3-none-any.whl", hash = "sha256:49bfa96b45a292b711e986f222502c1c9a5e1f4e568fc30e2574a6c7d07838fd"}, + {file = "pyasn1_modules-0.4.1.tar.gz", hash = "sha256:c28e2dbf9c06ad61c71a075c7e0f9fd0f1b0bb2d2ad4377f240d33ac2ab60a7c"}, +] + +[package.dependencies] +pyasn1 = ">=0.4.6,<0.7.0" + +[[package]] +name = "pydoc-markdown" +version = "4.8.2" +description = "Create Python API documentation in Markdown format." +optional = false +python-versions = ">=3.7,<4.0" +files = [ + {file = "pydoc_markdown-4.8.2-py3-none-any.whl", hash = "sha256:203f74119e6bb2f9deba43d452422de7c8ec31955b61e0620fa4dd8c2611715f"}, + {file = "pydoc_markdown-4.8.2.tar.gz", hash = "sha256:fb6c927e31386de17472d42f9bd3d3be2905977d026f6216881c65145aa67f0b"}, +] + +[package.dependencies] +click = ">=7.1,<9.0" +"databind.core" = ">=4.4.0,<5.0.0" +"databind.json" = ">=4.4.0,<5.0.0" +docspec = ">=2.2.1,<3.0.0" +docspec-python = ">=2.2.1,<3.0.0" +docstring-parser = ">=0.11,<0.12" +jinja2 = ">=3.0.0,<4.0.0" +"nr.util" = ">=0.7.5,<1.0.0" +PyYAML = ">=5.0,<7.0" +requests = ">=2.23.0,<3.0.0" +tomli = ">=2.0.0,<3.0.0" +tomli_w = ">=1.0.0,<2.0.0" +watchdog = "*" +yapf = ">=0.30.0" + +[[package]] +name = "pyparsing" +version = "3.1.4" +description = "pyparsing module - Classes and methods to define and execute parsing grammars" +optional = false +python-versions = ">=3.6.8" +files = [ + {file = "pyparsing-3.1.4-py3-none-any.whl", hash = "sha256:a6a7ee4235a3f944aa1fa2249307708f893fe5717dc603503c6c7969c070fb7c"}, + {file = "pyparsing-3.1.4.tar.gz", hash = "sha256:f86ec8d1a83f11977c9a6ea7598e8c27fc5cddfa5b07ea2241edbbde1d7bc032"}, +] + +[package.extras] +diagrams = ["jinja2", "railroad-diagrams"] + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +description = "Extensions to the standard Python datetime module" +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" + +[[package]] +name = "pyyaml" +version = "6.0.2" +description = "YAML parser and emitter for Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086"}, + {file = "PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed"}, + {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180"}, + {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68"}, + {file = "PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99"}, + {file = "PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e"}, + {file = "PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774"}, + {file = "PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85"}, + {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4"}, + {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e"}, + {file = "PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5"}, + {file = "PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44"}, + {file = "PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab"}, + {file = "PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476"}, + {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48"}, + {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b"}, + {file = "PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4"}, + {file = "PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8"}, + {file = "PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba"}, + {file = "PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5"}, + {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc"}, + {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652"}, + {file = "PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183"}, + {file = "PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563"}, + {file = "PyYAML-6.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083"}, + {file = "PyYAML-6.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706"}, + {file = "PyYAML-6.0.2-cp38-cp38-win32.whl", hash = "sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a"}, + {file = "PyYAML-6.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff"}, + {file = "PyYAML-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d"}, + {file = "PyYAML-6.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19"}, + {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e"}, + {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725"}, + {file = "PyYAML-6.0.2-cp39-cp39-win32.whl", hash = "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631"}, + {file = "PyYAML-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8"}, + {file = "pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e"}, +] + +[[package]] +name = "requests" +version = "2.32.3" +description = "Python HTTP for Humans." +optional = false +python-versions = ">=3.8" +files = [ + {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"}, + {file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"}, +] + +[package.dependencies] +certifi = ">=2017.4.17" +charset-normalizer = ">=2,<4" +idna = ">=2.5,<4" +urllib3 = ">=1.21.1,<3" + +[package.extras] +socks = ["PySocks (>=1.5.6,!=1.5.7)"] +use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] + +[[package]] +name = "rsa" +version = "4.9" +description = "Pure-Python RSA implementation" +optional = false +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" + +[[package]] +name = "six" +version = "1.16.0" +description = "Python 2 and 3 compatibility utilities" +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 = "slack-sdk" +version = "3.33.1" +description = "The Slack API Platform SDK for Python" +optional = false +python-versions = ">=3.6" +files = [ + {file = "slack_sdk-3.33.1-py2.py3-none-any.whl", hash = "sha256:ef93beec3ce9c8f64da02fd487598a05ec4bc9c92ceed58f122dbe632691cbe2"}, + {file = "slack_sdk-3.33.1.tar.gz", hash = "sha256:e328bb661d95db5f66b993b1d64288ac7c72201a745b4c7cf8848dafb7b74e40"}, +] + +[package.extras] +optional = ["SQLAlchemy (>=1.4,<3)", "aiodns (>1.0)", "aiohttp (>=3.7.3,<4)", "boto3 (<=2)", "websocket-client (>=1,<2)", "websockets (>=9.1,<14)"] + +[[package]] +name = "soupsieve" +version = "2.6" +description = "A modern CSS selector implementation for Beautiful Soup." +optional = false +python-versions = ">=3.8" +files = [ + {file = "soupsieve-2.6-py3-none-any.whl", hash = "sha256:e72c4ff06e4fb6e4b5a9f0f55fe6e81514581fca1515028625d0f299c602ccc9"}, + {file = "soupsieve-2.6.tar.gz", hash = "sha256:e2e68417777af359ec65daac1057404a3c8a5455bb8abc36f1a9866ab1a51abb"}, +] + +[[package]] +name = "tomli" +version = "2.0.2" +description = "A lil' TOML parser" +optional = false +python-versions = ">=3.8" +files = [ + {file = "tomli-2.0.2-py3-none-any.whl", hash = "sha256:2ebe24485c53d303f690b0ec092806a085f07af5a5aa1464f3931eec36caaa38"}, + {file = "tomli-2.0.2.tar.gz", hash = "sha256:d46d457a85337051c36524bc5349dd91b1877838e2979ac5ced3e710ed8a60ed"}, +] + +[[package]] +name = "tomli-w" +version = "1.0.0" +description = "A lil' TOML writer" +optional = false +python-versions = ">=3.7" +files = [ + {file = "tomli_w-1.0.0-py3-none-any.whl", hash = "sha256:9f2a07e8be30a0729e533ec968016807069991ae2fd921a78d42f429ae5f4463"}, + {file = "tomli_w-1.0.0.tar.gz", hash = "sha256:f463434305e0336248cac9c2dc8076b707d8a12d019dd349f5c1e382dd1ae1b9"}, +] + +[[package]] +name = "typeapi" +version = "2.2.3" +description = "" +optional = false +python-versions = "<4.0,>=3.8" +files = [ + {file = "typeapi-2.2.3-py3-none-any.whl", hash = "sha256:038062b473dd9bc182966469d7a37d81ba7fa5bb0c01f30b0604b5667b13a47b"}, + {file = "typeapi-2.2.3.tar.gz", hash = "sha256:61cf8c852c05471522fcf55ec37d0c37f0de6943cc8e4d58529f796881e32c08"}, +] + +[package.dependencies] +typing-extensions = ">=3.0.0" + +[[package]] +name = "types-python-dateutil" +version = "2.9.0.20241003" +description = "Typing stubs for python-dateutil" +optional = false +python-versions = ">=3.8" +files = [ + {file = "types-python-dateutil-2.9.0.20241003.tar.gz", hash = "sha256:58cb85449b2a56d6684e41aeefb4c4280631246a0da1a719bdbe6f3fb0317446"}, + {file = "types_python_dateutil-2.9.0.20241003-py3-none-any.whl", hash = "sha256:250e1d8e80e7bbc3a6c99b907762711d1a1cdd00e978ad39cb5940f6f0a87f3d"}, +] + +[[package]] +name = "types-pyyaml" +version = "6.0.12.20240311" +description = "Typing stubs for PyYAML" +optional = false +python-versions = ">=3.8" +files = [ + {file = "types-PyYAML-6.0.12.20240311.tar.gz", hash = "sha256:a9e0f0f88dc835739b0c1ca51ee90d04ca2a897a71af79de9aec5f38cb0a5342"}, + {file = "types_PyYAML-6.0.12.20240311-py3-none-any.whl", hash = "sha256:b845b06a1c7e54b8e5b4c683043de0d9caf205e7434b3edc678ff2411979b8f6"}, +] + +[[package]] +name = "types-requests" +version = "2.32.0.20240914" +description = "Typing stubs for requests" +optional = false +python-versions = ">=3.8" +files = [ + {file = "types-requests-2.32.0.20240914.tar.gz", hash = "sha256:2850e178db3919d9bf809e434eef65ba49d0e7e33ac92d588f4a5e295fffd405"}, + {file = "types_requests-2.32.0.20240914-py3-none-any.whl", hash = "sha256:59c2f673eb55f32a99b2894faf6020e1a9f4a402ad0f192bfee0b64469054310"}, +] + +[package.dependencies] +urllib3 = ">=2" + +[[package]] +name = "typing" +version = "3.7.4.3" +description = "Type Hints for Python" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "typing-3.7.4.3-py2-none-any.whl", hash = "sha256:283d868f5071ab9ad873e5e52268d611e851c870a2ba354193026f2dfb29d8b5"}, + {file = "typing-3.7.4.3.tar.gz", hash = "sha256:1187fb9c82fd670d10aa07bbb6cfcfe4bdda42d6fab8d5134f04e8c4d0b71cc9"}, +] + +[[package]] +name = "typing-extensions" +version = "4.12.2" +description = "Backported and Experimental Type Hints for Python 3.8+" +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 = "uritemplate" +version = "4.1.1" +description = "Implementation of RFC 6570 URI Templates" +optional = false +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 = "2.2.3" +description = "HTTP library with thread-safe connection pooling, file post, and more." +optional = false +python-versions = ">=3.8" +files = [ + {file = "urllib3-2.2.3-py3-none-any.whl", hash = "sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac"}, + {file = "urllib3-2.2.3.tar.gz", hash = "sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9"}, +] + +[package.extras] +brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] +h2 = ["h2 (>=4,<5)"] +socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] +zstd = ["zstandard (>=0.18.0)"] + +[[package]] +name = "watchdog" +version = "5.0.3" +description = "Filesystem events monitoring" +optional = false +python-versions = ">=3.9" +files = [ + {file = "watchdog-5.0.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:85527b882f3facda0579bce9d743ff7f10c3e1e0db0a0d0e28170a7d0e5ce2ea"}, + {file = "watchdog-5.0.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:53adf73dcdc0ef04f7735066b4a57a4cd3e49ef135daae41d77395f0b5b692cb"}, + {file = "watchdog-5.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e25adddab85f674acac303cf1f5835951345a56c5f7f582987d266679979c75b"}, + {file = "watchdog-5.0.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f01f4a3565a387080dc49bdd1fefe4ecc77f894991b88ef927edbfa45eb10818"}, + {file = "watchdog-5.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:91b522adc25614cdeaf91f7897800b82c13b4b8ac68a42ca959f992f6990c490"}, + {file = "watchdog-5.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d52db5beb5e476e6853da2e2d24dbbbed6797b449c8bf7ea118a4ee0d2c9040e"}, + {file = "watchdog-5.0.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:94d11b07c64f63f49876e0ab8042ae034674c8653bfcdaa8c4b32e71cfff87e8"}, + {file = "watchdog-5.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:349c9488e1d85d0a58e8cb14222d2c51cbc801ce11ac3936ab4c3af986536926"}, + {file = "watchdog-5.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:53a3f10b62c2d569e260f96e8d966463dec1a50fa4f1b22aec69e3f91025060e"}, + {file = "watchdog-5.0.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:950f531ec6e03696a2414b6308f5c6ff9dab7821a768c9d5788b1314e9a46ca7"}, + {file = "watchdog-5.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:ae6deb336cba5d71476caa029ceb6e88047fc1dc74b62b7c4012639c0b563906"}, + {file = "watchdog-5.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1021223c08ba8d2d38d71ec1704496471ffd7be42cfb26b87cd5059323a389a1"}, + {file = "watchdog-5.0.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:752fb40efc7cc8d88ebc332b8f4bcbe2b5cc7e881bccfeb8e25054c00c994ee3"}, + {file = "watchdog-5.0.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a2e8f3f955d68471fa37b0e3add18500790d129cc7efe89971b8a4cc6fdeb0b2"}, + {file = "watchdog-5.0.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b8ca4d854adcf480bdfd80f46fdd6fb49f91dd020ae11c89b3a79e19454ec627"}, + {file = "watchdog-5.0.3-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:90a67d7857adb1d985aca232cc9905dd5bc4803ed85cfcdcfcf707e52049eda7"}, + {file = "watchdog-5.0.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:720ef9d3a4f9ca575a780af283c8fd3a0674b307651c1976714745090da5a9e8"}, + {file = "watchdog-5.0.3-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:223160bb359281bb8e31c8f1068bf71a6b16a8ad3d9524ca6f523ac666bb6a1e"}, + {file = "watchdog-5.0.3-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:560135542c91eaa74247a2e8430cf83c4342b29e8ad4f520ae14f0c8a19cfb5b"}, + {file = "watchdog-5.0.3-py3-none-manylinux2014_aarch64.whl", hash = "sha256:dd021efa85970bd4824acacbb922066159d0f9e546389a4743d56919b6758b91"}, + {file = "watchdog-5.0.3-py3-none-manylinux2014_armv7l.whl", hash = "sha256:78864cc8f23dbee55be34cc1494632a7ba30263951b5b2e8fc8286b95845f82c"}, + {file = "watchdog-5.0.3-py3-none-manylinux2014_i686.whl", hash = "sha256:1e9679245e3ea6498494b3028b90c7b25dbb2abe65c7d07423ecfc2d6218ff7c"}, + {file = "watchdog-5.0.3-py3-none-manylinux2014_ppc64.whl", hash = "sha256:9413384f26b5d050b6978e6fcd0c1e7f0539be7a4f1a885061473c5deaa57221"}, + {file = "watchdog-5.0.3-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:294b7a598974b8e2c6123d19ef15de9abcd282b0fbbdbc4d23dfa812959a9e05"}, + {file = "watchdog-5.0.3-py3-none-manylinux2014_s390x.whl", hash = "sha256:26dd201857d702bdf9d78c273cafcab5871dd29343748524695cecffa44a8d97"}, + {file = "watchdog-5.0.3-py3-none-manylinux2014_x86_64.whl", hash = "sha256:0f9332243355643d567697c3e3fa07330a1d1abf981611654a1f2bf2175612b7"}, + {file = "watchdog-5.0.3-py3-none-win32.whl", hash = "sha256:c66f80ee5b602a9c7ab66e3c9f36026590a0902db3aea414d59a2f55188c1f49"}, + {file = "watchdog-5.0.3-py3-none-win_amd64.whl", hash = "sha256:f00b4cf737f568be9665563347a910f8bdc76f88c2970121c86243c8cfdf90e9"}, + {file = "watchdog-5.0.3-py3-none-win_ia64.whl", hash = "sha256:49f4d36cb315c25ea0d946e018c01bb028048023b9e103d3d3943f58e109dd45"}, + {file = "watchdog-5.0.3.tar.gz", hash = "sha256:108f42a7f0345042a854d4d0ad0834b741d421330d5f575b81cb27b883500176"}, +] + +[package.extras] +watchmedo = ["PyYAML (>=3.10)"] + +[[package]] +name = "wrapt" +version = "1.16.0" +description = "Module for decorators, wrappers and monkey patching." +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 = "yapf" +version = "0.40.2" +description = "A formatter for Python code" +optional = false +python-versions = ">=3.7" +files = [ + {file = "yapf-0.40.2-py3-none-any.whl", hash = "sha256:adc8b5dd02c0143108878c499284205adb258aad6db6634e5b869e7ee2bd548b"}, + {file = "yapf-0.40.2.tar.gz", hash = "sha256:4dab8a5ed7134e26d57c1647c7483afb3f136878b579062b786c9ba16b94637b"}, +] + +[package.dependencies] +importlib-metadata = ">=6.6.0" +platformdirs = ">=3.5.1" +tomli = ">=2.0.1" + +[[package]] +name = "zipp" +version = "3.20.2" +description = "Backport of pathlib-compatible object wrapper for zip files" +optional = false +python-versions = ">=3.8" +files = [ + {file = "zipp-3.20.2-py3-none-any.whl", hash = "sha256:a817ac80d6cf4b23bf7f2828b7cabf326f15a001bea8b1f9b49631780ba28350"}, + {file = "zipp-3.20.2.tar.gz", hash = "sha256:bc9eb26f4506fda01b81bcde0ca78103b6e62f991b381fec825435c836edbc29"}, +] + +[package.extras] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] +cover = ["pytest-cov"] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +enabler = ["pytest-enabler (>=2.2)"] +test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-ignore-flaky"] +type = ["pytest-mypy"] + +[metadata] +lock-version = "2.0" +python-versions = "^3.10" +content-hash = "f611d154900e96b2ac46649cd2ac5ef06460b2eb34f50cf75f3a2c4c381812cc" diff --git a/pyproject.toml b/pyproject.toml index a68015f92..8200483b8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -21,7 +21,7 @@ follow_imports = "silent" ignore_missing_imports = true namespace_packages = true pretty = true -python_version = "3.9" +python_version = "3.10" show_error_codes = true [tool.poetry] @@ -33,17 +33,19 @@ readme = "README.md" version = "0.0.5" [tool.poetry.dependencies] -PyYAML = "^6.0" +python = "^3.10" +PyYAML = "^6.0.2" inflection = "^0.5.1" beautifulsoup4 = "^4.11.1" requests = "^2.32.3" -pydoc-markdown = "==3.10.0" +pydoc-markdown = "^4.8.2" python-dateutil = "^2.9.0" slack_sdk = "^3.31.0" packaging = "^24" google-api-python-client = "^2.64.0" google-cloud-storage = "^2.9.0" -docspec = "^2.2.1" +docspec = "<3.0.0" +nr-types = "^4.0.2" [tool.poetry.group.dev.dependencies] types-PyYAML = "6.0.12.20240311" @@ -52,7 +54,7 @@ types-requests = "2.32.0.20240914" [tool.ruff] line-length = 130 -target-version = "py39" +target-version = "py310" lint.ignore = [ "F403", # undefined-local-with-import-star "F405", # undefined-local-with-import-star-usage From e237657377a0512481d1cdd17d5694703b32759c Mon Sep 17 00:00:00 2001 From: kobymeir Date: Thu, 10 Oct 2024 11:53:22 +0300 Subject: [PATCH 13/28] build content docs - take 13 --- content-repo/gendocs.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content-repo/gendocs.py b/content-repo/gendocs.py index 985e700be..fe2876792 100755 --- a/content-repo/gendocs.py +++ b/content-repo/gendocs.py @@ -315,7 +315,7 @@ def process_readme_doc(target_dir: str, content_dir: str, prefix: str, with open(readme_file, 'r', encoding='utf-8') as f: content = f.read() if not content.strip(): - raise ValueError(EMPTY_FILE_MSG) + return DocInfo('', '', '', readme_file, EMPTY_FILE_MSG) if is_html_doc(content): print(f'{readme_file}: detect html file') content = gen_html_doc(content) From 69988acf2dbb77c4484999fcdb6523af87621a10 Mon Sep 17 00:00:00 2001 From: kobymeir Date: Thu, 10 Oct 2024 13:17:04 +0300 Subject: [PATCH 14/28] build content docs - take 14 --- poetry.lock | 1054 +++++++++++++++--------------------------------- pyproject.toml | 68 +++- 2 files changed, 370 insertions(+), 752 deletions(-) diff --git a/poetry.lock b/poetry.lock index 9647b9084..11c7acb44 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2,324 +2,168 @@ [[package]] name = "beautifulsoup4" -version = "4.12.3" +version = "4.12.2" description = "Screen-scraping library" optional = false python-versions = ">=3.6.0" files = [ - {file = "beautifulsoup4-4.12.3-py3-none-any.whl", hash = "sha256:b80878c9f40111313e55da8ba20bdba06d8fa3969fc68304167741bbf9e082ed"}, - {file = "beautifulsoup4-4.12.3.tar.gz", hash = "sha256:74e3d1928edc070d21748185c46e3fb33490f22f52a3addee9aee0f4f7781051"}, + {file = "beautifulsoup4-4.12.2-py3-none-any.whl", hash = "sha256:bd2520ca0d9d7d12694a53d44ac482d181b4ec1888909b035a3dbf40d0f57d4a"}, + {file = "beautifulsoup4-4.12.2.tar.gz", hash = "sha256:492bbc69dca35d12daac71c4db1bfff0c876c00ef4a2ffacce226d4638eb72da"}, ] [package.dependencies] soupsieve = ">1.2" [package.extras] -cchardet = ["cchardet"] -chardet = ["chardet"] -charset-normalizer = ["charset-normalizer"] html5lib = ["html5lib"] lxml = ["lxml"] -[[package]] -name = "black" -version = "23.12.1" -description = "The uncompromising code formatter." -optional = false -python-versions = ">=3.8" -files = [ - {file = "black-23.12.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e0aaf6041986767a5e0ce663c7a2f0e9eaf21e6ff87a5f95cbf3675bfd4c41d2"}, - {file = "black-23.12.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c88b3711d12905b74206227109272673edce0cb29f27e1385f33b0163c414bba"}, - {file = "black-23.12.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a920b569dc6b3472513ba6ddea21f440d4b4c699494d2e972a1753cdc25df7b0"}, - {file = "black-23.12.1-cp310-cp310-win_amd64.whl", hash = "sha256:3fa4be75ef2a6b96ea8d92b1587dd8cb3a35c7e3d51f0738ced0781c3aa3a5a3"}, - {file = "black-23.12.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8d4df77958a622f9b5a4c96edb4b8c0034f8434032ab11077ec6c56ae9f384ba"}, - {file = "black-23.12.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:602cfb1196dc692424c70b6507593a2b29aac0547c1be9a1d1365f0d964c353b"}, - {file = "black-23.12.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c4352800f14be5b4864016882cdba10755bd50805c95f728011bcb47a4afd59"}, - {file = "black-23.12.1-cp311-cp311-win_amd64.whl", hash = "sha256:0808494f2b2df923ffc5723ed3c7b096bd76341f6213989759287611e9837d50"}, - {file = "black-23.12.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:25e57fd232a6d6ff3f4478a6fd0580838e47c93c83eaf1ccc92d4faf27112c4e"}, - {file = "black-23.12.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2d9e13db441c509a3763a7a3d9a49ccc1b4e974a47be4e08ade2a228876500ec"}, - {file = "black-23.12.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d1bd9c210f8b109b1762ec9fd36592fdd528485aadb3f5849b2740ef17e674e"}, - {file = "black-23.12.1-cp312-cp312-win_amd64.whl", hash = "sha256:ae76c22bde5cbb6bfd211ec343ded2163bba7883c7bc77f6b756a1049436fbb9"}, - {file = "black-23.12.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1fa88a0f74e50e4487477bc0bb900c6781dbddfdfa32691e780bf854c3b4a47f"}, - {file = "black-23.12.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a4d6a9668e45ad99d2f8ec70d5c8c04ef4f32f648ef39048d010b0689832ec6d"}, - {file = "black-23.12.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b18fb2ae6c4bb63eebe5be6bd869ba2f14fd0259bda7d18a46b764d8fb86298a"}, - {file = "black-23.12.1-cp38-cp38-win_amd64.whl", hash = "sha256:c04b6d9d20e9c13f43eee8ea87d44156b8505ca8a3c878773f68b4e4812a421e"}, - {file = "black-23.12.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3e1b38b3135fd4c025c28c55ddfc236b05af657828a8a6abe5deec419a0b7055"}, - {file = "black-23.12.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4f0031eaa7b921db76decd73636ef3a12c942ed367d8c3841a0739412b260a54"}, - {file = "black-23.12.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:97e56155c6b737854e60a9ab1c598ff2533d57e7506d97af5481141671abf3ea"}, - {file = "black-23.12.1-cp39-cp39-win_amd64.whl", hash = "sha256:dd15245c8b68fe2b6bd0f32c1556509d11bb33aec9b5d0866dd8e2ed3dba09c2"}, - {file = "black-23.12.1-py3-none-any.whl", hash = "sha256:78baad24af0f033958cad29731e27363183e140962595def56423e626f4bee3e"}, - {file = "black-23.12.1.tar.gz", hash = "sha256:4ce3ef14ebe8d9509188014d96af1c456a910d5b5cbf434a09fef7e024b3d0d5"}, -] - -[package.dependencies] -click = ">=8.0.0" -mypy-extensions = ">=0.4.3" -packaging = ">=22.0" -pathspec = ">=0.9.0" -platformdirs = ">=2" -tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} -typing-extensions = {version = ">=4.0.1", markers = "python_version < \"3.11\""} - -[package.extras] -colorama = ["colorama (>=0.4.3)"] -d = ["aiohttp (>=3.7.4)", "aiohttp (>=3.7.4,!=3.9.0)"] -jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] -uvloop = ["uvloop (>=0.15.2)"] - [[package]] name = "cachetools" -version = "5.5.0" +version = "5.3.1" description = "Extensible memoizing collections and decorators" optional = false python-versions = ">=3.7" files = [ - {file = "cachetools-5.5.0-py3-none-any.whl", hash = "sha256:02134e8439cdc2ffb62023ce1debca2944c3f289d66bb17ead3ab3dede74b292"}, - {file = "cachetools-5.5.0.tar.gz", hash = "sha256:2cc24fb4cbe39633fb7badd9db9ca6295d766d9c2995f245725a46715d050f2a"}, + {file = "cachetools-5.3.1-py3-none-any.whl", hash = "sha256:95ef631eeaea14ba2e36f06437f36463aac3a096799e876ee55e5cdccb102590"}, + {file = "cachetools-5.3.1.tar.gz", hash = "sha256:dce83f2d9b4e1f732a8cd44af8e8fab2dbe46201467fc98b3ef8f269092bf62b"}, ] [[package]] name = "certifi" -version = "2024.8.30" +version = "2023.5.7" description = "Python package for providing Mozilla's CA Bundle." optional = false python-versions = ">=3.6" files = [ - {file = "certifi-2024.8.30-py3-none-any.whl", hash = "sha256:922820b53db7a7257ffbda3f597266d435245903d80737e34f8a45ff3e3230d8"}, - {file = "certifi-2024.8.30.tar.gz", hash = "sha256:bec941d2aa8195e248a60b31ff9f0558284cf01a52591ceda73ea9afffd69fd9"}, + {file = "certifi-2023.5.7-py3-none-any.whl", hash = "sha256:c6c2e98f5c7869efca1f8916fed228dd91539f9f1b444c314c06eef02980c716"}, + {file = "certifi-2023.5.7.tar.gz", hash = "sha256:0f0d56dc5a6ad56fd4ba36484d6cc34451e1c6548c61daad8c320169f91eddc7"}, ] [[package]] name = "charset-normalizer" -version = "3.3.2" +version = "3.1.0" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." 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"}, + {file = "charset-normalizer-3.1.0.tar.gz", hash = "sha256:34e0a2f9c370eb95597aae63bf85eb5e96826d81e3dcf88b8886012906f509b5"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e0ac8959c929593fee38da1c2b64ee9778733cdf03c482c9ff1d508b6b593b2b"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d7fc3fca01da18fbabe4625d64bb612b533533ed10045a2ac3dd194bfa656b60"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:04eefcee095f58eaabe6dc3cc2262f3bcd776d2c67005880894f447b3f2cb9c1"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20064ead0717cf9a73a6d1e779b23d149b53daf971169289ed2ed43a71e8d3b0"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1435ae15108b1cb6fffbcea2af3d468683b7afed0169ad718451f8db5d1aff6f"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c84132a54c750fda57729d1e2599bb598f5fa0344085dbde5003ba429a4798c0"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75f2568b4189dda1c567339b48cba4ac7384accb9c2a7ed655cd86b04055c795"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:11d3bcb7be35e7b1bba2c23beedac81ee893ac9871d0ba79effc7fc01167db6c"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:891cf9b48776b5c61c700b55a598621fdb7b1e301a550365571e9624f270c203"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:5f008525e02908b20e04707a4f704cd286d94718f48bb33edddc7d7b584dddc1"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:b06f0d3bf045158d2fb8837c5785fe9ff9b8c93358be64461a1089f5da983137"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:49919f8400b5e49e961f320c735388ee686a62327e773fa5b3ce6721f7e785ce"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:22908891a380d50738e1f978667536f6c6b526a2064156203d418f4856d6e86a"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-win32.whl", hash = "sha256:12d1a39aa6b8c6f6248bb54550efcc1c38ce0d8096a146638fd4738e42284448"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:65ed923f84a6844de5fd29726b888e58c62820e0769b76565480e1fdc3d062f8"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9a3267620866c9d17b959a84dd0bd2d45719b817245e49371ead79ed4f710d19"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6734e606355834f13445b6adc38b53c0fd45f1a56a9ba06c2058f86893ae8017"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f8303414c7b03f794347ad062c0516cee0e15f7a612abd0ce1e25caf6ceb47df"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aaf53a6cebad0eae578f062c7d462155eada9c172bd8c4d250b8c1d8eb7f916a"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3dc5b6a8ecfdc5748a7e429782598e4f17ef378e3e272eeb1340ea57c9109f41"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e1b25e3ad6c909f398df8921780d6a3d120d8c09466720226fc621605b6f92b1"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ca564606d2caafb0abe6d1b5311c2649e8071eb241b2d64e75a0d0065107e62"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b82fab78e0b1329e183a65260581de4375f619167478dddab510c6c6fb04d9b6"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:bd7163182133c0c7701b25e604cf1611c0d87712e56e88e7ee5d72deab3e76b5"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:11d117e6c63e8f495412d37e7dc2e2fff09c34b2d09dbe2bee3c6229577818be"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:cf6511efa4801b9b38dc5546d7547d5b5c6ef4b081c60b23e4d941d0eba9cbeb"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:abc1185d79f47c0a7aaf7e2412a0eb2c03b724581139193d2d82b3ad8cbb00ac"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cb7b2ab0188829593b9de646545175547a70d9a6e2b63bf2cd87a0a391599324"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-win32.whl", hash = "sha256:c36bcbc0d5174a80d6cccf43a0ecaca44e81d25be4b7f90f0ed7bcfbb5a00909"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:cca4def576f47a09a943666b8f829606bcb17e2bc2d5911a46c8f8da45f56755"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:0c95f12b74681e9ae127728f7e5409cbbef9cd914d5896ef238cc779b8152373"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fca62a8301b605b954ad2e9c3666f9d97f63872aa4efcae5492baca2056b74ab"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ac0aa6cd53ab9a31d397f8303f92c42f534693528fafbdb997c82bae6e477ad9"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c3af8e0f07399d3176b179f2e2634c3ce9c1301379a6b8c9c9aeecd481da494f"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a5fc78f9e3f501a1614a98f7c54d3969f3ad9bba8ba3d9b438c3bc5d047dd28"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:628c985afb2c7d27a4800bfb609e03985aaecb42f955049957814e0491d4006d"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:74db0052d985cf37fa111828d0dd230776ac99c740e1a758ad99094be4f1803d"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:1e8fcdd8f672a1c4fc8d0bd3a2b576b152d2a349782d1eb0f6b8e52e9954731d"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:04afa6387e2b282cf78ff3dbce20f0cc071c12dc8f685bd40960cc68644cfea6"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:dd5653e67b149503c68c4018bf07e42eeed6b4e956b24c00ccdf93ac79cdff84"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d2686f91611f9e17f4548dbf050e75b079bbc2a82be565832bc8ea9047b61c8c"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-win32.whl", hash = "sha256:4155b51ae05ed47199dc5b2a4e62abccb274cee6b01da5b895099b61b1982974"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:322102cdf1ab682ecc7d9b1c5eed4ec59657a65e1c146a0da342b78f4112db23"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e633940f28c1e913615fd624fcdd72fdba807bf53ea6925d6a588e84e1151531"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:3a06f32c9634a8705f4ca9946d667609f52cf130d5548881401f1eb2c39b1e2c"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7381c66e0561c5757ffe616af869b916c8b4e42b367ab29fedc98481d1e74e14"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3573d376454d956553c356df45bb824262c397c6e26ce43e8203c4c540ee0acb"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e89df2958e5159b811af9ff0f92614dabf4ff617c03a4c1c6ff53bf1c399e0e1"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:78cacd03e79d009d95635e7d6ff12c21eb89b894c354bd2b2ed0b4763373693b"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de5695a6f1d8340b12a5d6d4484290ee74d61e467c39ff03b39e30df62cf83a0"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1c60b9c202d00052183c9be85e5eaf18a4ada0a47d188a83c8f5c5b23252f649"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f645caaf0008bacf349875a974220f1f1da349c5dbe7c4ec93048cdc785a3326"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:ea9f9c6034ea2d93d9147818f17c2a0860d41b71c38b9ce4d55f21b6f9165a11"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:80d1543d58bd3d6c271b66abf454d437a438dff01c3e62fdbcd68f2a11310d4b"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:73dc03a6a7e30b7edc5b01b601e53e7fc924b04e1835e8e407c12c037e81adbd"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6f5c2e7bc8a4bf7c426599765b1bd33217ec84023033672c1e9a8b35eaeaaaf8"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-win32.whl", hash = "sha256:12a2b561af122e3d94cdb97fe6fb2bb2b82cef0cdca131646fdb940a1eda04f0"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:3160a0fd9754aab7d47f95a6b63ab355388d890163eb03b2d2b87ab0a30cfa59"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:38e812a197bf8e71a59fe55b757a84c1f946d0ac114acafaafaf21667a7e169e"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6baf0baf0d5d265fa7944feb9f7451cc316bfe30e8df1a61b1bb08577c554f31"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8f25e17ab3039b05f762b0a55ae0b3632b2e073d9c8fc88e89aca31a6198e88f"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3747443b6a904001473370d7810aa19c3a180ccd52a7157aacc264a5ac79265e"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b116502087ce8a6b7a5f1814568ccbd0e9f6cfd99948aa59b0e241dc57cf739f"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d16fd5252f883eb074ca55cb622bc0bee49b979ae4e8639fff6ca3ff44f9f854"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21fa558996782fc226b529fdd2ed7866c2c6ec91cee82735c98a197fae39f706"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6f6c7a8a57e9405cad7485f4c9d3172ae486cfef1344b5ddd8e5239582d7355e"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ac3775e3311661d4adace3697a52ac0bab17edd166087d493b52d4f4f553f9f0"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:10c93628d7497c81686e8e5e557aafa78f230cd9e77dd0c40032ef90c18f2230"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:6f4f4668e1831850ebcc2fd0b1cd11721947b6dc7c00bf1c6bd3c929ae14f2c7"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:0be65ccf618c1e7ac9b849c315cc2e8a8751d9cfdaa43027d4f6624bd587ab7e"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:53d0a3fa5f8af98a1e261de6a3943ca631c526635eb5817a87a59d9a57ebf48f"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-win32.whl", hash = "sha256:a04f86f41a8916fe45ac5024ec477f41f886b3c435da2d4e3d2709b22ab02af1"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:830d2948a5ec37c386d3170c483063798d7879037492540f10a475e3fd6f244b"}, + {file = "charset_normalizer-3.1.0-py3-none-any.whl", hash = "sha256:3d9098b479e78c85080c98e1e35ff40b4a31d8953102bb0fd7d1b6f8a2111a3d"}, ] [[package]] name = "click" -version = "8.1.7" +version = "7.1.2" description = "Composable command line interface toolkit" 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\""} - -[[package]] -name = "colorama" -version = "0.4.6" -description = "Cross-platform colored terminal text." -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 = "databind" -version = "4.5.2" -description = "Databind is a library inspired by jackson-databind to de-/serialize Python dataclasses. The `databind` package will install the full suite of databind packages. Compatible with Python 3.8 and newer." -optional = false -python-versions = "<4.0.0,>=3.8.0" -files = [ - {file = "databind-4.5.2-py3-none-any.whl", hash = "sha256:b9c3a03c0414aa4567f095d7218ac904bd2b267b58e3763dac28e83d64b69770"}, - {file = "databind-4.5.2.tar.gz", hash = "sha256:0a8aa0ff130a0306581c559388f5ef65e0fae7ef4b86412eacb1f4a0420006c4"}, -] - -[package.dependencies] -Deprecated = ">=1.2.12,<2.0.0" -nr-date = ">=2.0.0,<3.0.0" -nr-stream = ">=1.0.0,<2.0.0" -typeapi = ">=2.0.1,<3" -typing-extensions = ">=3.10.0,<5" - -[[package]] -name = "databind-core" -version = "4.5.2" -description = "Databind is a library inspired by jackson-databind to de-/serialize Python dataclasses. Compatible with Python 3.8 and newer. Deprecated, use `databind` package." -optional = false -python-versions = "<4.0.0,>=3.8.0" -files = [ - {file = "databind.core-4.5.2-py3-none-any.whl", hash = "sha256:a1dd1c6bd8ca9907d1292d8df9ec763ce91543e27f7eda4268e4a1a84fcd1c42"}, - {file = "databind.core-4.5.2.tar.gz", hash = "sha256:b8ac8127bc5d6b239a2a81aeddb268b0c4cadd53fbce7e8b2c7a9ef6413bccb3"}, -] - -[package.dependencies] -databind = ">=4.5.2,<5.0.0" - -[[package]] -name = "databind-json" -version = "4.5.2" -description = "De-/serialize Python dataclasses to or from JSON payloads. Compatible with Python 3.8 and newer. Deprecated, use `databind` module instead." -optional = false -python-versions = "<4.0.0,>=3.8.0" -files = [ - {file = "databind.json-4.5.2-py3-none-any.whl", hash = "sha256:a803bf440634685984361cb2a5a975887e487c854ed48d81ff7aaf3a1ed1e94c"}, - {file = "databind.json-4.5.2.tar.gz", hash = "sha256:6cc9b5c6fddaebd49b2433932948eb3be8a41633b90aa37998d7922504b8f165"}, -] - -[package.dependencies] -databind = ">=4.5.2,<5.0.0" - -[[package]] -name = "deprecated" -version = "1.2.14" -description = "Python @deprecated decorator to deprecate old python classes, functions or methods." -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ - {file = "Deprecated-1.2.14-py2.py3-none-any.whl", hash = "sha256:6fac8b097794a90302bdbb17b9b815e732d3c4720583ff1b198499d78470466c"}, - {file = "Deprecated-1.2.14.tar.gz", hash = "sha256:e5323eb936458dccc2582dc6f9c322c852a775a27065ff2b0c4970b9d53d01b3"}, + {file = "click-7.1.2-py2.py3-none-any.whl", hash = "sha256:dacca89f4bfadd5de3d7489b7c8a566eee0d3676333fbb50030263894c38c0dc"}, + {file = "click-7.1.2.tar.gz", hash = "sha256:d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a"}, ] -[package.dependencies] -wrapt = ">=1.10,<2" - -[package.extras] -dev = ["PyTest", "PyTest-Cov", "bump2version (<1)", "sphinx (<2)", "tox"] - [[package]] name = "docspec" -version = "2.2.1" +version = "0.2.1" description = "Docspec is a JSON object specification for representing API documentation of programming languages." optional = false -python-versions = ">=3.7,<4.0" +python-versions = ">=3.6.0,<4.0.0" files = [ - {file = "docspec-2.2.1-py3-none-any.whl", hash = "sha256:7538f750095a9688c6980ff9a4e029a823a500f64bd00b6b4bdb27951feb31cb"}, - {file = "docspec-2.2.1.tar.gz", hash = "sha256:4854e77edc0e2de40e785e57e95880f7095a05fe978f8b54cef7a269586e15ff"}, + {file = "docspec-0.2.1-py3-none-any.whl", hash = "sha256:1792cb79d5e6f39aa0c4c17b26b283e2e044b3adb7457151b21e14dca44d5d43"}, + {file = "docspec-0.2.1.tar.gz", hash = "sha256:8ff14da2cdf69a958c3e25c748d629129e38d3145cf5d0c4d55da8e6cfa0cd29"}, ] [package.dependencies] -"databind.core" = ">=4.2.6,<5.0.0" -"databind.json" = ">=4.2.6,<5.0.0" -Deprecated = ">=1.2.12,<2.0.0" +"nr.databind.core" = ">=0.0.19,<0.1.0" +"nr.databind.json" = ">=0.0.9,<0.1.0" [[package]] name = "docspec-python" -version = "2.2.1" +version = "0.1.0" description = "A parser based on lib2to3 producing docspec data from Python source code." optional = false -python-versions = ">=3.7,<4.0" +python-versions = ">=3.5.0,<4.0.0" files = [ - {file = "docspec_python-2.2.1-py3-none-any.whl", hash = "sha256:76ac41d35a8face35b2d766c2e8a416fb8832359785d396f0d53bcb00f178e54"}, - {file = "docspec_python-2.2.1.tar.gz", hash = "sha256:c41b850b4d6f4de30999ea6f82c9cdb9183d9bcba45559ee9173d3dab7281559"}, + {file = "docspec-python-0.1.0.tar.gz", hash = "sha256:8858dc3318b6a67d8452a89ac5c14a15c73f1aa1dd72f9cf63eaa9687082d278"}, + {file = "docspec_python-0.1.0-py3-none-any.whl", hash = "sha256:86561c77dc9ebe4f7d9c224c0740cd66407db849a78580a7509963d4e2c02dfe"}, ] [package.dependencies] -black = ">=23.1.0,<24.0.0" -docspec = ">=2.2.1,<3.0.0" -"nr.util" = ">=0.7.0" - -[[package]] -name = "docstring-parser" -version = "0.11" -description = "\"Parse Python docstrings in reST, Google and Numpydoc format\"" -optional = false -python-versions = ">=3.6" -files = [ - {file = "docstring_parser-0.11.tar.gz", hash = "sha256:93b3f8f481c7d24e37c5d9f30293c89e2933fa209421c8abd731dd3ef0715ecb"}, -] - -[package.extras] -test = ["black", "pytest"] +docspec = ">=0.2.0,<0.3.0" +"nr.sumtype" = ">=0.0.3,<0.1.0" [[package]] name = "google-api-core" @@ -531,41 +375,15 @@ pyparsing = {version = ">=2.4.2,<3.0.0 || >3.0.0,<3.0.1 || >3.0.1,<3.0.2 || >3.0 [[package]] name = "idna" -version = "3.10" +version = "3.4" description = "Internationalized Domain Names in Applications (IDNA)" optional = false -python-versions = ">=3.6" -files = [ - {file = "idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3"}, - {file = "idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9"}, -] - -[package.extras] -all = ["flake8 (>=7.1.1)", "mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2)"] - -[[package]] -name = "importlib-metadata" -version = "8.5.0" -description = "Read metadata from Python packages" -optional = false -python-versions = ">=3.8" +python-versions = ">=3.5" files = [ - {file = "importlib_metadata-8.5.0-py3-none-any.whl", hash = "sha256:45e54197d28b7a7f1559e60b95e7c567032b602131fbd588f1497f47880aa68b"}, - {file = "importlib_metadata-8.5.0.tar.gz", hash = "sha256:71522656f0abace1d072b9e5481a48f07c138e00f079c38c8f883823f9c26bd7"}, + {file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"}, + {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"}, ] -[package.dependencies] -zipp = ">=3.20" - -[package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] -cover = ["pytest-cov"] -doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -enabler = ["pytest-enabler (>=2.2)"] -perf = ["ipython"] -test = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-perf (>=0.9.2)"] -type = ["pytest-mypy"] - [[package]] name = "inflection" version = "0.5.1" @@ -578,197 +396,169 @@ files = [ ] [[package]] -name = "jinja2" -version = "3.1.4" -description = "A very fast and expressive template engine." +name = "nr-collections" +version = "0.0.1" +description = "Useful container datatypes for Python 2 and 3." optional = false -python-versions = ">=3.7" +python-versions = "*" files = [ - {file = "jinja2-3.1.4-py3-none-any.whl", hash = "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d"}, - {file = "jinja2-3.1.4.tar.gz", hash = "sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369"}, + {file = "nr.collections-0.0.1.tar.gz", hash = "sha256:ddf38cd6379cac546ce7abdadf024fc01cca75540e11b1d5f1aa701a33817f1c"}, ] [package.dependencies] -MarkupSafe = ">=2.0" +"nr.metaclass" = ">=0.0.1,<0.1.0" +six = ">=1.11.0,<2.0.0" [package.extras] -i18n = ["Babel (>=2.7)"] +test = ["nr.fs (>=1.5.0,<2.0.0)"] [[package]] -name = "markupsafe" -version = "2.1.5" -description = "Safely add untrusted strings to HTML/XML markup." +name = "nr-databind-core" +version = "0.0.22" +description = "Bind structured data directly to typed objects." optional = false -python-versions = ">=3.7" +python-versions = "*" 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"}, + {file = "nr.databind.core-0.0.22-py2.py3-none-any.whl", hash = "sha256:854a0a0551a0aa5a5acedaa547af930bdaca331bc705b3f26732f6b913491572"}, + {file = "nr.databind.core-0.0.22.tar.gz", hash = "sha256:87fe32d7d8dd91b878a25cd144d056435107ca56a8db7be3030f765334075f77"}, ] +[package.dependencies] +"nr.collections" = ">=0.0.1,<1.0.0" +"nr.interface" = ">=0.0.1,<0.1.0" +"nr.pylang.utils" = ">=0.0.3,<0.1.0" +"nr.stream" = ">=0.0.1,<0.1.0" + [[package]] -name = "mypy-extensions" -version = "1.0.0" -description = "Type system extensions for programs checked with the mypy type checker." +name = "nr-databind-json" +version = "0.0.14" +description = "Deserialize JSON into Python objects and reverse." optional = false -python-versions = ">=3.5" +python-versions = "*" 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"}, + {file = "nr.databind.json-0.0.14-py2.py3-none-any.whl", hash = "sha256:3765fd581c2ca2ee249ccfd460be0f472cc2bc9e5305e2f415d587a5e27c3b86"}, + {file = "nr.databind.json-0.0.14.tar.gz", hash = "sha256:27c7a7a69f6f703a0c616b898950fdb53a51b39cf9874d412ebc12dea574f20e"}, ] +[package.dependencies] +"nr.collections" = ">=0.0.1,<1.0.0" +"nr.databind.core" = ">=0.0.21,<0.1.0" +"nr.interface" = ">=0.0.1,<0.1.0" +"nr.parsing.date" = ">=0.1.0,<1.0.0" +"nr.pylang.utils" = ">=0.0.1,<0.1.0" + [[package]] -name = "nr-date" -version = "2.1.0" -description = "" +name = "nr-fs" +version = "1.6.3" +description = "Filesystem and path manipulation tools." optional = false -python-versions = ">=3.6,<4.0" +python-versions = "*" files = [ - {file = "nr_date-2.1.0-py3-none-any.whl", hash = "sha256:bd672a9dfbdcf7c4b9289fea6750c42490eaee08036a72059dcc78cb236ed568"}, - {file = "nr_date-2.1.0.tar.gz", hash = "sha256:0643aea13bcdc2a8bc56af9d5e6a89ef244c9744a1ef00cdc735902ba7f7d2e6"}, + {file = "nr.fs-1.6.3-py2.py3-none-any.whl", hash = "sha256:64108c168ea2e8077fdf5f0c5417459d1a145fe34cb305fe90faeb75b4e8b421"}, + {file = "nr.fs-1.6.3.tar.gz", hash = "sha256:788aa0a04c4143f95c5245bc8ccc0c0872e932be533bd37780fbb55afcdf124a"}, ] +[package.dependencies] +six = ">=1.11.0,<2.0.0" + [[package]] -name = "nr-stream" -version = "1.1.5" -description = "" +name = "nr-interface" +version = "0.0.5" +description = "Interface definitions for Python." optional = false -python-versions = ">=3.6,<4.0" +python-versions = "*" files = [ - {file = "nr_stream-1.1.5-py3-none-any.whl", hash = "sha256:47e12150b331ad2cb729cfd9d2abd281c9949809729ba461c6aa87dd9927b2d4"}, - {file = "nr_stream-1.1.5.tar.gz", hash = "sha256:eb0216c6bfc61a46d4568dba3b588502c610ec8ddef4ac98f3932a2bd7264f65"}, + {file = "nr.interface-0.0.5-py2.py3-none-any.whl", hash = "sha256:8287f817297d825641793bf3e860445c43e271f4f87ff34f3e30b94bf1aa79a8"}, + {file = "nr.interface-0.0.5.tar.gz", hash = "sha256:ed6043954813247555299ce3032033bbbcaa2d7906f849e1f8317df4011ade83"}, ] +[package.dependencies] +"nr.collections" = ">=0.0.1,<1.0.0" +"nr.metaclass" = ">=0.0.1,<0.1.0" +"nr.pylang.utils" = ">=0.0.1,<0.1.0" +six = ">=1.11.0,<2.0.0" + [[package]] -name = "nr-types" -version = "4.0.2" -description = "Toolbox with useful Python classes and type magic." +name = "nr-metaclass" +version = "0.0.6" +description = "Metaclass utilities." optional = false python-versions = "*" files = [ - {file = "nr.types-4.0.2.tar.gz", hash = "sha256:6c44f37441cf5d563c9e0302dc2bc942b2a22d7a73ff18fa71f88017fa6254ef"}, + {file = "nr.metaclass-0.0.6-py2.py3-none-any.whl", hash = "sha256:d458eb1bddd93373cc74e19981214e7d478c92c9b08fc9732bd430225698a8f0"}, + {file = "nr.metaclass-0.0.6.tar.gz", hash = "sha256:3d52f8e603e3c2944b9135e5a09593c3c36191f26cf1c29a7c71efb192552b10"}, ] -[package.dependencies] -deprecated = "*" -six = "*" -typing = "*" +[[package]] +name = "nr-parsing-date" +version = "0.6.1" +description = "A simple and fast date parsing library. Uses dateutil for timezone offset support." +optional = false +python-versions = ">=3.5.0,<4.0.0" +files = [ + {file = "nr.parsing.date-0.6.1-py3-none-any.whl", hash = "sha256:8cc5e1bf5d9a28c7e93c2c6417958857eef752bf166f777102c60b304b5f020d"}, + {file = "nr.parsing.date-0.6.1.tar.gz", hash = "sha256:11bf1e2a63397a3f9e039cf6b03a9f54d33d7e14ca230b022722e91fd8344fd8"}, +] -[package.extras] -full = ["PyYAML"] -persist = ["nr.fs (>=1.5.0)"] -test = ["pytest", "pytest-cov"] +[package.dependencies] +"nr.utils.re" = ">=0.1.0,<0.2.0" [[package]] -name = "nr-util" -version = "0.8.12" -description = "General purpose Python utility library." +name = "nr-pylang-utils" +version = "0.0.4" +description = "Package description here." optional = false -python-versions = ">=3.7,<4.0" +python-versions = ">=3.4.0,<4.0.0" files = [ - {file = "nr.util-0.8.12-py3-none-any.whl", hash = "sha256:91da02ac9795eb8e015372275c1efe54bac9051231ee9b0e7e6f96b0b4e7d2bb"}, - {file = "nr.util-0.8.12.tar.gz", hash = "sha256:a4549c2033d99d2f0379b3f3d233fd2a8ade286bbf0b3ad0cc7cea16022214f4"}, + {file = "nr.pylang.utils-0.0.4-py3-none-any.whl", hash = "sha256:cf8c88b9e7821a256e31e83e16dcd506d1fb33ea3cf37578eb163526ab044a27"}, + {file = "nr.pylang.utils-0.0.4.tar.gz", hash = "sha256:48f81167a5f0a7376b0dd1b3db2b88ab1cfa815645a2d4048eb369564f4e2485"}, ] [package.dependencies] -deprecated = ">=1.2.0,<2.0.0" -typing-extensions = ">=3.0.0" +"nr.collections" = ">=0.0.1,<1.0.0" [[package]] -name = "packaging" -version = "24.1" -description = "Core utilities for Python packages" +name = "nr-stream" +version = "0.0.5" +description = "Use iterators like Java streams." optional = false -python-versions = ">=3.8" +python-versions = "*" files = [ - {file = "packaging-24.1-py3-none-any.whl", hash = "sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124"}, - {file = "packaging-24.1.tar.gz", hash = "sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002"}, + {file = "nr.stream-0.0.5-py2.py3-none-any.whl", hash = "sha256:cf418a4de3cedb8622286d2baca6007a153c780af48362d1f2ef2c1993525615"}, + {file = "nr.stream-0.0.5.tar.gz", hash = "sha256:3489ce5e8174b70d194a6592248ba341fbbd5bf30c9ec5f1223a351df909f505"}, ] +[package.dependencies] +"nr.collections" = ">=0.0.1,<1.0.0" +"nr.pylang.utils" = ">=0.0.1,<1.0.0" +six = ">=1.11.0,<2.0.0" + [[package]] -name = "pathspec" -version = "0.12.1" -description = "Utility library for gitignore style pattern matching of file paths." +name = "nr-sumtype" +version = "0.0.5" +description = "Sumtypes in Python." optional = false -python-versions = ">=3.8" +python-versions = "*" files = [ - {file = "pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08"}, - {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"}, + {file = "nr.sumtype-0.0.5-py2.py3-none-any.whl", hash = "sha256:fdc2f73d4f96384ab8ae7b8094c26180c61c6f9b33eeb2e03f44ff2e3afa441d"}, + {file = "nr.sumtype-0.0.5.tar.gz", hash = "sha256:cc01d7aa639260bc6669739ea26e4f05cb0f48ae7be7b28736f35e39e9eeea0a"}, ] +[package.dependencies] +"nr.metaclass" = ">=0.0.4,<1.0.0" +"nr.stream" = ">=0.0.2,<1.0.0" + [[package]] -name = "platformdirs" -version = "4.3.6" -description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." +name = "nr-utils-re" +version = "0.1.1" +description = "This module provides some utility functions for applying regular expressions." optional = false -python-versions = ">=3.8" +python-versions = "*" files = [ - {file = "platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb"}, - {file = "platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907"}, + {file = "nr.utils.re-0.1.1-py2.py3-none-any.whl", hash = "sha256:eb4e6c10b074e8b296c4e2a83d0299e9a162524fb3e5e6b916dfd194688dbd06"}, + {file = "nr.utils.re-0.1.1.tar.gz", hash = "sha256:71e21300dbf890d914841f1e6d66eb4e7d6a9f01c9a20d8e83e5242c8d3140aa"}, ] -[package.extras] -docs = ["furo (>=2024.8.6)", "proselint (>=0.14)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4)"] -test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=8.3.2)", "pytest-cov (>=5)", "pytest-mock (>=3.14)"] -type = ["mypy (>=1.11.2)"] - [[package]] name = "proto-plus" version = "1.24.0" @@ -788,85 +578,86 @@ testing = ["google-api-core (>=1.31.5)"] [[package]] name = "protobuf" -version = "5.28.2" +version = "4.23.2" description = "" optional = false -python-versions = ">=3.8" +python-versions = ">=3.7" files = [ - {file = "protobuf-5.28.2-cp310-abi3-win32.whl", hash = "sha256:eeea10f3dc0ac7e6b4933d32db20662902b4ab81bf28df12218aa389e9c2102d"}, - {file = "protobuf-5.28.2-cp310-abi3-win_amd64.whl", hash = "sha256:2c69461a7fcc8e24be697624c09a839976d82ae75062b11a0972e41fd2cd9132"}, - {file = "protobuf-5.28.2-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:a8b9403fc70764b08d2f593ce44f1d2920c5077bf7d311fefec999f8c40f78b7"}, - {file = "protobuf-5.28.2-cp38-abi3-manylinux2014_aarch64.whl", hash = "sha256:35cfcb15f213449af7ff6198d6eb5f739c37d7e4f1c09b5d0641babf2cc0c68f"}, - {file = "protobuf-5.28.2-cp38-abi3-manylinux2014_x86_64.whl", hash = "sha256:5e8a95246d581eef20471b5d5ba010d55f66740942b95ba9b872d918c459452f"}, - {file = "protobuf-5.28.2-cp38-cp38-win32.whl", hash = "sha256:87317e9bcda04a32f2ee82089a204d3a2f0d3c8aeed16568c7daf4756e4f1fe0"}, - {file = "protobuf-5.28.2-cp38-cp38-win_amd64.whl", hash = "sha256:c0ea0123dac3399a2eeb1a1443d82b7afc9ff40241433296769f7da42d142ec3"}, - {file = "protobuf-5.28.2-cp39-cp39-win32.whl", hash = "sha256:ca53faf29896c526863366a52a8f4d88e69cd04ec9571ed6082fa117fac3ab36"}, - {file = "protobuf-5.28.2-cp39-cp39-win_amd64.whl", hash = "sha256:8ddc60bf374785fb7cb12510b267f59067fa10087325b8e1855b898a0d81d276"}, - {file = "protobuf-5.28.2-py3-none-any.whl", hash = "sha256:52235802093bd8a2811abbe8bf0ab9c5f54cca0a751fdd3f6ac2a21438bffece"}, - {file = "protobuf-5.28.2.tar.gz", hash = "sha256:59379674ff119717404f7454647913787034f03fe7049cbef1d74a97bb4593f0"}, + {file = "protobuf-4.23.2-cp310-abi3-win32.whl", hash = "sha256:384dd44cb4c43f2ccddd3645389a23ae61aeb8cfa15ca3a0f60e7c3ea09b28b3"}, + {file = "protobuf-4.23.2-cp310-abi3-win_amd64.whl", hash = "sha256:09310bce43353b46d73ba7e3bca78273b9bc50349509b9698e64d288c6372c2a"}, + {file = "protobuf-4.23.2-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:b2cfab63a230b39ae603834718db74ac11e52bccaaf19bf20f5cce1a84cf76df"}, + {file = "protobuf-4.23.2-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:c52cfcbfba8eb791255edd675c1fe6056f723bf832fa67f0442218f8817c076e"}, + {file = "protobuf-4.23.2-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:86df87016d290143c7ce3be3ad52d055714ebaebb57cc659c387e76cfacd81aa"}, + {file = "protobuf-4.23.2-cp37-cp37m-win32.whl", hash = "sha256:281342ea5eb631c86697e1e048cb7e73b8a4e85f3299a128c116f05f5c668f8f"}, + {file = "protobuf-4.23.2-cp37-cp37m-win_amd64.whl", hash = "sha256:ce744938406de1e64b91410f473736e815f28c3b71201302612a68bf01517fea"}, + {file = "protobuf-4.23.2-cp38-cp38-win32.whl", hash = "sha256:6c081863c379bb1741be8f8193e893511312b1d7329b4a75445d1ea9955be69e"}, + {file = "protobuf-4.23.2-cp38-cp38-win_amd64.whl", hash = "sha256:25e3370eda26469b58b602e29dff069cfaae8eaa0ef4550039cc5ef8dc004511"}, + {file = "protobuf-4.23.2-cp39-cp39-win32.whl", hash = "sha256:efabbbbac1ab519a514579ba9ec52f006c28ae19d97915951f69fa70da2c9e91"}, + {file = "protobuf-4.23.2-cp39-cp39-win_amd64.whl", hash = "sha256:54a533b971288af3b9926e53850c7eb186886c0c84e61daa8444385a4720297f"}, + {file = "protobuf-4.23.2-py3-none-any.whl", hash = "sha256:8da6070310d634c99c0db7df48f10da495cc283fd9e9234877f0cd182d43ab7f"}, + {file = "protobuf-4.23.2.tar.gz", hash = "sha256:20874e7ca4436f683b64ebdbee2129a5a2c301579a67d1a7dda2cdf62fb7f5f7"}, ] [[package]] name = "pyasn1" -version = "0.6.1" +version = "0.5.0" description = "Pure-Python implementation of ASN.1 types and DER/BER/CER codecs (X.208)" optional = false -python-versions = ">=3.8" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" files = [ - {file = "pyasn1-0.6.1-py3-none-any.whl", hash = "sha256:0d632f46f2ba09143da3a8afe9e33fb6f92fa2320ab7e886e2d0f7672af84629"}, - {file = "pyasn1-0.6.1.tar.gz", hash = "sha256:6f580d2bdd84365380830acf45550f2511469f673cb4a5ae3857a3170128b034"}, + {file = "pyasn1-0.5.0-py2.py3-none-any.whl", hash = "sha256:87a2121042a1ac9358cabcaf1d07680ff97ee6404333bacca15f76aa8ad01a57"}, + {file = "pyasn1-0.5.0.tar.gz", hash = "sha256:97b7290ca68e62a832558ec3976f15cbf911bf5d7c7039d8b861c2a0ece69fde"}, ] [[package]] name = "pyasn1-modules" -version = "0.4.1" +version = "0.3.0" description = "A collection of ASN.1-based protocols modules" optional = false -python-versions = ">=3.8" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" files = [ - {file = "pyasn1_modules-0.4.1-py3-none-any.whl", hash = "sha256:49bfa96b45a292b711e986f222502c1c9a5e1f4e568fc30e2574a6c7d07838fd"}, - {file = "pyasn1_modules-0.4.1.tar.gz", hash = "sha256:c28e2dbf9c06ad61c71a075c7e0f9fd0f1b0bb2d2ad4377f240d33ac2ab60a7c"}, + {file = "pyasn1_modules-0.3.0-py2.py3-none-any.whl", hash = "sha256:d3ccd6ed470d9ffbc716be08bd90efbd44d0734bc9303818f7336070984a162d"}, + {file = "pyasn1_modules-0.3.0.tar.gz", hash = "sha256:5bd01446b736eb9d31512a30d46c1ac3395d676c6f3cafa4c03eb54b9925631c"}, ] [package.dependencies] -pyasn1 = ">=0.4.6,<0.7.0" +pyasn1 = ">=0.4.6,<0.6.0" [[package]] name = "pydoc-markdown" -version = "4.8.2" +version = "3.10.0" description = "Create Python API documentation in Markdown format." optional = false -python-versions = ">=3.7,<4.0" +python-versions = ">=3.5.0,<4.0.0" files = [ - {file = "pydoc_markdown-4.8.2-py3-none-any.whl", hash = "sha256:203f74119e6bb2f9deba43d452422de7c8ec31955b61e0620fa4dd8c2611715f"}, - {file = "pydoc_markdown-4.8.2.tar.gz", hash = "sha256:fb6c927e31386de17472d42f9bd3d3be2905977d026f6216881c65145aa67f0b"}, + {file = "pydoc-markdown-3.10.0.tar.gz", hash = "sha256:5076e16a14a2d708db269f6767236c2b2137e2816cf9efaba6b6bfca36367932"}, + {file = "pydoc_markdown-3.10.0-py3-none-any.whl", hash = "sha256:eccca05d136f17a1b85fc6d9fba58e5a4f134621ab0426958c79f8fc03b589ff"}, ] [package.dependencies] -click = ">=7.1,<9.0" -"databind.core" = ">=4.4.0,<5.0.0" -"databind.json" = ">=4.4.0,<5.0.0" -docspec = ">=2.2.1,<3.0.0" -docspec-python = ">=2.2.1,<3.0.0" -docstring-parser = ">=0.11,<0.12" -jinja2 = ">=3.0.0,<4.0.0" -"nr.util" = ">=0.7.5,<1.0.0" -PyYAML = ">=5.0,<7.0" +click = ">=7.0.0,<8.0.0" +docspec = ">=0.2.0,<0.3.0" +docspec-python = ">=0.1.0,<0.2.0" +"nr.collections" = ">=0.0.1,<0.1.0" +"nr.databind.core" = ">=0.0.18,<0.1.0" +"nr.databind.json" = ">=0.0.9,<0.1.0" +"nr.fs" = ">=1.6.0,<2.0.0" +"nr.interface" = ">=0.0.3,<0.1.0" +PyYAML = ">=5.3.0,<6.0.0" requests = ">=2.23.0,<3.0.0" -tomli = ">=2.0.0,<3.0.0" -tomli_w = ">=1.0.0,<2.0.0" -watchdog = "*" -yapf = ">=0.30.0" +six = ">=1.11.0,<2.0.0" +toml = ">=0.10.1,<1.0.0" +watchdog = ">=1.0.0,<2.0.0" [[package]] name = "pyparsing" -version = "3.1.4" +version = "3.0.9" description = "pyparsing module - Classes and methods to define and execute parsing grammars" optional = false python-versions = ">=3.6.8" files = [ - {file = "pyparsing-3.1.4-py3-none-any.whl", hash = "sha256:a6a7ee4235a3f944aa1fa2249307708f893fe5717dc603503c6c7969c070fb7c"}, - {file = "pyparsing-3.1.4.tar.gz", hash = "sha256:f86ec8d1a83f11977c9a6ea7598e8c27fc5cddfa5b07ea2241edbbde1d7bc032"}, + {file = "pyparsing-3.0.9-py3-none-any.whl", hash = "sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc"}, + {file = "pyparsing-3.0.9.tar.gz", hash = "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb"}, ] [package.extras] @@ -888,64 +679,22 @@ six = ">=1.5" [[package]] name = "pyyaml" -version = "6.0.2" +version = "5.3" description = "YAML parser and emitter for Python" optional = false -python-versions = ">=3.8" +python-versions = "*" files = [ - {file = "PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086"}, - {file = "PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf"}, - {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237"}, - {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b"}, - {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed"}, - {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180"}, - {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68"}, - {file = "PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99"}, - {file = "PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e"}, - {file = "PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774"}, - {file = "PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee"}, - {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c"}, - {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317"}, - {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85"}, - {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4"}, - {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e"}, - {file = "PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5"}, - {file = "PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44"}, - {file = "PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab"}, - {file = "PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725"}, - {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5"}, - {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425"}, - {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476"}, - {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48"}, - {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b"}, - {file = "PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4"}, - {file = "PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8"}, - {file = "PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba"}, - {file = "PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1"}, - {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133"}, - {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484"}, - {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5"}, - {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc"}, - {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652"}, - {file = "PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183"}, - {file = "PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563"}, - {file = "PyYAML-6.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a"}, - {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5"}, - {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d"}, - {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083"}, - {file = "PyYAML-6.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706"}, - {file = "PyYAML-6.0.2-cp38-cp38-win32.whl", hash = "sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a"}, - {file = "PyYAML-6.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff"}, - {file = "PyYAML-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d"}, - {file = "PyYAML-6.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f"}, - {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290"}, - {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12"}, - {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19"}, - {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e"}, - {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725"}, - {file = "PyYAML-6.0.2-cp39-cp39-win32.whl", hash = "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631"}, - {file = "PyYAML-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8"}, - {file = "pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e"}, + {file = "PyYAML-5.3-cp27-cp27m-win32.whl", hash = "sha256:940532b111b1952befd7db542c370887a8611660d2b9becff75d39355303d82d"}, + {file = "PyYAML-5.3-cp27-cp27m-win_amd64.whl", hash = "sha256:059b2ee3194d718896c0ad077dd8c043e5e909d9180f387ce42012662a4946d6"}, + {file = "PyYAML-5.3-cp35-cp35m-win32.whl", hash = "sha256:4fee71aa5bc6ed9d5f116327c04273e25ae31a3020386916905767ec4fc5317e"}, + {file = "PyYAML-5.3-cp35-cp35m-win_amd64.whl", hash = "sha256:dbbb2379c19ed6042e8f11f2a2c66d39cceb8aeace421bfc29d085d93eda3689"}, + {file = "PyYAML-5.3-cp36-cp36m-win32.whl", hash = "sha256:e3a057b7a64f1222b56e47bcff5e4b94c4f61faac04c7c4ecb1985e18caa3994"}, + {file = "PyYAML-5.3-cp36-cp36m-win_amd64.whl", hash = "sha256:74782fbd4d4f87ff04159e986886931456a1894c61229be9eaf4de6f6e44b99e"}, + {file = "PyYAML-5.3-cp37-cp37m-win32.whl", hash = "sha256:24521fa2890642614558b492b473bee0ac1f8057a7263156b02e8b14c88ce6f5"}, + {file = "PyYAML-5.3-cp37-cp37m-win_amd64.whl", hash = "sha256:1cf708e2ac57f3aabc87405f04b86354f66799c8e62c28c5fc5f88b5521b2dbf"}, + {file = "PyYAML-5.3-cp38-cp38-win32.whl", hash = "sha256:70024e02197337533eef7b85b068212420f950319cc8c580261963aefc75f811"}, + {file = "PyYAML-5.3-cp38-cp38-win_amd64.whl", hash = "sha256:cb1f2f5e426dc9f07a7681419fe39cee823bb74f723f36f70399123f439e9b20"}, + {file = "PyYAML-5.3.tar.gz", hash = "sha256:e9f45bd5b92c7974e59bcd2dcc8631a6b6cc380a904725fce7bc08872e691615"}, ] [[package]] @@ -996,65 +745,41 @@ files = [ [[package]] name = "slack-sdk" -version = "3.33.1" +version = "3.21.3" description = "The Slack API Platform SDK for Python" optional = false -python-versions = ">=3.6" +python-versions = ">=3.6.0" files = [ - {file = "slack_sdk-3.33.1-py2.py3-none-any.whl", hash = "sha256:ef93beec3ce9c8f64da02fd487598a05ec4bc9c92ceed58f122dbe632691cbe2"}, - {file = "slack_sdk-3.33.1.tar.gz", hash = "sha256:e328bb661d95db5f66b993b1d64288ac7c72201a745b4c7cf8848dafb7b74e40"}, + {file = "slack_sdk-3.21.3-py2.py3-none-any.whl", hash = "sha256:de3c07b92479940b61cd68c566f49fbc9974c8f38f661d26244078f3903bb9cc"}, + {file = "slack_sdk-3.21.3.tar.gz", hash = "sha256:20829bdc1a423ec93dac903470975ebf3bc76fd3fd91a4dadc0eeffc940ecb0c"}, ] [package.extras] -optional = ["SQLAlchemy (>=1.4,<3)", "aiodns (>1.0)", "aiohttp (>=3.7.3,<4)", "boto3 (<=2)", "websocket-client (>=1,<2)", "websockets (>=9.1,<14)"] +optional = ["SQLAlchemy (>=1.4,<3)", "aiodns (>1.0)", "aiohttp (>=3.7.3,<4)", "boto3 (<=2)", "websocket-client (>=1,<2)", "websockets (>=10,<11)"] +testing = ["Flask (>=1,<2)", "Flask-Sockets (>=0.2,<1)", "Jinja2 (==3.0.3)", "Werkzeug (<2)", "black (==22.8.0)", "boto3 (<=2)", "click (==8.0.4)", "databases (>=0.5)", "flake8 (>=5,<6)", "itsdangerous (==1.1.0)", "moto (>=3,<4)", "psutil (>=5,<6)", "pytest (>=6.2.5,<7)", "pytest-asyncio (<1)", "pytest-cov (>=2,<3)"] [[package]] name = "soupsieve" -version = "2.6" +version = "2.4.1" description = "A modern CSS selector implementation for Beautiful Soup." optional = false -python-versions = ">=3.8" -files = [ - {file = "soupsieve-2.6-py3-none-any.whl", hash = "sha256:e72c4ff06e4fb6e4b5a9f0f55fe6e81514581fca1515028625d0f299c602ccc9"}, - {file = "soupsieve-2.6.tar.gz", hash = "sha256:e2e68417777af359ec65daac1057404a3c8a5455bb8abc36f1a9866ab1a51abb"}, -] - -[[package]] -name = "tomli" -version = "2.0.2" -description = "A lil' TOML parser" -optional = false -python-versions = ">=3.8" -files = [ - {file = "tomli-2.0.2-py3-none-any.whl", hash = "sha256:2ebe24485c53d303f690b0ec092806a085f07af5a5aa1464f3931eec36caaa38"}, - {file = "tomli-2.0.2.tar.gz", hash = "sha256:d46d457a85337051c36524bc5349dd91b1877838e2979ac5ced3e710ed8a60ed"}, -] - -[[package]] -name = "tomli-w" -version = "1.0.0" -description = "A lil' TOML writer" -optional = false python-versions = ">=3.7" files = [ - {file = "tomli_w-1.0.0-py3-none-any.whl", hash = "sha256:9f2a07e8be30a0729e533ec968016807069991ae2fd921a78d42f429ae5f4463"}, - {file = "tomli_w-1.0.0.tar.gz", hash = "sha256:f463434305e0336248cac9c2dc8076b707d8a12d019dd349f5c1e382dd1ae1b9"}, + {file = "soupsieve-2.4.1-py3-none-any.whl", hash = "sha256:1c1bfee6819544a3447586c889157365a27e10d88cde3ad3da0cf0ddf646feb8"}, + {file = "soupsieve-2.4.1.tar.gz", hash = "sha256:89d12b2d5dfcd2c9e8c22326da9d9aa9cb3dfab0a83a024f05704076ee8d35ea"}, ] [[package]] -name = "typeapi" -version = "2.2.3" -description = "" +name = "toml" +version = "0.10.2" +description = "Python Library for Tom's Obvious, Minimal Language" optional = false -python-versions = "<4.0,>=3.8" +python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" files = [ - {file = "typeapi-2.2.3-py3-none-any.whl", hash = "sha256:038062b473dd9bc182966469d7a37d81ba7fa5bb0c01f30b0604b5667b13a47b"}, - {file = "typeapi-2.2.3.tar.gz", hash = "sha256:61cf8c852c05471522fcf55ec37d0c37f0de6943cc8e4d58529f796881e32c08"}, + {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"}, + {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, ] -[package.dependencies] -typing-extensions = ">=3.0.0" - [[package]] name = "types-python-dateutil" version = "2.9.0.20241003" @@ -1079,38 +804,27 @@ files = [ [[package]] name = "types-requests" -version = "2.32.0.20240914" +version = "2.31.0.6" description = "Typing stubs for requests" optional = false -python-versions = ">=3.8" +python-versions = ">=3.7" files = [ - {file = "types-requests-2.32.0.20240914.tar.gz", hash = "sha256:2850e178db3919d9bf809e434eef65ba49d0e7e33ac92d588f4a5e295fffd405"}, - {file = "types_requests-2.32.0.20240914-py3-none-any.whl", hash = "sha256:59c2f673eb55f32a99b2894faf6020e1a9f4a402ad0f192bfee0b64469054310"}, + {file = "types-requests-2.31.0.6.tar.gz", hash = "sha256:cd74ce3b53c461f1228a9b783929ac73a666658f223e28ed29753771477b3bd0"}, + {file = "types_requests-2.31.0.6-py3-none-any.whl", hash = "sha256:a2db9cb228a81da8348b49ad6db3f5519452dd20a9c1e1a868c83c5fe88fd1a9"}, ] [package.dependencies] -urllib3 = ">=2" - -[[package]] -name = "typing" -version = "3.7.4.3" -description = "Type Hints for Python" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -files = [ - {file = "typing-3.7.4.3-py2-none-any.whl", hash = "sha256:283d868f5071ab9ad873e5e52268d611e851c870a2ba354193026f2dfb29d8b5"}, - {file = "typing-3.7.4.3.tar.gz", hash = "sha256:1187fb9c82fd670d10aa07bbb6cfcfe4bdda42d6fab8d5134f04e8c4d0b71cc9"}, -] +types-urllib3 = "*" [[package]] -name = "typing-extensions" -version = "4.12.2" -description = "Backported and Experimental Type Hints for Python 3.8+" +name = "types-urllib3" +version = "1.26.25.13" +description = "Typing stubs for urllib3" optional = false -python-versions = ">=3.8" +python-versions = "*" 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"}, + {file = "types-urllib3-1.26.25.13.tar.gz", hash = "sha256:3300538c9dc11dad32eae4827ac313f5d986b8b21494801f1bf97a1ac6c03ae5"}, + {file = "types_urllib3-1.26.25.13-py3-none-any.whl", hash = "sha256:5dbd1d2bef14efee43f5318b5d36d805a489f6600252bb53626d4bfafd95e27c"}, ] [[package]] @@ -1126,178 +840,50 @@ files = [ [[package]] name = "urllib3" -version = "2.2.3" +version = "1.26.16" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false -python-versions = ">=3.8" +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" files = [ - {file = "urllib3-2.2.3-py3-none-any.whl", hash = "sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac"}, - {file = "urllib3-2.2.3.tar.gz", hash = "sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9"}, + {file = "urllib3-1.26.16-py2.py3-none-any.whl", hash = "sha256:8d36afa7616d8ab714608411b4a3b13e58f463aee519024578e062e141dce20f"}, + {file = "urllib3-1.26.16.tar.gz", hash = "sha256:8f135f6502756bde6b2a9b28989df5fbe87c9970cecaa69041edcce7f0589b14"}, ] [package.extras] -brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] -h2 = ["h2 (>=4,<5)"] -socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] -zstd = ["zstandard (>=0.18.0)"] +brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotlipy (>=0.6.0)"] +secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)", "urllib3-secure-extra"] +socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] [[package]] name = "watchdog" -version = "5.0.3" +version = "1.0.2" description = "Filesystem events monitoring" optional = false -python-versions = ">=3.9" -files = [ - {file = "watchdog-5.0.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:85527b882f3facda0579bce9d743ff7f10c3e1e0db0a0d0e28170a7d0e5ce2ea"}, - {file = "watchdog-5.0.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:53adf73dcdc0ef04f7735066b4a57a4cd3e49ef135daae41d77395f0b5b692cb"}, - {file = "watchdog-5.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e25adddab85f674acac303cf1f5835951345a56c5f7f582987d266679979c75b"}, - {file = "watchdog-5.0.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f01f4a3565a387080dc49bdd1fefe4ecc77f894991b88ef927edbfa45eb10818"}, - {file = "watchdog-5.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:91b522adc25614cdeaf91f7897800b82c13b4b8ac68a42ca959f992f6990c490"}, - {file = "watchdog-5.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d52db5beb5e476e6853da2e2d24dbbbed6797b449c8bf7ea118a4ee0d2c9040e"}, - {file = "watchdog-5.0.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:94d11b07c64f63f49876e0ab8042ae034674c8653bfcdaa8c4b32e71cfff87e8"}, - {file = "watchdog-5.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:349c9488e1d85d0a58e8cb14222d2c51cbc801ce11ac3936ab4c3af986536926"}, - {file = "watchdog-5.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:53a3f10b62c2d569e260f96e8d966463dec1a50fa4f1b22aec69e3f91025060e"}, - {file = "watchdog-5.0.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:950f531ec6e03696a2414b6308f5c6ff9dab7821a768c9d5788b1314e9a46ca7"}, - {file = "watchdog-5.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:ae6deb336cba5d71476caa029ceb6e88047fc1dc74b62b7c4012639c0b563906"}, - {file = "watchdog-5.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1021223c08ba8d2d38d71ec1704496471ffd7be42cfb26b87cd5059323a389a1"}, - {file = "watchdog-5.0.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:752fb40efc7cc8d88ebc332b8f4bcbe2b5cc7e881bccfeb8e25054c00c994ee3"}, - {file = "watchdog-5.0.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a2e8f3f955d68471fa37b0e3add18500790d129cc7efe89971b8a4cc6fdeb0b2"}, - {file = "watchdog-5.0.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b8ca4d854adcf480bdfd80f46fdd6fb49f91dd020ae11c89b3a79e19454ec627"}, - {file = "watchdog-5.0.3-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:90a67d7857adb1d985aca232cc9905dd5bc4803ed85cfcdcfcf707e52049eda7"}, - {file = "watchdog-5.0.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:720ef9d3a4f9ca575a780af283c8fd3a0674b307651c1976714745090da5a9e8"}, - {file = "watchdog-5.0.3-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:223160bb359281bb8e31c8f1068bf71a6b16a8ad3d9524ca6f523ac666bb6a1e"}, - {file = "watchdog-5.0.3-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:560135542c91eaa74247a2e8430cf83c4342b29e8ad4f520ae14f0c8a19cfb5b"}, - {file = "watchdog-5.0.3-py3-none-manylinux2014_aarch64.whl", hash = "sha256:dd021efa85970bd4824acacbb922066159d0f9e546389a4743d56919b6758b91"}, - {file = "watchdog-5.0.3-py3-none-manylinux2014_armv7l.whl", hash = "sha256:78864cc8f23dbee55be34cc1494632a7ba30263951b5b2e8fc8286b95845f82c"}, - {file = "watchdog-5.0.3-py3-none-manylinux2014_i686.whl", hash = "sha256:1e9679245e3ea6498494b3028b90c7b25dbb2abe65c7d07423ecfc2d6218ff7c"}, - {file = "watchdog-5.0.3-py3-none-manylinux2014_ppc64.whl", hash = "sha256:9413384f26b5d050b6978e6fcd0c1e7f0539be7a4f1a885061473c5deaa57221"}, - {file = "watchdog-5.0.3-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:294b7a598974b8e2c6123d19ef15de9abcd282b0fbbdbc4d23dfa812959a9e05"}, - {file = "watchdog-5.0.3-py3-none-manylinux2014_s390x.whl", hash = "sha256:26dd201857d702bdf9d78c273cafcab5871dd29343748524695cecffa44a8d97"}, - {file = "watchdog-5.0.3-py3-none-manylinux2014_x86_64.whl", hash = "sha256:0f9332243355643d567697c3e3fa07330a1d1abf981611654a1f2bf2175612b7"}, - {file = "watchdog-5.0.3-py3-none-win32.whl", hash = "sha256:c66f80ee5b602a9c7ab66e3c9f36026590a0902db3aea414d59a2f55188c1f49"}, - {file = "watchdog-5.0.3-py3-none-win_amd64.whl", hash = "sha256:f00b4cf737f568be9665563347a910f8bdc76f88c2970121c86243c8cfdf90e9"}, - {file = "watchdog-5.0.3-py3-none-win_ia64.whl", hash = "sha256:49f4d36cb315c25ea0d946e018c01bb028048023b9e103d3d3943f58e109dd45"}, - {file = "watchdog-5.0.3.tar.gz", hash = "sha256:108f42a7f0345042a854d4d0ad0834b741d421330d5f575b81cb27b883500176"}, -] - -[package.extras] -watchmedo = ["PyYAML (>=3.10)"] - -[[package]] -name = "wrapt" -version = "1.16.0" -description = "Module for decorators, wrappers and monkey patching." -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 = "yapf" -version = "0.40.2" -description = "A formatter for Python code" -optional = false -python-versions = ">=3.7" -files = [ - {file = "yapf-0.40.2-py3-none-any.whl", hash = "sha256:adc8b5dd02c0143108878c499284205adb258aad6db6634e5b869e7ee2bd548b"}, - {file = "yapf-0.40.2.tar.gz", hash = "sha256:4dab8a5ed7134e26d57c1647c7483afb3f136878b579062b786c9ba16b94637b"}, -] - -[package.dependencies] -importlib-metadata = ">=6.6.0" -platformdirs = ">=3.5.1" -tomli = ">=2.0.1" - -[[package]] -name = "zipp" -version = "3.20.2" -description = "Backport of pathlib-compatible object wrapper for zip files" -optional = false -python-versions = ">=3.8" -files = [ - {file = "zipp-3.20.2-py3-none-any.whl", hash = "sha256:a817ac80d6cf4b23bf7f2828b7cabf326f15a001bea8b1f9b49631780ba28350"}, - {file = "zipp-3.20.2.tar.gz", hash = "sha256:bc9eb26f4506fda01b81bcde0ca78103b6e62f991b381fec825435c836edbc29"}, + {file = "watchdog-1.0.2-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:e2a531e71be7b5cc3499ae2d1494d51b6a26684bcc7c3146f63c810c00e8a3cc"}, + {file = "watchdog-1.0.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e7c73edef48f4ceeebb987317a67e0080e5c9228601ff67b3c4062fa020403c7"}, + {file = "watchdog-1.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:85e6574395aa6c1e14e0f030d9d7f35c2340a6cf95d5671354ce876ac3ffdd4d"}, + {file = "watchdog-1.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:27d9b4666938d5d40afdcdf2c751781e9ce36320788b70208d0f87f7401caf93"}, + {file = "watchdog-1.0.2-pp36-pypy36_pp73-macosx_10_9_x86_64.whl", hash = "sha256:2f1ade0d0802503fda4340374d333408831cff23da66d7e711e279ba50fe6c4a"}, + {file = "watchdog-1.0.2-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:f1d0e878fd69129d0d68b87cee5d9543f20d8018e82998efb79f7e412d42154a"}, + {file = "watchdog-1.0.2-py3-none-manylinux2014_aarch64.whl", hash = "sha256:d948ad9ab9aba705f9836625b32e965b9ae607284811cd98334423f659ea537a"}, + {file = "watchdog-1.0.2-py3-none-manylinux2014_armv7l.whl", hash = "sha256:101532b8db506559e52a9b5d75a308729b3f68264d930670e6155c976d0e52a0"}, + {file = "watchdog-1.0.2-py3-none-manylinux2014_i686.whl", hash = "sha256:b1d723852ce90a14abf0ec0ca9e80689d9509ee4c9ee27163118d87b564a12ac"}, + {file = "watchdog-1.0.2-py3-none-manylinux2014_ppc64.whl", hash = "sha256:68744de2003a5ea2dfbb104f9a74192cf381334a9e2c0ed2bbe1581828d50b61"}, + {file = "watchdog-1.0.2-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:602dbd9498592eacc42e0632c19781c3df1728ef9cbab555fab6778effc29eeb"}, + {file = "watchdog-1.0.2-py3-none-manylinux2014_s390x.whl", hash = "sha256:016b01495b9c55b5d4126ed8ae75d93ea0d99377084107c33162df52887cee18"}, + {file = "watchdog-1.0.2-py3-none-manylinux2014_x86_64.whl", hash = "sha256:5f1f3b65142175366ba94c64d8d4c8f4015825e0beaacee1c301823266b47b9b"}, + {file = "watchdog-1.0.2-py3-none-win32.whl", hash = "sha256:57f05e55aa603c3b053eed7e679f0a83873c540255b88d58c6223c7493833bac"}, + {file = "watchdog-1.0.2-py3-none-win_amd64.whl", hash = "sha256:f84146f7864339c8addf2c2b9903271df21d18d2c721e9a77f779493234a82b5"}, + {file = "watchdog-1.0.2-py3-none-win_ia64.whl", hash = "sha256:ee21aeebe6b3e51e4ba64564c94cee8dbe7438b9cb60f0bb350c4fa70d1b52c2"}, + {file = "watchdog-1.0.2.tar.gz", hash = "sha256:376cbc2a35c0392b0fe7ff16fbc1b303fd99d4dd9911ab5581ee9d69adc88982"}, ] [package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] -cover = ["pytest-cov"] -doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -enabler = ["pytest-enabler (>=2.2)"] -test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-ignore-flaky"] -type = ["pytest-mypy"] +watchmedo = ["PyYAML (>=3.10)", "argh (>=0.24.1)"] [metadata] lock-version = "2.0" -python-versions = "^3.10" -content-hash = "f611d154900e96b2ac46649cd2ac5ef06460b2eb34f50cf75f3a2c4c381812cc" +python-versions = "^3.9" +content-hash = "5595fc4ba88cb1b987ef69fcf2961b5b172bf80971916b65880edb5cbe83ce03" diff --git a/pyproject.toml b/pyproject.toml index 8200483b8..54b7126f9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -33,24 +33,56 @@ readme = "README.md" version = "0.0.5" [tool.poetry.dependencies] -python = "^3.10" -PyYAML = "^6.0.2" -inflection = "^0.5.1" -beautifulsoup4 = "^4.11.1" -requests = "^2.32.3" -pydoc-markdown = "^4.8.2" -python-dateutil = "^2.9.0" -slack_sdk = "^3.31.0" -packaging = "^24" -google-api-python-client = "^2.64.0" -google-cloud-storage = "^2.9.0" -docspec = "<3.0.0" -nr-types = "^4.0.2" - -[tool.poetry.group.dev.dependencies] -types-PyYAML = "6.0.12.20240311" -types-python-dateutil = "2.9.0.20241003" -types-requests = "2.32.0.20240914" +beautifulsoup4 = "==4.12.2" +cachetools = "==5.3.1" +certifi = "==2023.5.7" +charset-normalizer = "==3.1.0" +docspec = "==0.2.1" +docspec-python = "==0.1.0" +google-api-core = "*" # "==2.11.0" +google-api-python-client = "*" # "==2.88.0" +google-auth = "*" # "==2.19.0" +google-auth-httplib2 = "*" # "==0.1.0" +google-cloud-core = "*" # "==2.3.2" +google-cloud-storage = "*" # "==2.9.0" +google-crc32c = "*" # "==1.5.0" +google-resumable-media = "*" # "==2.5.0" +googleapis-common-protos = "*" # "==1.59.0" +httplib2 = "==0.22.0" +idna = "==3.4" +inflection = "==0.5.1" +"nr.collections" = "==0.0.1" +"nr.databind.core" = "==0.0.22" +"nr.databind.json" = "==0.0.14" +"nr.fs" = "==1.6.3" +"nr.interface" = "==0.0.5" +"nr.metaclass" = "==0.0.6" +"nr.parsing.date" = "==0.6.1" +"nr.pylang.utils" = "==0.0.4" +"nr.stream" = "==0.0.5" +"nr.sumtype" = "==0.0.5" +"nr.utils.re" = "==0.1.1" +protobuf = "==4.23.2" +pyasn1 = "==0.5.0" +pyasn1-modules = "==0.3.0" +pydoc-markdown = "==3.10.0" +pyparsing = "==3.0.9" +python = "^3.9" +python-dateutil = "*" # "==2.8.2" +pyyaml = "==5.3" # "==5.4.1" +requests = "*" # "==2.31.0" +rsa = "*" # "==4.9" +six = "==1.16.0" +slack-sdk = "==3.21.3" +soupsieve = "==2.4.1" +toml = "==0.10.2" +types-python-dateutil = "*" # "==2.8.19.13" +types-pyyaml = "*" # "==6.0.12.10" +types-requests = "*" # "==2.31.0.1" +types-urllib3 = "==1.26.25.13" +uritemplate = "==4.1.1" +urllib3 = "==1.26.16" +watchdog = "==1.0.2" [tool.ruff] line-length = 130 From 9de50c7a848cf5059a0c27f4fa8486ca3022b5f7 Mon Sep 17 00:00:00 2001 From: kobymeir Date: Tue, 15 Oct 2024 15:41:42 +0300 Subject: [PATCH 15/28] build content docs - take 15 --- poetry.lock | 35 ++++++++++++++++++++++++++++++++++- pyproject.toml | 1 + 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/poetry.lock b/poetry.lock index 11c7acb44..83fac5ccf 100644 --- a/poetry.lock +++ b/poetry.lock @@ -677,6 +677,25 @@ files = [ [package.dependencies] six = ">=1.5" +[[package]] +name = "python-gitlab" +version = "3.15.0" +description = "Interact with GitLab API" +optional = false +python-versions = ">=3.7.0" +files = [ + {file = "python-gitlab-3.15.0.tar.gz", hash = "sha256:c9e65eb7612a9fbb8abf0339972eca7fd7a73d4da66c9b446ffe528930aff534"}, + {file = "python_gitlab-3.15.0-py3-none-any.whl", hash = "sha256:8f8d1c0d387f642eb1ac7bf5e8e0cd8b3dd49c6f34170cee3c7deb7d384611f3"}, +] + +[package.dependencies] +requests = ">=2.25.0" +requests-toolbelt = ">=0.10.1" + +[package.extras] +autocompletion = ["argcomplete (>=1.10.0,<3)"] +yaml = ["PyYaml (>=5.2)"] + [[package]] name = "pyyaml" version = "5.3" @@ -718,6 +737,20 @@ urllib3 = ">=1.21.1,<3" socks = ["PySocks (>=1.5.6,!=1.5.7)"] use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] +[[package]] +name = "requests-toolbelt" +version = "1.0.0" +description = "A utility belt for advanced users of python-requests" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "requests-toolbelt-1.0.0.tar.gz", hash = "sha256:7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6"}, + {file = "requests_toolbelt-1.0.0-py2.py3-none-any.whl", hash = "sha256:cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06"}, +] + +[package.dependencies] +requests = ">=2.0.1,<3.0.0" + [[package]] name = "rsa" version = "4.9" @@ -886,4 +919,4 @@ watchmedo = ["PyYAML (>=3.10)", "argh (>=0.24.1)"] [metadata] lock-version = "2.0" python-versions = "^3.9" -content-hash = "5595fc4ba88cb1b987ef69fcf2961b5b172bf80971916b65880edb5cbe83ce03" +content-hash = "94b6681aa99ca5e076576ec5cbd41ac7bbdd1cb263131974250d12fef04ed64c" diff --git a/pyproject.toml b/pyproject.toml index 54b7126f9..7c45bbbfa 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -83,6 +83,7 @@ types-urllib3 = "==1.26.25.13" uritemplate = "==4.1.1" urllib3 = "==1.26.16" watchdog = "==1.0.2" +python-gitlab = "^3.0.0" # import gitlab [tool.ruff] line-length = 130 From eeab2eb9af03b1e17d60d43ca6842321b2f5f271 Mon Sep 17 00:00:00 2001 From: kobymeir Date: Tue, 15 Oct 2024 18:48:57 +0300 Subject: [PATCH 16/28] build content docs - take 16 --- content-repo/create-docs.sh | 19 ++++++++++--------- pyproject.toml | 2 ++ 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/content-repo/create-docs.sh b/content-repo/create-docs.sh index 4fe0aabc6..58bbe78fe 100755 --- a/content-repo/create-docs.sh +++ b/content-repo/create-docs.sh @@ -119,15 +119,16 @@ if [[ ( "$PULL_REQUEST" == "true" || -n "$CI_PULL_REQUEST" ) && "$CONTENT_BRANCH fi fi -BUCKET_DIR="${SCRIPT_DIR}/.content-bucket" -if [[ ! -d "$BUCKET_DIR" ]]; then - echo "Copying bucket docs content to: $BUCKET_DIR" - mkdir "${BUCKET_DIR}" - gsutil -q -m cp -r gs://marketplace-dist/content/docs/Packs/ "${BUCKET_DIR}" -else - echo "Skipping copying bucket data as dir: $BUCKET_DIR already exists" - echo "If you want to re-copy, delete the dir: $BUCKET_DIR" -fi +# FIXME! restore the bucket copy +#BUCKET_DIR="${SCRIPT_DIR}/.content-bucket" +#if [[ ! -d "$BUCKET_DIR" ]]; then +# echo "Copying bucket docs content to: $BUCKET_DIR" +# mkdir "${BUCKET_DIR}" +# gsutil -q -m cp -r gs://marketplace-dist/content/docs/Packs/ "${BUCKET_DIR}" +#else +# echo "Skipping copying bucket data as dir: $BUCKET_DIR already exists" +# echo "If you want to re-copy, delete the dir: $BUCKET_DIR" +#fi TARGET_DIR=${SCRIPT_DIR}/../docs/reference CONTRIB_TARGET_DIR=${SCRIPT_DIR}/../src/pages/marketplace diff --git a/pyproject.toml b/pyproject.toml index 7c45bbbfa..ffe5243c4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -84,6 +84,8 @@ uritemplate = "==4.1.1" urllib3 = "==1.26.16" watchdog = "==1.0.2" python-gitlab = "^3.0.0" # import gitlab +junitparser = "^3.1.2" +jira = "^3.8.0" [tool.ruff] line-length = 130 From c69582cabf41742b479a4474cfb08f82ae8c64a6 Mon Sep 17 00:00:00 2001 From: kobymeir Date: Sun, 20 Oct 2024 15:21:28 +0300 Subject: [PATCH 17/28] build content docs - take 17 --- poetry.lock | 199 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 198 insertions(+), 1 deletion(-) diff --git a/poetry.lock b/poetry.lock index 83fac5ccf..28a141578 100644 --- a/poetry.lock +++ b/poetry.lock @@ -135,6 +135,17 @@ files = [ {file = "click-7.1.2.tar.gz", hash = "sha256:d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a"}, ] +[[package]] +name = "defusedxml" +version = "0.7.1" +description = "XML bomb protection for Python stdlib modules" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61"}, + {file = "defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69"}, +] + [[package]] name = "docspec" version = "0.2.1" @@ -395,6 +406,44 @@ files = [ {file = "inflection-0.5.1.tar.gz", hash = "sha256:1a29730d366e996aaacffb2f1f1cb9593dc38e2ddd30c91250c6dde09ea9b417"}, ] +[[package]] +name = "jira" +version = "3.8.0" +description = "Python library for interacting with JIRA via REST APIs." +optional = false +python-versions = ">=3.8" +files = [ + {file = "jira-3.8.0-py3-none-any.whl", hash = "sha256:12190dc84dad00b8a6c0341f7e8a254b0f38785afdec022bd5941e1184a5a3fb"}, + {file = "jira-3.8.0.tar.gz", hash = "sha256:63719c529a570aaa01c3373dbb5a104dab70381c5be447f6c27f997302fa335a"}, +] + +[package.dependencies] +defusedxml = "*" +packaging = "*" +Pillow = ">=2.1.0" +requests = ">=2.10.0" +requests-oauthlib = ">=1.1.0" +requests-toolbelt = "*" +typing-extensions = ">=3.7.4.2" + +[package.extras] +async = ["requests-futures (>=0.9.7)"] +cli = ["ipython (>=4.0.0)", "keyring"] +docs = ["furo", "sphinx (>=5.0.0)", "sphinx-copybutton"] +opt = ["PyJWT", "filemagic (>=1.6)", "requests-jwt", "requests-kerberos"] +test = ["MarkupSafe (>=0.23)", "PyYAML (>=5.1)", "docutils (>=0.12)", "flaky", "oauthlib", "parameterized (>=0.8.1)", "pytest (>=6.0.0)", "pytest-cache", "pytest-cov", "pytest-instafail", "pytest-sugar", "pytest-timeout (>=1.3.1)", "pytest-xdist (>=2.2)", "requests-mock", "requires.io", "tenacity", "wheel (>=0.24.0)", "yanc (>=0.3.3)"] + +[[package]] +name = "junitparser" +version = "3.2.0" +description = "Manipulates JUnit/xUnit Result XML files" +optional = false +python-versions = "*" +files = [ + {file = "junitparser-3.2.0-py2.py3-none-any.whl", hash = "sha256:e14fdc0a999edfc15889b637390e8ef6ca09a49532416d3bd562857d42d4b96d"}, + {file = "junitparser-3.2.0.tar.gz", hash = "sha256:b05e89c27e7b74b3c563a078d6e055d95cf397444f8f689b0ca616ebda0b3c65"}, +] + [[package]] name = "nr-collections" version = "0.0.1" @@ -559,6 +608,125 @@ files = [ {file = "nr.utils.re-0.1.1.tar.gz", hash = "sha256:71e21300dbf890d914841f1e6d66eb4e7d6a9f01c9a20d8e83e5242c8d3140aa"}, ] +[[package]] +name = "oauthlib" +version = "3.2.2" +description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic" +optional = false +python-versions = ">=3.6" +files = [ + {file = "oauthlib-3.2.2-py3-none-any.whl", hash = "sha256:8139f29aac13e25d502680e9e19963e83f16838d48a0d71c287fe40e7067fbca"}, + {file = "oauthlib-3.2.2.tar.gz", hash = "sha256:9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918"}, +] + +[package.extras] +rsa = ["cryptography (>=3.0.0)"] +signals = ["blinker (>=1.4.0)"] +signedtoken = ["cryptography (>=3.0.0)", "pyjwt (>=2.0.0,<3)"] + +[[package]] +name = "packaging" +version = "24.1" +description = "Core utilities for Python packages" +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 = "pillow" +version = "11.0.0" +description = "Python Imaging Library (Fork)" +optional = false +python-versions = ">=3.9" +files = [ + {file = "pillow-11.0.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:6619654954dc4936fcff82db8eb6401d3159ec6be81e33c6000dfd76ae189947"}, + {file = "pillow-11.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b3c5ac4bed7519088103d9450a1107f76308ecf91d6dabc8a33a2fcfb18d0fba"}, + {file = "pillow-11.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a65149d8ada1055029fcb665452b2814fe7d7082fcb0c5bed6db851cb69b2086"}, + {file = "pillow-11.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88a58d8ac0cc0e7f3a014509f0455248a76629ca9b604eca7dc5927cc593c5e9"}, + {file = "pillow-11.0.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:c26845094b1af3c91852745ae78e3ea47abf3dbcd1cf962f16b9a5fbe3ee8488"}, + {file = "pillow-11.0.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:1a61b54f87ab5786b8479f81c4b11f4d61702830354520837f8cc791ebba0f5f"}, + {file = "pillow-11.0.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:674629ff60030d144b7bca2b8330225a9b11c482ed408813924619c6f302fdbb"}, + {file = "pillow-11.0.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:598b4e238f13276e0008299bd2482003f48158e2b11826862b1eb2ad7c768b97"}, + {file = "pillow-11.0.0-cp310-cp310-win32.whl", hash = "sha256:9a0f748eaa434a41fccf8e1ee7a3eed68af1b690e75328fd7a60af123c193b50"}, + {file = "pillow-11.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:a5629742881bcbc1f42e840af185fd4d83a5edeb96475a575f4da50d6ede337c"}, + {file = "pillow-11.0.0-cp310-cp310-win_arm64.whl", hash = "sha256:ee217c198f2e41f184f3869f3e485557296d505b5195c513b2bfe0062dc537f1"}, + {file = "pillow-11.0.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:1c1d72714f429a521d8d2d018badc42414c3077eb187a59579f28e4270b4b0fc"}, + {file = "pillow-11.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:499c3a1b0d6fc8213519e193796eb1a86a1be4b1877d678b30f83fd979811d1a"}, + {file = "pillow-11.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c8b2351c85d855293a299038e1f89db92a2f35e8d2f783489c6f0b2b5f3fe8a3"}, + {file = "pillow-11.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6f4dba50cfa56f910241eb7f883c20f1e7b1d8f7d91c750cd0b318bad443f4d5"}, + {file = "pillow-11.0.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:5ddbfd761ee00c12ee1be86c9c0683ecf5bb14c9772ddbd782085779a63dd55b"}, + {file = "pillow-11.0.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:45c566eb10b8967d71bf1ab8e4a525e5a93519e29ea071459ce517f6b903d7fa"}, + {file = "pillow-11.0.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:b4fd7bd29610a83a8c9b564d457cf5bd92b4e11e79a4ee4716a63c959699b306"}, + {file = "pillow-11.0.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:cb929ca942d0ec4fac404cbf520ee6cac37bf35be479b970c4ffadf2b6a1cad9"}, + {file = "pillow-11.0.0-cp311-cp311-win32.whl", hash = "sha256:006bcdd307cc47ba43e924099a038cbf9591062e6c50e570819743f5607404f5"}, + {file = "pillow-11.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:52a2d8323a465f84faaba5236567d212c3668f2ab53e1c74c15583cf507a0291"}, + {file = "pillow-11.0.0-cp311-cp311-win_arm64.whl", hash = "sha256:16095692a253047fe3ec028e951fa4221a1f3ed3d80c397e83541a3037ff67c9"}, + {file = "pillow-11.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d2c0a187a92a1cb5ef2c8ed5412dd8d4334272617f532d4ad4de31e0495bd923"}, + {file = "pillow-11.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:084a07ef0821cfe4858fe86652fffac8e187b6ae677e9906e192aafcc1b69903"}, + {file = "pillow-11.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8069c5179902dcdce0be9bfc8235347fdbac249d23bd90514b7a47a72d9fecf4"}, + {file = "pillow-11.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f02541ef64077f22bf4924f225c0fd1248c168f86e4b7abdedd87d6ebaceab0f"}, + {file = "pillow-11.0.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:fcb4621042ac4b7865c179bb972ed0da0218a076dc1820ffc48b1d74c1e37fe9"}, + {file = "pillow-11.0.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:00177a63030d612148e659b55ba99527803288cea7c75fb05766ab7981a8c1b7"}, + {file = "pillow-11.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8853a3bf12afddfdf15f57c4b02d7ded92c7a75a5d7331d19f4f9572a89c17e6"}, + {file = "pillow-11.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3107c66e43bda25359d5ef446f59c497de2b5ed4c7fdba0894f8d6cf3822dafc"}, + {file = "pillow-11.0.0-cp312-cp312-win32.whl", hash = "sha256:86510e3f5eca0ab87429dd77fafc04693195eec7fd6a137c389c3eeb4cfb77c6"}, + {file = "pillow-11.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:8ec4a89295cd6cd4d1058a5e6aec6bf51e0eaaf9714774e1bfac7cfc9051db47"}, + {file = "pillow-11.0.0-cp312-cp312-win_arm64.whl", hash = "sha256:27a7860107500d813fcd203b4ea19b04babe79448268403172782754870dac25"}, + {file = "pillow-11.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:bcd1fb5bb7b07f64c15618c89efcc2cfa3e95f0e3bcdbaf4642509de1942a699"}, + {file = "pillow-11.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0e038b0745997c7dcaae350d35859c9715c71e92ffb7e0f4a8e8a16732150f38"}, + {file = "pillow-11.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ae08bd8ffc41aebf578c2af2f9d8749d91f448b3bfd41d7d9ff573d74f2a6b2"}, + {file = "pillow-11.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d69bfd8ec3219ae71bcde1f942b728903cad25fafe3100ba2258b973bd2bc1b2"}, + {file = "pillow-11.0.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:61b887f9ddba63ddf62fd02a3ba7add935d053b6dd7d58998c630e6dbade8527"}, + {file = "pillow-11.0.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:c6a660307ca9d4867caa8d9ca2c2658ab685de83792d1876274991adec7b93fa"}, + {file = "pillow-11.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:73e3a0200cdda995c7e43dd47436c1548f87a30bb27fb871f352a22ab8dcf45f"}, + {file = "pillow-11.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fba162b8872d30fea8c52b258a542c5dfd7b235fb5cb352240c8d63b414013eb"}, + {file = "pillow-11.0.0-cp313-cp313-win32.whl", hash = "sha256:f1b82c27e89fffc6da125d5eb0ca6e68017faf5efc078128cfaa42cf5cb38798"}, + {file = "pillow-11.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:8ba470552b48e5835f1d23ecb936bb7f71d206f9dfeee64245f30c3270b994de"}, + {file = "pillow-11.0.0-cp313-cp313-win_arm64.whl", hash = "sha256:846e193e103b41e984ac921b335df59195356ce3f71dcfd155aa79c603873b84"}, + {file = "pillow-11.0.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:4ad70c4214f67d7466bea6a08061eba35c01b1b89eaa098040a35272a8efb22b"}, + {file = "pillow-11.0.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:6ec0d5af64f2e3d64a165f490d96368bb5dea8b8f9ad04487f9ab60dc4bb6003"}, + {file = "pillow-11.0.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c809a70e43c7977c4a42aefd62f0131823ebf7dd73556fa5d5950f5b354087e2"}, + {file = "pillow-11.0.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:4b60c9520f7207aaf2e1d94de026682fc227806c6e1f55bba7606d1c94dd623a"}, + {file = "pillow-11.0.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:1e2688958a840c822279fda0086fec1fdab2f95bf2b717b66871c4ad9859d7e8"}, + {file = "pillow-11.0.0-cp313-cp313t-win32.whl", hash = "sha256:607bbe123c74e272e381a8d1957083a9463401f7bd01287f50521ecb05a313f8"}, + {file = "pillow-11.0.0-cp313-cp313t-win_amd64.whl", hash = "sha256:5c39ed17edea3bc69c743a8dd3e9853b7509625c2462532e62baa0732163a904"}, + {file = "pillow-11.0.0-cp313-cp313t-win_arm64.whl", hash = "sha256:75acbbeb05b86bc53cbe7b7e6fe00fbcf82ad7c684b3ad82e3d711da9ba287d3"}, + {file = "pillow-11.0.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:2e46773dc9f35a1dd28bd6981332fd7f27bec001a918a72a79b4133cf5291dba"}, + {file = "pillow-11.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2679d2258b7f1192b378e2893a8a0a0ca472234d4c2c0e6bdd3380e8dfa21b6a"}, + {file = "pillow-11.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eda2616eb2313cbb3eebbe51f19362eb434b18e3bb599466a1ffa76a033fb916"}, + {file = "pillow-11.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:20ec184af98a121fb2da42642dea8a29ec80fc3efbaefb86d8fdd2606619045d"}, + {file = "pillow-11.0.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:8594f42df584e5b4bb9281799698403f7af489fba84c34d53d1c4bfb71b7c4e7"}, + {file = "pillow-11.0.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:c12b5ae868897c7338519c03049a806af85b9b8c237b7d675b8c5e089e4a618e"}, + {file = "pillow-11.0.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:70fbbdacd1d271b77b7721fe3cdd2d537bbbd75d29e6300c672ec6bb38d9672f"}, + {file = "pillow-11.0.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5178952973e588b3f1360868847334e9e3bf49d19e169bbbdfaf8398002419ae"}, + {file = "pillow-11.0.0-cp39-cp39-win32.whl", hash = "sha256:8c676b587da5673d3c75bd67dd2a8cdfeb282ca38a30f37950511766b26858c4"}, + {file = "pillow-11.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:94f3e1780abb45062287b4614a5bc0874519c86a777d4a7ad34978e86428b8dd"}, + {file = "pillow-11.0.0-cp39-cp39-win_arm64.whl", hash = "sha256:290f2cc809f9da7d6d622550bbf4c1e57518212da51b6a30fe8e0a270a5b78bd"}, + {file = "pillow-11.0.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:1187739620f2b365de756ce086fdb3604573337cc28a0d3ac4a01ab6b2d2a6d2"}, + {file = "pillow-11.0.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:fbbcb7b57dc9c794843e3d1258c0fbf0f48656d46ffe9e09b63bbd6e8cd5d0a2"}, + {file = "pillow-11.0.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d203af30149ae339ad1b4f710d9844ed8796e97fda23ffbc4cc472968a47d0b"}, + {file = "pillow-11.0.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21a0d3b115009ebb8ac3d2ebec5c2982cc693da935f4ab7bb5c8ebe2f47d36f2"}, + {file = "pillow-11.0.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:73853108f56df97baf2bb8b522f3578221e56f646ba345a372c78326710d3830"}, + {file = "pillow-11.0.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:e58876c91f97b0952eb766123bfef372792ab3f4e3e1f1a2267834c2ab131734"}, + {file = "pillow-11.0.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:224aaa38177597bb179f3ec87eeefcce8e4f85e608025e9cfac60de237ba6316"}, + {file = "pillow-11.0.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:5bd2d3bdb846d757055910f0a59792d33b555800813c3b39ada1829c372ccb06"}, + {file = "pillow-11.0.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:375b8dd15a1f5d2feafff536d47e22f69625c1aa92f12b339ec0b2ca40263273"}, + {file = "pillow-11.0.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:daffdf51ee5db69a82dd127eabecce20729e21f7a3680cf7cbb23f0829189790"}, + {file = "pillow-11.0.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7326a1787e3c7b0429659e0a944725e1b03eeaa10edd945a86dead1913383944"}, + {file = "pillow-11.0.0.tar.gz", hash = "sha256:72bacbaf24ac003fea9bff9837d1eedb6088758d41e100c1552930151f677739"}, +] + +[package.extras] +docs = ["furo", "olefile", "sphinx (>=8.1)", "sphinx-copybutton", "sphinx-inline-tabs", "sphinxext-opengraph"] +fpx = ["olefile"] +mic = ["olefile"] +tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout"] +typing = ["typing-extensions"] +xmp = ["defusedxml"] + [[package]] name = "proto-plus" version = "1.24.0" @@ -737,6 +905,24 @@ urllib3 = ">=1.21.1,<3" socks = ["PySocks (>=1.5.6,!=1.5.7)"] use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] +[[package]] +name = "requests-oauthlib" +version = "2.0.0" +description = "OAuthlib authentication support for Requests." +optional = false +python-versions = ">=3.4" +files = [ + {file = "requests-oauthlib-2.0.0.tar.gz", hash = "sha256:b3dffaebd884d8cd778494369603a9e7b58d29111bf6b41bdc2dcd87203af4e9"}, + {file = "requests_oauthlib-2.0.0-py2.py3-none-any.whl", hash = "sha256:7dd8a5c40426b779b0868c404bdef9768deccf22749cde15852df527e6269b36"}, +] + +[package.dependencies] +oauthlib = ">=3.0.0" +requests = ">=2.0.0" + +[package.extras] +rsa = ["oauthlib[signedtoken] (>=3.0.0)"] + [[package]] name = "requests-toolbelt" version = "1.0.0" @@ -860,6 +1046,17 @@ files = [ {file = "types_urllib3-1.26.25.13-py3-none-any.whl", hash = "sha256:5dbd1d2bef14efee43f5318b5d36d805a489f6600252bb53626d4bfafd95e27c"}, ] +[[package]] +name = "typing-extensions" +version = "4.12.2" +description = "Backported and Experimental Type Hints for Python 3.8+" +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 = "uritemplate" version = "4.1.1" @@ -919,4 +1116,4 @@ watchmedo = ["PyYAML (>=3.10)", "argh (>=0.24.1)"] [metadata] lock-version = "2.0" python-versions = "^3.9" -content-hash = "94b6681aa99ca5e076576ec5cbd41ac7bbdd1cb263131974250d12fef04ed64c" +content-hash = "1b4d874ade5dc7eea1e6e003bc81ba2774952dd621b6f108b848deb040ae7a92" From 1eec8f0ccf17cb1c5a616a402ca49aa0a07f0368 Mon Sep 17 00:00:00 2001 From: kobymeir Date: Sun, 20 Oct 2024 18:29:53 +0300 Subject: [PATCH 18/28] build content docs - take 18 --- poetry.lock | 45 ++++++++++++++++++++++++++++++++++++++++++++- pyproject.toml | 1 + 2 files changed, 45 insertions(+), 1 deletion(-) diff --git a/poetry.lock b/poetry.lock index 28a141578..82e29d567 100644 --- a/poetry.lock +++ b/poetry.lock @@ -176,6 +176,38 @@ files = [ docspec = ">=0.2.0,<0.3.0" "nr.sumtype" = ">=0.0.3,<0.1.0" +[[package]] +name = "gitdb" +version = "4.0.11" +description = "Git Object Database" +optional = false +python-versions = ">=3.7" +files = [ + {file = "gitdb-4.0.11-py3-none-any.whl", hash = "sha256:81a3407ddd2ee8df444cbacea00e2d038e40150acfa3001696fe0dcf1d3adfa4"}, + {file = "gitdb-4.0.11.tar.gz", hash = "sha256:bf5421126136d6d0af55bc1e7c1af1c397a34f5b7bd79e776cd3e89785c2b04b"}, +] + +[package.dependencies] +smmap = ">=3.0.1,<6" + +[[package]] +name = "gitpython" +version = "3.1.43" +description = "GitPython is a Python library used to interact with Git repositories" +optional = false +python-versions = ">=3.7" +files = [ + {file = "GitPython-3.1.43-py3-none-any.whl", hash = "sha256:eec7ec56b92aad751f9912a73404bc02ba212a23adb2c7098ee668417051a1ff"}, + {file = "GitPython-3.1.43.tar.gz", hash = "sha256:35f314a9f878467f5453cc1fee295c3e18e52f1b99f10f6cf5b1682e968a9e7c"}, +] + +[package.dependencies] +gitdb = ">=4.0.1,<5" + +[package.extras] +doc = ["sphinx (==4.3.2)", "sphinx-autodoc-typehints", "sphinx-rtd-theme", "sphinxcontrib-applehelp (>=1.0.2,<=1.0.4)", "sphinxcontrib-devhelp (==1.0.2)", "sphinxcontrib-htmlhelp (>=2.0.0,<=2.0.1)", "sphinxcontrib-qthelp (==1.0.3)", "sphinxcontrib-serializinghtml (==1.1.5)"] +test = ["coverage[toml]", "ddt (>=1.1.1,!=1.4.3)", "mock", "mypy", "pre-commit", "pytest (>=7.3.1)", "pytest-cov", "pytest-instafail", "pytest-mock", "pytest-sugar", "typing-extensions"] + [[package]] name = "google-api-core" version = "2.20.0" @@ -977,6 +1009,17 @@ files = [ optional = ["SQLAlchemy (>=1.4,<3)", "aiodns (>1.0)", "aiohttp (>=3.7.3,<4)", "boto3 (<=2)", "websocket-client (>=1,<2)", "websockets (>=10,<11)"] testing = ["Flask (>=1,<2)", "Flask-Sockets (>=0.2,<1)", "Jinja2 (==3.0.3)", "Werkzeug (<2)", "black (==22.8.0)", "boto3 (<=2)", "click (==8.0.4)", "databases (>=0.5)", "flake8 (>=5,<6)", "itsdangerous (==1.1.0)", "moto (>=3,<4)", "psutil (>=5,<6)", "pytest (>=6.2.5,<7)", "pytest-asyncio (<1)", "pytest-cov (>=2,<3)"] +[[package]] +name = "smmap" +version = "5.0.1" +description = "A pure Python implementation of a sliding window memory map manager" +optional = false +python-versions = ">=3.7" +files = [ + {file = "smmap-5.0.1-py3-none-any.whl", hash = "sha256:e6d8668fa5f93e706934a62d7b4db19c8d9eb8cf2adbb75ef1b675aa332b69da"}, + {file = "smmap-5.0.1.tar.gz", hash = "sha256:dceeb6c0028fdb6734471eb07c0cd2aae706ccaecab45965ee83f11c8d3b1f62"}, +] + [[package]] name = "soupsieve" version = "2.4.1" @@ -1116,4 +1159,4 @@ watchmedo = ["PyYAML (>=3.10)", "argh (>=0.24.1)"] [metadata] lock-version = "2.0" python-versions = "^3.9" -content-hash = "1b4d874ade5dc7eea1e6e003bc81ba2774952dd621b6f108b848deb040ae7a92" +content-hash = "ae94d85521999f3e3666b7d8f5bbe6c7c85505797b5612e81df4d07d106935f1" diff --git a/pyproject.toml b/pyproject.toml index ffe5243c4..3c34eeb90 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -86,6 +86,7 @@ watchdog = "==1.0.2" python-gitlab = "^3.0.0" # import gitlab junitparser = "^3.1.2" jira = "^3.8.0" +gitpython = "^3.1.43" # import git [tool.ruff] line-length = 130 From 3d3c448ffad89e6068b7e555d5a808aea2064617 Mon Sep 17 00:00:00 2001 From: kobymeir Date: Mon, 21 Oct 2024 09:39:38 +0300 Subject: [PATCH 19/28] build content docs - take 19 --- .gitignore | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 9dafa3d2d..fe2846ea6 100644 --- a/.gitignore +++ b/.gitignore @@ -43,4 +43,7 @@ static/assets/deprecated*.json /src/pages/marketplace/details /index index.zip -index.json \ No newline at end of file +index.json +/.firebase/hosting.YnVpbGQ.cache +/firebase-debug.log +/firebase_json_key.json From ccca6d0067ef75a77820bdbef36dc0ba2360d84c Mon Sep 17 00:00:00 2001 From: kobymeir Date: Tue, 22 Oct 2024 13:34:09 +0300 Subject: [PATCH 20/28] build content docs - take 19 --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 0008d8488..4b4c11ab6 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -111,7 +111,7 @@ jobs: at: /home/circleci/project - run: name: Setup Python - command: | + command: | pipenv install - run: name: Setup Firebase @@ -134,7 +134,7 @@ jobs: cat deploy-info-firebase.txt fi - - when: + - when: condition: <> steps: - run: From 10a66fdc0bddf440e8958df41f0338ef65a15d07 Mon Sep 17 00:00:00 2001 From: kobymeir Date: Sun, 27 Oct 2024 18:56:04 +0200 Subject: [PATCH 21/28] build content docs - take 20 --- .circleci/config.yml | 182 -------- .github/workflows/forked-pr-deploy.yml | 72 --- content-repo/download_site_build.py | 89 ---- content-repo/download_site_build_test.py | 37 -- .../test_data/circleci-forked-build.json | 430 ----------------- .../test_data/circleci-non-forked-build.json | 434 ------------------ .../test_data/circleci-non-pr-build.json | 431 ----------------- .../test_data/github-status-event.json | 247 ---------- 8 files changed, 1922 deletions(-) delete mode 100644 .circleci/config.yml delete mode 100644 .github/workflows/forked-pr-deploy.yml delete mode 100755 content-repo/download_site_build.py delete mode 100644 content-repo/download_site_build_test.py delete mode 100644 content-repo/test_data/circleci-forked-build.json delete mode 100644 content-repo/test_data/circleci-non-forked-build.json delete mode 100644 content-repo/test_data/circleci-non-pr-build.json delete mode 100644 content-repo/test_data/github-status-event.json diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644 index 4b4c11ab6..000000000 --- a/.circleci/config.yml +++ /dev/null @@ -1,182 +0,0 @@ -### ============================================================= -### This configuration file is used by CircleCI build server -### https://circleci.com/docs/config-sample -### ============================================================= -version: 2.1 -jobs: - build: - machine: - image: default - resource_class: xlarge - - parameters: - slack_notify: - description: Indicates whether to send a slack notification or not (on daily job we send notification) - type: boolean - default: false - - steps: - - checkout - - run: - name: Create Date Weekly File - command: | - date +%Y-%W-v4 > date-week.txt - echo "Date week: $(cat date-week.txt)" - - restore_cache: - key: npm-cache-v5-{{ checksum "package-lock.json" }} - - restore_cache: - key: node-cache-v5-{{ checksum "date-week.txt" }} - - run: - name: Setup Node - command: | - echo '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"' >> $BASH_ENV - source $BASH_ENV - nvm install `cat .nvmrc` - - run: - name: Setup Python - command: | - pyenv install 3.9.1 - pyenv versions - pyenv global 3.9.1 - pip3 install pipenv==2021.5.29 - pipenv install - - run: - name: NPM Install - command: | - nvm use - node --version - npm --version - npm ci - - run: - name: NPM Build content-repo docs - command: | - nvm use - npm run reference-docs - - run: - name: NPM Build - no_output_timeout: 80m - environment: - ALGOLIA_INDEX: demisto - command: | - nvm use - npm run heapstats - npm run build-docusaurus - echo "Build is done. Create tar of the build dir" - tar czf build-site.tar.gz build - - store_artifacts: - path: build-site.tar.gz - - when: - condition: - equal: [ master, << pipeline.git.branch >> ] - steps: - - save_cache: - key: npm-cache-v5-{{ checksum "package-lock.json" }} - paths: - - ~/.npm - - save_cache: - key: node-cache-v5-{{ checksum "date-week.txt" }} - paths: - - node_modules/.cache - - persist_to_workspace: - # Must be an absolute path, or relative path from working_directory. This is a directory on the container which is - # taken to be the root directory of the workspace. - root: /home/circleci/project - # Must be relative path from root - paths: - - build - - run: - name: Notify Slack - when: always - command: | - if [ "<>" = "true" ]; then - pipenv run python ./build_utils/slack_notifier.py -s "$SLACK_TOKEN" -u "$CIRCLE_BUILD_URL" -b "$CIRCLE_BUILD_NUM" -c "$CIRCLECI_TOKEN" -sn "Build" - fi - - deploy: - docker: - - image: circleci/python:3.9.1-buster-node - resource_class: small - parameters: - post_comment: - description: Indicates if to post a comment or not (on daily job we skip posting) - type: boolean - default: true - slack_notify: - description: Indicates whether to send a slack notification or not (on daily job we send notification) - type: boolean - default: false - steps: - - checkout - - attach_workspace: - at: /home/circleci/project - - run: - name: Setup Python - command: | - pipenv install - - run: - name: Setup Firebase - command: curl -sL firebase.tools | sed "s/latest/v12.7.0/" | bash - - run: - name: Deploy to Firebase - no_output_timeout: 30m - command: | - echo $FIREBASE_JSON_KEY > "$HOME"/gcloud.json - export PATH="$PATH:`pwd`/node_modules/.bin" - export GOOGLE_APPLICATION_CREDENTIALS="$HOME"/gcloud.json - - if [[ "${CIRCLE_BRANCH}" = "master" ]] || [[ "${CI_COMMIT_REF_NAME}" == "master" ]]; then - echo "Deploying to prod as CI_COMMIT_REF_NAME is equal to master!" - firebase deploy --only hosting > deploy-info-firebase.txt - else - # Get the PR number from the CIRCLE_PULL_REQUEST env variable which is in the form of: - # https://github.com/demisto/content-docs/pull/335 - firebase hosting:channel:deploy "pull-request-${CIRCLE_PULL_REQUEST##*/}" --only xsoar.pan.dev > deploy-info-firebase.txt - cat deploy-info-firebase.txt - fi - - - when: - condition: <> - steps: - - run: - name: Post Comment Firebase - command: pipenv run ./content-repo/post_github_comment.py deploy-info-firebase.txt - - - run: - name: Notify Slack - when: always - command: | - if [ "<>" = "true" ]; then - pipenv run python ./build_utils/slack_notifier.py -s "$SLACK_TOKEN" -u "$CIRCLE_BUILD_URL" -b "$CIRCLE_BUILD_NUM" -c "$CIRCLECI_TOKEN" -sn "Deploy" - fi - -workflows: - build_and_deploy: - jobs: - - build - - deploy: - requires: - - build - filters: - branches: - # only from non-fork - only: /^(?!pull\/).*$/ - - daily: - triggers: - - schedule: - # should trigger every day at 4:00 UTC (4 hours after 12 AM upload-flow run) - cron: "0 4 * * *" - filters: - branches: - only: - - master - jobs: - - build: - name: nightly build - slack_notify: true - - deploy: - name: nightly deploy - post_comment: false - slack_notify: true - requires: - - nightly build diff --git a/.github/workflows/forked-pr-deploy.yml b/.github/workflows/forked-pr-deploy.yml deleted file mode 100644 index 3360e24ab..000000000 --- a/.github/workflows/forked-pr-deploy.yml +++ /dev/null @@ -1,72 +0,0 @@ -name: Deploy for Forked PR -on: status - -jobs: - check: - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Dump Github context - env: - GITHUB_CONTEXT: ${{ toJson(github) }} - run: echo "$GITHUB_CONTEXT" - - name: Checkout - if: "endsWith(github.event.context, 'ci/circleci: build') && github.event.state == 'success'" - uses: actions/checkout@v2 - - name: Setup Python - if: "endsWith(github.event.context, 'ci/circleci: build') && github.event.state == 'success'" - uses: actions/setup-python@v1 - with: - python-version: '3.9' - - name: Download Build - if: "endsWith(github.event.context, 'ci/circleci: build') && github.event.state == 'success'" - id: build_download - run: | - echo "==== $(date): Starting pipenv setup... ====" - pip install pipenv - pipenv install - echo "==== $(date): Download build site... ====" - pipenv run ./content-repo/download_site_build.py -e "$GITHUB_EVENT_PATH" - - name: Setup Node - if: "steps.build_download.outputs.forked_pr > 0" - uses: actions/setup-node@v1 - with: - node-version: '16.x' -# - name: Deploy Netlify Build -# if: "steps.build_download.outputs.forked_pr > 0" -# env: -# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} -# FORKED_PR: ${{ steps.build_download.outputs.forked_pr }} -# NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} -# NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }} -# run: | -# echo "==== $(date): extract build zip... ====" -# tar xzf build-site.tar.gz -# echo "==== $(date): Starting Netlify install... ====" -# npm install -g netlify-cli -# echo "==== $(date): Netlify deploy... ====" -# netlify deploy -m "CircleCI forked pr build: $FORKED_PR" -d build --alias=pull-request-$FORKED_PR --json > deploy-info.json -# cat deploy-info.json -# echo "==== $(date): Posting comment to PR ... ====" -# PR_NUM=$FORKED_PR pipenv run ./content-repo/post_github_comment.py deploy-info.json - - name: Deploy Firebase Build - if: "steps.build_download.outputs.forked_pr > 0" - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - FORKED_PR: ${{ steps.build_download.outputs.forked_pr }} - FIREBASE_JSON_KEY: ${{ secrets.FIREBASE_JSON_KEY }} - run: | - echo "==== $(date): extract build zip... ====" - tar xzf build-site.tar.gz - echo "==== $(date): Starting Firebase install... ====" - - echo $FIREBASE_JSON_KEY > "$HOME"/gcloud.json - npm install firebase-tools@~11.0.1 - export GOOGLE_APPLICATION_CREDENTIALS="$HOME"/gcloud.json - export PATH="$PATH:`pwd`/node_modules/.bin" - - echo "==== $(date): Firebase deploy for PR: $FORKED_PR ... ====" - firebase hosting:channel:deploy "pull-request-$FORKED_PR" --only xsoar.pan.dev > deploy-info-firebase.txt - cat deploy-info-firebase.txt - echo "==== $(date): Posting comment to PR ... ====" - PR_NUM=$FORKED_PR pipenv run ./content-repo/post_github_comment.py deploy-info-firebase.txt diff --git a/content-repo/download_site_build.py b/content-repo/download_site_build.py deleted file mode 100755 index b441f5a83..000000000 --- a/content-repo/download_site_build.py +++ /dev/null @@ -1,89 +0,0 @@ -#!/usr/bin/env python3 - -# Runs as part of the Forked PR Deploy flow (see: .github/workflows/forked-pr-deploy.yml) -# Expecets to recieve the Github pull_request event file - -import json -import argparse -import requests -import os -import shutil - -VERIFY_SSL = not (os.getenv('VERIFY_SSL') and os.getenv('VERIFY_SSL').lower() in ('false', '0', 'no')) - -if not VERIFY_SSL: - requests.packages.urllib3.disable_warnings() - - -def download_file(url: str, target_path: str): - with requests.get(url, stream=True, verify=VERIFY_SSL) as r: - r.raise_for_status() - with open(target_path, 'wb') as f: - shutil.copyfileobj(r.raw, f, length=32*1024*1024) - - -def download_site_build(event_file: str, download_path: str = "build-site.tar.gz") -> int: - """Will download the site bulid if this is a forked PR bulid. - - Args: - event_file (str): event file from the workflow - - Returns: - int: PR num of the build if relevant - """ - with open(event_file, 'r') as f: - github_event = json.load(f) - target_url = github_event['target_url'] - print(f'target_url: {target_url}') - # target_url is of the form: - # https://circleci.com/gh/demisto/content-docs/142?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-build-li - target_url = target_url.split('?')[0] - build_num = target_url.split('/')[-1] - print(f'circleci build: {build_num}') - circle_url = f'https://circleci.com/api/v1.1/project/github/demisto/content-docs/{build_num}' - print(f'Checking circleci url: {circle_url}') - res = requests.get(circle_url, verify=VERIFY_SSL) - res.raise_for_status() - build_json = res.json() - # check that this is a pull request - if not build_json.get('pull_requests') or not build_json.get('pull_requests')[0].get('url'): - print('Not a pull request. Skipping') - return 0 - branch = build_json.get('branch') - if not branch or not branch.startswith('pull/'): - print(f'Skipping branch as it is not an external pull: {branch}') - return 0 - pr_num = branch.split('/')[1] - # get artifacts - res = requests.get(f'{circle_url}/artifacts', verify=VERIFY_SSL) - res.raise_for_status() - artifacts = res.json() - download_url = None - for art in artifacts: - if 'build-site.tar.gz' in art.get('path'): - download_url = art.get('url') - break - if not download_url: - raise ValueError(f"download url missing for artifacts: {artifacts}") - print(f'Downloading build artifact from: {download_url} (pr num: {pr_num}) to: {download_path} ...') - download_file(download_url, download_path) - return int(pr_num) - - -def main(): - parser = argparse.ArgumentParser(description='Deploy Site Build from CircleCI Forked PR Build', - formatter_class=argparse.ArgumentDefaultsHelpFormatter) - parser.add_argument("-e", "--event", help="Github event data file which triggered the workflow", required=True) - args = parser.parse_args() - pr = download_site_build(args.event) - if pr: - # priint so workflow picks up the pr - # see: https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-commands-for-github-actions#setting-an-output-parameter - print('set output for forked pr: {pr}') - print(f'::set-output name=forked_pr::{pr}') - else: - print('not outputting forked pr as no pr num found') - - -if __name__ == "__main__": - main() diff --git a/content-repo/download_site_build_test.py b/content-repo/download_site_build_test.py deleted file mode 100644 index d0f3de79e..000000000 --- a/content-repo/download_site_build_test.py +++ /dev/null @@ -1,37 +0,0 @@ -from download_site_build import download_site_build -import os -import pytest - - -BASE_DIR = os.path.dirname(os.path.abspath(__file__)) - - -@pytest.mark.parametrize("test_file", ['circleci-non-pr-build.json', 'circleci-non-forked-build.json']) -def test_download_site_build_non_forked_pr(requests_mock, test_file): - with open(f'{BASE_DIR}/test_data/{test_file}', 'r') as f: - circleci_response = f.read() - requests_mock.get('https://circleci.com/api/v1.1/project/github/demisto/content-docs/153', text=circleci_response) - res = download_site_build(f'{BASE_DIR}/test_data/github-status-event.json') - assert not res - assert requests_mock.call_count == 1 - - -def test_download_site_build_forked_pr(requests_mock, tmp_path): - dest_file = str(tmp_path / 'download.txt') - with open(f'{BASE_DIR}/test_data/circleci-forked-build.json', 'r') as f: - circleci_response = f.read() - requests_mock.get('https://circleci.com/api/v1.1/project/github/demisto/content-docs/153', text=circleci_response) - requests_mock.get('https://circleci.com/api/v1.1/project/github/demisto/content-docs/153/artifacts', text=""" -[ { - "path" : "build-site.tar.gz", - "pretty_path" : "build-site.tar.gz", - "node_index" : 0, - "url" : "https://97-225343886-gh.circle-artifacts.com/dummy-download.txt" -} ]""") - download_val = "dummy download" - requests_mock.get('/dummy-download.txt', text=download_val) - res = download_site_build(f'{BASE_DIR}/test_data/github-status-event.json', dest_file) - assert res == 345 - assert requests_mock.call_count == 3 - with open(dest_file, 'r') as f: - assert f.read() == download_val diff --git a/content-repo/test_data/circleci-forked-build.json b/content-repo/test_data/circleci-forked-build.json deleted file mode 100644 index 2f37d5426..000000000 --- a/content-repo/test_data/circleci-forked-build.json +++ /dev/null @@ -1,430 +0,0 @@ -{ - "compare" : null, - "previous_successful_build" : { - "build_num" : 96, - "status" : "success", - "build_time_millis" : 355456 - }, - "build_parameters" : { - "CIRCLE_JOB" : "build" - }, - "oss" : true, - "all_commit_details_truncated" : false, - "committer_date" : "2020-10-14T21:57:24.000Z", - "steps" : [ { - "name" : "Spin up environment", - "actions" : [ { - "truncated" : false, - "index" : 0, - "parallel" : true, - "failed" : null, - "infrastructure_fail" : null, - "name" : "Spin up environment", - "bash_command" : null, - "status" : "success", - "timedout" : null, - "continue" : null, - "end_time" : "2020-10-14T21:58:20.932Z", - "type" : "test", - "allocation_id" : "5f87746f08a150372fa9713c-0-build/62180037", - "output_url" : "https://circle-production-action-output.s3.amazonaws.com/e31f4f48e6e054ef374778f5-5de6587c4394b520d939b8e1-0-0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20201016T210701Z&X-Amz-SignedHeaders=host&X-Amz-Expires=432000&X-Amz-Credential=AKIAIJNI6FA5RIAFFQ7Q%2F20201016%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=08940c0d57642b5e3290fe4cc7e2dd875d617ed4cc9b4fda584de29fbd05d160", - "start_time" : "2020-10-14T21:58:11.382Z", - "background" : false, - "exit_code" : null, - "insignificant" : false, - "canceled" : null, - "step" : 0, - "run_time_millis" : 9550, - "has_output" : true - } ] - }, { - "name" : "Preparing environment variables", - "actions" : [ { - "truncated" : false, - "index" : 0, - "parallel" : true, - "failed" : null, - "infrastructure_fail" : null, - "name" : "Preparing environment variables", - "bash_command" : null, - "status" : "success", - "timedout" : null, - "continue" : null, - "end_time" : "2020-10-14T21:58:26.076Z", - "type" : "test", - "allocation_id" : "5f87746f08a150372fa9713c-0-build/62180037", - "output_url" : "https://circle-production-action-output.s3.amazonaws.com/b12f4f48e6e054ef284778f5-5de6587c4394b520d939b8e1-99-0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20201016T210701Z&X-Amz-SignedHeaders=host&X-Amz-Expires=432000&X-Amz-Credential=AKIAIJNI6FA5RIAFFQ7Q%2F20201016%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=1ff86e79032132468ace9a944c45c15403bc6900c979dcaa461c67f55b6fd9b6", - "start_time" : "2020-10-14T21:58:26.010Z", - "background" : false, - "exit_code" : null, - "insignificant" : false, - "canceled" : null, - "step" : 99, - "run_time_millis" : 66, - "has_output" : true - } ] - }, { - "name" : "Checkout code", - "actions" : [ { - "truncated" : false, - "index" : 0, - "parallel" : true, - "failed" : null, - "infrastructure_fail" : null, - "name" : "Checkout code", - "bash_command" : "#!/bin/sh\nset -e\n\n# Workaround old docker images with incorrect $HOME\n# check https://github.com/docker/docker/issues/2968 for details\nif [ \"${HOME}\" = \"/\" ]\nthen\n export HOME=$(getent passwd $(id -un) | cut -d: -f6)\nfi\n\necho Using SSH Config Dir $SSH_CONFIG_DIR\n\nmkdir -p $SSH_CONFIG_DIR\n\necho 'github.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==\nbitbucket.org ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAubiN81eDcafrgMeLzaFPsw2kNvEcqTKl/VqLat/MaB33pZy0y3rJZtnqwR2qOOvbwKZYKiEO1O6VqNEBxKvJJelCq0dTXWT5pbO2gDXC6h6QDXCaHo6pOHGPUy+YBaGQRGuSusMEASYiWunYN0vCAI8QaXnWMXNMdFP3jHAJH0eDsoiGnLPBlBp4TNm6rYI74nMzgz3B9IikW4WVK+dc8KZJZWYjAuORU3jc1c/NPskD2ASinf8v3xnfXeukU0sJ5N6m5E8VLjObPEO+mN2t/FZTMZLiFqPWc/ALSqnMnnhwrNi2rbfg/rd/IpL8Le3pSBne8+seeFVBoGqzHM9yXw==\n' >> $SSH_CONFIG_DIR/known_hosts\n\n(umask 077; touch $SSH_CONFIG_DIR/id_rsa)\nchmod 0600 $SSH_CONFIG_DIR/id_rsa\n(cat < $SSH_CONFIG_DIR/id_rsa\n$CHECKOUT_KEY\nEOF\n)\n\nexport GIT_SSH_COMMAND='ssh -i $SSH_CONFIG_DIR/id_rsa -o UserKnownHostsFile=$SSH_CONFIG_DIR/known_hosts'\n\n# use git+ssh instead of https\ngit config --global url.\"ssh://git@github.com\".insteadOf \"https://github.com\" || true\ngit config --global gc.auto 0 || true\n\nif [ -e /home/circleci/project/.git ]\nthen\n cd /home/circleci/project\n git remote set-url origin \"$CIRCLE_REPOSITORY_URL\" || true\nelse\n mkdir -p /home/circleci/project\n cd /home/circleci/project\n git clone \"$CIRCLE_REPOSITORY_URL\" .\nfi\n\nif [ -n \"$CIRCLE_TAG\" ]\nthen\n git fetch --force origin \"refs/tags/${CIRCLE_TAG}\"\nelse\n git fetch --force origin \"pull/345/head:remotes/origin/pull/345\"\nfi\n\n\nif [ -n \"$CIRCLE_TAG\" ]\nthen\n git reset --hard \"$CIRCLE_SHA1\"\n git checkout -q \"$CIRCLE_TAG\"\nelif [ -n \"$CI_COMMIT_REF_NAME\" ]\nthen\n git reset --hard \"$CIRCLE_SHA1\"\n git checkout -q -B \"$CI_COMMIT_REF_NAME\"\nfi\n\ngit reset --hard \"$CIRCLE_SHA1\"", - "status" : "success", - "timedout" : null, - "continue" : null, - "end_time" : "2020-10-14T21:58:29.956Z", - "type" : "test", - "allocation_id" : "5f87746f08a150372fa9713c-0-build/62180037", - "output_url" : "https://circle-production-action-output.s3.amazonaws.com/66763fff3163feb1284778f5-5de6587c4394b520d939b8e1-101-0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20201016T210701Z&X-Amz-SignedHeaders=host&X-Amz-Expires=432000&X-Amz-Credential=AKIAIJNI6FA5RIAFFQ7Q%2F20201016%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=f0da8c2d87f7728c306c3a85ad2473497d2ca29658ab2edc27abe852ec96eaa5", - "start_time" : "2020-10-14T21:58:26.184Z", - "background" : false, - "exit_code" : null, - "insignificant" : false, - "canceled" : null, - "step" : 101, - "run_time_millis" : 3772, - "has_output" : true - } ] - }, { - "name" : "Restoring cache", - "actions" : [ { - "truncated" : false, - "index" : 0, - "parallel" : true, - "failed" : null, - "infrastructure_fail" : null, - "name" : "Restoring cache", - "bash_command" : null, - "status" : "success", - "timedout" : null, - "continue" : null, - "end_time" : "2020-10-14T21:58:30.333Z", - "type" : "test", - "allocation_id" : "5f87746f08a150372fa9713c-0-build/62180037", - "output_url" : "https://circle-production-action-output.s3.amazonaws.com/9d222104419de71e684778f5-5de6587c4394b520d939b8e1-102-0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20201016T210701Z&X-Amz-SignedHeaders=host&X-Amz-Expires=432000&X-Amz-Credential=AKIAIJNI6FA5RIAFFQ7Q%2F20201016%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=fed4cf3789c3a49b014e5496ce74b2a22479fe1cafac8a8a94d587560d738ea9", - "start_time" : "2020-10-14T21:58:30.032Z", - "background" : false, - "exit_code" : null, - "insignificant" : false, - "canceled" : null, - "step" : 102, - "run_time_millis" : 301, - "has_output" : true - } ] - }, { - "name" : "Setup Node", - "actions" : [ { - "truncated" : false, - "index" : 0, - "parallel" : true, - "failed" : null, - "infrastructure_fail" : null, - "name" : "Setup Node", - "bash_command" : "#!/bin/bash -eo pipefail\necho '[ -s \"$NVM_DIR/nvm.sh\" ] && \\. \"$NVM_DIR/nvm.sh\"' >> $BASH_ENV\nsource $BASH_ENV\nnvm install `cat .nvmrc` \n", - "status" : "success", - "timedout" : null, - "continue" : null, - "end_time" : "2020-10-14T21:58:34.092Z", - "type" : "test", - "allocation_id" : "5f87746f08a150372fa9713c-0-build/62180037", - "output_url" : "https://circle-production-action-output.s3.amazonaws.com/6e222104419de71e684778f5-5de6587c4394b520d939b8e1-103-0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20201016T210701Z&X-Amz-SignedHeaders=host&X-Amz-Expires=432000&X-Amz-Credential=AKIAIJNI6FA5RIAFFQ7Q%2F20201016%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=cdb12ef5d9d2628db20204b4f127c357f079118202780f7ce880a1b812c3bb71", - "start_time" : "2020-10-14T21:58:30.405Z", - "background" : false, - "exit_code" : 0, - "insignificant" : false, - "canceled" : null, - "step" : 103, - "run_time_millis" : 3687, - "has_output" : true - } ] - }, { - "name" : "Setup Python", - "actions" : [ { - "truncated" : false, - "index" : 0, - "parallel" : true, - "failed" : null, - "infrastructure_fail" : null, - "name" : "Setup Python", - "bash_command" : "#!/bin/bash -eo pipefail\npyenv versions\npyenv global 3.7.8 3.8.3\npip3 install pipenv\npipenv install\n", - "status" : "success", - "timedout" : null, - "continue" : null, - "end_time" : "2020-10-14T21:59:33.849Z", - "type" : "test", - "allocation_id" : "5f87746f08a150372fa9713c-0-build/62180037", - "output_url" : "https://circle-production-action-output.s3.amazonaws.com/bd763fff3163feb1a84778f5-5de6587c4394b520d939b8e1-104-0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20201016T210701Z&X-Amz-SignedHeaders=host&X-Amz-Expires=432000&X-Amz-Credential=AKIAIJNI6FA5RIAFFQ7Q%2F20201016%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=d6919bed305cb0d6f1f26f4cab0f01d4c7d530a6ee856eccc8440a320ed6cc79", - "start_time" : "2020-10-14T21:58:34.167Z", - "background" : false, - "exit_code" : 0, - "insignificant" : false, - "canceled" : null, - "step" : 104, - "run_time_millis" : 59682, - "has_output" : true - } ] - }, { - "name" : "NPM Install", - "actions" : [ { - "truncated" : false, - "index" : 0, - "parallel" : true, - "failed" : null, - "infrastructure_fail" : null, - "name" : "NPM Install", - "bash_command" : "#!/bin/bash -eo pipefail\nnvm use\nnode --version\nnpm --version\nnpm ci\n", - "status" : "success", - "timedout" : null, - "continue" : null, - "end_time" : "2020-10-14T21:59:51.520Z", - "type" : "test", - "allocation_id" : "5f87746f08a150372fa9713c-0-build/62180037", - "output_url" : "https://circle-production-action-output.s3.amazonaws.com/bf5f4f48e6e054ef5c4778f5-5de6587c4394b520d939b8e1-105-0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20201016T210701Z&X-Amz-SignedHeaders=host&X-Amz-Expires=432000&X-Amz-Credential=AKIAIJNI6FA5RIAFFQ7Q%2F20201016%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=b43dae0bc7ef65f1cf918cfde98b4d88732c5d049b3c6b354c9e345d32bc3d5e", - "start_time" : "2020-10-14T21:59:33.885Z", - "background" : false, - "exit_code" : 0, - "insignificant" : false, - "canceled" : null, - "step" : 105, - "run_time_millis" : 17635, - "has_output" : true - } ] - }, { - "name" : "NPM Build content-repo docs", - "actions" : [ { - "truncated" : false, - "index" : 0, - "parallel" : true, - "failed" : null, - "infrastructure_fail" : null, - "name" : "NPM Build content-repo docs", - "bash_command" : "#!/bin/bash -eo pipefail\nnvm use\nnpm run reference-docs\n", - "status" : "success", - "timedout" : null, - "continue" : null, - "end_time" : "2020-10-14T22:03:04.372Z", - "type" : "test", - "allocation_id" : "5f87746f08a150372fa9713c-0-build/62180037", - "output_url" : "https://circle-production-action-output.s3.amazonaws.com/0e6f4f48e6e054ef7d4778f5-5de6587c4394b520d939b8e1-106-0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20201016T210701Z&X-Amz-SignedHeaders=host&X-Amz-Expires=432000&X-Amz-Credential=AKIAIJNI6FA5RIAFFQ7Q%2F20201016%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=04d49426b50a3f7bf2804ff2a99d8ca799fea9a1cd027857d71a49f7efc697c5", - "start_time" : "2020-10-14T21:59:51.592Z", - "background" : false, - "exit_code" : 0, - "insignificant" : false, - "canceled" : null, - "step" : 106, - "run_time_millis" : 192780, - "has_output" : true - } ] - }, { - "name" : "NPM Build", - "actions" : [ { - "truncated" : false, - "index" : 0, - "parallel" : true, - "failed" : null, - "infrastructure_fail" : null, - "name" : "NPM Build", - "bash_command" : "#!/bin/bash -eo pipefail\nnvm use \nnpm run heapstats\nnpm run build-docusaurus\necho \"Build is done. Create tar of the build dir\"\ntar czf build-site.tar.gz build\n", - "status" : "success", - "timedout" : null, - "continue" : null, - "end_time" : "2020-10-14T22:26:06.079Z", - "type" : "test", - "allocation_id" : "5f87746f08a150372fa9713c-0-build/62180037", - "output_url" : "https://circle-production-action-output.s3.amazonaws.com/0e673fff3163feb1895778f5-5de6587c4394b520d939b8e1-107-0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20201016T210701Z&X-Amz-SignedHeaders=host&X-Amz-Expires=432000&X-Amz-Credential=AKIAIJNI6FA5RIAFFQ7Q%2F20201016%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=20c19ec952fc46d9d68f89c17b9ecd9c8ffb39c51b12a1b1c0658df12cbb00ac", - "start_time" : "2020-10-14T22:03:04.444Z", - "background" : false, - "exit_code" : 0, - "insignificant" : false, - "canceled" : null, - "step" : 107, - "run_time_millis" : 1381635, - "has_output" : true - } ] - }, { - "name" : "Uploading artifacts", - "actions" : [ { - "truncated" : false, - "index" : 0, - "parallel" : true, - "failed" : null, - "infrastructure_fail" : null, - "name" : "Uploading artifacts", - "bash_command" : null, - "status" : "success", - "timedout" : null, - "continue" : null, - "end_time" : "2020-10-14T22:26:07.734Z", - "type" : "test", - "allocation_id" : "5f87746f08a150372fa9713c-0-build/62180037", - "output_url" : "https://circle-production-action-output.s3.amazonaws.com/966210d8e4791c5defa778f5-5de6587c4394b520d939b8e1-108-0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20201016T210701Z&X-Amz-SignedHeaders=host&X-Amz-Expires=432000&X-Amz-Credential=AKIAIJNI6FA5RIAFFQ7Q%2F20201016%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=fe40a0180f9d8ed79ce7c079c166794d0d7aaa041a5a2bb576db80d70245933b", - "start_time" : "2020-10-14T22:26:06.102Z", - "background" : false, - "exit_code" : null, - "insignificant" : false, - "canceled" : null, - "step" : 108, - "run_time_millis" : 1632, - "has_output" : true - } ] - }, { - "name" : "Saving cache", - "actions" : [ { - "truncated" : false, - "index" : 0, - "parallel" : true, - "failed" : null, - "infrastructure_fail" : null, - "name" : "Saving cache", - "bash_command" : null, - "status" : "success", - "timedout" : null, - "continue" : null, - "end_time" : "2020-10-14T22:26:51.383Z", - "type" : "test", - "allocation_id" : "5f87746f08a150372fa9713c-0-build/62180037", - "output_url" : "https://circle-production-action-output.s3.amazonaws.com/a4a62104419de71effa778f5-5de6587c4394b520d939b8e1-109-0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20201016T210701Z&X-Amz-SignedHeaders=host&X-Amz-Expires=432000&X-Amz-Credential=AKIAIJNI6FA5RIAFFQ7Q%2F20201016%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=0ba327f09fb8f5443a35e7b87f8687f88a7339eda44d0a5e442e1c7eaeb10d06", - "start_time" : "2020-10-14T22:26:07.803Z", - "background" : false, - "exit_code" : null, - "insignificant" : false, - "canceled" : null, - "step" : 109, - "run_time_millis" : 43580, - "has_output" : true - } ] - }, { - "name" : "Persisting to workspace", - "actions" : [ { - "truncated" : false, - "index" : 0, - "parallel" : true, - "failed" : null, - "infrastructure_fail" : null, - "name" : "Persisting to workspace", - "bash_command" : null, - "status" : "success", - "timedout" : null, - "continue" : null, - "end_time" : "2020-10-14T22:27:04.267Z", - "type" : "test", - "allocation_id" : "5f87746f08a150372fa9713c-0-build/62180037", - "output_url" : "https://circle-production-action-output.s3.amazonaws.com/d71b3fff3163feb1b2b778f5-5de6587c4394b520d939b8e1-110-0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20201016T210701Z&X-Amz-SignedHeaders=host&X-Amz-Expires=432000&X-Amz-Credential=AKIAIJNI6FA5RIAFFQ7Q%2F20201016%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=fb465bd381465381f9598c5efbfe2da7e7c14b6f08229de64709841229518d29", - "start_time" : "2020-10-14T22:26:51.419Z", - "background" : false, - "exit_code" : null, - "insignificant" : false, - "canceled" : null, - "step" : 110, - "run_time_millis" : 12848, - "has_output" : true - } ] - } ], - "body" : "", - "usage_queued_at" : "2020-10-14T21:58:07.344Z", - "context_ids" : [ ], - "fail_reason" : null, - "retry_of" : null, - "reponame" : "content-docs", - "ssh_users" : [ ], - "build_url" : "https://circleci.com/gh/demisto/content-docs/97", - "parallel" : 1, - "failed" : false, - "branch" : "pull/345", - "username" : "demisto", - "author_date" : "2020-10-14T21:57:24.000Z", - "why" : "github", - "user" : { - "is_user" : false, - "login" : "none" - }, - "vcs_revision" : "8ae88a0ebff92ccd40d38f5b11c6e9e7a85019a0", - "workflows" : { - "job_name" : "build", - "job_id" : "1f4a90fa-474a-4451-ab99-c6675a817296", - "workflow_id" : "0eee6bcf-2fed-458e-8484-3d19e41833e9", - "workspace_id" : "0eee6bcf-2fed-458e-8484-3d19e41833e9", - "upstream_job_ids" : [ ], - "upstream_concurrency_map" : { }, - "workflow_name" : "build_and_deploy" - }, - "owners" : [ ], - "vcs_tag" : null, - "pull_requests" : [ { - "head_sha" : "8ae88a0ebff92ccd40d38f5b11c6e9e7a85019a0", - "url" : "https://github.com/demisto/content-docs/pull/345" - } ], - "build_num" : 97, - "infrastructure_fail" : false, - "committer_email" : "noreply@github.com", - "has_artifacts" : true, - "previous" : null, - "status" : "success", - "committer_name" : "GitHub", - "retries" : null, - "subject" : "Add links to hashicorp and cyberark integrations", - "vcs_type" : "github", - "timedout" : false, - "dont_build" : null, - "lifecycle" : "finished", - "no_dependency_cache" : false, - "stop_time" : "2020-10-14T22:27:04.363Z", - "ssh_disabled" : true, - "build_time_millis" : 1733035, - "picard" : { - "build_agent" : { - "image" : "circleci/picard@sha256:968c60781f6e9aa7e532af8d9602955efff12ce295731c3bb6688b8bc9e75823", - "properties" : { - "nomad_ami" : "ami-043d60cceb7308837", - "availability_zone" : "us-east-1d", - "instance_id" : "i-077426007c0fd4d0a", - "instance_ip" : "172.29.12.195", - "build_agent" : "1.0.41273-766faae9", - "executor" : "machine" - } - }, - "resource_class" : { - "cpu" : 2.0, - "ram" : 7680, - "class" : "medium", - "name" : "Machine Linux Medium" - }, - "executor" : "machine", - "used_features" : [ "" ] - }, - "circle_yml" : { - "string" : "version: 2\njobs:\n build:\n machine:\n image: ubuntu-1604:202007-01\n steps:\n - checkout\n - restore_cache:\n key: npm-cache-{{ checksum \"package-lock.json\" }}\n - run:\n name: Setup Node\n command: \"echo '[ -s \\\"$NVM_DIR/nvm.sh\\\" ] && \\\\. \\\"$NVM_DIR/nvm.sh\\\"' >> $BASH_ENV\\nsource $BASH_ENV\\nnvm install `cat .nvmrc` \\n\"\n - run:\n name: Setup Python\n command: |\n pyenv versions\n pyenv global 3.7.8 3.8.3\n pip3 install pipenv\n pipenv install\n - run:\n name: NPM Install\n command: |\n nvm use\n node --version\n npm --version\n npm ci\n - run:\n name: NPM Build content-repo docs\n command: |\n nvm use\n npm run reference-docs\n - run:\n name: NPM Build\n no_output_timeout: 40m\n environment:\n ALGOLIA_INDEX: demisto\n command: \"nvm use \\nnpm run heapstats\\nnpm run build-docusaurus\\necho \\\"Build is done. Create tar of the build dir\\\"\\ntar czf build-site.tar.gz build\\n\"\n - store_artifacts:\n path: build-site.tar.gz\n - save_cache:\n key: npm-cache-{{ checksum \"package-lock.json\" }}\n paths:\n - node_modules\n - persist_to_workspace:\n root: /home/circleci/project\n paths:\n - build\n deploy:\n docker:\n - image: circleci/python:3.7.9-buster-node\n resource_class: small\n steps:\n - checkout\n - attach_workspace:\n at: /home/circleci/project\n - run:\n name: Setup Python\n command: |\n pipenv install\n - run:\n name: Deploy to Firebase\n no_output_timeout: 30m\n command: |\n echo $FIREBASE_JSON_KEY > \"$HOME\"/gcloud.json\n npm install firebase-tools\n export PATH=\"$PATH:`pwd`/node_modules/.bin\"\n export GOOGLE_APPLICATION_CREDENTIALS=\"$HOME\"/gcloud.json\n if [ \"$CI_COMMIT_REF_NAME\" = \"master\" ]; then\n echo \"Deploying to prod as CI_COMMIT_REF_NAME is equal to master!\"\n firebase deploy --only hosting > deploy-info-firebase.txt\n else\n # Get the PR number from the CIRCLE_PULL_REQUEST env variable which is in the form of:\n # https://github.com/demisto/content-docs/pull/335\n firebase hosting:channel:deploy \"pull-request-${CIRCLE_PULL_REQUEST##*/}\" --only xsoar.pan.dev > deploy-info-firebase.txt\n cat deploy-info-firebase.txt\n fi\n - run:\n name: Post Comment Firebase\n command: |\n pipenv run ./content-repo/post_github_comment.py deploy-info-firebase.txt\nworkflows:\n build_and_deploy:\n jobs:\n - build\n - deploy:\n filters:\n branches:\n only: /^(?!pull\\/).*$/\n requires:\n - build\n version: 2\n\n# Original config.yml file:\n# ### =============================================================\n# ### This configuration file is used by CircleCI build server\n# ### https://circleci.com/docs/config-sample\n# ### =============================================================\n# version: 2.1\n# jobs:\n# build:\n# \n# machine:\n# image: ubuntu-1604:202007-01\n# \n# steps:\n# - checkout\n# - restore_cache:\n# key: npm-cache-{{ checksum \\\"package-lock.json\\\" }}\n# - run:\n# name: Setup Node\n# command: |\n# echo '[ -s \\\"$NVM_DIR/nvm.sh\\\" ] && \\\\. \\\"$NVM_DIR/nvm.sh\\\"' >> $BASH_ENV\n# source $BASH_ENV\n# nvm install `cat .nvmrc` \n# - run:\n# name: Setup Python\n# command: |\n# pyenv versions\n# pyenv global 3.7.8 3.8.3\n# pip3 install pipenv\n# pipenv install\n# - run:\n# name: NPM Install\n# command: |\n# nvm use\n# node --version\n# npm --version\n# npm ci\n# - run:\n# name: NPM Build content-repo docs\n# command: |\n# nvm use\n# npm run reference-docs\n# - run:\n# name: NPM Build\n# no_output_timeout: 40m\n# environment:\n# ALGOLIA_INDEX: demisto\n# command: |\n# nvm use \n# npm run heapstats\n# npm run build-docusaurus\n# echo \\\"Build is done. Create tar of the build dir\\\"\n# tar czf build-site.tar.gz build\n# - store_artifacts:\n# path: build-site.tar.gz\n# - save_cache:\n# key: npm-cache-{{ checksum \\\"package-lock.json\\\" }}\n# paths:\n# - node_modules\n# - persist_to_workspace:\n# # Must be an absolute path, or relative path from working_directory. This is a directory on the container which is \n# # taken to be the root directory of the workspace.\n# root: /home/circleci/project\n# # Must be relative path from root\n# paths:\n# - build \n# \n# deploy:\n# docker:\n# - image: circleci/python:3.7.9-buster-node\n# resource_class: small\n# steps:\n# - checkout\n# - attach_workspace:\n# at: /home/circleci/project\n# - run:\n# name: Setup Python\n# command: | \n# pipenv install\n# - run:\n# name: Deploy to Firebase\n# no_output_timeout: 30m\n# command: |\n# echo $FIREBASE_JSON_KEY > \"$HOME\"/gcloud.json\n# npm install firebase-tools\n# export PATH=\"$PATH:`pwd`/node_modules/.bin\"\n# export GOOGLE_APPLICATION_CREDENTIALS=\"$HOME\"/gcloud.json\n# if [ \"$CI_COMMIT_REF_NAME\" = \"master\" ]; then\n# echo \"Deploying to prod as CI_COMMIT_REF_NAME is equal to master!\"\n# firebase deploy --only hosting > deploy-info-firebase.txt\n# else\n# # Get the PR number from the CIRCLE_PULL_REQUEST env variable which is in the form of:\n# # https://github.com/demisto/content-docs/pull/335\n# firebase hosting:channel:deploy \"pull-request-${CIRCLE_PULL_REQUEST##*/}\" --only xsoar.pan.dev > deploy-info-firebase.txt\n# cat deploy-info-firebase.txt\n# fi\n# - run:\n# name: Post Comment Firebase\n# command: |\n# pipenv run ./content-repo/post_github_comment.py deploy-info-firebase.txt\n# \n# workflows:\n# build_and_deploy:\n# jobs:\n# - build\n# - deploy:\n# requires:\n# - build\n# filters:\n# branches:\n# # only from non-fork\n# only: /^(?!pull\\\\/).*$/" - }, - "messages" : [ ], - "is_first_green_build" : false, - "job_name" : null, - "start_time" : "2020-10-14T21:58:11.328Z", - "canceler" : null, - "all_commit_details" : [ { - "committer_date" : "2020-10-14T21:57:24.000Z", - "body" : "", - "branch" : "pull/345", - "author_date" : "2020-10-14T21:57:24.000Z", - "committer_email" : "noreply@github.com", - "commit" : "8ae88a0ebff92ccd40d38f5b11c6e9e7a85019a0", - "committer_login" : "web-flow", - "committer_name" : "GitHub", - "subject" : "Add links to hashicorp and cyberark integrations", - "commit_url" : "https://github.com/demisto/content-docs/commit/8ae88a0ebff92ccd40d38f5b11c6e9e7a85019a0", - "author_login" : "guytest", - "author_name" : "guytest", - "author_email" : "56889725+guytest@users.noreply.github.com" - } ], - "platform" : "2.0", - "outcome" : "success", - "vcs_url" : "https://github.com/demisto/content-docs", - "author_name" : "guytest", - "node" : null, - "queued_at" : "2020-10-14T21:58:07.391Z", - "canceled" : false, - "author_email" : "56889725+guytest@users.noreply.github.com" -} \ No newline at end of file diff --git a/content-repo/test_data/circleci-non-forked-build.json b/content-repo/test_data/circleci-non-forked-build.json deleted file mode 100644 index 899a1a506..000000000 --- a/content-repo/test_data/circleci-non-forked-build.json +++ /dev/null @@ -1,434 +0,0 @@ -{ - "compare" : null, - "previous_successful_build" : { - "build_num" : 131, - "status" : "success", - "build_time_millis" : 358999 - }, - "build_parameters" : { - "CIRCLE_JOB" : "build" - }, - "oss" : true, - "all_commit_details_truncated" : false, - "committer_date" : "2020-10-15T16:06:00.000Z", - "steps" : [ { - "name" : "Spin up environment", - "actions" : [ { - "truncated" : false, - "index" : 0, - "parallel" : true, - "failed" : null, - "infrastructure_fail" : null, - "name" : "Spin up environment", - "bash_command" : null, - "status" : "success", - "timedout" : null, - "continue" : null, - "end_time" : "2020-10-15T16:16:48.325Z", - "type" : "test", - "allocation_id" : "5f8875e437d91b0dd0c4f90a-0-build/BD1B6D", - "output_url" : "https://circle-production-action-output.s3.amazonaws.com/4107de16b15e1b848e5788f5-5de6587c4394b520d939b8e1-0-0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20201016T210032Z&X-Amz-SignedHeaders=host&X-Amz-Expires=432000&X-Amz-Credential=AKIAIJNI6FA5RIAFFQ7Q%2F20201016%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=e46ba126e9b68b094da395917e5b5fa30888c393d54b15800f872e7479d197c2", - "start_time" : "2020-10-15T16:16:40.358Z", - "background" : false, - "exit_code" : null, - "insignificant" : false, - "canceled" : null, - "step" : 0, - "run_time_millis" : 7967, - "has_output" : true - } ] - }, { - "name" : "Preparing environment variables", - "actions" : [ { - "truncated" : false, - "index" : 0, - "parallel" : true, - "failed" : null, - "infrastructure_fail" : null, - "name" : "Preparing environment variables", - "bash_command" : null, - "status" : "success", - "timedout" : null, - "continue" : null, - "end_time" : "2020-10-15T16:16:52.901Z", - "type" : "test", - "allocation_id" : "5f8875e437d91b0dd0c4f90a-0-build/BD1B6D", - "output_url" : "https://circle-production-action-output.s3.amazonaws.com/f57a2c43a166423f4f5788f5-5de6587c4394b520d939b8e1-99-0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20201016T210032Z&X-Amz-SignedHeaders=host&X-Amz-Expires=432000&X-Amz-Credential=AKIAIJNI6FA5RIAFFQ7Q%2F20201016%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=278754f94a86f89ea6bb443dcb1d10650cfbb9c856de0af41821f09b76a8ffd1", - "start_time" : "2020-10-15T16:16:52.838Z", - "background" : false, - "exit_code" : null, - "insignificant" : false, - "canceled" : null, - "step" : 99, - "run_time_millis" : 63, - "has_output" : true - } ] - }, { - "name" : "Checkout code", - "actions" : [ { - "truncated" : false, - "index" : 0, - "parallel" : true, - "failed" : null, - "infrastructure_fail" : null, - "name" : "Checkout code", - "bash_command" : "#!/bin/sh\nset -e\n\n# Workaround old docker images with incorrect $HOME\n# check https://github.com/docker/docker/issues/2968 for details\nif [ \"${HOME}\" = \"/\" ]\nthen\n export HOME=$(getent passwd $(id -un) | cut -d: -f6)\nfi\n\necho Using SSH Config Dir $SSH_CONFIG_DIR\n\nmkdir -p $SSH_CONFIG_DIR\n\necho 'github.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==\nbitbucket.org ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAubiN81eDcafrgMeLzaFPsw2kNvEcqTKl/VqLat/MaB33pZy0y3rJZtnqwR2qOOvbwKZYKiEO1O6VqNEBxKvJJelCq0dTXWT5pbO2gDXC6h6QDXCaHo6pOHGPUy+YBaGQRGuSusMEASYiWunYN0vCAI8QaXnWMXNMdFP3jHAJH0eDsoiGnLPBlBp4TNm6rYI74nMzgz3B9IikW4WVK+dc8KZJZWYjAuORU3jc1c/NPskD2ASinf8v3xnfXeukU0sJ5N6m5E8VLjObPEO+mN2t/FZTMZLiFqPWc/ALSqnMnnhwrNi2rbfg/rd/IpL8Le3pSBne8+seeFVBoGqzHM9yXw==\n' >> $SSH_CONFIG_DIR/known_hosts\n\n(umask 077; touch $SSH_CONFIG_DIR/id_rsa)\nchmod 0600 $SSH_CONFIG_DIR/id_rsa\n(cat < $SSH_CONFIG_DIR/id_rsa\n$CHECKOUT_KEY\nEOF\n)\n\nexport GIT_SSH_COMMAND='ssh -i $SSH_CONFIG_DIR/id_rsa -o UserKnownHostsFile=$SSH_CONFIG_DIR/known_hosts'\n\n# use git+ssh instead of https\ngit config --global url.\"ssh://git@github.com\".insteadOf \"https://github.com\" || true\ngit config --global gc.auto 0 || true\n\nif [ -e /home/circleci/project/.git ]\nthen\n cd /home/circleci/project\n git remote set-url origin \"$CIRCLE_REPOSITORY_URL\" || true\nelse\n mkdir -p /home/circleci/project\n cd /home/circleci/project\n git clone \"$CIRCLE_REPOSITORY_URL\" .\nfi\n\nif [ -n \"$CIRCLE_TAG\" ]\nthen\n git fetch --force origin \"refs/tags/${CIRCLE_TAG}\"\nelse\n git fetch --force origin \"evisochek-patch-1:remotes/origin/evisochek-patch-1\"\nfi\n\n\nif [ -n \"$CIRCLE_TAG\" ]\nthen\n git reset --hard \"$CIRCLE_SHA1\"\n git checkout -q \"$CIRCLE_TAG\"\nelif [ -n \"$CI_COMMIT_REF_NAME\" ]\nthen\n git reset --hard \"$CIRCLE_SHA1\"\n git checkout -q -B \"$CI_COMMIT_REF_NAME\"\nfi\n\ngit reset --hard \"$CIRCLE_SHA1\"", - "status" : "success", - "timedout" : null, - "continue" : null, - "end_time" : "2020-10-15T16:16:57.162Z", - "type" : "test", - "allocation_id" : "5f8875e437d91b0dd0c4f90a-0-build/BD1B6D", - "output_url" : "https://circle-production-action-output.s3.amazonaws.com/dae43639e042b5495f5788f5-5de6587c4394b520d939b8e1-101-0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20201016T210032Z&X-Amz-SignedHeaders=host&X-Amz-Expires=432000&X-Amz-Credential=AKIAIJNI6FA5RIAFFQ7Q%2F20201016%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=0f0dd6cc0d5b94ac58ab8ebc78764cec6ac3c2fd845c76e67e47229407f589d1", - "start_time" : "2020-10-15T16:16:53.012Z", - "background" : false, - "exit_code" : null, - "insignificant" : false, - "canceled" : null, - "step" : 101, - "run_time_millis" : 4150, - "has_output" : true - } ] - }, { - "name" : "Restoring cache", - "actions" : [ { - "truncated" : false, - "index" : 0, - "parallel" : true, - "failed" : null, - "infrastructure_fail" : null, - "name" : "Restoring cache", - "bash_command" : null, - "status" : "success", - "timedout" : null, - "continue" : null, - "end_time" : "2020-10-15T16:17:04.222Z", - "type" : "test", - "allocation_id" : "5f8875e437d91b0dd0c4f90a-0-build/BD1B6D", - "output_url" : "https://circle-production-action-output.s3.amazonaws.com/1ee43639e042b5499f5788f5-5de6587c4394b520d939b8e1-102-0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20201016T210032Z&X-Amz-SignedHeaders=host&X-Amz-Expires=432000&X-Amz-Credential=AKIAIJNI6FA5RIAFFQ7Q%2F20201016%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=5edf149d6df05b3c5b42d976705cf1ae80d559260512fc0cafea119e20d99467", - "start_time" : "2020-10-15T16:16:57.235Z", - "background" : false, - "exit_code" : null, - "insignificant" : false, - "canceled" : null, - "step" : 102, - "run_time_millis" : 6987, - "has_output" : true - } ] - }, { - "name" : "Setup Node", - "actions" : [ { - "truncated" : false, - "index" : 0, - "parallel" : true, - "failed" : null, - "infrastructure_fail" : null, - "name" : "Setup Node", - "bash_command" : "#!/bin/bash -eo pipefail\necho '[ -s \"$NVM_DIR/nvm.sh\" ] && \\. \"$NVM_DIR/nvm.sh\"' >> $BASH_ENV\nsource $BASH_ENV\nnvm install `cat .nvmrc` \n", - "status" : "success", - "timedout" : null, - "continue" : null, - "end_time" : "2020-10-15T16:17:08.094Z", - "type" : "test", - "allocation_id" : "5f8875e437d91b0dd0c4f90a-0-build/BD1B6D", - "output_url" : "https://circle-production-action-output.s3.amazonaws.com/3317de16b15e1b84006788f5-5de6587c4394b520d939b8e1-103-0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20201016T210032Z&X-Amz-SignedHeaders=host&X-Amz-Expires=432000&X-Amz-Credential=AKIAIJNI6FA5RIAFFQ7Q%2F20201016%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=55dbe74438ae34f8306c742346e3c9a54a6fa4ed7d508e050a9390336310d833", - "start_time" : "2020-10-15T16:17:04.241Z", - "background" : false, - "exit_code" : 0, - "insignificant" : false, - "canceled" : null, - "step" : 103, - "run_time_millis" : 3853, - "has_output" : true - } ] - }, { - "name" : "Setup Python", - "actions" : [ { - "truncated" : false, - "index" : 0, - "parallel" : true, - "failed" : null, - "infrastructure_fail" : null, - "name" : "Setup Python", - "bash_command" : "#!/bin/bash -eo pipefail\npyenv versions\npyenv global 3.7.8 3.8.3\npip3 install pipenv\npipenv install\n", - "status" : "success", - "timedout" : null, - "continue" : null, - "end_time" : "2020-10-15T16:18:17.082Z", - "type" : "test", - "allocation_id" : "5f8875e437d91b0dd0c4f90a-0-build/BD1B6D", - "output_url" : "https://circle-production-action-output.s3.amazonaws.com/c5f43639e042b549406788f5-5de6587c4394b520d939b8e1-104-0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20201016T210032Z&X-Amz-SignedHeaders=host&X-Amz-Expires=432000&X-Amz-Credential=AKIAIJNI6FA5RIAFFQ7Q%2F20201016%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=461fd2c3bc879645518df708316cc6ddd15b91dbbeb2f55d956c0baad23b5165", - "start_time" : "2020-10-15T16:17:08.163Z", - "background" : false, - "exit_code" : 0, - "insignificant" : false, - "canceled" : null, - "step" : 104, - "run_time_millis" : 68919, - "has_output" : true - } ] - }, { - "name" : "NPM Install", - "actions" : [ { - "truncated" : false, - "index" : 0, - "parallel" : true, - "failed" : null, - "infrastructure_fail" : null, - "name" : "NPM Install", - "bash_command" : "#!/bin/bash -eo pipefail\nnvm use\nnode --version\nnpm --version\nnpm ci\n", - "status" : "success", - "timedout" : null, - "continue" : null, - "end_time" : "2020-10-15T16:18:44.130Z", - "type" : "test", - "allocation_id" : "5f8875e437d91b0dd0c4f90a-0-build/BD1B6D", - "output_url" : "https://circle-production-action-output.s3.amazonaws.com/7aaa2c43a166423f946788f5-5de6587c4394b520d939b8e1-105-0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20201016T210032Z&X-Amz-SignedHeaders=host&X-Amz-Expires=432000&X-Amz-Credential=AKIAIJNI6FA5RIAFFQ7Q%2F20201016%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=699b1a01e0845e99ccdaad65f48efca968724f20ca9c5112f90de63611ee476c", - "start_time" : "2020-10-15T16:18:17.149Z", - "background" : false, - "exit_code" : 0, - "insignificant" : false, - "canceled" : null, - "step" : 105, - "run_time_millis" : 26981, - "has_output" : true - } ] - }, { - "name" : "NPM Build content-repo docs", - "actions" : [ { - "truncated" : false, - "index" : 0, - "parallel" : true, - "failed" : null, - "infrastructure_fail" : null, - "name" : "NPM Build content-repo docs", - "bash_command" : "#!/bin/bash -eo pipefail\nnvm use\nnpm run reference-docs\n", - "status" : "success", - "timedout" : null, - "continue" : null, - "end_time" : "2020-10-15T16:22:34.342Z", - "type" : "test", - "allocation_id" : "5f8875e437d91b0dd0c4f90a-0-build/BD1B6D", - "output_url" : "https://circle-production-action-output.s3.amazonaws.com/b467de16b15e1b84466788f5-5de6587c4394b520d939b8e1-106-0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20201016T210032Z&X-Amz-SignedHeaders=host&X-Amz-Expires=432000&X-Amz-Credential=AKIAIJNI6FA5RIAFFQ7Q%2F20201016%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=4adcc5c4dcc8ef930f2979945d469ac97bd7421dd992676a19698ed84d01bab1", - "start_time" : "2020-10-15T16:18:44.201Z", - "background" : false, - "exit_code" : 0, - "insignificant" : false, - "canceled" : null, - "step" : 106, - "run_time_millis" : 230141, - "has_output" : true - } ] - }, { - "name" : "NPM Build", - "actions" : [ { - "truncated" : false, - "index" : 0, - "parallel" : true, - "failed" : null, - "infrastructure_fail" : null, - "name" : "NPM Build", - "bash_command" : "#!/bin/bash -eo pipefail\nnvm use \nnpm run heapstats\nnpm run build-docusaurus\necho \"Build is done. Create tar of the build dir\"\ntar czf build-site.tar.gz build\n", - "status" : "success", - "timedout" : null, - "continue" : null, - "end_time" : "2020-10-15T16:49:11.501Z", - "type" : "test", - "allocation_id" : "5f8875e437d91b0dd0c4f90a-0-build/BD1B6D", - "output_url" : "https://circle-production-action-output.s3.amazonaws.com/faf9246757f12a1aa47788f5-5de6587c4394b520d939b8e1-107-0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20201016T210032Z&X-Amz-SignedHeaders=host&X-Amz-Expires=432000&X-Amz-Credential=AKIAIJNI6FA5RIAFFQ7Q%2F20201016%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=4688b908a75968bcbf86c070d50e824089b05e1aeb36f87fd2331dad7cfefcce", - "start_time" : "2020-10-15T16:22:34.418Z", - "background" : false, - "exit_code" : 0, - "insignificant" : false, - "canceled" : null, - "step" : 107, - "run_time_millis" : 1597083, - "has_output" : true - } ] - }, { - "name" : "Uploading artifacts", - "actions" : [ { - "truncated" : false, - "index" : 0, - "parallel" : true, - "failed" : null, - "infrastructure_fail" : null, - "name" : "Uploading artifacts", - "bash_command" : null, - "status" : "success", - "timedout" : null, - "continue" : null, - "end_time" : "2020-10-15T16:49:13.743Z", - "type" : "test", - "allocation_id" : "5f8875e437d91b0dd0c4f90a-0-build/BD1B6D", - "output_url" : "https://circle-production-action-output.s3.amazonaws.com/8d2b3639e042b54978d788f5-5de6587c4394b520d939b8e1-108-0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20201016T210032Z&X-Amz-SignedHeaders=host&X-Amz-Expires=432000&X-Amz-Credential=AKIAIJNI6FA5RIAFFQ7Q%2F20201016%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=8dba364e5ca4af0a4c4555229778d5f85282c2acb381db7184a15b316a50e983", - "start_time" : "2020-10-15T16:49:11.529Z", - "background" : false, - "exit_code" : null, - "insignificant" : false, - "canceled" : null, - "step" : 108, - "run_time_millis" : 2214, - "has_output" : true - } ] - }, { - "name" : "Saving cache", - "actions" : [ { - "truncated" : false, - "index" : 0, - "parallel" : true, - "failed" : null, - "infrastructure_fail" : null, - "name" : "Saving cache", - "bash_command" : null, - "status" : "success", - "timedout" : null, - "continue" : null, - "end_time" : "2020-10-15T16:49:13.948Z", - "type" : "test", - "allocation_id" : "5f8875e437d91b0dd0c4f90a-0-build/BD1B6D", - "output_url" : "https://circle-production-action-output.s3.amazonaws.com/d6903c43a166423f98d788f5-5de6587c4394b520d939b8e1-109-0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20201016T210032Z&X-Amz-SignedHeaders=host&X-Amz-Expires=432000&X-Amz-Credential=AKIAIJNI6FA5RIAFFQ7Q%2F20201016%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=553987c87a1b6c2b01172563e37d215ebdfddadedfbee50cfd95029fd7a5b096", - "start_time" : "2020-10-15T16:49:13.832Z", - "background" : false, - "exit_code" : null, - "insignificant" : false, - "canceled" : null, - "step" : 109, - "run_time_millis" : 116, - "has_output" : true - } ] - }, { - "name" : "Persisting to workspace", - "actions" : [ { - "truncated" : false, - "index" : 0, - "parallel" : true, - "failed" : null, - "infrastructure_fail" : null, - "name" : "Persisting to workspace", - "bash_command" : null, - "status" : "success", - "timedout" : null, - "continue" : null, - "end_time" : "2020-10-15T16:49:29.505Z", - "type" : "test", - "allocation_id" : "5f8875e437d91b0dd0c4f90a-0-build/BD1B6D", - "output_url" : "https://circle-production-action-output.s3.amazonaws.com/303b3639e042b549a8d788f5-5de6587c4394b520d939b8e1-110-0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20201016T210032Z&X-Amz-SignedHeaders=host&X-Amz-Expires=432000&X-Amz-Credential=AKIAIJNI6FA5RIAFFQ7Q%2F20201016%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=394e6e2c950f19925b147f2cd4ea48feddc58c308d46a70724e607c4a0a15c87", - "start_time" : "2020-10-15T16:49:14.020Z", - "background" : false, - "exit_code" : null, - "insignificant" : false, - "canceled" : null, - "step" : 110, - "run_time_millis" : 15485, - "has_output" : true - } ] - } ], - "body" : "", - "usage_queued_at" : "2020-10-15T16:16:36.252Z", - "context_ids" : [ ], - "fail_reason" : null, - "retry_of" : null, - "reponame" : "content-docs", - "ssh_users" : [ ], - "build_url" : "https://circleci.com/gh/demisto/content-docs/133", - "parallel" : 1, - "failed" : false, - "branch" : "evisochek-patch-1", - "username" : "demisto", - "author_date" : "2020-10-15T16:06:00.000Z", - "why" : "github", - "user" : { - "is_user" : false, - "login" : "none" - }, - "vcs_revision" : "92172300e860f89c4541f4fe4810485d7e55e444", - "workflows" : { - "job_name" : "build", - "job_id" : "65191f11-e4ca-41e7-a8a3-c0ff7c7bd395", - "workflow_id" : "b0ece68a-993e-4ccf-9673-f1a6598ffb18", - "workspace_id" : "b0ece68a-993e-4ccf-9673-f1a6598ffb18", - "upstream_job_ids" : [ ], - "upstream_concurrency_map" : { }, - "workflow_name" : "build_and_deploy" - }, - "owners" : [ ], - "vcs_tag" : null, - "pull_requests" : [ { - "head_sha" : "92172300e860f89c4541f4fe4810485d7e55e444", - "url" : "https://github.com/demisto/content-docs/pull/347" - } ], - "build_num" : 133, - "infrastructure_fail" : false, - "committer_email" : "noreply@github.com", - "has_artifacts" : true, - "previous" : { - "build_num" : 132, - "status" : "not_run", - "build_time_millis" : 0 - }, - "status" : "success", - "committer_name" : "GitHub", - "retries" : null, - "subject" : "Update design-best-practices.md", - "vcs_type" : "github", - "timedout" : false, - "dont_build" : null, - "lifecycle" : "finished", - "no_dependency_cache" : false, - "stop_time" : "2020-10-15T16:49:29.599Z", - "ssh_disabled" : true, - "build_time_millis" : 1969285, - "picard" : { - "build_agent" : { - "image" : "circleci/picard@sha256:4df3266130bcc12cc91af944707bcd65062bebb8dbfaf72aae47e3ebd61aa7a7", - "properties" : { - "instance_id" : "i-0aad6f23cfd05f766", - "instance_ip" : "172.29.1.237", - "build_agent" : "1.0.41366-8943b0cd", - "executor" : "machine", - "nomad_ami" : "ami-043d60cceb7308837", - "availability_zone" : "us-east-1a" - } - }, - "resource_class" : { - "cpu" : 2.0, - "ram" : 7680, - "class" : "medium", - "name" : "Machine Linux Medium" - }, - "executor" : "machine", - "used_features" : [ "" ] - }, - "circle_yml" : { - "string" : "version: 2\njobs:\n build:\n machine:\n image: ubuntu-1604:202007-01\n steps:\n - checkout\n - restore_cache:\n key: npm-cache-{{ checksum \"package-lock.json\" }}\n - run:\n name: Setup Node\n command: \"echo '[ -s \\\"$NVM_DIR/nvm.sh\\\" ] && \\\\. \\\"$NVM_DIR/nvm.sh\\\"' >> $BASH_ENV\\nsource $BASH_ENV\\nnvm install `cat .nvmrc` \\n\"\n - run:\n name: Setup Python\n command: |\n pyenv versions\n pyenv global 3.7.8 3.8.3\n pip3 install pipenv\n pipenv install\n - run:\n name: NPM Install\n command: |\n nvm use\n node --version\n npm --version\n npm ci\n - run:\n name: NPM Build content-repo docs\n command: |\n nvm use\n npm run reference-docs\n - run:\n name: NPM Build\n no_output_timeout: 40m\n environment:\n ALGOLIA_INDEX: demisto\n command: \"nvm use \\nnpm run heapstats\\nnpm run build-docusaurus\\necho \\\"Build is done. Create tar of the build dir\\\"\\ntar czf build-site.tar.gz build\\n\"\n - store_artifacts:\n path: build-site.tar.gz\n - save_cache:\n key: npm-cache-{{ checksum \"package-lock.json\" }}\n paths:\n - node_modules\n - persist_to_workspace:\n root: /home/circleci/project\n paths:\n - build\n deploy:\n docker:\n - image: circleci/python:3.7.9-buster-node\n resource_class: small\n steps:\n - checkout\n - attach_workspace:\n at: /home/circleci/project\n - run:\n name: Setup Python\n command: |\n pipenv install\n - run:\n name: Deploy to Firebase\n no_output_timeout: 30m\n command: |\n echo $FIREBASE_JSON_KEY > \"$HOME\"/gcloud.json\n npm install firebase-tools\n export PATH=\"$PATH:`pwd`/node_modules/.bin\"\n export GOOGLE_APPLICATION_CREDENTIALS=\"$HOME\"/gcloud.json\n if [ \"$CI_COMMIT_REF_NAME\" = \"master\" ]; then\n echo \"Deploying to prod as CI_COMMIT_REF_NAME is equal to master!\"\n firebase deploy --only hosting > deploy-info-firebase.txt\n else\n # Get the PR number from the CIRCLE_PULL_REQUEST env variable which is in the form of:\n # https://github.com/demisto/content-docs/pull/335\n firebase hosting:channel:deploy \"pull-request-${CIRCLE_PULL_REQUEST##*/}\" --only xsoar.pan.dev > deploy-info-firebase.txt\n cat deploy-info-firebase.txt\n fi\n - run:\n name: Post Comment Firebase\n command: |\n pipenv run ./content-repo/post_github_comment.py deploy-info-firebase.txt\nworkflows:\n build_and_deploy:\n jobs:\n - build\n - deploy:\n filters:\n branches:\n only: /^(?!pull\\/).*$/\n requires:\n - build\n version: 2\n\n# Original config.yml file:\n# ### =============================================================\n# ### This configuration file is used by CircleCI build server\n# ### https://circleci.com/docs/config-sample\n# ### =============================================================\n# version: 2.1\n# jobs:\n# build:\n# \n# machine:\n# image: ubuntu-1604:202007-01\n# \n# steps:\n# - checkout\n# - restore_cache:\n# key: npm-cache-{{ checksum \\\"package-lock.json\\\" }}\n# - run:\n# name: Setup Node\n# command: |\n# echo '[ -s \\\"$NVM_DIR/nvm.sh\\\" ] && \\\\. \\\"$NVM_DIR/nvm.sh\\\"' >> $BASH_ENV\n# source $BASH_ENV\n# nvm install `cat .nvmrc` \n# - run:\n# name: Setup Python\n# command: |\n# pyenv versions\n# pyenv global 3.7.8 3.8.3\n# pip3 install pipenv\n# pipenv install\n# - run:\n# name: NPM Install\n# command: |\n# nvm use\n# node --version\n# npm --version\n# npm ci\n# - run:\n# name: NPM Build content-repo docs\n# command: |\n# nvm use\n# npm run reference-docs\n# - run:\n# name: NPM Build\n# no_output_timeout: 40m\n# environment:\n# ALGOLIA_INDEX: demisto\n# command: |\n# nvm use \n# npm run heapstats\n# npm run build-docusaurus\n# echo \\\"Build is done. Create tar of the build dir\\\"\n# tar czf build-site.tar.gz build\n# - store_artifacts:\n# path: build-site.tar.gz\n# - save_cache:\n# key: npm-cache-{{ checksum \\\"package-lock.json\\\" }}\n# paths:\n# - node_modules\n# - persist_to_workspace:\n# # Must be an absolute path, or relative path from working_directory. This is a directory on the container which is \n# # taken to be the root directory of the workspace.\n# root: /home/circleci/project\n# # Must be relative path from root\n# paths:\n# - build \n# \n# deploy:\n# docker:\n# - image: circleci/python:3.7.9-buster-node\n# resource_class: small\n# steps:\n# - checkout\n# - attach_workspace:\n# at: /home/circleci/project\n# - run:\n# name: Setup Python\n# command: | \n# pipenv install\n# - run:\n# name: Deploy to Firebase\n# no_output_timeout: 30m\n# command: |\n# echo $FIREBASE_JSON_KEY > \"$HOME\"/gcloud.json\n# npm install firebase-tools\n# export PATH=\"$PATH:`pwd`/node_modules/.bin\"\n# export GOOGLE_APPLICATION_CREDENTIALS=\"$HOME\"/gcloud.json\n# if [ \"$CI_COMMIT_REF_NAME\" = \"master\" ]; then\n# echo \"Deploying to prod as CI_COMMIT_REF_NAME is equal to master!\"\n# firebase deploy --only hosting > deploy-info-firebase.txt\n# else\n# # Get the PR number from the CIRCLE_PULL_REQUEST env variable which is in the form of:\n# # https://github.com/demisto/content-docs/pull/335\n# firebase hosting:channel:deploy \"pull-request-${CIRCLE_PULL_REQUEST##*/}\" --only xsoar.pan.dev > deploy-info-firebase.txt\n# cat deploy-info-firebase.txt\n# fi\n# - run:\n# name: Post Comment Firebase\n# command: |\n# pipenv run ./content-repo/post_github_comment.py deploy-info-firebase.txt\n# \n# workflows:\n# build_and_deploy:\n# jobs:\n# - build\n# - deploy:\n# requires:\n# - build\n# filters:\n# branches:\n# # only from non-fork\n# only: /^(?!pull\\\\/).*$/" - }, - "messages" : [ ], - "is_first_green_build" : false, - "job_name" : null, - "start_time" : "2020-10-15T16:16:40.314Z", - "canceler" : null, - "all_commit_details" : [ { - "committer_date" : "2020-10-15T16:06:00.000Z", - "body" : "", - "branch" : "evisochek-patch-1", - "author_date" : "2020-10-15T16:06:00.000Z", - "committer_email" : "noreply@github.com", - "commit" : "92172300e860f89c4541f4fe4810485d7e55e444", - "committer_login" : "web-flow", - "committer_name" : "GitHub", - "subject" : "Update design-best-practices.md", - "commit_url" : "https://github.com/demisto/content-docs/commit/92172300e860f89c4541f4fe4810485d7e55e444", - "author_login" : "evisochek", - "author_name" : "evisochek", - "author_email" : "72695126+evisochek@users.noreply.github.com" - } ], - "platform" : "2.0", - "outcome" : "success", - "vcs_url" : "https://github.com/demisto/content-docs", - "author_name" : "evisochek", - "node" : null, - "queued_at" : "2020-10-15T16:16:36.279Z", - "canceled" : false, - "author_email" : "72695126+evisochek@users.noreply.github.com" -} \ No newline at end of file diff --git a/content-repo/test_data/circleci-non-pr-build.json b/content-repo/test_data/circleci-non-pr-build.json deleted file mode 100644 index 31ede940d..000000000 --- a/content-repo/test_data/circleci-non-pr-build.json +++ /dev/null @@ -1,431 +0,0 @@ -{ - "compare" : null, - "previous_successful_build" : { - "build_num" : 152, - "status" : "success", - "build_time_millis" : 123084 - }, - "build_parameters" : { - "CIRCLE_JOB" : "build" - }, - "oss" : true, - "all_commit_details_truncated" : false, - "committer_date" : "2020-10-16T14:12:03.000Z", - "steps" : [ { - "name" : "Spin up environment", - "actions" : [ { - "truncated" : false, - "index" : 0, - "parallel" : true, - "failed" : null, - "infrastructure_fail" : null, - "name" : "Spin up environment", - "bash_command" : null, - "status" : "success", - "timedout" : null, - "continue" : null, - "end_time" : "2020-10-16T14:12:20.664Z", - "type" : "test", - "allocation_id" : "5f89aa363b4e1b13df32fc47-0-build/29714DBA", - "output_url" : "https://circle-production-action-output.s3.amazonaws.com/41584dec1157fe65c3aa98f5-5de6587c4394b520d939b8e1-0-0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20201016T164354Z&X-Amz-SignedHeaders=host&X-Amz-Expires=432000&X-Amz-Credential=AKIAIJNI6FA5RIAFFQ7Q%2F20201016%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=6dc1827e41d134e6b4db6f17a2d635995cb13f487da8a0d61bf83f1a74486f55", - "start_time" : "2020-10-16T14:12:12.915Z", - "background" : false, - "exit_code" : null, - "insignificant" : false, - "canceled" : null, - "step" : 0, - "run_time_millis" : 7749, - "has_output" : true - } ] - }, { - "name" : "Preparing environment variables", - "actions" : [ { - "truncated" : false, - "index" : 0, - "parallel" : true, - "failed" : null, - "infrastructure_fail" : null, - "name" : "Preparing environment variables", - "bash_command" : null, - "status" : "success", - "timedout" : null, - "continue" : null, - "end_time" : "2020-10-16T14:12:24.988Z", - "type" : "test", - "allocation_id" : "5f89aa363b4e1b13df32fc47-0-build/29714DBA", - "output_url" : "https://circle-production-action-output.s3.amazonaws.com/c36cbf85a621f71284aa98f5-5de6587c4394b520d939b8e1-99-0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20201016T164354Z&X-Amz-SignedHeaders=host&X-Amz-Expires=432000&X-Amz-Credential=AKIAIJNI6FA5RIAFFQ7Q%2F20201016%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=0095948bb0ddf9379faaa94b7dfd43cef2e857bf66ff7752eac7146eda3c0017", - "start_time" : "2020-10-16T14:12:24.888Z", - "background" : false, - "exit_code" : null, - "insignificant" : false, - "canceled" : null, - "step" : 99, - "run_time_millis" : 100, - "has_output" : true - } ] - }, { - "name" : "Checkout code", - "actions" : [ { - "truncated" : false, - "index" : 0, - "parallel" : true, - "failed" : null, - "infrastructure_fail" : null, - "name" : "Checkout code", - "bash_command" : "#!/bin/sh\nset -e\n\n# Workaround old docker images with incorrect $HOME\n# check https://github.com/docker/docker/issues/2968 for details\nif [ \"${HOME}\" = \"/\" ]\nthen\n export HOME=$(getent passwd $(id -un) | cut -d: -f6)\nfi\n\necho Using SSH Config Dir $SSH_CONFIG_DIR\n\nmkdir -p $SSH_CONFIG_DIR\n\necho 'github.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==\nbitbucket.org ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAubiN81eDcafrgMeLzaFPsw2kNvEcqTKl/VqLat/MaB33pZy0y3rJZtnqwR2qOOvbwKZYKiEO1O6VqNEBxKvJJelCq0dTXWT5pbO2gDXC6h6QDXCaHo6pOHGPUy+YBaGQRGuSusMEASYiWunYN0vCAI8QaXnWMXNMdFP3jHAJH0eDsoiGnLPBlBp4TNm6rYI74nMzgz3B9IikW4WVK+dc8KZJZWYjAuORU3jc1c/NPskD2ASinf8v3xnfXeukU0sJ5N6m5E8VLjObPEO+mN2t/FZTMZLiFqPWc/ALSqnMnnhwrNi2rbfg/rd/IpL8Le3pSBne8+seeFVBoGqzHM9yXw==\n' >> $SSH_CONFIG_DIR/known_hosts\n\n(umask 077; touch $SSH_CONFIG_DIR/id_rsa)\nchmod 0600 $SSH_CONFIG_DIR/id_rsa\n(cat < $SSH_CONFIG_DIR/id_rsa\n$CHECKOUT_KEY\nEOF\n)\n\nexport GIT_SSH_COMMAND='ssh -i $SSH_CONFIG_DIR/id_rsa -o UserKnownHostsFile=$SSH_CONFIG_DIR/known_hosts'\n\n# use git+ssh instead of https\ngit config --global url.\"ssh://git@github.com\".insteadOf \"https://github.com\" || true\ngit config --global gc.auto 0 || true\n\nif [ -e /home/circleci/project/.git ]\nthen\n cd /home/circleci/project\n git remote set-url origin \"$CIRCLE_REPOSITORY_URL\" || true\nelse\n mkdir -p /home/circleci/project\n cd /home/circleci/project\n git clone \"$CIRCLE_REPOSITORY_URL\" .\nfi\n\nif [ -n \"$CIRCLE_TAG\" ]\nthen\n git fetch --force origin \"refs/tags/${CIRCLE_TAG}\"\nelse\n git fetch --force origin \"master:remotes/origin/master\"\nfi\n\n\nif [ -n \"$CIRCLE_TAG\" ]\nthen\n git reset --hard \"$CIRCLE_SHA1\"\n git checkout -q \"$CIRCLE_TAG\"\nelif [ -n \"$CI_COMMIT_REF_NAME\" ]\nthen\n git reset --hard \"$CIRCLE_SHA1\"\n git checkout -q -B \"$CI_COMMIT_REF_NAME\"\nfi\n\ngit reset --hard \"$CIRCLE_SHA1\"", - "status" : "success", - "timedout" : null, - "continue" : null, - "end_time" : "2020-10-16T14:12:28.923Z", - "type" : "test", - "allocation_id" : "5f89aa363b4e1b13df32fc47-0-build/29714DBA", - "output_url" : "https://circle-production-action-output.s3.amazonaws.com/6b935bf963f0f32f94aa98f5-5de6587c4394b520d939b8e1-101-0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20201016T164354Z&X-Amz-SignedHeaders=host&X-Amz-Expires=432000&X-Amz-Credential=AKIAIJNI6FA5RIAFFQ7Q%2F20201016%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=27a4c5e09851eb5ecdfa219b1aa27e2de5d5418fb4f4c48aa8e458aaa9c12525", - "start_time" : "2020-10-16T14:12:25.088Z", - "background" : false, - "exit_code" : null, - "insignificant" : false, - "canceled" : null, - "step" : 101, - "run_time_millis" : 3835, - "has_output" : true - } ] - }, { - "name" : "Restoring cache", - "actions" : [ { - "truncated" : false, - "index" : 0, - "parallel" : true, - "failed" : null, - "infrastructure_fail" : null, - "name" : "Restoring cache", - "bash_command" : null, - "status" : "success", - "timedout" : null, - "continue" : null, - "end_time" : "2020-10-16T14:12:35.202Z", - "type" : "test", - "allocation_id" : "5f89aa363b4e1b13df32fc47-0-build/29714DBA", - "output_url" : "https://circle-production-action-output.s3.amazonaws.com/7d935bf963f0f32fd4aa98f5-5de6587c4394b520d939b8e1-102-0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20201016T164354Z&X-Amz-SignedHeaders=host&X-Amz-Expires=432000&X-Amz-Credential=AKIAIJNI6FA5RIAFFQ7Q%2F20201016%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=e63a8ed84e12f936efc2bec8d6bebdaaaa535048ea8c8d7ca1d5cfbdc03c4866", - "start_time" : "2020-10-16T14:12:28.996Z", - "background" : false, - "exit_code" : null, - "insignificant" : false, - "canceled" : null, - "step" : 102, - "run_time_millis" : 6206, - "has_output" : true - } ] - }, { - "name" : "Setup Node", - "actions" : [ { - "truncated" : false, - "index" : 0, - "parallel" : true, - "failed" : null, - "infrastructure_fail" : null, - "name" : "Setup Node", - "bash_command" : "#!/bin/bash -eo pipefail\necho '[ -s \"$NVM_DIR/nvm.sh\" ] && \\. \"$NVM_DIR/nvm.sh\"' >> $BASH_ENV\nsource $BASH_ENV\nnvm install `cat .nvmrc` \n", - "status" : "success", - "timedout" : null, - "continue" : null, - "end_time" : "2020-10-16T14:12:38.839Z", - "type" : "test", - "allocation_id" : "5f89aa363b4e1b13df32fc47-0-build/29714DBA", - "output_url" : "https://circle-production-action-output.s3.amazonaws.com/bb584dec1157fe6535aa98f5-5de6587c4394b520d939b8e1-103-0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20201016T164354Z&X-Amz-SignedHeaders=host&X-Amz-Expires=432000&X-Amz-Credential=AKIAIJNI6FA5RIAFFQ7Q%2F20201016%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=ba44c5166903d536583921cd8188a8f94350a10809511c5024f5305ebf5aa248", - "start_time" : "2020-10-16T14:12:35.222Z", - "background" : false, - "exit_code" : 0, - "insignificant" : false, - "canceled" : null, - "step" : 103, - "run_time_millis" : 3617, - "has_output" : true - } ] - }, { - "name" : "Setup Python", - "actions" : [ { - "truncated" : false, - "index" : 0, - "parallel" : true, - "failed" : null, - "infrastructure_fail" : null, - "name" : "Setup Python", - "bash_command" : "#!/bin/bash -eo pipefail\npyenv versions\npyenv global 3.7.8 3.8.3\npip3 install pipenv\npipenv install\n", - "status" : "success", - "timedout" : null, - "continue" : null, - "end_time" : "2020-10-16T14:13:40.836Z", - "type" : "test", - "allocation_id" : "5f89aa363b4e1b13df32fc47-0-build/29714DBA", - "output_url" : "https://circle-production-action-output.s3.amazonaws.com/92a35bf963f0f32f65aa98f5-5de6587c4394b520d939b8e1-104-0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20201016T164354Z&X-Amz-SignedHeaders=host&X-Amz-Expires=432000&X-Amz-Credential=AKIAIJNI6FA5RIAFFQ7Q%2F20201016%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=26e77c54090288809cd9bde6e610d5947c161fb540d1b009af396caaa66c4a01", - "start_time" : "2020-10-16T14:12:38.913Z", - "background" : false, - "exit_code" : 0, - "insignificant" : false, - "canceled" : null, - "step" : 104, - "run_time_millis" : 61923, - "has_output" : true - } ] - }, { - "name" : "NPM Install", - "actions" : [ { - "truncated" : false, - "index" : 0, - "parallel" : true, - "failed" : null, - "infrastructure_fail" : null, - "name" : "NPM Install", - "bash_command" : "#!/bin/bash -eo pipefail\nnvm use\nnode --version\nnpm --version\nnpm ci\n", - "status" : "success", - "timedout" : null, - "continue" : null, - "end_time" : "2020-10-16T14:14:01.170Z", - "type" : "test", - "allocation_id" : "5f89aa363b4e1b13df32fc47-0-build/29714DBA", - "output_url" : "https://circle-production-action-output.s3.amazonaws.com/7db35bf963f0f32f49aa98f5-5de6587c4394b520d939b8e1-105-0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20201016T164354Z&X-Amz-SignedHeaders=host&X-Amz-Expires=432000&X-Amz-Credential=AKIAIJNI6FA5RIAFFQ7Q%2F20201016%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=bca6e35f22d25a42e2cf1a854ad1a1863919e92569100901be69d3121d1b584e", - "start_time" : "2020-10-16T14:13:40.906Z", - "background" : false, - "exit_code" : 0, - "insignificant" : false, - "canceled" : null, - "step" : 105, - "run_time_millis" : 20264, - "has_output" : true - } ] - }, { - "name" : "NPM Build content-repo docs", - "actions" : [ { - "truncated" : false, - "index" : 0, - "parallel" : true, - "failed" : null, - "infrastructure_fail" : null, - "name" : "NPM Build content-repo docs", - "bash_command" : "#!/bin/bash -eo pipefail\nnvm use\nnpm run reference-docs\n", - "status" : "success", - "timedout" : null, - "continue" : null, - "end_time" : "2020-10-16T14:17:17.483Z", - "type" : "test", - "allocation_id" : "5f89aa363b4e1b13df32fc47-0-build/29714DBA", - "output_url" : "https://circle-production-action-output.s3.amazonaws.com/87243c4ff70b777f9aaa98f5-5de6587c4394b520d939b8e1-106-0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20201016T164354Z&X-Amz-SignedHeaders=host&X-Amz-Expires=432000&X-Amz-Credential=AKIAIJNI6FA5RIAFFQ7Q%2F20201016%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=ecfb4398ef2adbb817018bc0e34bc15048721a97c6b67b192ff95bcf3abac608", - "start_time" : "2020-10-16T14:14:01.244Z", - "background" : false, - "exit_code" : 0, - "insignificant" : false, - "canceled" : null, - "step" : 106, - "run_time_millis" : 196239, - "has_output" : true - } ] - }, { - "name" : "NPM Build", - "actions" : [ { - "truncated" : false, - "index" : 0, - "parallel" : true, - "failed" : null, - "infrastructure_fail" : null, - "name" : "NPM Build", - "bash_command" : "#!/bin/bash -eo pipefail\nnvm use \nnpm run heapstats\nnpm run build-docusaurus\necho \"Build is done. Create tar of the build dir\"\ntar czf build-site.tar.gz build\n", - "status" : "success", - "timedout" : null, - "continue" : null, - "end_time" : "2020-10-16T14:40:25.042Z", - "type" : "test", - "allocation_id" : "5f89aa363b4e1b13df32fc47-0-build/29714DBA", - "output_url" : "https://circle-production-action-output.s3.amazonaws.com/f90dbf85a621f712d6ba98f5-5de6587c4394b520d939b8e1-107-0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20201016T164354Z&X-Amz-SignedHeaders=host&X-Amz-Expires=432000&X-Amz-Credential=AKIAIJNI6FA5RIAFFQ7Q%2F20201016%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=6e5842b65c617854fa4c7aee46ccdfa27dd9fbb25ca4c14c01d8c596cd510b29", - "start_time" : "2020-10-16T14:17:17.552Z", - "background" : false, - "exit_code" : 0, - "insignificant" : false, - "canceled" : null, - "step" : 107, - "run_time_millis" : 1387490, - "has_output" : true - } ] - }, { - "name" : "Uploading artifacts", - "actions" : [ { - "truncated" : false, - "index" : 0, - "parallel" : true, - "failed" : null, - "infrastructure_fail" : null, - "name" : "Uploading artifacts", - "bash_command" : null, - "status" : "success", - "timedout" : null, - "continue" : null, - "end_time" : "2020-10-16T14:40:26.796Z", - "type" : "test", - "allocation_id" : "5f89aa363b4e1b13df32fc47-0-build/29714DBA", - "output_url" : "https://circle-production-action-output.s3.amazonaws.com/cdb73c4ff70b777f9d0b98f5-5de6587c4394b520d939b8e1-108-0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20201016T164354Z&X-Amz-SignedHeaders=host&X-Amz-Expires=432000&X-Amz-Credential=AKIAIJNI6FA5RIAFFQ7Q%2F20201016%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=a725dec2d18160d79b69decaa1319c143fc866ed3496315d463bf1deca5bc84d", - "start_time" : "2020-10-16T14:40:25.064Z", - "background" : false, - "exit_code" : null, - "insignificant" : false, - "canceled" : null, - "step" : 108, - "run_time_millis" : 1732, - "has_output" : true - } ] - }, { - "name" : "Saving cache", - "actions" : [ { - "truncated" : false, - "index" : 0, - "parallel" : true, - "failed" : null, - "infrastructure_fail" : null, - "name" : "Saving cache", - "bash_command" : null, - "status" : "success", - "timedout" : null, - "continue" : null, - "end_time" : "2020-10-16T14:40:27.015Z", - "type" : "test", - "allocation_id" : "5f89aa363b4e1b13df32fc47-0-build/29714DBA", - "output_url" : "https://circle-production-action-output.s3.amazonaws.com/c91c4dec1157fe65ad0b98f5-5de6587c4394b520d939b8e1-109-0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20201016T164354Z&X-Amz-SignedHeaders=host&X-Amz-Expires=432000&X-Amz-Credential=AKIAIJNI6FA5RIAFFQ7Q%2F20201016%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=efdd3893adb810f7eeb7f7f275c5e7127004018f112a1e36fe1595e704811d82", - "start_time" : "2020-10-16T14:40:26.869Z", - "background" : false, - "exit_code" : null, - "insignificant" : false, - "canceled" : null, - "step" : 109, - "run_time_millis" : 146, - "has_output" : true - } ] - }, { - "name" : "Persisting to workspace", - "actions" : [ { - "truncated" : false, - "index" : 0, - "parallel" : true, - "failed" : null, - "infrastructure_fail" : null, - "name" : "Persisting to workspace", - "bash_command" : null, - "status" : "success", - "timedout" : null, - "continue" : null, - "end_time" : "2020-10-16T14:40:41.019Z", - "type" : "test", - "allocation_id" : "5f89aa363b4e1b13df32fc47-0-build/29714DBA", - "output_url" : "https://circle-production-action-output.s3.amazonaws.com/cfb73c4ff70b777fbd0b98f5-5de6587c4394b520d939b8e1-110-0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20201016T164354Z&X-Amz-SignedHeaders=host&X-Amz-Expires=432000&X-Amz-Credential=AKIAIJNI6FA5RIAFFQ7Q%2F20201016%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=3ab42e3505fa7f3f12fd4d3c32dbb80ab0668eb7b81417f43b8d4cbeaec35c95", - "start_time" : "2020-10-16T14:40:27.084Z", - "background" : false, - "exit_code" : null, - "insignificant" : false, - "canceled" : null, - "step" : 110, - "run_time_millis" : 13935, - "has_output" : true - } ] - } ], - "body" : "", - "usage_queued_at" : "2020-10-16T14:12:06.985Z", - "context_ids" : [ ], - "fail_reason" : null, - "retry_of" : null, - "reponame" : "content-docs", - "ssh_users" : [ ], - "build_url" : "https://circleci.com/gh/demisto/content-docs/153", - "parallel" : 1, - "failed" : false, - "branch" : "master", - "username" : "demisto", - "author_date" : "2020-10-16T14:12:03.000Z", - "why" : "github", - "user" : { - "is_user" : false, - "login" : "none" - }, - "vcs_revision" : "036ceaa0a0b631d9f487e436c9523086a0c63ed0", - "workflows" : { - "job_name" : "build", - "job_id" : "5b1dfe28-bdea-49c1-9fd8-c0d768a7f48e", - "workflow_id" : "be20adb3-7c7a-48d9-b67d-ee256251dabe", - "workspace_id" : "be20adb3-7c7a-48d9-b67d-ee256251dabe", - "upstream_job_ids" : [ ], - "upstream_concurrency_map" : { }, - "workflow_name" : "build_and_deploy" - }, - "owners" : [ ], - "vcs_tag" : null, - "pull_requests" : [ ], - "build_num" : 153, - "infrastructure_fail" : false, - "committer_email" : "noreply@github.com", - "has_artifacts" : true, - "previous" : { - "build_num" : 152, - "status" : "success", - "build_time_millis" : 123084 - }, - "status" : "success", - "committer_name" : "GitHub", - "retries" : null, - "subject" : "Update certification.md (#344)", - "vcs_type" : "github", - "timedout" : false, - "dont_build" : null, - "lifecycle" : "finished", - "no_dependency_cache" : false, - "stop_time" : "2020-10-16T14:40:41.114Z", - "ssh_disabled" : true, - "build_time_millis" : 1708247, - "picard" : { - "build_agent" : { - "image" : "circleci/picard@sha256:4df3266130bcc12cc91af944707bcd65062bebb8dbfaf72aae47e3ebd61aa7a7", - "properties" : { - "instance_id" : "i-0d03175279e56eb7d", - "instance_ip" : "172.29.69.103", - "build_agent" : "1.0.41366-8943b0cd", - "executor" : "machine", - "nomad_ami" : "ami-043d60cceb7308837", - "availability_zone" : "us-east-1b" - } - }, - "resource_class" : { - "cpu" : 2.0, - "ram" : 7680, - "class" : "medium", - "name" : "Machine Linux Medium" - }, - "executor" : "machine", - "used_features" : [ "" ] - }, - "circle_yml" : { - "string" : "version: 2\njobs:\n build:\n machine:\n image: ubuntu-1604:202007-01\n steps:\n - checkout\n - restore_cache:\n key: npm-cache-{{ checksum \"package-lock.json\" }}\n - run:\n name: Setup Node\n command: \"echo '[ -s \\\"$NVM_DIR/nvm.sh\\\" ] && \\\\. \\\"$NVM_DIR/nvm.sh\\\"' >> $BASH_ENV\\nsource $BASH_ENV\\nnvm install `cat .nvmrc` \\n\"\n - run:\n name: Setup Python\n command: |\n pyenv versions\n pyenv global 3.7.8 3.8.3\n pip3 install pipenv\n pipenv install\n - run:\n name: NPM Install\n command: |\n nvm use\n node --version\n npm --version\n npm ci\n - run:\n name: NPM Build content-repo docs\n command: |\n nvm use\n npm run reference-docs\n - run:\n name: NPM Build\n no_output_timeout: 40m\n environment:\n ALGOLIA_INDEX: demisto\n command: \"nvm use \\nnpm run heapstats\\nnpm run build-docusaurus\\necho \\\"Build is done. Create tar of the build dir\\\"\\ntar czf build-site.tar.gz build\\n\"\n - store_artifacts:\n path: build-site.tar.gz\n - save_cache:\n key: npm-cache-{{ checksum \"package-lock.json\" }}\n paths:\n - node_modules\n - persist_to_workspace:\n root: /home/circleci/project\n paths:\n - build\n deploy:\n docker:\n - image: circleci/python:3.7.9-buster-node\n resource_class: small\n steps:\n - checkout\n - attach_workspace:\n at: /home/circleci/project\n - run:\n name: Setup Python\n command: |\n pipenv install\n - run:\n name: Deploy to Firebase\n no_output_timeout: 30m\n command: |\n echo $FIREBASE_JSON_KEY > \"$HOME\"/gcloud.json\n npm install firebase-tools\n export PATH=\"$PATH:`pwd`/node_modules/.bin\"\n export GOOGLE_APPLICATION_CREDENTIALS=\"$HOME\"/gcloud.json\n if [ \"$CI_COMMIT_REF_NAME\" = \"master\" ]; then\n echo \"Deploying to prod as CI_COMMIT_REF_NAME is equal to master!\"\n firebase deploy --only hosting > deploy-info-firebase.txt\n else\n # Get the PR number from the CIRCLE_PULL_REQUEST env variable which is in the form of:\n # https://github.com/demisto/content-docs/pull/335\n firebase hosting:channel:deploy \"pull-request-${CIRCLE_PULL_REQUEST##*/}\" --only xsoar.pan.dev > deploy-info-firebase.txt\n cat deploy-info-firebase.txt\n fi\n - run:\n name: Post Comment Firebase\n command: |\n pipenv run ./content-repo/post_github_comment.py deploy-info-firebase.txt\nworkflows:\n build_and_deploy:\n jobs:\n - build\n - deploy:\n filters:\n branches:\n only: /^(?!pull\\/).*$/\n requires:\n - build\n version: 2\n\n# Original config.yml file:\n# ### =============================================================\n# ### This configuration file is used by CircleCI build server\n# ### https://circleci.com/docs/config-sample\n# ### =============================================================\n# version: 2.1\n# jobs:\n# build:\n# \n# machine:\n# image: ubuntu-1604:202007-01\n# \n# steps:\n# - checkout\n# - restore_cache:\n# key: npm-cache-{{ checksum \\\"package-lock.json\\\" }}\n# - run:\n# name: Setup Node\n# command: |\n# echo '[ -s \\\"$NVM_DIR/nvm.sh\\\" ] && \\\\. \\\"$NVM_DIR/nvm.sh\\\"' >> $BASH_ENV\n# source $BASH_ENV\n# nvm install `cat .nvmrc` \n# - run:\n# name: Setup Python\n# command: |\n# pyenv versions\n# pyenv global 3.7.8 3.8.3\n# pip3 install pipenv\n# pipenv install\n# - run:\n# name: NPM Install\n# command: |\n# nvm use\n# node --version\n# npm --version\n# npm ci\n# - run:\n# name: NPM Build content-repo docs\n# command: |\n# nvm use\n# npm run reference-docs\n# - run:\n# name: NPM Build\n# no_output_timeout: 40m\n# environment:\n# ALGOLIA_INDEX: demisto\n# command: |\n# nvm use \n# npm run heapstats\n# npm run build-docusaurus\n# echo \\\"Build is done. Create tar of the build dir\\\"\n# tar czf build-site.tar.gz build\n# - store_artifacts:\n# path: build-site.tar.gz\n# - save_cache:\n# key: npm-cache-{{ checksum \\\"package-lock.json\\\" }}\n# paths:\n# - node_modules\n# - persist_to_workspace:\n# # Must be an absolute path, or relative path from working_directory. This is a directory on the container which is \n# # taken to be the root directory of the workspace.\n# root: /home/circleci/project\n# # Must be relative path from root\n# paths:\n# - build \n# \n# deploy:\n# docker:\n# - image: circleci/python:3.7.9-buster-node\n# resource_class: small\n# steps:\n# - checkout\n# - attach_workspace:\n# at: /home/circleci/project\n# - run:\n# name: Setup Python\n# command: | \n# pipenv install\n# - run:\n# name: Deploy to Firebase\n# no_output_timeout: 30m\n# command: |\n# echo $FIREBASE_JSON_KEY > \"$HOME\"/gcloud.json\n# npm install firebase-tools\n# export PATH=\"$PATH:`pwd`/node_modules/.bin\"\n# export GOOGLE_APPLICATION_CREDENTIALS=\"$HOME\"/gcloud.json\n# if [ \"$CI_COMMIT_REF_NAME\" = \"master\" ]; then\n# echo \"Deploying to prod as CI_COMMIT_REF_NAME is equal to master!\"\n# firebase deploy --only hosting > deploy-info-firebase.txt\n# else\n# # Get the PR number from the CIRCLE_PULL_REQUEST env variable which is in the form of:\n# # https://github.com/demisto/content-docs/pull/335\n# firebase hosting:channel:deploy \"pull-request-${CIRCLE_PULL_REQUEST##*/}\" --only xsoar.pan.dev > deploy-info-firebase.txt\n# cat deploy-info-firebase.txt\n# fi\n# - run:\n# name: Post Comment Firebase\n# command: |\n# pipenv run ./content-repo/post_github_comment.py deploy-info-firebase.txt\n# \n# workflows:\n# build_and_deploy:\n# jobs:\n# - build\n# - deploy:\n# requires:\n# - build\n# filters:\n# branches:\n# # only from non-fork\n# only: /^(?!pull\\\\/).*$/" - }, - "messages" : [ ], - "is_first_green_build" : false, - "job_name" : null, - "start_time" : "2020-10-16T14:12:12.867Z", - "canceler" : null, - "all_commit_details" : [ { - "committer_date" : "2020-10-16T14:12:03.000Z", - "body" : "", - "branch" : "master", - "author_date" : "2020-10-16T14:12:03.000Z", - "committer_email" : "noreply@github.com", - "commit" : "036ceaa0a0b631d9f487e436c9523086a0c63ed0", - "committer_login" : "web-flow", - "committer_name" : "GitHub", - "subject" : "Update certification.md (#344)", - "commit_url" : "https://github.com/demisto/content-docs/commit/036ceaa0a0b631d9f487e436c9523086a0c63ed0", - "author_login" : "mchasepan", - "author_name" : "Matt Chase", - "author_email" : "52938925+mchasepan@users.noreply.github.com" - } ], - "platform" : "2.0", - "outcome" : "success", - "vcs_url" : "https://github.com/demisto/content-docs", - "author_name" : "Matt Chase", - "node" : null, - "queued_at" : "2020-10-16T14:12:07.013Z", - "canceled" : false, - "author_email" : "52938925+mchasepan@users.noreply.github.com" -} \ No newline at end of file diff --git a/content-repo/test_data/github-status-event.json b/content-repo/test_data/github-status-event.json deleted file mode 100644 index 124233ca8..000000000 --- a/content-repo/test_data/github-status-event.json +++ /dev/null @@ -1,247 +0,0 @@ -{ - "avatar_url": "https://avatars2.githubusercontent.com/oa/4808?v=4", - "branches": [ - { - "commit": { - "sha": "036ceaa0a0b631d9f487e436c9523086a0c63ed0", - "url": "https://api.github.com/repos/demisto/content-docs/commits/036ceaa0a0b631d9f487e436c9523086a0c63ed0" - }, - "name": "master", - "protected": true - } - ], - "commit": { - "author": { - "avatar_url": "https://avatars3.githubusercontent.com/u/52938925?v=4", - "events_url": "https://api.github.com/users/mchasepan/events{/privacy}", - "followers_url": "https://api.github.com/users/mchasepan/followers", - "following_url": "https://api.github.com/users/mchasepan/following{/other_user}", - "gists_url": "https://api.github.com/users/mchasepan/gists{/gist_id}", - "gravatar_id": "", - "html_url": "https://github.com/mchasepan", - "id": 52938925, - "login": "mchasepan", - "node_id": "MDQ6VXNlcjUyOTM4OTI1", - "organizations_url": "https://api.github.com/users/mchasepan/orgs", - "received_events_url": "https://api.github.com/users/mchasepan/received_events", - "repos_url": "https://api.github.com/users/mchasepan/repos", - "site_admin": false, - "starred_url": "https://api.github.com/users/mchasepan/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/mchasepan/subscriptions", - "type": "User", - "url": "https://api.github.com/users/mchasepan" - }, - "comments_url": "https://api.github.com/repos/demisto/content-docs/commits/036ceaa0a0b631d9f487e436c9523086a0c63ed0/comments", - "commit": { - "author": { - "date": "2020-10-16T14:12:03Z", - "email": "52938925+mchasepan@users.noreply.github.com", - "name": "Matt Chase" - }, - "comment_count": 0, - "committer": { - "date": "2020-10-16T14:12:03Z", - "email": "noreply@github.com", - "name": "GitHub" - }, - "message": "Update certification.md (#344)", - "tree": { - "sha": "12a0fd3d491ee6926bf417aac52af1730c484daf", - "url": "https://api.github.com/repos/demisto/content-docs/git/trees/12a0fd3d491ee6926bf417aac52af1730c484daf" - }, - "url": "https://api.github.com/repos/demisto/content-docs/git/commits/036ceaa0a0b631d9f487e436c9523086a0c63ed0", - "verification": { - "payload": "tree 12a0fd3d491ee6926bf417aac52af1730c484daf\nparent ee44ab93e3eefb425ade945bcdbb51fb03d0a47a\nauthor Matt Chase <52938925+mchasepan@users.noreply.github.com> 1602857523 -0400\ncommitter GitHub 1602857523 -0400\n\nUpdate certification.md (#344)\n\n", - "reason": "valid", - "signature": "-----BEGIN PGP SIGNATURE-----\n\nwsBcBAABCAAQBQJfiaozCRBK7hj4Ov3rIwAAdHIIAJqeCpvtVoHsX6PYWVQC4SYD\nuDPRToRuzD7NIuYXAIdtdL4/D41BuHwujc9QRH0y/0eAHaBSqign7nsnacni5bEE\nhG7MYyEqSD0C0Dz6pWOPw1sS4osnvUHHps0GmLq6Z5KUGyzX1C3fVyfL3c/jHCUC\nRN7cGoAyRjsoiBU2cvW7a0Y2RknmgWICj6i7gbSdjxxYki995pCg9O6frGkuQAtr\nPQ9c1Cx1WQKoKi4wzaLTiGmLmwCxO+NBlQkO+N8xUYPEgqr447DIeS96GHB9TLzs\nWzioqKaWJv3RwzzadkOAbZ3BE5QLtb6PVdkL+JAl+NjrYM7nU7fw1bhd3xEI9Qs=\n=jyRg\n-----END PGP SIGNATURE-----\n", - "verified": true - } - }, - "committer": { - "avatar_url": "https://avatars3.githubusercontent.com/u/19864447?v=4", - "events_url": "https://api.github.com/users/web-flow/events{/privacy}", - "followers_url": "https://api.github.com/users/web-flow/followers", - "following_url": "https://api.github.com/users/web-flow/following{/other_user}", - "gists_url": "https://api.github.com/users/web-flow/gists{/gist_id}", - "gravatar_id": "", - "html_url": "https://github.com/web-flow", - "id": 19864447, - "login": "web-flow", - "node_id": "MDQ6VXNlcjE5ODY0NDQ3", - "organizations_url": "https://api.github.com/users/web-flow/orgs", - "received_events_url": "https://api.github.com/users/web-flow/received_events", - "repos_url": "https://api.github.com/users/web-flow/repos", - "site_admin": false, - "starred_url": "https://api.github.com/users/web-flow/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/web-flow/subscriptions", - "type": "User", - "url": "https://api.github.com/users/web-flow" - }, - "html_url": "https://github.com/demisto/content-docs/commit/036ceaa0a0b631d9f487e436c9523086a0c63ed0", - "node_id": "MDY6Q29tbWl0MjI1MzQzODg2OjAzNmNlYWEwYTBiNjMxZDlmNDg3ZTQzNmM5NTIzMDg2YTBjNjNlZDA=", - "parents": [ - { - "html_url": "https://github.com/demisto/content-docs/commit/ee44ab93e3eefb425ade945bcdbb51fb03d0a47a", - "sha": "ee44ab93e3eefb425ade945bcdbb51fb03d0a47a", - "url": "https://api.github.com/repos/demisto/content-docs/commits/ee44ab93e3eefb425ade945bcdbb51fb03d0a47a" - } - ], - "sha": "036ceaa0a0b631d9f487e436c9523086a0c63ed0", - "url": "https://api.github.com/repos/demisto/content-docs/commits/036ceaa0a0b631d9f487e436c9523086a0c63ed0" - }, - "context": "ci/circleci: build", - "created_at": "2020-10-16T14:40:41+00:00", - "description": "Your tests passed on CircleCI!", - "enterprise": { - "avatar_url": "https://avatars1.githubusercontent.com/b/725?v=4", - "created_at": "2019-08-29T23:03:40Z", - "description": "We ensure each day is safer and more secure than the one before.", - "html_url": "https://github.com/enterprises/palo-alto-networks", - "id": 725, - "name": "Palo Alto Networks", - "node_id": "MDEwOkVudGVycHJpc2U3MjU=", - "slug": "palo-alto-networks", - "updated_at": "2020-06-16T18:54:52Z", - "website_url": "https://www.paloaltonetworks.com" - }, - "id": 11074477310, - "name": "demisto/content-docs", - "organization": { - "avatar_url": "https://avatars1.githubusercontent.com/u/11011767?v=4", - "description": "Automated and collaborative incident response platform", - "events_url": "https://api.github.com/orgs/demisto/events", - "hooks_url": "https://api.github.com/orgs/demisto/hooks", - "id": 11011767, - "issues_url": "https://api.github.com/orgs/demisto/issues", - "login": "demisto", - "members_url": "https://api.github.com/orgs/demisto/members{/member}", - "node_id": "MDEyOk9yZ2FuaXphdGlvbjExMDExNzY3", - "public_members_url": "https://api.github.com/orgs/demisto/public_members{/member}", - "repos_url": "https://api.github.com/orgs/demisto/repos", - "url": "https://api.github.com/orgs/demisto" - }, - "repository": { - "archive_url": "https://api.github.com/repos/demisto/content-docs/{archive_format}{/ref}", - "archived": false, - "assignees_url": "https://api.github.com/repos/demisto/content-docs/assignees{/user}", - "blobs_url": "https://api.github.com/repos/demisto/content-docs/git/blobs{/sha}", - "branches_url": "https://api.github.com/repos/demisto/content-docs/branches{/branch}", - "clone_url": "https://github.com/demisto/content-docs.git", - "collaborators_url": "https://api.github.com/repos/demisto/content-docs/collaborators{/collaborator}", - "comments_url": "https://api.github.com/repos/demisto/content-docs/comments{/number}", - "commits_url": "https://api.github.com/repos/demisto/content-docs/commits{/sha}", - "compare_url": "https://api.github.com/repos/demisto/content-docs/compare/{base}...{head}", - "contents_url": "https://api.github.com/repos/demisto/content-docs/contents/{+path}", - "contributors_url": "https://api.github.com/repos/demisto/content-docs/contributors", - "created_at": "2019-12-02T10:08:43Z", - "default_branch": "master", - "deployments_url": "https://api.github.com/repos/demisto/content-docs/deployments", - "description": "Demisto Content Developer Docs", - "disabled": false, - "downloads_url": "https://api.github.com/repos/demisto/content-docs/downloads", - "events_url": "https://api.github.com/repos/demisto/content-docs/events", - "fork": false, - "forks": 19, - "forks_count": 19, - "forks_url": "https://api.github.com/repos/demisto/content-docs/forks", - "full_name": "demisto/content-docs", - "git_commits_url": "https://api.github.com/repos/demisto/content-docs/git/commits{/sha}", - "git_refs_url": "https://api.github.com/repos/demisto/content-docs/git/refs{/sha}", - "git_tags_url": "https://api.github.com/repos/demisto/content-docs/git/tags{/sha}", - "git_url": "git://github.com/demisto/content-docs.git", - "has_downloads": true, - "has_issues": true, - "has_pages": false, - "has_projects": false, - "has_wiki": false, - "homepage": "https://xsoar.pan.dev/", - "hooks_url": "https://api.github.com/repos/demisto/content-docs/hooks", - "html_url": "https://github.com/demisto/content-docs", - "id": 225343886, - "issue_comment_url": "https://api.github.com/repos/demisto/content-docs/issues/comments{/number}", - "issue_events_url": "https://api.github.com/repos/demisto/content-docs/issues/events{/number}", - "issues_url": "https://api.github.com/repos/demisto/content-docs/issues{/number}", - "keys_url": "https://api.github.com/repos/demisto/content-docs/keys{/key_id}", - "labels_url": "https://api.github.com/repos/demisto/content-docs/labels{/name}", - "language": "Python", - "languages_url": "https://api.github.com/repos/demisto/content-docs/languages", - "license": { - "key": "mit", - "name": "MIT License", - "node_id": "MDc6TGljZW5zZTEz", - "spdx_id": "MIT", - "url": "https://api.github.com/licenses/mit" - }, - "merges_url": "https://api.github.com/repos/demisto/content-docs/merges", - "milestones_url": "https://api.github.com/repos/demisto/content-docs/milestones{/number}", - "mirror_url": null, - "name": "content-docs", - "node_id": "MDEwOlJlcG9zaXRvcnkyMjUzNDM4ODY=", - "notifications_url": "https://api.github.com/repos/demisto/content-docs/notifications{?since,all,participating}", - "open_issues": 10, - "open_issues_count": 10, - "owner": { - "avatar_url": "https://avatars1.githubusercontent.com/u/11011767?v=4", - "events_url": "https://api.github.com/users/demisto/events{/privacy}", - "followers_url": "https://api.github.com/users/demisto/followers", - "following_url": "https://api.github.com/users/demisto/following{/other_user}", - "gists_url": "https://api.github.com/users/demisto/gists{/gist_id}", - "gravatar_id": "", - "html_url": "https://github.com/demisto", - "id": 11011767, - "login": "demisto", - "node_id": "MDEyOk9yZ2FuaXphdGlvbjExMDExNzY3", - "organizations_url": "https://api.github.com/users/demisto/orgs", - "received_events_url": "https://api.github.com/users/demisto/received_events", - "repos_url": "https://api.github.com/users/demisto/repos", - "site_admin": false, - "starred_url": "https://api.github.com/users/demisto/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/demisto/subscriptions", - "type": "Organization", - "url": "https://api.github.com/users/demisto" - }, - "private": false, - "pulls_url": "https://api.github.com/repos/demisto/content-docs/pulls{/number}", - "pushed_at": "2020-10-16T14:12:06Z", - "releases_url": "https://api.github.com/repos/demisto/content-docs/releases{/id}", - "size": 59183, - "ssh_url": "git@github.com:demisto/content-docs.git", - "stargazers_count": 10, - "stargazers_url": "https://api.github.com/repos/demisto/content-docs/stargazers", - "statuses_url": "https://api.github.com/repos/demisto/content-docs/statuses/{sha}", - "subscribers_url": "https://api.github.com/repos/demisto/content-docs/subscribers", - "subscription_url": "https://api.github.com/repos/demisto/content-docs/subscription", - "svn_url": "https://github.com/demisto/content-docs", - "tags_url": "https://api.github.com/repos/demisto/content-docs/tags", - "teams_url": "https://api.github.com/repos/demisto/content-docs/teams", - "trees_url": "https://api.github.com/repos/demisto/content-docs/git/trees{/sha}", - "updated_at": "2020-10-16T14:12:07Z", - "url": "https://api.github.com/repos/demisto/content-docs", - "watchers": 10, - "watchers_count": 10 - }, - "sender": { - "avatar_url": "https://avatars1.githubusercontent.com/u/1395797?v=4", - "events_url": "https://api.github.com/users/glicht/events{/privacy}", - "followers_url": "https://api.github.com/users/glicht/followers", - "following_url": "https://api.github.com/users/glicht/following{/other_user}", - "gists_url": "https://api.github.com/users/glicht/gists{/gist_id}", - "gravatar_id": "", - "html_url": "https://github.com/glicht", - "id": 1395797, - "login": "glicht", - "node_id": "MDQ6VXNlcjEzOTU3OTc=", - "organizations_url": "https://api.github.com/users/glicht/orgs", - "received_events_url": "https://api.github.com/users/glicht/received_events", - "repos_url": "https://api.github.com/users/glicht/repos", - "site_admin": false, - "starred_url": "https://api.github.com/users/glicht/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/glicht/subscriptions", - "type": "User", - "url": "https://api.github.com/users/glicht" - }, - "sha": "036ceaa0a0b631d9f487e436c9523086a0c63ed0", - "state": "success", - "target_url": "https://circleci.com/gh/demisto/content-docs/153?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-build-link", - "updated_at": "2020-10-16T14:40:41+00:00" -} \ No newline at end of file From e6025885dc6764237179524f5bfb7b97260f6044 Mon Sep 17 00:00:00 2001 From: kobymeir Date: Tue, 5 Nov 2024 13:32:53 +0200 Subject: [PATCH 22/28] build content docs - take 20 --- content-repo/post_github_comment.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/content-repo/post_github_comment.py b/content-repo/post_github_comment.py index 322d2d2f0..b8a3812e7 100755 --- a/content-repo/post_github_comment.py +++ b/content-repo/post_github_comment.py @@ -57,13 +57,13 @@ def get_link_for_doc_file(base_url: str, file: str): name = yml_data.get('title') or file relative_path = os.path.relpath(file, ROOT_DIR) path = f'{base_url}/{os.path.dirname(relative_path)}/{yml_data["id"]}' - return (name, path) + return name, path def get_link_for_ref_file(base_url: str, file: str): if 'releases' in file: name = os.path.splitext(os.path.basename(file))[0] - return (f'Content Release {name}', f'{base_url}/docs/reference/releases/{name}') + return f'Content Release {name}', f'{base_url}/docs/reference/releases/{name}' # articles/integrations yml_data = get_front_matter_data(file) name = yml_data.get('title') or file @@ -73,7 +73,7 @@ def get_link_for_ref_file(base_url: str, file: str): return (name, path) -def get_modified_links(base_url: str): +def get_modified_links(base_url: str) -> List[Tuple[str, str]]: links: List[Tuple[str, str]] = [] for f in get_modified_files(): try: @@ -112,7 +112,7 @@ def post_comment(deploy_info_file: str): "Congratulations! The automatic build has completed successfully.\n" \ "The production site of our docs has been updated. You can view it at: https://xsoar.pan.dev" else: - # add detcted changes + # add detected changes try: links = get_modified_links(deploy_url) if links: From 5b77b2d72ce65dbcfdd0563f6aab2df3fb493e12 Mon Sep 17 00:00:00 2001 From: Koby Meir Date: Tue, 26 Nov 2024 09:18:01 +0200 Subject: [PATCH 23/28] Apply suggestions from code review Co-authored-by: tkatzir --- .gitlab/helper_functions.sh | 8 ++++---- .hooks/bootstrap | 2 +- .pre-commit-config.yaml | 4 +--- content-repo/create-docs.sh | 2 -- 4 files changed, 6 insertions(+), 10 deletions(-) diff --git a/.gitlab/helper_functions.sh b/.gitlab/helper_functions.sh index 2ccc08395..14219ce4d 100644 --- a/.gitlab/helper_functions.sh +++ b/.gitlab/helper_functions.sh @@ -29,12 +29,12 @@ section_start() { section_header="$2" section_id="$1" else - echo "section_start should be called with 1-3 args but it was called with $#" + echo "section_start should be called with 1-3 args but it was called with $# args" echo "acceptable usages:" - echo " 1. section_start \"\" \"\"" echo " 2. section_start \"\"" - echo " 3. section_start \"\" \"\" --collapse" echo " 4. section_start \"\" --collapse" + echo " 1. section_start \"\" \"\"" + echo " 3. section_start \"\" \"\" --collapse" echo "where is only alphanumeric characters and underscore and" echo "--collapse indicates that you would like those log steps to be collapsed in the job log output by default" exit 9 @@ -52,7 +52,7 @@ section_end() { if [[ "$#" -eq 1 ]]; then section_id="$(echo "$1" | tr -c '[:alnum:]\n\r' '_')" else - echo "section_end should be called with 1 arg but it was called with $#" + echo "section_end should be called with 1 arg but it was called with $# args" echo "acceptable usage:" echo " 1. section_end \"\"" echo " 2. section_start \"\"" diff --git a/.hooks/bootstrap b/.hooks/bootstrap index 2e3cbd2cc..253aa4a52 100755 --- a/.hooks/bootstrap +++ b/.hooks/bootstrap @@ -19,7 +19,7 @@ PATH=~/.local/bin:$PATH if [[ "$1" == "-h" ]] || [[ "$1" == "--help" ]]; then cat << __EOF__ -Setup development environment (run with no arguments): +Setup a development environment (run with no arguments): * install pre-commit hooks (set NO_HOOKS=1 to skip) __EOF__ exit 0 diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index f20c87b71..98ac16242 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -20,8 +20,6 @@ repos: exclude: .gitlab - id: check-ast - id: check-merge-conflict -# - id: debug-statements -# language_version: python3 - id: name-tests-test files: .+_test.py$ - id: trailing-whitespace @@ -60,7 +58,7 @@ repos: - types-tabulate - types-dateparser types: [python] - #duplicate here and in pyproject.toml because https://github.com/python/mypy/issues/13916 + # duplicate here and in pyproject.toml because https://github.com/python/mypy/issues/13916 exclude: artifacts*|.*_test|test_.*|test_data|tests_data|.venv - repo: https://github.com/koalaman/shellcheck-precommit rev: v0.10.0 diff --git a/content-repo/create-docs.sh b/content-repo/create-docs.sh index 58bbe78fe..2b1c6811a 100755 --- a/content-repo/create-docs.sh +++ b/content-repo/create-docs.sh @@ -161,7 +161,6 @@ echo "Generating docs..." #pipenv run ./gendocs.py -t "${TARGET_DIR}" -d "${CONTENT_GIT_DIR}" -b "${CURRENT_BRANCH}" poetry run ./gendocs.py -t "${TARGET_DIR}" -d "${CONTENT_GIT_DIR}" -b "${CURRENT_BRANCH}" echo "Generating Demisto class and CommonServerPython docs..." -#pipenv run ./gen_pydocs.py -t "${TARGET_DIR}" poetry run ./gen_pydocs.py -t "${TARGET_DIR}" if [[ "$CURRENT_BRANCH" != "master" && "$CURRENT_BRANCH" != *"gen-top-contrib"* ]]; then echo "Skipping top contributors page generation, should run only on master or branch containing 'gen-top-contrib'." @@ -169,5 +168,4 @@ if [[ "$CURRENT_BRANCH" != "master" && "$CURRENT_BRANCH" != *"gen-top-contrib"* else echo "Generating top contributors page..." poetry run ./gen_top_contrib.py -t "${CONTRIB_TARGET_DIR}" -# pipenv run python ./gen_top_contrib.py -t "${CONTRIB_TARGET_DIR}" fi From bd27202f3627f3869f8ea754b73924a2d905846d Mon Sep 17 00:00:00 2001 From: kobymeir Date: Tue, 26 Nov 2024 09:28:58 +0200 Subject: [PATCH 24/28] build content docs - take 21 --- .gitignore | 2 +- .gitlab/helper_functions.sh | 13 ++++++------ content-repo/create-docs.sh | 26 +++++++++-------------- content-repo/post_github_comment.py | 33 ++++++++++++----------------- 4 files changed, 32 insertions(+), 42 deletions(-) diff --git a/.gitignore b/.gitignore index fe2846ea6..4805c5f52 100644 --- a/.gitignore +++ b/.gitignore @@ -44,6 +44,6 @@ static/assets/deprecated*.json /index index.zip index.json -/.firebase/hosting.YnVpbGQ.cache +/.firebase/hosting.*.cache /firebase-debug.log /firebase_json_key.json diff --git a/.gitlab/helper_functions.sh b/.gitlab/helper_functions.sh index 14219ce4d..77dd8e13d 100644 --- a/.gitlab/helper_functions.sh +++ b/.gitlab/helper_functions.sh @@ -1,13 +1,14 @@ #!/bin/bash -CYAN="\e[0;36m" CLEAR="\e[0m" -SECTION_START="\e[0Ksection_start:the_time:section_id\r\e[0K${CYAN}section_header${CLEAR}" -SECTION_END="\e[0Ksection_end:the_time:section_id\r\e[0K" +NC='\033[0m' +CYAN="\e[0;36m" RED='\033[0;31m' GREEN='\033[0;32m' BLUE='\033[0;34m' -NC='\033[0m' +SECTION_START="\e[0Ksection_start:the_time:section_id\r\e[0K${CYAN}section_header${CLEAR}" +SECTION_END="\e[0Ksection_end:the_time:section_id\r\e[0K" +DATE_FMT="[%Y-%m-%dT%H:%M:%S.%3N]" section_start() { local section_header section_id start @@ -42,12 +43,12 @@ section_start() { start_time=$(date +%s) start="$(echo "$start" | sed -e "s/the_time/$start_time/" -e "s/section_id/$section_id/" -e "s/section_header/$section_header/")" echo -e "$start" - date +"[%Y-%m-%dT%H:%M:%S.%3N] section start" + date +"${DATE_FMT} section start" } section_end() { local section_id end - date +"[%Y-%m-%dT%H:%M:%S.%3N] section end" + date +"${DATE_FMT} section end" end="$SECTION_END" if [[ "$#" -eq 1 ]]; then section_id="$(echo "$1" | tr -c '[:alnum:]\n\r' '_')" diff --git a/content-repo/create-docs.sh b/content-repo/create-docs.sh index 2b1c6811a..8d7d6b883 100755 --- a/content-repo/create-docs.sh +++ b/content-repo/create-docs.sh @@ -20,9 +20,7 @@ if [[ -n "$CONTENT_REPO_DIR" ]]; then echo "=================================" else CONTENT_GIT_DIR=${SCRIPT_DIR}/.content - if [[ -n "${CIRCLE_BRANCH}" ]]; then # CircleCI - deprecated remove! - CURRENT_BRANCH=${CIRCLE_BRANCH} - elif [[ -n "${CI_COMMIT_REF_NAME}" ]]; then + if [[ -n "${CI_COMMIT_REF_NAME}" ]]; then CURRENT_BRANCH=${CI_COMMIT_REF_NAME} else CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD) @@ -119,16 +117,15 @@ if [[ ( "$PULL_REQUEST" == "true" || -n "$CI_PULL_REQUEST" ) && "$CONTENT_BRANCH fi fi -# FIXME! restore the bucket copy -#BUCKET_DIR="${SCRIPT_DIR}/.content-bucket" -#if [[ ! -d "$BUCKET_DIR" ]]; then -# echo "Copying bucket docs content to: $BUCKET_DIR" -# mkdir "${BUCKET_DIR}" -# gsutil -q -m cp -r gs://marketplace-dist/content/docs/Packs/ "${BUCKET_DIR}" -#else -# echo "Skipping copying bucket data as dir: $BUCKET_DIR already exists" -# echo "If you want to re-copy, delete the dir: $BUCKET_DIR" -#fi +BUCKET_DIR="${SCRIPT_DIR}/.content-bucket" +if [[ ! -d "${BUCKET_DIR}" ]]; then + echo "Copying bucket docs content to: ${BUCKET_DIR}" + mkdir "${BUCKET_DIR}" + gsutil -q -m cp -r gs://marketplace-dist/content/docs/Packs/ "${BUCKET_DIR}" +else + echo "Skipping copying bucket data as dir: ${BUCKET_DIR} already exists" + echo "If you want to re-copy, delete the dir: ${BUCKET_DIR}" +fi TARGET_DIR=${SCRIPT_DIR}/../docs/reference CONTRIB_TARGET_DIR=${SCRIPT_DIR}/../src/pages/marketplace @@ -155,10 +152,7 @@ sed -i -e '/from DemistoClassApiModule import */d' CommonServerPython.py # Removing the first lines from CommonServerPython.py which are a description of the script we don't need here echo "$(tail -n +6 CommonServerPython.py)" > CommonServerPython.py -#echo "Installing pipenv..." -#pipenv install echo "Generating docs..." -#pipenv run ./gendocs.py -t "${TARGET_DIR}" -d "${CONTENT_GIT_DIR}" -b "${CURRENT_BRANCH}" poetry run ./gendocs.py -t "${TARGET_DIR}" -d "${CONTENT_GIT_DIR}" -b "${CURRENT_BRANCH}" echo "Generating Demisto class and CommonServerPython docs..." poetry run ./gen_pydocs.py -t "${TARGET_DIR}" diff --git a/content-repo/post_github_comment.py b/content-repo/post_github_comment.py index b8a3812e7..74594dde7 100755 --- a/content-repo/post_github_comment.py +++ b/content-repo/post_github_comment.py @@ -19,20 +19,16 @@ def get_post_url(): if os.getenv('PR_NUM'): pr_num = os.getenv('PR_NUM') return f'https://api.github.com/repos/demisto/content-docs/issues/{pr_num}/comments' - if os.getenv('CIRCLE_PULL_REQUEST'): - # change: https://github.com/demisto/content-docs/pull/9 - # to: https://api.github.com/repos/demisto/content-docs/issues/9/comments - post_url = os.environ['CIRCLE_PULL_REQUEST'].replace('github.com', 'api.github.com/repos').replace('pull', 'issues') + "/comments" - else: - # try to get from comment - last_comment = subprocess.check_output(["git", "log", "-1", "--pretty=%B"], text=True) - m = re.search(r"#(\d+)", last_comment, re.MULTILINE) - if not m: - print("No issue id found in last commit comment. Ignoring: \n------\n{}\n-------".format(last_comment)) - return - issue_id = m.group(1) - print("Issue id found from last commit comment: " + issue_id) - post_url = "https://api.github.com/repos/demisto/content-docs/issues/{}/comments".format(issue_id) + + # try to get from comment + last_comment = subprocess.check_output(["git", "log", "-1", "--pretty=%B"], text=True) + m = re.search(r"#(\d+)", last_comment, re.MULTILINE) + if not m: + print("No issue id found in last commit comment. Ignoring: \n------\n{}\n-------".format(last_comment)) + return + issue_id = m.group(1) + print("Issue id found from last commit comment: " + issue_id) + post_url = "https://api.github.com/repos/demisto/content-docs/issues/{}/comments".format(issue_id) return post_url @@ -132,11 +128,10 @@ def post_comment(deploy_info_file: str): def main(): desc = """Post a message to github about the deployed site. Relies on environment variables: GITHUB_TOKEN: api key of user to use for posting -PR_NUM: if set will use this as the pull request number. Otherwise will move on to CIRCLE_PULL_REQUEST -CIRCLE_PULL_REQUEST: pull request url to use to get the pull id. Such as: https://github.com/demisto/content-docs/pull/9 -if CIRCLE_PULL_REQUEST will try to get issue id from last commit comment (case of merge into master) -CI_COMMIT_REF_NAME: if set to master treats as a production deployment -SKIP_SSL_VERIFY: if set will skip ssl verification (used for testing behind GP) +PR_NUM: if set will use this as the pull request number. Otherwise will try to get issue id from last +commit comment (case of merge into master) +CI_COMMIT_REF_NAME: if set to master treats as a production deployment. +SKIP_SSL_VERIFY: if set will skip ssl verification (used for testing behind GP). """ parser = argparse.ArgumentParser(description=desc, formatter_class=argparse.RawTextHelpFormatter) From 236ca8e0d5d2fae5f6934677b26cc4a66b8712b4 Mon Sep 17 00:00:00 2001 From: kobymeir Date: Tue, 26 Nov 2024 15:28:12 +0200 Subject: [PATCH 25/28] build content docs - take 22 --- .gitlab/ci/.gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab/ci/.gitlab-ci.yml b/.gitlab/ci/.gitlab-ci.yml index 2cfbf5f85..92a1ae1e8 100644 --- a/.gitlab/ci/.gitlab-ci.yml +++ b/.gitlab/ci/.gitlab-ci.yml @@ -3,6 +3,6 @@ variables: include: - file: "/.gitlab/ci/content-docs/.gitlab-ci.yml" - ref: infra-content-docs + ref: $INFRA_BRANCH project: "${CI_PROJECT_NAMESPACE}/infra" From 3c8310173b6a74330b3513ea73d42d48325c90ea Mon Sep 17 00:00:00 2001 From: kobymeir Date: Tue, 26 Nov 2024 15:29:09 +0200 Subject: [PATCH 26/28] build content docs - take 22 --- .gitlab/ci/.gitlab-ci.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitlab/ci/.gitlab-ci.yml b/.gitlab/ci/.gitlab-ci.yml index 92a1ae1e8..e854e2642 100644 --- a/.gitlab/ci/.gitlab-ci.yml +++ b/.gitlab/ci/.gitlab-ci.yml @@ -5,4 +5,3 @@ include: - file: "/.gitlab/ci/content-docs/.gitlab-ci.yml" ref: $INFRA_BRANCH project: "${CI_PROJECT_NAMESPACE}/infra" - From c95f9fea21b262e76d6fb32bc127b1682ae2d530 Mon Sep 17 00:00:00 2001 From: kobymeir Date: Tue, 26 Nov 2024 16:12:09 +0200 Subject: [PATCH 27/28] build content docs - take 23 --- content-repo/post_github_comment.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content-repo/post_github_comment.py b/content-repo/post_github_comment.py index 74594dde7..8db0cff8a 100755 --- a/content-repo/post_github_comment.py +++ b/content-repo/post_github_comment.py @@ -128,7 +128,7 @@ def post_comment(deploy_info_file: str): def main(): desc = """Post a message to github about the deployed site. Relies on environment variables: GITHUB_TOKEN: api key of user to use for posting -PR_NUM: if set will use this as the pull request number. Otherwise will try to get issue id from last +PR_NUM: if set will use this as the pull request number. Otherwise will try to get issue id from last commit comment (case of merge into master) CI_COMMIT_REF_NAME: if set to master treats as a production deployment. SKIP_SSL_VERIFY: if set will skip ssl verification (used for testing behind GP). From af6865f3393ad9c6acac65b1e86c8f3cb99b4a46 Mon Sep 17 00:00:00 2001 From: kobymeir Date: Wed, 27 Nov 2024 09:07:27 +0200 Subject: [PATCH 28/28] build content docs - take 24 --- content-repo/post_github_comment_test.py | 6 - poetry.lock | 298 ++++++++++++++++++++++- pyproject.toml | 9 + 3 files changed, 306 insertions(+), 7 deletions(-) diff --git a/content-repo/post_github_comment_test.py b/content-repo/post_github_comment_test.py index 3b8e16591..0ba59c3ce 100644 --- a/content-repo/post_github_comment_test.py +++ b/content-repo/post_github_comment_test.py @@ -1,11 +1,5 @@ from post_github_comment import get_post_url, get_link_for_doc_file, ROOT_DIR, get_link_for_ref_file, get_modified_files from pytest_mock import MockerFixture -import os - - -def test_get_post_url_env(mocker: MockerFixture): - mocker.patch.dict(os.environ, {'CIRCLE_PULL_REQUEST': 'https://github.com/demisto/content-docs/pull/9'}) - assert get_post_url() == 'https://api.github.com/repos/demisto/content-docs/issues/9/comments' def test_get_post_url_comment(mocker: MockerFixture): diff --git a/poetry.lock b/poetry.lock index 82e29d567..34bcbf6df 100644 --- a/poetry.lock +++ b/poetry.lock @@ -135,6 +135,39 @@ files = [ {file = "click-7.1.2.tar.gz", hash = "sha256:d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a"}, ] +[[package]] +name = "colorama" +version = "0.4.6" +description = "Cross-platform colored terminal text." +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 = "dateparser" +version = "1.2.0" +description = "Date parsing library designed to parse dates from HTML pages" +optional = false +python-versions = ">=3.7" +files = [ + {file = "dateparser-1.2.0-py2.py3-none-any.whl", hash = "sha256:0b21ad96534e562920a0083e97fd45fa959882d4162acc358705144520a35830"}, + {file = "dateparser-1.2.0.tar.gz", hash = "sha256:7975b43a4222283e0ae15be7b4999d08c9a70e2d378ac87385b1ccf2cffbbb30"}, +] + +[package.dependencies] +python-dateutil = "*" +pytz = "*" +regex = "<2019.02.19 || >2019.02.19,<2021.8.27 || >2021.8.27" +tzlocal = "*" + +[package.extras] +calendars = ["convertdate", "hijri-converter"] +fasttext = ["fasttext"] +langdetect = ["langdetect"] + [[package]] name = "defusedxml" version = "0.7.1" @@ -176,6 +209,34 @@ files = [ docspec = ">=0.2.0,<0.3.0" "nr.sumtype" = ">=0.0.3,<0.1.0" +[[package]] +name = "exceptiongroup" +version = "1.2.2" +description = "Backport of PEP 654 (exception groups)" +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)"] + +[[package]] +name = "freezegun" +version = "1.5.1" +description = "Let your Python tests travel through time" +optional = false +python-versions = ">=3.7" +files = [ + {file = "freezegun-1.5.1-py3-none-any.whl", hash = "sha256:bf111d7138a8abe55ab48a71755673dbaa4ab87f4cff5634a4442dfec34c15f1"}, + {file = "freezegun-1.5.1.tar.gz", hash = "sha256:b29dedfcda6d5e8e083ce71b2b542753ad48cfec44037b3fc79702e2980a89e9"}, +] + +[package.dependencies] +python-dateutil = ">=2.7" + [[package]] name = "gitdb" version = "4.0.11" @@ -438,6 +499,17 @@ files = [ {file = "inflection-0.5.1.tar.gz", hash = "sha256:1a29730d366e996aaacffb2f1f1cb9593dc38e2ddd30c91250c6dde09ea9b417"}, ] +[[package]] +name = "iniconfig" +version = "2.0.0" +description = "brain-dead simple config-ini parsing" +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 = "jira" version = "3.8.0" @@ -759,6 +831,21 @@ tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "pa typing = ["typing-extensions"] xmp = ["defusedxml"] +[[package]] +name = "pluggy" +version = "1.5.0" +description = "plugin and hook calling mechanisms for python" +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"] +testing = ["pytest", "pytest-benchmark"] + [[package]] name = "proto-plus" version = "1.24.0" @@ -863,6 +950,45 @@ files = [ [package.extras] diagrams = ["jinja2", "railroad-diagrams"] +[[package]] +name = "pytest" +version = "8.3.3" +description = "pytest: simple powerful testing with Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pytest-8.3.3-py3-none-any.whl", hash = "sha256:a6853c7375b2663155079443d2e45de913a911a11d669df02a50814944db57b2"}, + {file = "pytest-8.3.3.tar.gz", hash = "sha256:70b98107bd648308a7952b06e6ca9a50bc660be218d53c257cc1fc94fda10181"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "sys_platform == \"win32\""} +exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} +iniconfig = "*" +packaging = "*" +pluggy = ">=1.5,<2" +tomli = {version = ">=1", markers = "python_version < \"3.11\""} + +[package.extras] +dev = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] + +[[package]] +name = "pytest-mock" +version = "3.14.0" +description = "Thin-wrapper around the mock package for easier use with pytest" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pytest-mock-3.14.0.tar.gz", hash = "sha256:2719255a1efeceadbc056d6bf3df3d1c5015530fb40cf347c0f9afac88410bd0"}, + {file = "pytest_mock-3.14.0-py3-none-any.whl", hash = "sha256:0b72c38033392a5f4621342fe11e9219ac11ec9d375f8e2a0c164539e0d70f6f"}, +] + +[package.dependencies] +pytest = ">=6.2.5" + +[package.extras] +dev = ["pre-commit", "pytest-asyncio", "tox"] + [[package]] name = "python-dateutil" version = "2.9.0.post0" @@ -896,6 +1022,17 @@ requests-toolbelt = ">=0.10.1" autocompletion = ["argcomplete (>=1.10.0,<3)"] yaml = ["PyYaml (>=5.2)"] +[[package]] +name = "pytz" +version = "2024.2" +description = "World timezone definitions, modern and historical" +optional = false +python-versions = "*" +files = [ + {file = "pytz-2024.2-py2.py3-none-any.whl", hash = "sha256:31c7c1817eb7fae7ca4b8c7ee50c72f93aa2dd863de768e1ef4245d426aa0725"}, + {file = "pytz-2024.2.tar.gz", hash = "sha256:2aa355083c50a0f93fa581709deac0c9ad65cca8a9e9beac660adcbd493c798a"}, +] + [[package]] name = "pyyaml" version = "5.3" @@ -916,6 +1053,109 @@ files = [ {file = "PyYAML-5.3.tar.gz", hash = "sha256:e9f45bd5b92c7974e59bcd2dcc8631a6b6cc380a904725fce7bc08872e691615"}, ] +[[package]] +name = "regex" +version = "2024.11.6" +description = "Alternative regular expression module, to replace re." +optional = false +python-versions = ">=3.8" +files = [ + {file = "regex-2024.11.6-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ff590880083d60acc0433f9c3f713c51f7ac6ebb9adf889c79a261ecf541aa91"}, + {file = "regex-2024.11.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:658f90550f38270639e83ce492f27d2c8d2cd63805c65a13a14d36ca126753f0"}, + {file = "regex-2024.11.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:164d8b7b3b4bcb2068b97428060b2a53be050085ef94eca7f240e7947f1b080e"}, + {file = "regex-2024.11.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3660c82f209655a06b587d55e723f0b813d3a7db2e32e5e7dc64ac2a9e86fde"}, + {file = "regex-2024.11.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d22326fcdef5e08c154280b71163ced384b428343ae16a5ab2b3354aed12436e"}, + {file = "regex-2024.11.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f1ac758ef6aebfc8943560194e9fd0fa18bcb34d89fd8bd2af18183afd8da3a2"}, + {file = "regex-2024.11.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:997d6a487ff00807ba810e0f8332c18b4eb8d29463cfb7c820dc4b6e7562d0cf"}, + {file = "regex-2024.11.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:02a02d2bb04fec86ad61f3ea7f49c015a0681bf76abb9857f945d26159d2968c"}, + {file = "regex-2024.11.6-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f02f93b92358ee3f78660e43b4b0091229260c5d5c408d17d60bf26b6c900e86"}, + {file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:06eb1be98df10e81ebaded73fcd51989dcf534e3c753466e4b60c4697a003b67"}, + {file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:040df6fe1a5504eb0f04f048e6d09cd7c7110fef851d7c567a6b6e09942feb7d"}, + {file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:fdabbfc59f2c6edba2a6622c647b716e34e8e3867e0ab975412c5c2f79b82da2"}, + {file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:8447d2d39b5abe381419319f942de20b7ecd60ce86f16a23b0698f22e1b70008"}, + {file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:da8f5fc57d1933de22a9e23eec290a0d8a5927a5370d24bda9a6abe50683fe62"}, + {file = "regex-2024.11.6-cp310-cp310-win32.whl", hash = "sha256:b489578720afb782f6ccf2840920f3a32e31ba28a4b162e13900c3e6bd3f930e"}, + {file = "regex-2024.11.6-cp310-cp310-win_amd64.whl", hash = "sha256:5071b2093e793357c9d8b2929dfc13ac5f0a6c650559503bb81189d0a3814519"}, + {file = "regex-2024.11.6-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5478c6962ad548b54a591778e93cd7c456a7a29f8eca9c49e4f9a806dcc5d638"}, + {file = "regex-2024.11.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2c89a8cc122b25ce6945f0423dc1352cb9593c68abd19223eebbd4e56612c5b7"}, + {file = "regex-2024.11.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:94d87b689cdd831934fa3ce16cc15cd65748e6d689f5d2b8f4f4df2065c9fa20"}, + {file = "regex-2024.11.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1062b39a0a2b75a9c694f7a08e7183a80c63c0d62b301418ffd9c35f55aaa114"}, + {file = "regex-2024.11.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:167ed4852351d8a750da48712c3930b031f6efdaa0f22fa1933716bfcd6bf4a3"}, + {file = "regex-2024.11.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d548dafee61f06ebdb584080621f3e0c23fff312f0de1afc776e2a2ba99a74f"}, + {file = "regex-2024.11.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2a19f302cd1ce5dd01a9099aaa19cae6173306d1302a43b627f62e21cf18ac0"}, + {file = "regex-2024.11.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bec9931dfb61ddd8ef2ebc05646293812cb6b16b60cf7c9511a832b6f1854b55"}, + {file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:9714398225f299aa85267fd222f7142fcb5c769e73d7733344efc46f2ef5cf89"}, + {file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:202eb32e89f60fc147a41e55cb086db2a3f8cb82f9a9a88440dcfc5d37faae8d"}, + {file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:4181b814e56078e9b00427ca358ec44333765f5ca1b45597ec7446d3a1ef6e34"}, + {file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:068376da5a7e4da51968ce4c122a7cd31afaaec4fccc7856c92f63876e57b51d"}, + {file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ac10f2c4184420d881a3475fb2c6f4d95d53a8d50209a2500723d831036f7c45"}, + {file = "regex-2024.11.6-cp311-cp311-win32.whl", hash = "sha256:c36f9b6f5f8649bb251a5f3f66564438977b7ef8386a52460ae77e6070d309d9"}, + {file = "regex-2024.11.6-cp311-cp311-win_amd64.whl", hash = "sha256:02e28184be537f0e75c1f9b2f8847dc51e08e6e171c6bde130b2687e0c33cf60"}, + {file = "regex-2024.11.6-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:52fb28f528778f184f870b7cf8f225f5eef0a8f6e3778529bdd40c7b3920796a"}, + {file = "regex-2024.11.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fdd6028445d2460f33136c55eeb1f601ab06d74cb3347132e1c24250187500d9"}, + {file = "regex-2024.11.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:805e6b60c54bf766b251e94526ebad60b7de0c70f70a4e6210ee2891acb70bf2"}, + {file = "regex-2024.11.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b85c2530be953a890eaffde05485238f07029600e8f098cdf1848d414a8b45e4"}, + {file = "regex-2024.11.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bb26437975da7dc36b7efad18aa9dd4ea569d2357ae6b783bf1118dabd9ea577"}, + {file = "regex-2024.11.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:abfa5080c374a76a251ba60683242bc17eeb2c9818d0d30117b4486be10c59d3"}, + {file = "regex-2024.11.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b7fa6606c2881c1db9479b0eaa11ed5dfa11c8d60a474ff0e095099f39d98e"}, + {file = "regex-2024.11.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c32f75920cf99fe6b6c539c399a4a128452eaf1af27f39bce8909c9a3fd8cbe"}, + {file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:982e6d21414e78e1f51cf595d7f321dcd14de1f2881c5dc6a6e23bbbbd68435e"}, + {file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a7c2155f790e2fb448faed6dd241386719802296ec588a8b9051c1f5c481bc29"}, + {file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:149f5008d286636e48cd0b1dd65018548944e495b0265b45e1bffecce1ef7f39"}, + {file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:e5364a4502efca094731680e80009632ad6624084aff9a23ce8c8c6820de3e51"}, + {file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0a86e7eeca091c09e021db8eb72d54751e527fa47b8d5787caf96d9831bd02ad"}, + {file = "regex-2024.11.6-cp312-cp312-win32.whl", hash = "sha256:32f9a4c643baad4efa81d549c2aadefaeba12249b2adc5af541759237eee1c54"}, + {file = "regex-2024.11.6-cp312-cp312-win_amd64.whl", hash = "sha256:a93c194e2df18f7d264092dc8539b8ffb86b45b899ab976aa15d48214138e81b"}, + {file = "regex-2024.11.6-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a6ba92c0bcdf96cbf43a12c717eae4bc98325ca3730f6b130ffa2e3c3c723d84"}, + {file = "regex-2024.11.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:525eab0b789891ac3be914d36893bdf972d483fe66551f79d3e27146191a37d4"}, + {file = "regex-2024.11.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:086a27a0b4ca227941700e0b31425e7a28ef1ae8e5e05a33826e17e47fbfdba0"}, + {file = "regex-2024.11.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bde01f35767c4a7899b7eb6e823b125a64de314a8ee9791367c9a34d56af18d0"}, + {file = "regex-2024.11.6-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b583904576650166b3d920d2bcce13971f6f9e9a396c673187f49811b2769dc7"}, + {file = "regex-2024.11.6-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1c4de13f06a0d54fa0d5ab1b7138bfa0d883220965a29616e3ea61b35d5f5fc7"}, + {file = "regex-2024.11.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3cde6e9f2580eb1665965ce9bf17ff4952f34f5b126beb509fee8f4e994f143c"}, + {file = "regex-2024.11.6-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0d7f453dca13f40a02b79636a339c5b62b670141e63efd511d3f8f73fba162b3"}, + {file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:59dfe1ed21aea057a65c6b586afd2a945de04fc7db3de0a6e3ed5397ad491b07"}, + {file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b97c1e0bd37c5cd7902e65f410779d39eeda155800b65fc4d04cc432efa9bc6e"}, + {file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f9d1e379028e0fc2ae3654bac3cbbef81bf3fd571272a42d56c24007979bafb6"}, + {file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:13291b39131e2d002a7940fb176e120bec5145f3aeb7621be6534e46251912c4"}, + {file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4f51f88c126370dcec4908576c5a627220da6c09d0bff31cfa89f2523843316d"}, + {file = "regex-2024.11.6-cp313-cp313-win32.whl", hash = "sha256:63b13cfd72e9601125027202cad74995ab26921d8cd935c25f09c630436348ff"}, + {file = "regex-2024.11.6-cp313-cp313-win_amd64.whl", hash = "sha256:2b3361af3198667e99927da8b84c1b010752fa4b1115ee30beaa332cabc3ef1a"}, + {file = "regex-2024.11.6-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:3a51ccc315653ba012774efca4f23d1d2a8a8f278a6072e29c7147eee7da446b"}, + {file = "regex-2024.11.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ad182d02e40de7459b73155deb8996bbd8e96852267879396fb274e8700190e3"}, + {file = "regex-2024.11.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ba9b72e5643641b7d41fa1f6d5abda2c9a263ae835b917348fc3c928182ad467"}, + {file = "regex-2024.11.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40291b1b89ca6ad8d3f2b82782cc33807f1406cf68c8d440861da6304d8ffbbd"}, + {file = "regex-2024.11.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cdf58d0e516ee426a48f7b2c03a332a4114420716d55769ff7108c37a09951bf"}, + {file = "regex-2024.11.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a36fdf2af13c2b14738f6e973aba563623cb77d753bbbd8d414d18bfaa3105dd"}, + {file = "regex-2024.11.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d1cee317bfc014c2419a76bcc87f071405e3966da434e03e13beb45f8aced1a6"}, + {file = "regex-2024.11.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:50153825ee016b91549962f970d6a4442fa106832e14c918acd1c8e479916c4f"}, + {file = "regex-2024.11.6-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ea1bfda2f7162605f6e8178223576856b3d791109f15ea99a9f95c16a7636fb5"}, + {file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:df951c5f4a1b1910f1a99ff42c473ff60f8225baa1cdd3539fe2819d9543e9df"}, + {file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:072623554418a9911446278f16ecb398fb3b540147a7828c06e2011fa531e773"}, + {file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:f654882311409afb1d780b940234208a252322c24a93b442ca714d119e68086c"}, + {file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:89d75e7293d2b3e674db7d4d9b1bee7f8f3d1609428e293771d1a962617150cc"}, + {file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:f65557897fc977a44ab205ea871b690adaef6b9da6afda4790a2484b04293a5f"}, + {file = "regex-2024.11.6-cp38-cp38-win32.whl", hash = "sha256:6f44ec28b1f858c98d3036ad5d7d0bfc568bdd7a74f9c24e25f41ef1ebfd81a4"}, + {file = "regex-2024.11.6-cp38-cp38-win_amd64.whl", hash = "sha256:bb8f74f2f10dbf13a0be8de623ba4f9491faf58c24064f32b65679b021ed0001"}, + {file = "regex-2024.11.6-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5704e174f8ccab2026bd2f1ab6c510345ae8eac818b613d7d73e785f1310f839"}, + {file = "regex-2024.11.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:220902c3c5cc6af55d4fe19ead504de80eb91f786dc102fbd74894b1551f095e"}, + {file = "regex-2024.11.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5e7e351589da0850c125f1600a4c4ba3c722efefe16b297de54300f08d734fbf"}, + {file = "regex-2024.11.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5056b185ca113c88e18223183aa1a50e66507769c9640a6ff75859619d73957b"}, + {file = "regex-2024.11.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2e34b51b650b23ed3354b5a07aab37034d9f923db2a40519139af34f485f77d0"}, + {file = "regex-2024.11.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5670bce7b200273eee1840ef307bfa07cda90b38ae56e9a6ebcc9f50da9c469b"}, + {file = "regex-2024.11.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:08986dce1339bc932923e7d1232ce9881499a0e02925f7402fb7c982515419ef"}, + {file = "regex-2024.11.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:93c0b12d3d3bc25af4ebbf38f9ee780a487e8bf6954c115b9f015822d3bb8e48"}, + {file = "regex-2024.11.6-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:764e71f22ab3b305e7f4c21f1a97e1526a25ebdd22513e251cf376760213da13"}, + {file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:f056bf21105c2515c32372bbc057f43eb02aae2fda61052e2f7622c801f0b4e2"}, + {file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:69ab78f848845569401469da20df3e081e6b5a11cb086de3eed1d48f5ed57c95"}, + {file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:86fddba590aad9208e2fa8b43b4c098bb0ec74f15718bb6a704e3c63e2cef3e9"}, + {file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:684d7a212682996d21ca12ef3c17353c021fe9de6049e19ac8481ec35574a70f"}, + {file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a03e02f48cd1abbd9f3b7e3586d97c8f7a9721c436f51a5245b3b9483044480b"}, + {file = "regex-2024.11.6-cp39-cp39-win32.whl", hash = "sha256:41758407fc32d5c3c5de163888068cfee69cb4c2be844e7ac517a52770f9af57"}, + {file = "regex-2024.11.6-cp39-cp39-win_amd64.whl", hash = "sha256:b2837718570f95dd41675328e111345f9b7095d821bac435aac173ac80b19983"}, + {file = "regex-2024.11.6.tar.gz", hash = "sha256:7ab159b063c52a0333c884e4679f8d7a85112ee3078fe3d9004b2dd875585519"}, +] + [[package]] name = "requests" version = "2.32.3" @@ -937,6 +1177,23 @@ urllib3 = ">=1.21.1,<3" socks = ["PySocks (>=1.5.6,!=1.5.7)"] use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] +[[package]] +name = "requests-mock" +version = "1.12.1" +description = "Mock out responses from the requests package" +optional = false +python-versions = ">=3.5" +files = [ + {file = "requests-mock-1.12.1.tar.gz", hash = "sha256:e9e12e333b525156e82a3c852f22016b9158220d2f47454de9cae8a77d371401"}, + {file = "requests_mock-1.12.1-py2.py3-none-any.whl", hash = "sha256:b1e37054004cdd5e56c84454cc7df12b25f90f382159087f4b6915aaeef39563"}, +] + +[package.dependencies] +requests = ">=2.22,<3" + +[package.extras] +fixture = ["fixtures"] + [[package]] name = "requests-oauthlib" version = "2.0.0" @@ -1042,6 +1299,17 @@ files = [ {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, ] +[[package]] +name = "tomli" +version = "2.1.0" +description = "A lil' TOML parser" +optional = false +python-versions = ">=3.8" +files = [ + {file = "tomli-2.1.0-py3-none-any.whl", hash = "sha256:a5c57c3d1c56f5ccdf89f6523458f60ef716e210fc47c4cfb188c5ba473e0391"}, + {file = "tomli-2.1.0.tar.gz", hash = "sha256:3f646cae2aec94e17d04973e4249548320197cfabdf130015d023de4b74d8ab8"}, +] + [[package]] name = "types-python-dateutil" version = "2.9.0.20241003" @@ -1100,6 +1368,34 @@ files = [ {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, ] +[[package]] +name = "tzdata" +version = "2024.2" +description = "Provider of IANA time zone data" +optional = false +python-versions = ">=2" +files = [ + {file = "tzdata-2024.2-py2.py3-none-any.whl", hash = "sha256:a48093786cdcde33cad18c2555e8532f34422074448fbc874186f0abd79565cd"}, + {file = "tzdata-2024.2.tar.gz", hash = "sha256:7d85cc416e9382e69095b7bdf4afd9e3880418a2413feec7069d533d6b4e31cc"}, +] + +[[package]] +name = "tzlocal" +version = "5.2" +description = "tzinfo object for the local timezone" +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] +tzdata = {version = "*", markers = "platform_system == \"Windows\""} + +[package.extras] +devenv = ["check-manifest", "pytest (>=4.3)", "pytest-cov", "pytest-mock (>=3.3)", "zest.releaser"] + [[package]] name = "uritemplate" version = "4.1.1" @@ -1159,4 +1455,4 @@ watchmedo = ["PyYAML (>=3.10)", "argh (>=0.24.1)"] [metadata] lock-version = "2.0" python-versions = "^3.9" -content-hash = "ae94d85521999f3e3666b7d8f5bbe6c7c85505797b5612e81df4d07d106935f1" +content-hash = "2f375daf18fdf6561d2cca019340b245c54834c67b536f9c3e4ac1bd9cf207ca" diff --git a/pyproject.toml b/pyproject.toml index 3c34eeb90..f7b14fa87 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -88,6 +88,15 @@ junitparser = "^3.1.2" jira = "^3.8.0" gitpython = "^3.1.43" # import git +[tool.poetry.group.dev] + +[tool.poetry.group.dev.dependencies] +pytest = ">=7.1.2" +requests-mock = ">=1.9.3" +pytest-mock = ">=3.7.0" +freezegun = ">=1.1.0" +dateparser = ">=1.2.0" + [tool.ruff] line-length = 130 target-version = "py310"