yap-gcp


Nameyap-gcp JSON
Version 1.8.0 PyPI version JSON
download
home_pagehttps://github.com/DingWB/cemba_data; https://github.com/lhqing/cemba_data
SummaryPipelines for single nucleus methylome and multi-omic dataset.
upload_time2024-02-16 07:27:18
maintainer
docs_urlNone
authorHanqing Liu, Wubin Ding
requires_python>=3.0
licenseMIT License Copyright (c) 2018 - 2020 Hanqing Liu Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords yap cemba_data yap-gcp
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [](http://www.network-science.de/ascii/)
<pre>
 **    **     **        *******
//**  **     ****      /**////**
 //****     **//**     /**   /**
  //**     **  //**    /*******
   /**    **********   /**////
   /**   /**//////**   /**
   /**   /**     /**   /**
   //    //      //    //
</pre>
[See Documentation](https://hq-1.gitbook.io/mc/)


# Install
To install this latest version:
```shell
pip install git+https://github.com/DingWB/cemba_data
# or
pip install yap-gcp
```

# Documentation
1. Run on local
### (1). Make sure create the right environment
```shell
git clone https://github.com/DingWB/cemba_data.git
mamba env create -f cemba_data/env.yaml
pip install pysam==0.20.0
conda activate yap
```
Or directly read from http:
```shell
mamba env create -f https://raw.githubusercontent.com/DingWB/cemba_data/master/env.yaml
pip install pysam==0.20.0
conda activate yap
```

### (2). Generate config.ini
```shell
yap default-mapping-config --mode m3c --barcode_version V2 --bismark_ref "~/Ref/hg38/hg38_ucsc_with_chrL.bismark1" \
      --genome "~/Ref/hg38/hg38_ucsc_with_chrL.fa" --chrom_size_path "~/Ref/hg38/hg38_ucsc.main.chrom.sizes"  \
      > config.ini
# pay attention to the path of reference, should be the same as on the GCP if you are going to run the pipeline on GCP.      
```
### (3). Demultiplex
```shell
yap demultiplex --fastq_pattern "test_fastq/*.gz" -o mapping -j 4 --aligner bismark --config_path config.ini

```
### (4). Run mapping
### Run on local computer or HPC
```shell
sh mapping/snakemake/qsub/snakemake_cmd.txt
```

## 2. Run demultiplex on local and mapping on GCP
### (1). Demultiplex is the same
### (2). Mapping on GCP manually
```shell
scp mapping/AMB_220510_8wk_12D_13B_2_P3-5-A11/Snakefile highmem1:~/sky_workdir
scp -r mapping/AMB_220510_8wk_12D_13B_2_P3-5-A11/fastq highmem1:~/sky_workdir
# GCP
mamba env create -f https://raw.githubusercontent.com/DingWB/cemba_data/master/env.yaml
mkdir -p ~/Ref && gsutil -m cp -r -n gs://wubin_ref/hg38 ~/Ref
prefix="mapping_example/mapping/test/AMB_220510_8wk_12D_13B_2_P3-6-A11"
snakemake --snakefile ~/sky_workdir/Snakefile -j 8 --default-resources mem_mb=100 --resources mem_mb=50000 --config gcp=True --default-remote-prefix ${prefix} --default-remote-provider GS --google-lifesciences-region us-west1 --keep-remote -np
```

### (3) Run on GCP automatically
```shell
wget https://raw.githubusercontent.com/DingWB/cemba_data/master/cemba_data/files/skypilot_template.yaml
# vim skypilot_template.yaml
# change image_id, --default-remote-prefix (such as mapping_example/mapping/test1/{outdir})
yap update-snakemake -o mapping -t skypilot_template.yaml
# spot
#sky spot launch -y mapping/snakemake/gcp/AMB_220510_8wk_12D_13B_2_P3-3-A11.yaml
cnda activate sky
sh mapping/snakemake/gcp/sky_spot.sh
```

## 2.1 Run demultiplex on GCP
```shell
#yap-gcp get_demultiplex_skypilot_yaml > skypilot.yaml
# there are two test fastq files under gs://mapping_example/fastq/test_fastq (before demultiplex)
yap-gcp prepare_demultiplex --fq_dir gs://mapping_example/fastq/test_fastq \
              --remote_prefix mapping_example --outdir test_gcp_hisat3n \
              --env_name yap --n_jobs 96 --output run_demultiplex.yaml
# vim and change config in run_demultiplex.yaml
sky launch -y -n demultiplex run_demultiplex.yaml # Do Not use spot mode.
```

## 2.2 Run mapping on GCP
```shell
# mapping (bismark or hisat-3n)
yap default-mapping-config --mode m3c-multi --barcode_version V2 --bismark_ref "~/Ref/hg38/hg38_ucsc_with_chrL.bismark1" --genome "~/Ref/hg38/hg38_ucsc_with_chrL.fa" --chrom_size_path "~/Ref/hg38/hg38_ucsc.main.chrom.sizes" --hisat3n_dna_ref  "~/Ref/hg38/hg38_ucsc_with_chrL" > config.ini
# vim config.ini, check hisat3n_repeat_index_type should be: repeat, mode is m3c-multi

# gs://mapping_example/test_gcp_hisat3n is the outdir of prepare_demultiplex
yap-gcp prepare_mapping --fastq_prefix gs://mapping_example/test_gcp_hisat3n --config_path config.ini --aligner hisat-3n --chunk_size 6 --job_name='mapping' --env_name='yap' --n_jobs=8
# folder mapping_gcp_tmp will be created (default folder name)
# view and edit run_mapping.yaml; Note: remember to copy reference to VM machine
# When one want to run the jobs on multiple nodes, please change num_nodes and use --node_rank "$SKYPILOT_NODE_RANK"'
# to tell yap-gcp run_mapping which node and batch it is running
# when set node_rank < 0, for example, -1, will run with only 1 node, chunk_size is overwritten.
# remember to change instance type
sky spot launch -y -n mapping run_mapping.yaml
# or: sky launch -y -n mapping run_mapping.yaml
```


# Testing pipeline
## 1.1. Make example fastq files
Randomly sampling 1000000 reads from 4 big fastq files

```shell
seqtk sample -s100 download/UWA7648_CX182024_Idg_1_P1-1-K15_22HC72LT3_S1_L001_R1_001.fastq.gz 1000000 | gzip > novaseq_fastq/UWA7648_CX182024_Idg_1_P1-1-K15_22HC72LT3_S1_L001_R1_001.fastq.gz
# | paste - - - - | sort -k1,1 -t " " | tr "\t" "\n" |
```


## 2.1 Run pipeline on GCP
```shell
yap-gcp get_demultiplex_skypilot_yaml > demultiplex.yaml # vim
# demultiplex: n1-highcpu-16
yap-gcp yap_pipeline --fq_dir="gs://mapping_example/fastq/novaseq_fastq" \
    --remote_prefix='mapping_example' --outdir='novaseq_mapping' --env_name='yap' \
    --n_jobs1=16 --n_jobs2=16 \
	--image="bican" --n_node 2 --disk_size1 300 --disk_size2 300 \
    --demultiplex_template="demultiplex.yaml" \
	--mapping_template="mapping.yaml" \
	--genome="~/Ref/hg38_Broad/hg38.fa" \
	--hisat3n_dna_ref="~/Ref/hg38_Broad/hg38" \
	--mode='m3c' --bismark_ref='~/Ref/hg38/hg38_ucsc_with_chrL.bismark1' \
	--chrom_size_path='~/Ref/hg38_Broad/hg38.chrom.sizes' \
	--aligner='hisat-3n' > run.sh
source run.sh
```


# Run Salk010 for test (comparing cost with Broad)
```shell
# salk10_test
## 1.1 Run demultiplex on GCP
yap-gcp get_demultiplex_skypilot_yaml > demultiplex.yaml # vim
# demultiplex: n1-highcpu-64
yap-gcp yap_pipeline --fq_dir="gs://mapping_example/fastq/salk10_test" \
--remote_prefix='bican' --outdir='salk010_test' --env_name='yap' \
--n_jobs1=16 --n_jobs2=64 \
--image="bican" --disk_size1 300 --disk_size2 500 \
--demultiplex_template="demultiplex.yaml" \
--mapping_template="mapping.yaml" \
--genome="~/Ref/hg38_Broad/hg38.fa" \
--hisat3n_dna_ref="~/Ref/hg38_Broad/hg38" \
--mode='m3c' --bismark_ref='~/Ref/hg38/hg38_ucsc_with_chrL.bismark1' \
--chrom_size_path='~/Ref/hg38_Broad/hg38.chrom.sizes' \
--aligner='hisat-3n' --n_node=2 > run.sh
	
source run.sh
  
# salk10
yap-gcp yap_pipeline --fq_dir="gs://nemo-tmp-4mxgixf-salk010/raw" \
--remote_prefix='bican' --outdir='salk010' --env_name='yap' \
--image="bican" --disk_size1 4096 --disk_size2 500 \
--n_jobs1 16 --n_jobs2 64 \
--demultiplex_template="~/Projects/BICAN/yaml/demultiplex.yaml" \
--mapping_template="~/Projects/BICAN/yaml/mapping.yaml" \
--genome="~/Ref/hg38_Broad/hg38.fa" \
--hisat3n_dna_ref="~/Ref/hg38_Broad/hg38" \
--mode='m3c' --bismark_ref='~/Ref/hg38/hg38_ucsc_with_chrL.bismark1' \
--chrom_size_path='~/Ref/hg38_Broad/hg38.chrom.sizes' \
--aligner='hisat-3n' --n_node 12 > run.sh
```

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/DingWB/cemba_data; https://github.com/lhqing/cemba_data",
    "name": "yap-gcp",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.0",
    "maintainer_email": "",
    "keywords": "yap,cemba_data,yap-gcp",
    "author": "Hanqing Liu, Wubin Ding",
    "author_email": "Hanqing Liu <hanliu@salk.edu>, Wubin Ding <wding@salk.edu>",
    "download_url": "https://files.pythonhosted.org/packages/00/3a/df85cb1851a45bc56ed882cbb9fac633a3ff2ef3b97b6ca28a722c34b78d/yap-gcp-1.8.0.tar.gz",
    "platform": null,
    "description": "[](http://www.network-science.de/ascii/)\n<pre>\n **    **     **        *******\n//**  **     ****      /**////**\n //****     **//**     /**   /**\n  //**     **  //**    /*******\n   /**    **********   /**////\n   /**   /**//////**   /**\n   /**   /**     /**   /**\n   //    //      //    //\n</pre>\n[See Documentation](https://hq-1.gitbook.io/mc/)\n\n\n# Install\nTo install this latest version:\n```shell\npip install git+https://github.com/DingWB/cemba_data\n# or\npip install yap-gcp\n```\n\n# Documentation\n1. Run on local\n### (1). Make sure create the right environment\n```shell\ngit clone https://github.com/DingWB/cemba_data.git\nmamba env create -f cemba_data/env.yaml\npip install pysam==0.20.0\nconda activate yap\n```\nOr directly read from http:\n```shell\nmamba env create -f https://raw.githubusercontent.com/DingWB/cemba_data/master/env.yaml\npip install pysam==0.20.0\nconda activate yap\n```\n\n### (2). Generate config.ini\n```shell\nyap default-mapping-config --mode m3c --barcode_version V2 --bismark_ref \"~/Ref/hg38/hg38_ucsc_with_chrL.bismark1\" \\\n      --genome \"~/Ref/hg38/hg38_ucsc_with_chrL.fa\" --chrom_size_path \"~/Ref/hg38/hg38_ucsc.main.chrom.sizes\"  \\\n      > config.ini\n# pay attention to the path of reference, should be the same as on the GCP if you are going to run the pipeline on GCP.      \n```\n### (3). Demultiplex\n```shell\nyap demultiplex --fastq_pattern \"test_fastq/*.gz\" -o mapping -j 4 --aligner bismark --config_path config.ini\n\n```\n### (4). Run mapping\n### Run on local computer or HPC\n```shell\nsh mapping/snakemake/qsub/snakemake_cmd.txt\n```\n\n## 2. Run demultiplex on local and mapping on GCP\n### (1). Demultiplex is the same\n### (2). Mapping on GCP manually\n```shell\nscp mapping/AMB_220510_8wk_12D_13B_2_P3-5-A11/Snakefile highmem1:~/sky_workdir\nscp -r mapping/AMB_220510_8wk_12D_13B_2_P3-5-A11/fastq highmem1:~/sky_workdir\n# GCP\nmamba env create -f https://raw.githubusercontent.com/DingWB/cemba_data/master/env.yaml\nmkdir -p ~/Ref && gsutil -m cp -r -n gs://wubin_ref/hg38 ~/Ref\nprefix=\"mapping_example/mapping/test/AMB_220510_8wk_12D_13B_2_P3-6-A11\"\nsnakemake --snakefile ~/sky_workdir/Snakefile -j 8 --default-resources mem_mb=100 --resources mem_mb=50000 --config gcp=True --default-remote-prefix ${prefix} --default-remote-provider GS --google-lifesciences-region us-west1 --keep-remote -np\n```\n\n### (3) Run on GCP automatically\n```shell\nwget https://raw.githubusercontent.com/DingWB/cemba_data/master/cemba_data/files/skypilot_template.yaml\n# vim skypilot_template.yaml\n# change image_id, --default-remote-prefix (such as mapping_example/mapping/test1/{outdir})\nyap update-snakemake -o mapping -t skypilot_template.yaml\n# spot\n#sky spot launch -y mapping/snakemake/gcp/AMB_220510_8wk_12D_13B_2_P3-3-A11.yaml\ncnda activate sky\nsh mapping/snakemake/gcp/sky_spot.sh\n```\n\n## 2.1 Run demultiplex on GCP\n```shell\n#yap-gcp get_demultiplex_skypilot_yaml > skypilot.yaml\n# there are two test fastq files under gs://mapping_example/fastq/test_fastq (before demultiplex)\nyap-gcp prepare_demultiplex --fq_dir gs://mapping_example/fastq/test_fastq \\\n              --remote_prefix mapping_example --outdir test_gcp_hisat3n \\\n              --env_name yap --n_jobs 96 --output run_demultiplex.yaml\n# vim and change config in run_demultiplex.yaml\nsky launch -y -n demultiplex run_demultiplex.yaml # Do Not use spot mode.\n```\n\n## 2.2 Run mapping on GCP\n```shell\n# mapping (bismark or hisat-3n)\nyap default-mapping-config --mode m3c-multi --barcode_version V2 --bismark_ref \"~/Ref/hg38/hg38_ucsc_with_chrL.bismark1\" --genome \"~/Ref/hg38/hg38_ucsc_with_chrL.fa\" --chrom_size_path \"~/Ref/hg38/hg38_ucsc.main.chrom.sizes\" --hisat3n_dna_ref  \"~/Ref/hg38/hg38_ucsc_with_chrL\" > config.ini\n# vim config.ini, check hisat3n_repeat_index_type should be: repeat, mode is m3c-multi\n\n# gs://mapping_example/test_gcp_hisat3n is the outdir of prepare_demultiplex\nyap-gcp prepare_mapping --fastq_prefix gs://mapping_example/test_gcp_hisat3n --config_path config.ini --aligner hisat-3n --chunk_size 6 --job_name='mapping' --env_name='yap' --n_jobs=8\n# folder mapping_gcp_tmp will be created (default folder name)\n# view and edit run_mapping.yaml; Note: remember to copy reference to VM machine\n# When one want to run the jobs on multiple nodes, please change num_nodes and use --node_rank \"$SKYPILOT_NODE_RANK\"'\n# to tell yap-gcp run_mapping which node and batch it is running\n# when set node_rank < 0, for example, -1, will run with only 1 node, chunk_size is overwritten.\n# remember to change instance type\nsky spot launch -y -n mapping run_mapping.yaml\n# or: sky launch -y -n mapping run_mapping.yaml\n```\n\n\n# Testing pipeline\n## 1.1. Make example fastq files\nRandomly sampling 1000000 reads from 4 big fastq files\n\n```shell\nseqtk sample -s100 download/UWA7648_CX182024_Idg_1_P1-1-K15_22HC72LT3_S1_L001_R1_001.fastq.gz 1000000 | gzip > novaseq_fastq/UWA7648_CX182024_Idg_1_P1-1-K15_22HC72LT3_S1_L001_R1_001.fastq.gz\n# | paste - - - - | sort -k1,1 -t \" \" | tr \"\\t\" \"\\n\" |\n```\n\n\n## 2.1 Run pipeline on GCP\n```shell\nyap-gcp get_demultiplex_skypilot_yaml > demultiplex.yaml # vim\n# demultiplex: n1-highcpu-16\nyap-gcp yap_pipeline --fq_dir=\"gs://mapping_example/fastq/novaseq_fastq\" \\\n    --remote_prefix='mapping_example' --outdir='novaseq_mapping' --env_name='yap' \\\n    --n_jobs1=16 --n_jobs2=16 \\\n\t--image=\"bican\" --n_node 2 --disk_size1 300 --disk_size2 300 \\\n    --demultiplex_template=\"demultiplex.yaml\" \\\n\t--mapping_template=\"mapping.yaml\" \\\n\t--genome=\"~/Ref/hg38_Broad/hg38.fa\" \\\n\t--hisat3n_dna_ref=\"~/Ref/hg38_Broad/hg38\" \\\n\t--mode='m3c' --bismark_ref='~/Ref/hg38/hg38_ucsc_with_chrL.bismark1' \\\n\t--chrom_size_path='~/Ref/hg38_Broad/hg38.chrom.sizes' \\\n\t--aligner='hisat-3n' > run.sh\nsource run.sh\n```\n\n\n# Run Salk010 for test (comparing cost with Broad)\n```shell\n# salk10_test\n## 1.1 Run demultiplex on GCP\nyap-gcp get_demultiplex_skypilot_yaml > demultiplex.yaml # vim\n# demultiplex: n1-highcpu-64\nyap-gcp yap_pipeline --fq_dir=\"gs://mapping_example/fastq/salk10_test\" \\\n--remote_prefix='bican' --outdir='salk010_test' --env_name='yap' \\\n--n_jobs1=16 --n_jobs2=64 \\\n--image=\"bican\" --disk_size1 300 --disk_size2 500 \\\n--demultiplex_template=\"demultiplex.yaml\" \\\n--mapping_template=\"mapping.yaml\" \\\n--genome=\"~/Ref/hg38_Broad/hg38.fa\" \\\n--hisat3n_dna_ref=\"~/Ref/hg38_Broad/hg38\" \\\n--mode='m3c' --bismark_ref='~/Ref/hg38/hg38_ucsc_with_chrL.bismark1' \\\n--chrom_size_path='~/Ref/hg38_Broad/hg38.chrom.sizes' \\\n--aligner='hisat-3n' --n_node=2 > run.sh\n\t\nsource run.sh\n  \n# salk10\nyap-gcp yap_pipeline --fq_dir=\"gs://nemo-tmp-4mxgixf-salk010/raw\" \\\n--remote_prefix='bican' --outdir='salk010' --env_name='yap' \\\n--image=\"bican\" --disk_size1 4096 --disk_size2 500 \\\n--n_jobs1 16 --n_jobs2 64 \\\n--demultiplex_template=\"~/Projects/BICAN/yaml/demultiplex.yaml\" \\\n--mapping_template=\"~/Projects/BICAN/yaml/mapping.yaml\" \\\n--genome=\"~/Ref/hg38_Broad/hg38.fa\" \\\n--hisat3n_dna_ref=\"~/Ref/hg38_Broad/hg38\" \\\n--mode='m3c' --bismark_ref='~/Ref/hg38/hg38_ucsc_with_chrL.bismark1' \\\n--chrom_size_path='~/Ref/hg38_Broad/hg38.chrom.sizes' \\\n--aligner='hisat-3n' --n_node 12 > run.sh\n```\n",
    "bugtrack_url": null,
    "license": "MIT License  Copyright (c) 2018 - 2020 Hanqing Liu  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ",
    "summary": "Pipelines for single nucleus methylome and multi-omic dataset.",
    "version": "1.8.0",
    "project_urls": {
        "Homepage": "https://github.com/lhqing/cemba_data",
        "documentation": "https://hq-1.gitbook.io/mc/",
        "repository": "https://github.com/DingWB/cemba_data"
    },
    "split_keywords": [
        "yap",
        "cemba_data",
        "yap-gcp"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1f1bd263f98741092ea44654a175348d32e14acfcd7d85c06c4b58a45644d02d",
                "md5": "1b73f495c7c1e40a4f88eacabdfaaa18",
                "sha256": "3e8167977666156f40ff0b7a9cc84ec9b3e805722a6b3cb776b7fe4d1879f9d4"
            },
            "downloads": -1,
            "filename": "yap_gcp-1.8.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "1b73f495c7c1e40a4f88eacabdfaaa18",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.0",
            "size": 308817,
            "upload_time": "2024-02-16T07:27:15",
            "upload_time_iso_8601": "2024-02-16T07:27:15.697238Z",
            "url": "https://files.pythonhosted.org/packages/1f/1b/d263f98741092ea44654a175348d32e14acfcd7d85c06c4b58a45644d02d/yap_gcp-1.8.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "003adf85cb1851a45bc56ed882cbb9fac633a3ff2ef3b97b6ca28a722c34b78d",
                "md5": "9a8da07effb62e0fa91484d08ecb38d9",
                "sha256": "8858f706c07d654783e643852e0f2d718ae5022f2e2226143feceff513262bfa"
            },
            "downloads": -1,
            "filename": "yap-gcp-1.8.0.tar.gz",
            "has_sig": false,
            "md5_digest": "9a8da07effb62e0fa91484d08ecb38d9",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.0",
            "size": 6959905,
            "upload_time": "2024-02-16T07:27:18",
            "upload_time_iso_8601": "2024-02-16T07:27:18.933711Z",
            "url": "https://files.pythonhosted.org/packages/00/3a/df85cb1851a45bc56ed882cbb9fac633a3ff2ef3b97b6ca28a722c34b78d/yap-gcp-1.8.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-16 07:27:18",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "DingWB",
    "github_project": "cemba_data; https:",
    "github_not_found": true,
    "lcname": "yap-gcp"
}
        
Elapsed time: 0.19713s