celerabit-pipeline-integration


Namecelerabit-pipeline-integration JSON
Version 2.0.12 PyPI version JSON
download
home_pagehttps://git-codecommit.zone.amazonaws.com/v1/repos/celerabit-pipeline-integration-py-package
SummaryCelerabit tools to integrate with pipelines
upload_time2024-03-12 17:15:44
maintainer
docs_urlNone
authorRaul A. de Villa C.
requires_python>=3.6
license
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
  

# CELERABIT PIPELINE INTEGRATION TOOLS

  

This package helps to integrate CI/CD processes with [celerabit platform](https://www.celerabit.com)

  

**REQUIEREMENTS**

  

None.

**USAGE**

  

```

python -m celerabitpipelineintegration <operation> [ags] [<flags>]

```

  

## Operation `authenticate`

Generates an [authentication token](https://app.celerabit.com). This token will be input for secure operations.

  

### **Examples**

  

- Generate authentication token

  

```sh

python -m celerabitpipelineintegration authenticate login "myemail@mydomain.com" password "secretpassword"

```

You must replace `myemail@mydomain.com` and `secretpassword` for your valid credentials in celerabit platform.

The Output of this operation is an alphanumeric token like this:

```

eyJhbGciOiJIUzI1NiIsInR5cCI6Ikicm9sZXMiOm51bGx9LCJpYXQiOjE2NzIyNTQyMDAsImV4cCI6MTY3MjI2MTQwMH0cWBm8Iua2sUFkHbr89epcfN9EtwBDKtqoLMUtdXJSk

```

  

## Operation `run`

This operation runs a performance testing scenario and wait for it to finish.  

> CELERABIT PIPELINE INTEGRATION TOOLS only runs scenarios API and UX type scenarios.

  

### **Examples**

  

- Runs a scenario and waits for the execution to finish. If the scenario has not finished in 120 seconds (2 minutes), it will throw an exception.

  

```sh

python -m celerabitpipelineintegration run token "nR5cCI6Ikicm9sZXMiOm51bGYXQiOjE2NzIyNDAsImV4cCI6MTY3MjI2MTQwMH0" client "My client Name" application "My application Name" scenario "My scenario code" timeout 120

```

You must replace `nR5cCI6Ikicm9sZXMiOm51bGx9LCJpYXQiOjE2NzIyNTQyMDAsImV4cCI6MTY3MjI2MTQwMH0` for a valid authentication token, `My client Name` for your client name in celerabit platform, `My application Name` for the name of the application in celerabit platform aich the scneario belongs to, and `My scenario code` for the code of the existing scenario that you want to run.

>If **verbose mode** is needed to show detailed execution information, you can add the flag `-v` at the end of the execution command line.

  

>Note that previous command specifies a **timeout** this means: if scenario execution takes more than 120 seconds (`timeout 120`), command `python -m celerabitpipelineintegration run` will fail.

#### **Json output when API scenario is run**  

When you run an API scenario, the output of the command is a json object that specifies the new job id:

```

{
"jobId": 1158298,
"status": "SUCCESS",
"dateCreated": "2023-01-01T17:01:01.851Z",
"duration": 178.913196,
"kpiLatency": 3000,
"kpiErrors": 5,
"kpiThroughput": 100,
"kpiDeviation": 3000,
"metricLatency": 27.74,
"metricErrors": 0.35,
"metricThroughput": 1659057.06,
"metricDeviation": 52.36,
"complianceLatency": 199.08,
"complianceErrors": 192.94,
"complianceThroughput": 200,
"complianceDeviation": 198.25
}

```

Ih this response:
  

| Attribute | Type | Description |
| -- | -- | -- |
| `jobId` | Job Info | Id corresponding the new created job for this scenario run. |
| `status` | Job Info | Indicates if the job finished in `SUCCESS` or `ERROR` status. |
| `dateCreated` | Job Info | Date and time the job starts its execution. |
| `duration` | Job Info | Indicates the seconds the job took to finalize. |
| `kpiLatency` | KPI | Objective value defined for the scenario average latency. |
| `kpiErrors` | KPI | Objective value defined for the scenario errors percentage. |
| `kpiThroughput` | KPI | Objective value defined for the scenario capacity (requests attended per minute). |
| `kpiDeviation` | KPI | Objective value defined for the standard deviation for scenario average latency. |
| `metricLatency` | Metric | Measured value for the scenario average latency in this run (For this `jobId`). |
| `metricErrors` | Metric | Measured value for the scenario errors percentage in this run (For this `jobId`). |
| `metricThroughput` | Metric | Measured value for the capacity (requests attended per minute) in this run (For this `jobId`). |
| `metricDeviation` | Metric | Measured value for the standard deviation for scenario average latency in this run (For this `jobId`). |
| `complianceLatency` | Compliance | Latency compliance (latency metric vs latency KPI). |
| `complianceErrors` | Compliance | Errors percentage compliance (Errors percentage metric vs Errors percentage KPI). |
| `complianceThroughput` | Compliance | Capacity compliance (Capacity metric vs Capacity KPI). |
| `complianceDeviation` | Compliance | Deviation compliance (Deviation metric vs Deviation KPI). |

  #### **Json output when UX scenario is run**  

When you run an UX scenario, the output of the command is a json object that specifies the new job id:

```
{
    "target": "MyApplication",
    "scenarioId": 1234567,
    "scenario": "Transference in valley time",
    "jobId": 7654321,
    "status": "FINISHED",
    "dateCreated": "2024-02-13T19:53:34.205Z",
    "duration": 17.544,
    "uxResults": {
        "date": "13-Feb-2024 15:06:38",
        "performance": {
            "value": 22,
            "color": "BAD"
        },
        "timeToFirstContent": {
            "value": "4.9 s",
            "color": "BAD"
        },
        "timeToInteractive": {
            "value": "13.7 s",
            "color": "BAD"
        },
        "timeToBiggestContent": {
            "value": "8.3 s",
            "color": "BAD"
        },
        "blockingTime": {
            "value": "2,580 ms",
            "color": "BAD"
        },
        "biggestFiles": [
            {
                "url": "https://d.files.com/6317a229ebf7723658463b4b/652de89b06c9ce7d25ef6%20con%us.png",
                "size": "1,028.19 KB",
                "color": "BAD"
            },
            {
                "url": "https://d.files.com/web_widget/classic/latest/web-widget-main-e46caa3.js",
                "size": "908.93 KB",
                "color": "BAD"
            },
            {
                "url": "https://d.files.com/6317a229ebf7723658463b4b/js/efre.f3214c347.js",
                "size": "749.69 KB",
                "color": "BAD"
            },
            {
                "url": "https://d.files.com/6317a229ebf7723658463b4b/css/uhu89ui.145588cb2.min.css",
                "size": "722.48 KB",
                "color": "BAD"
            },
            {
                "url": "https://www.gstatic.com/recaptcha/releases/x5WWoE57Fv0d6ATKsLDIAKnt/recaptcha__en.js",
                "size": "489.62 KB",
                "color": "MEDIUM"
            },
            {
                "url": "https://www.googletagmanager.com/gtm.js?id=GTM-PS6JT5F",
                "size": "334.81 KB",
                "color": "MEDIUM"
            },
            {
                "url": "https://www.googletagmanager.com/gtag/js?id=G-SEM5N1VSYQ&l=dataLayer&cx=c",
                "size": "284.14 KB",
                "color": "MEDIUM"
            },
            {
                "url": "https://d.files.com/6317a229ebf7723658463b4b/65a03c52be6df16c2r%20taa%201.svg",
                "size": "279.45 KB",
                "color": "MEDIUM"
            },
            {
                "url": "https://www.googletagmanager.com/gtag/js?id=G-3ZK85EP37Q&cx=c&_slc=1",
                "size": "251.18 KB",
                "color": "MEDIUM"
            },
            {
                "url": "https://connect.facebook.net/en_US/werihu9ufijn.js",
                "size": "214.37 KB",
                "color": "MEDIUM"
            }
        ],
        "stepsTime": {
            "pre": "800 mls",
            "post": "0 mls"
        }
    }
}
```


## Operation `eval-job-results`

Receives the json structure resulting from executing a scenario and evaluates its compliance by giving a tolerance level.

  

### **Examples**

  

- Receive the json structure resulting of executing an scenario and evaluates its compliance giving a tolerance level.

  

```sh
TOLERANCE="latency=0.8,throughput=0.5,errors=0.95,deviation=0.2"

python -m celerabitpipelineintegration eval-job-results job-result "${EXEC_RESULT}" tolerance "${TOLERANCE}
```

>The output of this command is an string with the compliance validation errors. If there is not, the string will be empty.

  

In this example, the `EXEC_RESULT` variable contains the **json** structure returned by using the [run](#Operation-run) operation. The values sent in the `TOLERANCE` parameter specify the minimum percentage of compliance accepted for the executed scenario. 

#### **Tolerance for API scenarios**

The tolerance string for API scenarios is as shown in the example above. 

```sh
# The values in the tolerance string are case-sensitive
TOLERANCE="latency=0.8,throughput=0.5,errors=0.95,deviation=0.2"
```

The following table explains their values:

| Performance dimension | Tolerance (Minimun compliance) |
| -- | -- |
| `latency` | `0.8` (80%) |
| `throughput` | `0.5` (50%) |
| `errors` | `0.95` (95%) |
| `deviation` | `0.2` (20%) |

#### **Tolerance for UX scenarios**

Tolerance string for UX scenarios specifies the minimun range of tolerance expected for the consolidated metric **Performance**.

The valid values for performance are:
| Value | Performance range |
| -- | -- |
| GOOD | Performance grather than 0.9 |
| MEDIUM | Performance Between 0.5 and 0.89 |
| BAD | Performance Between 0 and 0.49 |

Performance string has the following example structure:

```sh
# The values in the tolerance string are case-sensitive
TOLERANCE="performance=MEDIUM"
```
The following table explains their values:

| Performance dimension | Tolerance (Minimun compliance) | Comments |
| -- | -- | -- |
| `performance` | MEDIUM | This indicates that performance indicator must be in the reage MEDIUM |


#### **Default tolerance**
If no **Tolerance** value is specified the default values will be:

##### API scenario
The default tolerance tolerance string for API scenarios is:
```sh
"latency=0.8,throughput=0.5,errors=0.95,deviation=0.3"
```

##### UX scenario
The default tolerance tolerance string for UX scenarios is:
```sh
"performamce=MEDIUM"
```

  

## Operation `last-status`

This operation returns the details of the last job execution for a given scenario.

  

### **Examples**

  

```sh

python  -m  celerabitpipelineintegration  last-status  token  "nR5cCI6Ikicm9sZXMiOm51bGYXQiOjE2NzIyNDAsImV4cCI6MTY3MjI2MTQwMH0"  client  "My client Name"  application  "My application Name"  scenario  "My scenario code"

```

  

You must replace `nR5cCI6Ikicm9sZXMiOm51bGx9LCJpYXQiOjE2NzIyNTQyMDAsImV4cCI6MTY3MjI2MTQwMH0` for a valid authentication token, `My client Name` for your client name in celerabit platform, `My application Name` for the name of the application in celerabit platform aich the scneario belongs to, and `My scenario code` for the code of the existing scenario that you want to run.

  

The output of this operation is same as [`run` operation](#Operation-run).

            

Raw data

            {
    "_id": null,
    "home_page": "https://git-codecommit.zone.amazonaws.com/v1/repos/celerabit-pipeline-integration-py-package",
    "name": "celerabit-pipeline-integration",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": "",
    "keywords": "",
    "author": "Raul A. de Villa C.",
    "author_email": "raul.devilla@techandsolve.com",
    "download_url": "https://files.pythonhosted.org/packages/07/ec/72b3136e63d500cab966733dbc78121f8e2e0a125a94a8b8dba6c256e1f2/celerabit-pipeline-integration-2.0.12.tar.gz",
    "platform": null,
    "description": "\n  \n\n# CELERABIT PIPELINE INTEGRATION TOOLS\n\n  \n\nThis package helps to integrate CI/CD processes with [celerabit platform](https://www.celerabit.com)\n\n  \n\n**REQUIEREMENTS**\n\n  \n\nNone.\n\n**USAGE**\n\n  \n\n```\n\npython -m celerabitpipelineintegration <operation> [ags] [<flags>]\n\n```\n\n  \n\n## Operation `authenticate`\n\nGenerates an [authentication token](https://app.celerabit.com). This token will be input for secure operations.\n\n  \n\n### **Examples**\n\n  \n\n- Generate authentication token\n\n  \n\n```sh\n\npython -m celerabitpipelineintegration authenticate login \"myemail@mydomain.com\" password \"secretpassword\"\n\n```\n\nYou must replace `myemail@mydomain.com` and `secretpassword` for your valid credentials in celerabit platform.\n\nThe Output of this operation is an alphanumeric token like this:\n\n```\n\neyJhbGciOiJIUzI1NiIsInR5cCI6Ikicm9sZXMiOm51bGx9LCJpYXQiOjE2NzIyNTQyMDAsImV4cCI6MTY3MjI2MTQwMH0cWBm8Iua2sUFkHbr89epcfN9EtwBDKtqoLMUtdXJSk\n\n```\n\n  \n\n## Operation `run`\n\nThis operation runs a performance testing scenario and wait for it to finish.  \n\n> CELERABIT PIPELINE INTEGRATION TOOLS only runs scenarios API and UX type scenarios.\n\n  \n\n### **Examples**\n\n  \n\n- Runs a scenario and waits for the execution to finish. If the scenario has not finished in 120 seconds (2 minutes), it will throw an exception.\n\n  \n\n```sh\n\npython -m celerabitpipelineintegration run token \"nR5cCI6Ikicm9sZXMiOm51bGYXQiOjE2NzIyNDAsImV4cCI6MTY3MjI2MTQwMH0\" client \"My client Name\" application \"My application Name\" scenario \"My scenario code\" timeout 120\n\n```\n\nYou must replace `nR5cCI6Ikicm9sZXMiOm51bGx9LCJpYXQiOjE2NzIyNTQyMDAsImV4cCI6MTY3MjI2MTQwMH0` for a valid authentication token, `My client Name` for your client name in celerabit platform, `My application Name` for the name of the application in celerabit platform aich the scneario belongs to, and `My scenario code` for the code of the existing scenario that you want to run.\n\n>If **verbose mode** is needed to show detailed execution information, you can add the flag `-v` at the end of the execution command line.\n\n  \n\n>Note that previous command specifies a **timeout** this means: if scenario execution takes more than 120 seconds (`timeout 120`), command `python -m celerabitpipelineintegration run` will fail.\n\n#### **Json output when API scenario is run**  \n\nWhen you run an API scenario, the output of the command is a json object that specifies the new job id:\n\n```\n\n{\n\"jobId\": 1158298,\n\"status\": \"SUCCESS\",\n\"dateCreated\": \"2023-01-01T17:01:01.851Z\",\n\"duration\": 178.913196,\n\"kpiLatency\": 3000,\n\"kpiErrors\": 5,\n\"kpiThroughput\": 100,\n\"kpiDeviation\": 3000,\n\"metricLatency\": 27.74,\n\"metricErrors\": 0.35,\n\"metricThroughput\": 1659057.06,\n\"metricDeviation\": 52.36,\n\"complianceLatency\": 199.08,\n\"complianceErrors\": 192.94,\n\"complianceThroughput\": 200,\n\"complianceDeviation\": 198.25\n}\n\n```\n\nIh this response:\n  \n\n| Attribute | Type | Description |\n| -- | -- | -- |\n| `jobId` | Job Info | Id corresponding the new created job for this scenario run. |\n| `status` | Job Info | Indicates if the job finished in `SUCCESS` or `ERROR` status. |\n| `dateCreated` | Job Info | Date and time the job starts its execution. |\n| `duration` | Job Info | Indicates the seconds the job took to finalize. |\n| `kpiLatency` | KPI | Objective value defined for the scenario average latency. |\n| `kpiErrors` | KPI | Objective value defined for the scenario errors percentage. |\n| `kpiThroughput` | KPI | Objective value defined for the scenario capacity (requests attended per minute). |\n| `kpiDeviation` | KPI | Objective value defined for the standard deviation for scenario average latency. |\n| `metricLatency` | Metric | Measured value for the scenario average latency in this run (For this `jobId`). |\n| `metricErrors` | Metric | Measured value for the scenario errors percentage in this run (For this `jobId`). |\n| `metricThroughput` | Metric | Measured value for the capacity (requests attended per minute) in this run (For this `jobId`). |\n| `metricDeviation` | Metric | Measured value for the standard deviation for scenario average latency in this run (For this `jobId`). |\n| `complianceLatency` | Compliance | Latency compliance (latency metric vs latency KPI). |\n| `complianceErrors` | Compliance | Errors percentage compliance (Errors percentage metric vs Errors percentage KPI). |\n| `complianceThroughput` | Compliance | Capacity compliance (Capacity metric vs Capacity KPI). |\n| `complianceDeviation` | Compliance | Deviation compliance (Deviation metric vs Deviation KPI). |\n\n  #### **Json output when UX scenario is run**  \n\nWhen you run an UX scenario, the output of the command is a json object that specifies the new job id:\n\n```\n{\n    \"target\": \"MyApplication\",\n    \"scenarioId\": 1234567,\n    \"scenario\": \"Transference in valley time\",\n    \"jobId\": 7654321,\n    \"status\": \"FINISHED\",\n    \"dateCreated\": \"2024-02-13T19:53:34.205Z\",\n    \"duration\": 17.544,\n    \"uxResults\": {\n        \"date\": \"13-Feb-2024 15:06:38\",\n        \"performance\": {\n            \"value\": 22,\n            \"color\": \"BAD\"\n        },\n        \"timeToFirstContent\": {\n            \"value\": \"4.9 s\",\n            \"color\": \"BAD\"\n        },\n        \"timeToInteractive\": {\n            \"value\": \"13.7 s\",\n            \"color\": \"BAD\"\n        },\n        \"timeToBiggestContent\": {\n            \"value\": \"8.3 s\",\n            \"color\": \"BAD\"\n        },\n        \"blockingTime\": {\n            \"value\": \"2,580 ms\",\n            \"color\": \"BAD\"\n        },\n        \"biggestFiles\": [\n            {\n                \"url\": \"https://d.files.com/6317a229ebf7723658463b4b/652de89b06c9ce7d25ef6%20con%us.png\",\n                \"size\": \"1,028.19 KB\",\n                \"color\": \"BAD\"\n            },\n            {\n                \"url\": \"https://d.files.com/web_widget/classic/latest/web-widget-main-e46caa3.js\",\n                \"size\": \"908.93 KB\",\n                \"color\": \"BAD\"\n            },\n            {\n                \"url\": \"https://d.files.com/6317a229ebf7723658463b4b/js/efre.f3214c347.js\",\n                \"size\": \"749.69 KB\",\n                \"color\": \"BAD\"\n            },\n            {\n                \"url\": \"https://d.files.com/6317a229ebf7723658463b4b/css/uhu89ui.145588cb2.min.css\",\n                \"size\": \"722.48 KB\",\n                \"color\": \"BAD\"\n            },\n            {\n                \"url\": \"https://www.gstatic.com/recaptcha/releases/x5WWoE57Fv0d6ATKsLDIAKnt/recaptcha__en.js\",\n                \"size\": \"489.62 KB\",\n                \"color\": \"MEDIUM\"\n            },\n            {\n                \"url\": \"https://www.googletagmanager.com/gtm.js?id=GTM-PS6JT5F\",\n                \"size\": \"334.81 KB\",\n                \"color\": \"MEDIUM\"\n            },\n            {\n                \"url\": \"https://www.googletagmanager.com/gtag/js?id=G-SEM5N1VSYQ&l=dataLayer&cx=c\",\n                \"size\": \"284.14 KB\",\n                \"color\": \"MEDIUM\"\n            },\n            {\n                \"url\": \"https://d.files.com/6317a229ebf7723658463b4b/65a03c52be6df16c2r%20taa%201.svg\",\n                \"size\": \"279.45 KB\",\n                \"color\": \"MEDIUM\"\n            },\n            {\n                \"url\": \"https://www.googletagmanager.com/gtag/js?id=G-3ZK85EP37Q&cx=c&_slc=1\",\n                \"size\": \"251.18 KB\",\n                \"color\": \"MEDIUM\"\n            },\n            {\n                \"url\": \"https://connect.facebook.net/en_US/werihu9ufijn.js\",\n                \"size\": \"214.37 KB\",\n                \"color\": \"MEDIUM\"\n            }\n        ],\n        \"stepsTime\": {\n            \"pre\": \"800 mls\",\n            \"post\": \"0 mls\"\n        }\n    }\n}\n```\n\n\n## Operation `eval-job-results`\n\nReceives the json structure resulting from executing a scenario and evaluates its compliance by giving a tolerance level.\n\n  \n\n### **Examples**\n\n  \n\n- Receive the json structure resulting of executing an scenario and evaluates its compliance giving a tolerance level.\n\n  \n\n```sh\nTOLERANCE=\"latency=0.8,throughput=0.5,errors=0.95,deviation=0.2\"\n\npython -m celerabitpipelineintegration eval-job-results job-result \"${EXEC_RESULT}\" tolerance \"${TOLERANCE}\n```\n\n>The output of this command is an string with the compliance validation errors. If there is not, the string will be empty.\n\n  \n\nIn this example, the `EXEC_RESULT` variable contains the **json** structure returned by using the [run](#Operation-run) operation. The values sent in the `TOLERANCE` parameter specify the minimum percentage of compliance accepted for the executed scenario. \n\n#### **Tolerance for API scenarios**\n\nThe tolerance string for API scenarios is as shown in the example above. \n\n```sh\n# The values in the tolerance string are case-sensitive\nTOLERANCE=\"latency=0.8,throughput=0.5,errors=0.95,deviation=0.2\"\n```\n\nThe following table explains their values:\n\n| Performance dimension | Tolerance (Minimun compliance) |\n| -- | -- |\n| `latency` | `0.8` (80%) |\n| `throughput` | `0.5` (50%) |\n| `errors` | `0.95` (95%) |\n| `deviation` | `0.2` (20%) |\n\n#### **Tolerance for UX scenarios**\n\nTolerance string for UX scenarios specifies the minimun range of tolerance expected for the consolidated metric **Performance**.\n\nThe valid values for performance are:\n| Value | Performance range |\n| -- | -- |\n| GOOD | Performance grather than 0.9 |\n| MEDIUM | Performance Between 0.5 and 0.89 |\n| BAD | Performance Between 0 and 0.49 |\n\nPerformance string has the following example structure:\n\n```sh\n# The values in the tolerance string are case-sensitive\nTOLERANCE=\"performance=MEDIUM\"\n```\nThe following table explains their values:\n\n| Performance dimension | Tolerance (Minimun compliance) | Comments |\n| -- | -- | -- |\n| `performance` | MEDIUM | This indicates that performance indicator must be in the reage MEDIUM |\n\n\n#### **Default tolerance**\nIf no **Tolerance** value is specified the default values will be:\n\n##### API scenario\nThe default tolerance tolerance string for API scenarios is:\n```sh\n\"latency=0.8,throughput=0.5,errors=0.95,deviation=0.3\"\n```\n\n##### UX scenario\nThe default tolerance tolerance string for UX scenarios is:\n```sh\n\"performamce=MEDIUM\"\n```\n\n  \n\n## Operation `last-status`\n\nThis operation returns the details of the last job execution for a given scenario.\n\n  \n\n### **Examples**\n\n  \n\n```sh\n\npython  -m  celerabitpipelineintegration  last-status  token  \"nR5cCI6Ikicm9sZXMiOm51bGYXQiOjE2NzIyNDAsImV4cCI6MTY3MjI2MTQwMH0\"  client  \"My client Name\"  application  \"My application Name\"  scenario  \"My scenario code\"\n\n```\n\n  \n\nYou must replace `nR5cCI6Ikicm9sZXMiOm51bGx9LCJpYXQiOjE2NzIyNTQyMDAsImV4cCI6MTY3MjI2MTQwMH0` for a valid authentication token, `My client Name` for your client name in celerabit platform, `My application Name` for the name of the application in celerabit platform aich the scneario belongs to, and `My scenario code` for the code of the existing scenario that you want to run.\n\n  \n\nThe output of this operation is same as [`run` operation](#Operation-run).\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Celerabit tools to integrate with pipelines",
    "version": "2.0.12",
    "project_urls": {
        "Homepage": "https://git-codecommit.zone.amazonaws.com/v1/repos/celerabit-pipeline-integration-py-package"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "99dd272145c1f4c7f5c5d4e4906e63cd6db13f30151b438c738cba4a229cad00",
                "md5": "e0d2e604d7f39e2df084faf51d62c5cf",
                "sha256": "466e26d5a38e2782e029519c4f06d0b57175421f7ebebe1430d661dd69d40cae"
            },
            "downloads": -1,
            "filename": "celerabit_pipeline_integration-2.0.12-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e0d2e604d7f39e2df084faf51d62c5cf",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 17959,
            "upload_time": "2024-03-12T17:15:42",
            "upload_time_iso_8601": "2024-03-12T17:15:42.972358Z",
            "url": "https://files.pythonhosted.org/packages/99/dd/272145c1f4c7f5c5d4e4906e63cd6db13f30151b438c738cba4a229cad00/celerabit_pipeline_integration-2.0.12-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "07ec72b3136e63d500cab966733dbc78121f8e2e0a125a94a8b8dba6c256e1f2",
                "md5": "1de384b49176297559011895576e85dc",
                "sha256": "a447c11879311af75b0380a96ac139874e510813bebe994c1630744e057e7b4a"
            },
            "downloads": -1,
            "filename": "celerabit-pipeline-integration-2.0.12.tar.gz",
            "has_sig": false,
            "md5_digest": "1de384b49176297559011895576e85dc",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 12704,
            "upload_time": "2024-03-12T17:15:44",
            "upload_time_iso_8601": "2024-03-12T17:15:44.550862Z",
            "url": "https://files.pythonhosted.org/packages/07/ec/72b3136e63d500cab966733dbc78121f8e2e0a125a94a8b8dba6c256e1f2/celerabit-pipeline-integration-2.0.12.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-12 17:15:44",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "celerabit-pipeline-integration"
}
        
Elapsed time: 0.32052s