mercado


Namemercado JSON
Version 0.1.5 PyPI version JSON
download
home_pagehttps://github.com/YuviGold/mercado
SummaryAll-In-One Development CLI Tools Multi-platform Marketplace
upload_time2023-03-31 14:29:23
maintainer
docs_urlNone
authorYuviGold
requires_python>=3.10,<4.0
license
keywords cli devops
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Mercado
All-In-One Development CLI Tools Multi-platform Marketplace

Stop memorizing whether that's `apt install` or `brew` or any other package manager that takes too long whenever only to get an outdated tool - and use `mercado` instead!

All the most used tools by developers like `docker`, `terraform`, and `kubectl`.

- Supports different types of installations
  - **GitHub releases**
  - **Hashicorp products**
  - **URL fetching**
  - **Customized shell scripts**
- **Multi-platform multi-architectures** installations
- Install the **latest artifact** or a specific version
- HTTP calls with retry mechanismand timeouts
- Archive unpacking
- Elaborated logs with timestamps of every step in the process
- CI first
  - Every artifact is verified on a daily basis
  - README is dynamically generated so docs can't get broken


## Supported Tools

<!-- [[[cog
import cog
from textwrap import dedent
import subprocess

def print_command(command):
    cog.outl(dedent(f"""
```bash
$ mercado {command}

{subprocess.getoutput(f"./main.py {command}")}
```
    """))

print_command("list --names-only --all")

]]] -->

```bash
$ mercado list --names-only --all

Mercado tools 
┏━━━━━━━━━━━━┓
┃ Name       ┃
┡━━━━━━━━━━━━┩
│ compose    │
│ consul     │
│ cosign     │
│ docker     │
│ gh         │
│ helm       │
│ k3d        │
│ kind       │
│ kubectl    │
│ minikube   │
│ packer     │
│ terraform  │
│ terragrunt │
│ tfsec      │
│ trivy      │
│ vagrant    │
│ vault      │
│ waypoint   │
└────────────┘
```

<!-- [[[end]]] -->

## Install

```bash
python -m pip install mercado
```

## How to use

<!-- [[[cog
import cog
from textwrap import dedent
import subprocess

def print_command(command):
    cog.outl(dedent(f"""
```bash
$ {command}

{subprocess.getoutput(command)}
```
    """))

print_command("mercado list --verbose")

print_command("mercado install gh")

print_command("mercado is-latest docker")

print_command("mercado show minikube")

print_command("mercado list --label k8s --with-labels --all")

]]] -->

```bash
$ mercado list --verbose

                                       Mercado tools                                        
┏━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Name       ┃ Vendor     ┃ Installed                                                      ┃
┡━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ compose    │ GitHub     │ ⏫ (/home/yuvalgold/.docker/cli-plugins/docker-compose 2.13.0) │
│ gh         │ GitHub     │ ✅ (/home/yuvalgold/.mercado/gh 2.25.1)                        │
│ kind       │ GitHub     │ ✅ (/home/yuvalgold/.mercado/kind 0.18.0)                      │
│ minikube   │ GitHub     │ ✅ (/home/yuvalgold/.mercado/minikube 1.29.0)                  │
│ terragrunt │ GitHub     │ ⏫ (/home/yuvalgold/.mercado/terragrunt 0.42.5)                │
├────────────┼────────────┼────────────────────────────────────────────────────────────────┤
│ consul     │ Hashicorp  │ ⏫ (/usr/local/bin/consul 1.13.1)                              │
│ terraform  │ Hashicorp  │ ✅ (/home/yuvalgold/.mercado/terraform 1.4.4)                  │
│ vagrant    │ Hashicorp  │ ⏫ (/home/yuvalgold/.mercado/vagrant 2.3.2)                    │
│ vault      │ Hashicorp  │ ✅ (/home/yuvalgold/.mercado/vault 1.13.1)                     │
├────────────┼────────────┼────────────────────────────────────────────────────────────────┤
│ kubectl    │ URLFetcher │ ⏫ (/home/yuvalgold/.mercado/kubectl 1.25.3)                   │
├────────────┼────────────┼────────────────────────────────────────────────────────────────┤
│ docker     │ Shell      │ ⏫ (/usr/bin/docker 23.0.1)                                    │
│ helm       │ Shell      │ ⏫ (/home/yuvalgold/.mercado/helm 3.11.0)                      │
└────────────┴────────────┴────────────────────────────────────────────────────────────────┘
```


