esi-utils-pager


Nameesi-utils-pager JSON
Version 1.1.14 PyPI version JSON
download
home_pageNone
SummaryUSGS PAGER loss modeling functionality
upload_time2024-05-08 20:27:17
maintainerNone
docs_urlNone
authorNone
requires_python<=3.10
licenseLicense ======= Unless otherwise noted, This project is in the public domain in the United States because it contains materials that originally came from the United States Geological Survey, an agency of the United States Department of Interior. For more information, see the official USGS copyright policy at https://www2.usgs.gov/visual-id/credit_usgs.html#copyright Additionally, we waive copyright and related rights in the work worldwide through the CC0 1.0 Universal public domain dedication. CC0 1.0 Universal Summary ------------------------- This is a human-readable summary of the [Legal Code (read the full text)][1]. ### No Copyright The person who associated a work with this deed has dedicated the work to the public domain by waiving all of his or her rights to the work worldwide under copyright law, including all related and neighboring rights, to the extent allowed by law. You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission. ### Other Information In no way are the patent or trademark rights of any person affected by CC0, nor are the rights that other persons may have in the work or in how the work is used, such as publicity or privacy rights. Unless expressly stated otherwise, the person who associated a work with this deed makes no warranties about the work, and disclaims liability for all uses of the work, to the fullest extent permitted by applicable law. When using or citing the work, you should not imply endorsement by the author or the affirmer. [1]: https://creativecommons.org/publicdomain/zero/1.0/legalcode
keywords losses earthquake
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Table of Contents
- [Table of Contents](#table-of-contents)
- [Introduction](#introduction)
- [Installation](#installation)
- [Upgrading](#upgrading)
- [Required data](#required-data)
- [Configuration (for calc\_pager\_event API usage and command line usage)](#configuration-for-calc_pager_event-api-usage-and-command-line-usage)
- [Command Line Usage](#command-line-usage)
- [Library Usage](#library-usage)

# Introduction

This library of tools forms the modeling core of the Prompt Assessment for Global Earthquake Response (PAGER) system,
which provides fatality and economic loss impact estimates following significant earthquakes worldwide. The models implemented here are based on work described in the following papers:

```
Jaiswal, K. S., and Wald, D. J. (2010). An Empirical Model for Global Earthquake Fatality Estimation. Earthquake Spectra, 26, No. 4, 1017-1037
```

```
Jaiswal, K. S., and Wald, D. J. (2011). Rapid estimation of the economic consequences of global earthquakes. U.S. Geological Survey Open-File Report 2011-1116, 47p.
```

```
Jaiswal, K. S., Wald, D. J., and D’Ayala, D. (2011). Developing Empirical Collapse Fragility Functions for Global Building Types. Earthquake Spectra, 27, No. 3, 775-795
```

The software here can be used for other applications, although it is important to note that the empirical loss models
have not been calibrated with events newer than 2010, and the semi-empirical fatality model results are less accurate than the empirical equivalent.

# Installation

`pip install esi-utils-pager`

# Upgrading

`pip install --upgrade esi-utils-pager`

# Required data

A number of data files external to the repository are required for usage:

 - Population grid, which can be obtained from Oakridge National Labs [Landscan project](https://landscan.ornl.gov/about)
 - Country code grid, which can be obtained upon request from the PAGER team.
 - Urban/rural code grid, obtained from the Socioeconomic Data and Applications Center [(SEDAC)](https://sedac.ciesin.columbia.edu/data/collection/grump-v1)

# Configuration (for calc_pager_event API usage and command line usage)
To run the `pagerlite` program (see below), you must first create a `.losspager/config.yml` file in your home directory. 
You can make the .losspager directory using this command (on Linux and Mac platforms):

`mkdir ~/.losspager`

You may then create the config.yml file in that directory using your text editor of choice. 
This file should look like the following: 

```
#############Minimum PAGER configuration################
#This is where output data goes
output_folder: /data/pagerdata/output/

#Anything not already captured by PAGER event logs will be written here
log_folder: /data/pagerdata/logs

#This section describes all the data needed to run models and make maps
model_data:
  timezones_file: /data/pagerdata/model_data/combined_shapefile.shp
  country_grid: /data/pagerdata/model_data/countriesISO_Aug2022_withbuffer.tif
  population_data:
  - {population_grid: /data/pagerdata/model_data/population/lspop2018.flt, population_year: 2018}
  urban_rural_grid: /data/pagerdata/model_data/glurextents.bil
```


# Command Line Usage
The command line program made available by this repository is `pagerlite`. This program outputs detailed empirical
(fatality/economic) PAGER model results to a tabular format. The help for this program (`pagerlite -h`):

```
positional arguments:
  {event,batch}         Sub-commands are available below.
    event               Run a single event through pagerlite
    batch               Run many events through pagerlite

optional arguments:
  -h, --help            show this help message and exit
  -s, --run-semi        Calculate semi-empirical model results as well.
  -o OUTFILE, --outfile OUTFILE
                        Specify output file (.xlsx for Excel, .csv for CSV)
  -v, --verbose         Print progress output to the screen
  -f FATALITY_FILE, --fatality-file FATALITY_FILE
                        Path to custom fatality Excel file
  -e ECONOMIC_FILE, --economic-file ECONOMIC_FILE
                        Path to custom economic Excel file
  --semi-folder SEMI_FOLDER
                        Path to folder containing custom semi-empirical Excel files. These files MUST be named
                        semi_inventory.xlsx, semi_collapse_mmi.xlsx, semi_casualty.xlsx and semi_workforce.xlsx.
```

There are two subcommands for pagerlite:

 - `pagerlite event` Run on a single event specified by ComCat event ID OR path to grid.xml.
 - `pagerlite batch` Run pagerlite on a directory containing many grid.xml files 
    (these files can be in sub-directories).

The event subcommand is straightforward (`pagerlite event -h`):

```
usage: pagerlite event [-h] file_or_url

positional arguments:
  file_or_url  Path to local ShakeMap grid XML OR ComCat event ID.

optional arguments:
  -h, --help   show this help message and exit
```

The `batch` subcommand has a number of optional arguments (`pagerlite batch -h`):

```
usage: pagerlite batch [-h] [-f FOLDER] [-t TIME_RANGE TIME_RANGE] [-b lonmin lonmax latmin latmax]
                       [-d depthmin depthmax] [-m minmag maxmag]

optional arguments:
  -h, --help            show this help message and exit
  -f FOLDER, --folder FOLDER
                        A folder containing many ShakeMap *grid.xml files.
  -t TIME_RANGE TIME_RANGE, --time-range TIME_RANGE TIME_RANGE
                        Only process events within given time range.
  -b lonmin lonmax latmin latmax, --bounds lonmin lonmax latmin latmax
                        Only process events within spatial boundary [lonmin lonmax latmin latmax].
  -d depthmin depthmax, --depth-range depthmin depthmax
                        Only process events within depth range [depthmin depthmax].
  -m minmag maxmag, --mag-range minmag maxmag
                        Minimum and maximum (authoritative) magnitude to restrict search.
```

## Examples

To run the PAGER empirical models *only* on a ShakeMap grid.xml file in the current directory and write the results to an Excel file:

`pagerlite -o output.xlsx event grid.xml`

To run the PAGER empirical models *only* on a directory containing (potentially) many sub-directories with 
files ending in "grid.xml":

`pagerlite -o output.xlsx batch -f /data/shakemap_output/`

To run the PAGER empirical models *only* on a ComCat event ID (this will download the authoritative 
ShakeMap grid.xml file from ComCat):

`pagerlite -o output.xlsx batch us7000lz23 `

To run the PAGER empirical AND semi-empirical models, simply add the `-s` flag to any of the above commands:

`pagerlite -s -o output.xlsx batch us7000lz23`

To run the PAGER empirical models on a folder but only for events between 2010 and 2017:

`pagerlite -o output.xlsx batch -f /data/shakemap_output/ -t 2010-01-01 2017-12-31T23:59:59`

To run PAGER empirical models on a folder but only for events in Japan:
`pagerlite -o output.xlsx batch -f /data/shakemap_output/ -b 30.844021 44.762578 128.336525  149.031827`

It is possible to provide your own PAGER input files for the empirical fatality and economic models, 
and for the semi-empirical fatality model. These files can be found in the repository:

 - [Empirical fatality model](https://code.usgs.gov/ghsc/esi/esi-utils-pager/-/raw/main/src/esi_utils_pager/data/fatality.xlsx?ref_type=heads):
 - [Empirical economic model](https://code.usgs.gov/ghsc/esi/esi-utils-pager/-/raw/main/src/esi_utils_pager/data/economic.xlsx?ref_type=heads)
 - Semi-Empirical Model Data:
   - [Inventory](https://code.usgs.gov/ghsc/esi/esi-utils-pager/-/raw/main/src/esi_utils_pager/data/semi_inventory.xlsx?ref_type=heads)
   - [Workforce](https://code.usgs.gov/ghsc/esi/esi-utils-pager/-/raw/main/src/esi_utils_pager/data/semi_workforce.xlsx?ref_type=heads)
   - [Collapse](https://code.usgs.gov/ghsc/esi/esi-utils-pager/-/raw/main/src/esi_utils_pager/data/semi_collapse_mmi.xlsx?ref_type=heads)
   - [Casualty](https://code.usgs.gov/ghsc/esi/esi-utils-pager/-/raw/main/src/esi_utils_pager/data/semi_casualty.xlsx?ref_type=heads)


To run pagerlite on the event `us10003re5` with custom empirical data files:

`pagerlite -f ~/custom_fatality.xlsx -e ~/custom_economic.xlsx event us10003re5`

To run the semi-empirical model with custom data files, assuming those files are all in the same folder, 
and all named as they are in the repository (semi_inventory.xlsx, semi_workforce.xlsx, 
semi_collapse_mmi.xlsx, semi_casualty.xlsx):

`pagerlite -s --semi-folder ~/test_semi/test1 event us10003re5`

Any custom input files can be used in either `event` or `batch` modes.

See the help for more options (depth and magnitude ranges) on restricting processing of ShakeMap
grids.

### Running background processes

Running pagerlite over a large number of events can take many minutes or hours
depending on the number of events being run.  If you have access to a Linux system, you can
run a batch process in the background and also ensure that the process will continue when you
disconnect from the remote Linux system. The way to do this is to combine the `nohup` command
(short for "no hang up") and the ampersand "&" character at the end of the command. 
Below is an example running on all events inside an Afghanistan bounding box:

`nohup pagerlite  -o ~/afghanistan_text.csv -v batch -f /data/shakedata/ -b 60.271 73.367 29.581 38.795 > ~/afghanistan_log.txt&`

Executing this command with the "&" at the end will start it running in the background. When it is done, you
can run `tail afghanistan_log.txt` until you see a line that looks like this:

`Saving 1258 rows to afghanistan_text.csv`

If you want to watch the progress of pagerlite, you can run:

`tail -f afghanistan_log.txt`

and see output streaming by as each event is processed.


# Library Usage

Usage of the relevant code modules is detailed in the Jupyter notebooks, most notably in the 
[Earthquake Losses notebook](https://code.usgs.gov/ghsc/esi/esi-utils-pager/-/blob/main/notebooks/EarthquakeLosses.ipynb)



            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "esi-utils-pager",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<=3.10",
    "maintainer_email": null,
    "keywords": "losses, earthquake",
    "author": null,
    "author_email": "Mike Hearne <mhearne@usgs.gov>",
    "download_url": "https://files.pythonhosted.org/packages/80/df/4427442701cf61dc449b101a808052fef43881d63e52c16f1c08ab5399f0/esi_utils_pager-1.1.14.tar.gz",
    "platform": null,
    "description": "# Table of Contents\n- [Table of Contents](#table-of-contents)\n- [Introduction](#introduction)\n- [Installation](#installation)\n- [Upgrading](#upgrading)\n- [Required data](#required-data)\n- [Configuration (for calc\\_pager\\_event API usage and command line usage)](#configuration-for-calc_pager_event-api-usage-and-command-line-usage)\n- [Command Line Usage](#command-line-usage)\n- [Library Usage](#library-usage)\n\n# Introduction\n\nThis library of tools forms the modeling core of the Prompt Assessment for Global Earthquake Response (PAGER) system,\nwhich provides fatality and economic loss impact estimates following significant earthquakes worldwide. The models implemented here are based on work described in the following papers:\n\n```\nJaiswal, K. S., and Wald, D. J. (2010). An Empirical Model for Global Earthquake Fatality Estimation. Earthquake Spectra, 26, No. 4, 1017-1037\n```\n\n```\nJaiswal, K. S., and Wald, D. J. (2011). Rapid estimation of the economic consequences of global earthquakes. U.S. Geological Survey Open-File Report 2011-1116, 47p.\n```\n\n```\nJaiswal, K. S., Wald, D. J., and D\u2019Ayala, D. (2011). Developing Empirical Collapse Fragility Functions for Global Building Types. Earthquake Spectra, 27, No. 3, 775-795\n```\n\nThe software here can be used for other applications, although it is important to note that the empirical loss models\nhave not been calibrated with events newer than 2010, and the semi-empirical fatality model results are less accurate than the empirical equivalent.\n\n# Installation\n\n`pip install esi-utils-pager`\n\n# Upgrading\n\n`pip install --upgrade esi-utils-pager`\n\n# Required data\n\nA number of data files external to the repository are required for usage:\n\n - Population grid, which can be obtained from Oakridge National Labs [Landscan project](https://landscan.ornl.gov/about)\n - Country code grid, which can be obtained upon request from the PAGER team.\n - Urban/rural code grid, obtained from the Socioeconomic Data and Applications Center [(SEDAC)](https://sedac.ciesin.columbia.edu/data/collection/grump-v1)\n\n# Configuration (for calc_pager_event API usage and command line usage)\nTo run the `pagerlite` program (see below), you must first create a `.losspager/config.yml` file in your home directory. \nYou can make the .losspager directory using this command (on Linux and Mac platforms):\n\n`mkdir ~/.losspager`\n\nYou may then create the config.yml file in that directory using your text editor of choice. \nThis file should look like the following: \n\n```\n#############Minimum PAGER configuration################\n#This is where output data goes\noutput_folder: /data/pagerdata/output/\n\n#Anything not already captured by PAGER event logs will be written here\nlog_folder: /data/pagerdata/logs\n\n#This section describes all the data needed to run models and make maps\nmodel_data:\n  timezones_file: /data/pagerdata/model_data/combined_shapefile.shp\n  country_grid: /data/pagerdata/model_data/countriesISO_Aug2022_withbuffer.tif\n  population_data:\n  - {population_grid: /data/pagerdata/model_data/population/lspop2018.flt, population_year: 2018}\n  urban_rural_grid: /data/pagerdata/model_data/glurextents.bil\n```\n\n\n# Command Line Usage\nThe command line program made available by this repository is `pagerlite`. This program outputs detailed empirical\n(fatality/economic) PAGER model results to a tabular format. The help for this program (`pagerlite -h`):\n\n```\npositional arguments:\n  {event,batch}         Sub-commands are available below.\n    event               Run a single event through pagerlite\n    batch               Run many events through pagerlite\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -s, --run-semi        Calculate semi-empirical model results as well.\n  -o OUTFILE, --outfile OUTFILE\n                        Specify output file (.xlsx for Excel, .csv for CSV)\n  -v, --verbose         Print progress output to the screen\n  -f FATALITY_FILE, --fatality-file FATALITY_FILE\n                        Path to custom fatality Excel file\n  -e ECONOMIC_FILE, --economic-file ECONOMIC_FILE\n                        Path to custom economic Excel file\n  --semi-folder SEMI_FOLDER\n                        Path to folder containing custom semi-empirical Excel files. These files MUST be named\n                        semi_inventory.xlsx, semi_collapse_mmi.xlsx, semi_casualty.xlsx and semi_workforce.xlsx.\n```\n\nThere are two subcommands for pagerlite:\n\n - `pagerlite event` Run on a single event specified by ComCat event ID OR path to grid.xml.\n - `pagerlite batch` Run pagerlite on a directory containing many grid.xml files \n    (these files can be in sub-directories).\n\nThe event subcommand is straightforward (`pagerlite event -h`):\n\n```\nusage: pagerlite event [-h] file_or_url\n\npositional arguments:\n  file_or_url  Path to local ShakeMap grid XML OR ComCat event ID.\n\noptional arguments:\n  -h, --help   show this help message and exit\n```\n\nThe `batch` subcommand has a number of optional arguments (`pagerlite batch -h`):\n\n```\nusage: pagerlite batch [-h] [-f FOLDER] [-t TIME_RANGE TIME_RANGE] [-b lonmin lonmax latmin latmax]\n                       [-d depthmin depthmax] [-m minmag maxmag]\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -f FOLDER, --folder FOLDER\n                        A folder containing many ShakeMap *grid.xml files.\n  -t TIME_RANGE TIME_RANGE, --time-range TIME_RANGE TIME_RANGE\n                        Only process events within given time range.\n  -b lonmin lonmax latmin latmax, --bounds lonmin lonmax latmin latmax\n                        Only process events within spatial boundary [lonmin lonmax latmin latmax].\n  -d depthmin depthmax, --depth-range depthmin depthmax\n                        Only process events within depth range [depthmin depthmax].\n  -m minmag maxmag, --mag-range minmag maxmag\n                        Minimum and maximum (authoritative) magnitude to restrict search.\n```\n\n## Examples\n\nTo run the PAGER empirical models *only* on a ShakeMap grid.xml file in the current directory and write the results to an Excel file:\n\n`pagerlite -o output.xlsx event grid.xml`\n\nTo run the PAGER empirical models *only* on a directory containing (potentially) many sub-directories with \nfiles ending in \"grid.xml\":\n\n`pagerlite -o output.xlsx batch -f /data/shakemap_output/`\n\nTo run the PAGER empirical models *only* on a ComCat event ID (this will download the authoritative \nShakeMap grid.xml file from ComCat):\n\n`pagerlite -o output.xlsx batch us7000lz23 `\n\nTo run the PAGER empirical AND semi-empirical models, simply add the `-s` flag to any of the above commands:\n\n`pagerlite -s -o output.xlsx batch us7000lz23`\n\nTo run the PAGER empirical models on a folder but only for events between 2010 and 2017:\n\n`pagerlite -o output.xlsx batch -f /data/shakemap_output/ -t 2010-01-01 2017-12-31T23:59:59`\n\nTo run PAGER empirical models on a folder but only for events in Japan:\n`pagerlite -o output.xlsx batch -f /data/shakemap_output/ -b 30.844021 44.762578 128.336525  149.031827`\n\nIt is possible to provide your own PAGER input files for the empirical fatality and economic models, \nand for the semi-empirical fatality model. These files can be found in the repository:\n\n - [Empirical fatality model](https://code.usgs.gov/ghsc/esi/esi-utils-pager/-/raw/main/src/esi_utils_pager/data/fatality.xlsx?ref_type=heads):\n - [Empirical economic model](https://code.usgs.gov/ghsc/esi/esi-utils-pager/-/raw/main/src/esi_utils_pager/data/economic.xlsx?ref_type=heads)\n - Semi-Empirical Model Data:\n   - [Inventory](https://code.usgs.gov/ghsc/esi/esi-utils-pager/-/raw/main/src/esi_utils_pager/data/semi_inventory.xlsx?ref_type=heads)\n   - [Workforce](https://code.usgs.gov/ghsc/esi/esi-utils-pager/-/raw/main/src/esi_utils_pager/data/semi_workforce.xlsx?ref_type=heads)\n   - [Collapse](https://code.usgs.gov/ghsc/esi/esi-utils-pager/-/raw/main/src/esi_utils_pager/data/semi_collapse_mmi.xlsx?ref_type=heads)\n   - [Casualty](https://code.usgs.gov/ghsc/esi/esi-utils-pager/-/raw/main/src/esi_utils_pager/data/semi_casualty.xlsx?ref_type=heads)\n\n\nTo run pagerlite on the event `us10003re5` with custom empirical data files:\n\n`pagerlite -f ~/custom_fatality.xlsx -e ~/custom_economic.xlsx event us10003re5`\n\nTo run the semi-empirical model with custom data files, assuming those files are all in the same folder, \nand all named as they are in the repository (semi_inventory.xlsx, semi_workforce.xlsx, \nsemi_collapse_mmi.xlsx, semi_casualty.xlsx):\n\n`pagerlite -s --semi-folder ~/test_semi/test1 event us10003re5`\n\nAny custom input files can be used in either `event` or `batch` modes.\n\nSee the help for more options (depth and magnitude ranges) on restricting processing of ShakeMap\ngrids.\n\n### Running background processes\n\nRunning pagerlite over a large number of events can take many minutes or hours\ndepending on the number of events being run.  If you have access to a Linux system, you can\nrun a batch process in the background and also ensure that the process will continue when you\ndisconnect from the remote Linux system. The way to do this is to combine the `nohup` command\n(short for \"no hang up\") and the ampersand \"&\" character at the end of the command. \nBelow is an example running on all events inside an Afghanistan bounding box:\n\n`nohup pagerlite  -o ~/afghanistan_text.csv -v batch -f /data/shakedata/ -b 60.271 73.367 29.581 38.795 > ~/afghanistan_log.txt&`\n\nExecuting this command with the \"&\" at the end will start it running in the background. When it is done, you\ncan run `tail afghanistan_log.txt` until you see a line that looks like this:\n\n`Saving 1258 rows to afghanistan_text.csv`\n\nIf you want to watch the progress of pagerlite, you can run:\n\n`tail -f afghanistan_log.txt`\n\nand see output streaming by as each event is processed.\n\n\n# Library Usage\n\nUsage of the relevant code modules is detailed in the Jupyter notebooks, most notably in the \n[Earthquake Losses notebook](https://code.usgs.gov/ghsc/esi/esi-utils-pager/-/blob/main/notebooks/EarthquakeLosses.ipynb)\n\n\n",
    "bugtrack_url": null,
    "license": "License =======  Unless otherwise noted, This project is in the public domain in the United States because it contains materials that originally came from the United States Geological Survey, an agency of the United States Department of Interior. For more information, see the official USGS copyright policy at https://www2.usgs.gov/visual-id/credit_usgs.html#copyright  Additionally, we waive copyright and related rights in the work worldwide through the CC0 1.0 Universal public domain dedication.   CC0 1.0 Universal Summary -------------------------  This is a human-readable summary of the [Legal Code (read the full text)][1].   ### No Copyright  The person who associated a work with this deed has dedicated the work to the public domain by waiving all of his or her rights to the work worldwide under copyright law, including all related and neighboring rights, to the extent allowed by law.  You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission.   ### Other Information  In no way are the patent or trademark rights of any person affected by CC0, nor are the rights that other persons may have in the work or in how the work is used, such as publicity or privacy rights.  Unless expressly stated otherwise, the person who associated a work with this deed makes no warranties about the work, and disclaims liability for all uses of the work, to the fullest extent permitted by applicable law. When using or citing the work, you should not imply endorsement by the author or the affirmer.    [1]: https://creativecommons.org/publicdomain/zero/1.0/legalcode ",
    "summary": "USGS PAGER loss modeling functionality",
    "version": "1.1.14",
    "project_urls": null,
    "split_keywords": [
        "losses",
        " earthquake"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "15c231f27fc8afb3b8de0745def72faefb561dae2bbf126823c8907e4f3b91d9",
                "md5": "944257236f289d9b05b750985693865f",
                "sha256": "b820f7bbb0ea2b61ba3fe4189d3f7a0d743a9727d25e3458a4b06da6aa8c32bd"
            },
            "downloads": -1,
            "filename": "esi_utils_pager-1.1.14-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "944257236f289d9b05b750985693865f",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<=3.10",
            "size": 1282935,
            "upload_time": "2024-05-08T20:27:16",
            "upload_time_iso_8601": "2024-05-08T20:27:16.217074Z",
            "url": "https://files.pythonhosted.org/packages/15/c2/31f27fc8afb3b8de0745def72faefb561dae2bbf126823c8907e4f3b91d9/esi_utils_pager-1.1.14-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "80df4427442701cf61dc449b101a808052fef43881d63e52c16f1c08ab5399f0",
                "md5": "550d564ead1808029581212949d8b2ba",
                "sha256": "dc83cafa9ef620ace2109fbdf2fe580c24fee8f1082351373e9bfc46348a7930"
            },
            "downloads": -1,
            "filename": "esi_utils_pager-1.1.14.tar.gz",
            "has_sig": false,
            "md5_digest": "550d564ead1808029581212949d8b2ba",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<=3.10",
            "size": 1276183,
            "upload_time": "2024-05-08T20:27:17",
            "upload_time_iso_8601": "2024-05-08T20:27:17.829951Z",
            "url": "https://files.pythonhosted.org/packages/80/df/4427442701cf61dc449b101a808052fef43881d63e52c16f1c08ab5399f0/esi_utils_pager-1.1.14.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-05-08 20:27:17",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "esi-utils-pager"
}
        
Elapsed time: 0.24152s