```bash
$ mercado install gh

[03/31/23 17:18:48] Looking for the latest version of 'gh'                                                                                                                                                 
[03/31/23 17:18:49] Getting installer for tool 'gh' with version v2.25.1 for linux and x86_64                                                                                                              
                    Installing 'gh'...                                                                                                                                                                     
[03/31/23 17:18:50] Downloading 'gh' to /tmp/gh_2.25.1_linux_amd64.tar.gz (size: 10.1 MB)                                                                                                                  
Downloading... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00
[03/31/23 17:18:51] Unpacking /tmp/gh_2.25.1_linux_amd64.tar.gz to /tmp/gh_2.25.1_linux_amd64.tar                                                                                                          
                    Copying /tmp/gh_2.25.1_linux_amd64.tar/gh_2.25.1_linux_amd64/bin/gh to /home/yuvalgold/.mercado/gh                                                                                     
👍       'gh' version v2.25.1 is installed
```


```bash
$ mercado is-latest docker

👎       'docker' version 'v23.0.2' is available! (current: 23.0.1)
```


```bash
$ mercado show minikube

Name: minikube
Status: ✅
Local Version: 1.29.0
Path: /home/yuvalgold/.mercado/minikube
Remote Version: v1.29.0
```


```bash
$ mercado list --label k8s --with-labels --all

                   Mercado tools                   
┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Name     ┃ Labels                   ┃ Installed ┃
┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ helm     │ k8s                      │ ⏫        │
│ k3d      │ k8s,docker,orchestration │ ❌        │
│ kind     │ k8s,docker,orchestration │ ✅        │
│ kubectl  │ k8s                      │ ⏫        │
│ minikube │ k8s,orchestration        │ ✅        │
└──────────┴──────────────────────────┴───────────┘
```

<!-- [[[end]]] -->

## Contribute

<!-- [[[cog
import cog
from textwrap import dedent
import subprocess

def print_command(command):
    cog.outl(dedent(f"""
```bash
$ {command}

{subprocess.getoutput(command)}
```
    """))

print_command("TERM='' make -s help")
]]] -->

```bash
$ TERM='' make -s help


Usage:
  make <target>

code
  verify                run all verifications
  test                  run tests
  format                run formatter
  lint                  run linter

artifact
  install               install package locally
  dist                  generate package artifacts
  docs                  generate documentation
  deploy                deploy Python package to PyPI

general
  clean                 clean environment

```

<!-- [[[end]]] -->

## Test

The tests are running with pytest inside of a docker-compose container

```bash
make test

# Run a specific test file with TEST=</path/to/file>
TEST=./tests/test_github.py make test

# Run a tests matching an expression TEST_FUNC=<expression>
TEST_FUNC="invalid" make test

# Add more verbose logs
LOGLEVEL=debug make test
```

### Run locally

```bash
poetry run mercado --help
```

### Install dist locally

```bash
make install

mercado --help
```

### Run GHA

I use [nektos/act](https://github.com/nektos/act) tool to run the Git Hub Action locally.
By default, act runs on a slim container image, for docker-compose usage the base image is replaced.

```bash
act --platform=ubuntu-latest=lucasalt/act_base:latest -j <JOB>
```

## Generate docs

1. Install dist locally
1. Run inside virtualenv

```bash
make docs
```

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/YuviGold/mercado",
    "name": "mercado",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.10,<4.0",
    "maintainer_email": "",
    "keywords": "cli,devops",
    "author": "YuviGold",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/2b/8b/cf838213851648b134b35039f737cab224315b9f9bb00e59f47d24d1e083/mercado-0.1.5.tar.gz",
    "platform": null,
    "description": "# Mercado\nAll-In-One Development CLI Tools Multi-platform Marketplace\n\nStop memorizing whether that's `apt install` or `brew` or any other package manager that takes too long whenever only to get an outdated tool - and use `mercado` instead!\n\nAll the most used tools by developers like `docker`, `terraform`, and `kubectl`.\n\n- Supports different types of installations\n  - **GitHub releases**\n  - **Hashicorp products**\n  - **URL fetching**\n  - **Customized shell scripts**\n- **Multi-platform multi-architectures** installations\n- Install the **latest artifact** or a specific version\n- HTTP calls with retry mechanismand timeouts\n- Archive unpacking\n- Elaborated logs with timestamps of every step in the process\n- CI first\n  - Every artifact is verified on a daily basis\n  - README is dynamically generated so docs can't get broken\n\n\n## Supported Tools\n\n<!-- [[[cog\nimport cog\nfrom textwrap import dedent\nimport subprocess\n\ndef print_command(command):\n    cog.outl(dedent(f\"\"\"\n```bash\n$ mercado {command}\n\n{subprocess.getoutput(f\"./main.py {command}\")}\n```\n    \"\"\"))\n\nprint_command(\"list --names-only --all\")\n\n]]] -->\n\n```bash\n$ mercado list --names-only --all\n\nMercado tools \n\u250f\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2513\n\u2503 Name       \u2503\n\u2521\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2529\n\u2502 compose    \u2502\n\u2502 consul     \u2502\n\u2502 cosign     \u2502\n\u2502 docker     \u2502\n\u2502 gh         \u2502\n\u2502 helm       \u2502\n\u2502 k3d        \u2502\n\u2502 kind       \u2502\n\u2502 kubectl    \u2502\n\u2502 minikube   \u2502\n\u2502 packer     \u2502\n\u2502 terraform  \u2502\n\u2502 terragrunt \u2502\n\u2502 tfsec      \u2502\n\u2502 trivy      \u2502\n\u2502 vagrant    \u2502\n\u2502 vault      \u2502\n\u2502 waypoint   \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n```\n\n<!-- [[[end]]] -->\n\n## Install\n\n```bash\npython -m pip install mercado\n```\n\n## How to use\n\n<!-- [[[cog\nimport cog\nfrom textwrap import dedent\nimport subprocess\n\ndef print_command(command):\n    cog.outl(dedent(f\"\"\"\n```bash\n$ {command}\n\n{subprocess.getoutput(command)}\n```\n    \"\"\"))\n\nprint_command(\"mercado list --verbose\")\n\nprint_command(\"mercado install gh\")\n\nprint_command(\"mercado is-latest docker\")\n\nprint_command(\"mercado show minikube\")\n\nprint_command(\"mercado list --label k8s --with-labels --all\")\n\n]]] -->\n\n```bash\n$ mercado list --verbose\n\n                                       Mercado tools                                        \n\u250f\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2513\n\u2503 Name       \u2503 Vendor     \u2503 Installed                                                      \u2503\n\u2521\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2529\n\u2502 compose    \u2502 GitHub     \u2502 \u23eb (/home/yuvalgold/.docker/cli-plugins/docker-compose 2.13.0) \u2502\n\u2502 gh         \u2502 GitHub     \u2502 \u2705 (/home/yuvalgold/.mercado/gh 2.25.1)                        \u2502\n\u2502 kind       \u2502 GitHub     \u2502 \u2705 (/home/yuvalgold/.mercado/kind 0.18.0)                      \u2502\n\u2502 minikube   \u2502 GitHub     \u2502 \u2705 (/home/yuvalgold/.mercado/minikube 1.29.0)                  \u2502\n\u2502 terragrunt \u2502 GitHub     \u2502 \u23eb (/home/yuvalgold/.mercado/terragrunt 0.42.5)                \u2502\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\n\u2502 consul     \u2502 Hashicorp  \u2502 \u23eb (/usr/local/bin/consul 1.13.1)                              \u2502\n\u2502 terraform  \u2502 Hashicorp  \u2502 \u2705 (/home/yuvalgold/.mercado/terraform 1.4.4)                  \u2502\n\u2502 vagrant    \u2502 Hashicorp  \u2502 \u23eb (/home/yuvalgold/.mercado/vagrant 2.3.2)                    \u2502\n\u2502 vault      \u2502 Hashicorp  \u2502 \u2705 (/home/yuvalgold/.mercado/vault 1.13.1)                     \u2502\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\n\u2502 kubectl    \u2502 URLFetcher \u2502 \u23eb (/home/yuvalgold/.mercado/kubectl 1.25.3)                   \u2502\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\n\u2502 docker     \u2502 Shell      \u2502 \u23eb (/usr/bin/docker 23.0.1)                                    \u2502\n\u2502 helm       \u2502 Shell      \u2502 \u23eb (/home/yuvalgold/.mercado/helm 3.11.0)                      \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n```\n\n\n```bash\n$ mercado install gh\n\n[03/31/23 17:18:48] Looking for the latest version of 'gh'                                                                                                                                                 \n[03/31/23 17:18:49] Getting installer for tool 'gh' with version v2.25.1 for linux and x86_64                                                                                                              \n                    Installing 'gh'...                                                                                                                                                                     \n[03/31/23 17:18:50] Downloading 'gh' to /tmp/gh_2.25.1_linux_amd64.tar.gz (size: 10.1 MB)                                                                                                                  \nDownloading... \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100% 0:00:00\n[03/31/23 17:18:51] Unpacking /tmp/gh_2.25.1_linux_amd64.tar.gz to /tmp/gh_2.25.1_linux_amd64.tar                                                                                                          \n                    Copying /tmp/gh_2.25.1_linux_amd64.tar/gh_2.25.1_linux_amd64/bin/gh to /home/yuvalgold/.mercado/gh                                                                                     \n\ud83d\udc4d       'gh' version v2.25.1 is installed\n```\n\n\n```bash\n$ mercado is-latest docker\n\n\ud83d\udc4e       'docker' version 'v23.0.2' is available! (current: 23.0.1)\n```\n\n\n```bash\n$ mercado show minikube\n\nName: minikube\nStatus: \u2705\nLocal Version: 1.29.0\nPath: /home/yuvalgold/.mercado/minikube\nRemote Version: v1.29.0\n```\n\n\n```bash\n$ mercado list --label k8s --with-labels --all\n\n                   Mercado tools                   \n\u250f\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2513\n\u2503 Name     \u2503 Labels                   \u2503 Installed \u2503\n\u2521\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2529\n\u2502 helm     \u2502 k8s                      \u2502 \u23eb        \u2502\n\u2502 k3d      \u2502 k8s,docker,orchestration \u2502 \u274c        \u2502\n\u2502 kind     \u2502 k8s,docker,orchestration \u2502 \u2705        \u2502\n\u2502 kubectl  \u2502 k8s                      \u2502 \u23eb        \u2502\n\u2502 minikube \u2502 k8s,orchestration        \u2502 \u2705        \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n```\n\n<!-- [[[end]]] -->\n\n## Contribute\n\n<!-- [[[cog\nimport cog\nfrom textwrap import dedent\nimport subprocess\n\ndef print_command(command):\n    cog.outl(dedent(f\"\"\"\n```bash\n$ {command}\n\n{subprocess.getoutput(command)}\n```\n    \"\"\"))\n\nprint_command(\"TERM='' make -s help\")\n]]] -->\n\n```bash\n$ TERM='' make -s help\n\n\nUsage:\n  make <target>\n\ncode\n  verify                run all verifications\n  test                  run tests\n  format                run formatter\n  lint                  run linter\n\nartifact\n  install               install package locally\n  dist                  generate package artifacts\n  docs                  generate documentation\n  deploy                deploy Python package to PyPI\n\ngeneral\n  clean                 clean environment\n\n```\n\n<!-- [[[end]]] -->\n\n## Test\n\nThe tests are running with pytest inside of a docker-compose container\n\n```bash\nmake test\n\n# Run a specific test file with TEST=</path/to/file>\nTEST=./tests/test_github.py make test\n\n# Run a tests matching an expression TEST_FUNC=<expression>\nTEST_FUNC=\"invalid\" make test\n\n# Add more verbose logs\nLOGLEVEL=debug make test\n```\n\n### Run locally\n\n```bash\npoetry run mercado --help\n```\n\n### Install dist locally\n\n```bash\nmake install\n\nmercado --help\n```\n\n### Run GHA\n\nI use [nektos/act](https://github.com/nektos/act) tool to run the Git Hub Action locally.\nBy default, act runs on a slim container image, for docker-compose usage the base image is replaced.\n\n```bash\nact --platform=ubuntu-latest=lucasalt/act_base:latest -j <JOB>\n```\n\n## Generate docs\n\n1. Install dist locally\n1. Run inside virtualenv\n\n```bash\nmake docs\n```\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "All-In-One Development CLI Tools Multi-platform Marketplace",
    "version": "0.1.5",
    "split_keywords": [
        "cli",
        "devops"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a5d385508ff1c9a8d1c5a0b3c6d85f93fc34be71a581ffe962ddbaab17e3b8e8",
                "md5": "c8d283756f924d440e4c2ab724568bb8",
                "sha256": "1bb02b71e439be1257a95c06092ba1dbf16a89e7629347ccdf0fabbce8091f4c"
            },
            "downloads": -1,
            "filename": "mercado-0.1.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "c8d283756f924d440e4c2ab724568bb8",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10,<4.0",
            "size": 14429,
            "upload_time": "2023-03-31T14:29:21",
            "upload_time_iso_8601": "2023-03-31T14:29:21.912066Z",
            "url": "https://files.pythonhosted.org/packages/a5/d3/85508ff1c9a8d1c5a0b3c6d85f93fc34be71a581ffe962ddbaab17e3b8e8/mercado-0.1.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2b8bcf838213851648b134b35039f737cab224315b9f9bb00e59f47d24d1e083",
                "md5": "22cdc3a886a353a5dfc2b429e9058824",
                "sha256": "d7253a99e71a94656a2cb125e6197072d0399d065bed4948dd694791ea52e37b"
            },
            "downloads": -1,
            "filename": "mercado-0.1.5.tar.gz",
            "has_sig": false,
            "md5_digest": "22cdc3a886a353a5dfc2b429e9058824",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10,<4.0",
            "size": 13513,
            "upload_time": "2023-03-31T14:29:23",
            "upload_time_iso_8601": "2023-03-31T14:29:23.295536Z",
            "url": "https://files.pythonhosted.org/packages/2b/8b/cf838213851648b134b35039f737cab224315b9f9bb00e59f47d24d1e083/mercado-0.1.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-03-31 14:29:23",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "YuviGold",
    "github_project": "mercado",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "mercado"
}
        
Elapsed time: 0.05163s