{"id":48026288,"url":"https://github.com/binbashar/leverage","last_synced_at":"2026-04-04T13:50:37.030Z","repository":{"id":37895802,"uuid":"298134216","full_name":"binbashar/leverage","owner":"binbashar","description":"Binbash Leverage CLI intended to orchestrate Leverage Reference Architecture for AWS (www.binbash.co/leverage) ","archived":false,"fork":false,"pushed_at":"2026-01-10T21:58:21.000Z","size":849,"stargazers_count":19,"open_issues_count":12,"forks_count":3,"subscribers_count":6,"default_branch":"master","last_synced_at":"2026-01-11T06:39:12.329Z","etag":null,"topics":["bb-le-refarch","binbash-ref-architecture","binbash-refarch","ref-architecture"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/leverage/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/binbashar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.txt","code_of_conduct":"CODE-OF-CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"binbashar"}},"created_at":"2020-09-24T01:10:17.000Z","updated_at":"2026-01-11T00:11:07.000Z","dependencies_parsed_at":"2023-10-12T01:06:25.426Z","dependency_job_id":"a6270b1a-5df6-4d16-bf0f-913ae6427883","html_url":"https://github.com/binbashar/leverage","commit_stats":{"total_commits":321,"total_committers":19,"mean_commits":"16.894736842105264","dds":0.5732087227414331,"last_synced_commit":"e28f22afd074c99c4f1aa7692f620ccc36952767"},"previous_names":[],"tags_count":47,"template":false,"template_full_name":null,"purl":"pkg:github/binbashar/leverage","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/binbashar%2Fleverage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/binbashar%2Fleverage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/binbashar%2Fleverage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/binbashar%2Fleverage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/binbashar","download_url":"https://codeload.github.com/binbashar/leverage/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/binbashar%2Fleverage/sbom","scorecard":{"id":238517,"data":{"date":"2025-08-11","repo":{"name":"github.com/binbashar/leverage","commit":"3fc4eecf58cbb9872ce9844633949548c6b02fbf"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.7,"checks":[{"name":"Code-Review","score":10,"reason":"all changesets reviewed","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":8,"reason":"4 commit(s) and 6 issue activity found in the last 90 days -- score normalized to 8","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/release-management-github.yml:20","Info: topLevel 'contents' permission set to 'read': .github/workflows/release-management-github.yml:14","Warn: no topLevel permission defined: .github/workflows/release-pypi-build-push-package.yml:1","Warn: no topLevel permission defined: .github/workflows/release-pypi-build-push-test-package.yml:1","Warn: no topLevel permission defined: .github/workflows/test-lint-black.yaml:1","Warn: no topLevel permission defined: .github/workflows/tests-integration.yaml:1","Warn: no topLevel permission defined: .github/workflows/tests-unit.yml:1"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE.txt:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-management-github.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/binbashar/leverage/release-management-github.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-pypi-build-push-package.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/binbashar/leverage/release-pypi-build-push-package.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-pypi-build-push-package.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/binbashar/leverage/release-pypi-build-push-package.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-pypi-build-push-package.yml:60: update your workflow using https://app.stepsecurity.io/secureworkflow/binbashar/leverage/release-pypi-build-push-package.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-pypi-build-push-test-package.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/binbashar/leverage/release-pypi-build-push-test-package.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-pypi-build-push-test-package.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/binbashar/leverage/release-pypi-build-push-test-package.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-lint-black.yaml:9: update your workflow using https://app.stepsecurity.io/secureworkflow/binbashar/leverage/test-lint-black.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-lint-black.yaml:10: update your workflow using https://app.stepsecurity.io/secureworkflow/binbashar/leverage/test-lint-black.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests-integration.yaml:9: update your workflow using https://app.stepsecurity.io/secureworkflow/binbashar/leverage/tests-integration.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests-integration.yaml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/binbashar/leverage/tests-integration.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests-integration.yaml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/binbashar/leverage/tests-integration.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests-unit.yml:12: update your workflow using https://app.stepsecurity.io/secureworkflow/binbashar/leverage/tests-unit.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests-unit.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/binbashar/leverage/tests-unit.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/tests-unit.yml:42: update your workflow using https://app.stepsecurity.io/secureworkflow/binbashar/leverage/tests-unit.yml/master?enable=pin","Warn: containerImage not pinned by hash: Dockerfile:1: pin your Docker image by updating docker:24.0.7-dind-alpine3.18 to docker:24.0.7-dind-alpine3.18@sha256:c90e58d30700470fc59bdaaf802340fd25c1db628756d7bf74e100c566ba9589","Warn: downloadThenRun not pinned by hash: Dockerfile:20","Warn: downloadThenRun not pinned by hash: .github/workflows/release-pypi-build-push-package.yml:22","Warn: downloadThenRun not pinned by hash: .github/workflows/release-pypi-build-push-test-package.yml:26","Warn: downloadThenRun not pinned by hash: .github/workflows/tests-integration.yaml:42","Warn: pipCommand not pinned by hash: .github/workflows/tests-integration.yaml:58","Warn: downloadThenRun not pinned by hash: .github/workflows/tests-unit.yml:22","Info:   0 out of  10 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   4 third-party GitHubAction dependencies pinned","Info:   0 out of   1 containerImage dependencies pinned","Info:   0 out of   5 downloadThenRun dependencies pinned","Info:   0 out of   1 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: github.com/binbashar/.github/SECURITY.md:1","Info: Found linked content: github.com/binbashar/.github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: github.com/binbashar/.github/SECURITY.md:1","Info: Found text in security policy: github.com/binbashar/.github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"SAST","score":-1,"reason":"internal error: internal error: Client.Checks.ListCheckRunsForRef: error during graphqlHandler.setupCheckRuns: Although you appear to have the correct authorization credentials, the `bridgecrewio` organization has an IP allow list enabled, and your IP address is not permitted to access this resource.","details":null,"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":0,"reason":"11 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: PYSEC-2024-48 / GHSA-fj7x-q9j7-g6q6","Warn: Project is vulnerable to: GHSA-79v4-65xg-pq4g","Warn: Project is vulnerable to: GHSA-cpwx-vrp4-4pq7","Warn: Project is vulnerable to: GHSA-gmj6-6f8f-6699","Warn: Project is vulnerable to: GHSA-h5c8-rqwp-cp95","Warn: Project is vulnerable to: GHSA-h75v-3vvj-5mfj","Warn: Project is vulnerable to: GHSA-q2x7-8rv6-6q7h","Warn: Project is vulnerable to: GHSA-9hjg-9r4m-mvj7","Warn: Project is vulnerable to: GHSA-9wx4-h78v-vm56","Warn: Project is vulnerable to: GHSA-pq67-6m6q-mj2v","Warn: Project is vulnerable to: GHSA-34jh-p97f-mpxf"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-17T06:12:05.010Z","repository_id":37895802,"created_at":"2025-08-17T06:12:05.010Z","updated_at":"2025-08-17T06:12:05.010Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31402276,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T10:20:44.708Z","status":"ssl_error","status_checked_at":"2026-04-04T10:20:06.846Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bb-le-refarch","binbash-ref-architecture","binbash-refarch","ref-architecture"],"created_at":"2026-04-04T13:50:35.598Z","updated_at":"2026-04-04T13:50:37.008Z","avatar_url":"https://github.com/binbashar.png","language":"Python","funding_links":["https://github.com/sponsors/binbashar"],"categories":[],"sub_categories":[],"readme":"\u003ca href=\"https://github.com/binbashar\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/binbashar/le-ref-architecture-doc/master/docs/assets/images/logos/binbash-leverage-banner.png\" width=\"1032\" align=\"left\" alt=\"Binbash\"/\u003e\n\u003c/a\u003e\n\u003cbr clear=\"left\"/\u003e\n\n# Leverage CLI\n\nLeverage CLI is the tool used to manage and interact with any Leverage project.\n\nIt transparently handles the most complex and error prone tasks that arise from working with a state-of-the-art\ninfrastructure definition like our Leverage Reference Architecture. Leverage CLI uses a dockerized approach to\nencapsulate the tools needed to perform such tasks and to free the user from having to deal with the configuration and\nmanagement of said tools.\nProvides the means to interact with your Leverage project and allows you to define custom tasks to run.\n\nReviewing and implementing the [Binbash Leverage Landing Zone for AWS](https://leverage.binbash.co/try-leverage/) would\nbe a very good place to start!\n\n## Documentation\n\nFor installation instructions and all documentation regarding Leverage CLI, please refer\nto [this page](https://leverage.binbash.co/user-guide/leverage-cli/installation/).\n\n### Note for migration from previous versions\n\nIf you come from Leverage CLI version \u003c1.8.0 and want to install Leverage CLI version \u003e= 1.8.0 keep into account the\nfollowing.\n\nThe `build.env` file format has changed. As an example, this is the old format:\n\n```\n# Project settings\nPROJECT=bb\n\n# General\nMFA_ENABLED=false\n\n# Terraform\nTERRAFORM_IMAGE_NAME=binbash/terraform-awscli-slim\nTERRAFORM_IMAGE_TAG=1.1.9\n```\n\nNew version example:\n\n```\n# Project settings\nPROJECT=bb\n\n# General\nMFA_ENABLED=false\n\n# Terraform\nTF_IMAGE_TAG=1.5.0-0.2.0\n```\n\nSo, if you have created a project with version \u003c1.8.0 and want to use it with version \u003e=1.8.0 you should:\n\n- remove TERRAFORM_IMAGE_NAME line\n- update TF_IMAGE_TAG from this form '9.9.9' to this one '9.9.9-9.9.9'.\n\nFor the second item you can check the version [here](https://hub.docker.com/r/binbash/leverage-toolbox/tags).\n\n## System requirements\n\n### Supported python versions\n\nLeverage CLI explicitly supports the following Python versions:\n\n- Python 3.9.x\n- Python 3.10.x\n- Python 3.11.x\n- Python 3.12.x\n- Python 3.13.x\n\nThese versions are not only supported but are also the only versions used in our CI/CD pipelines to ensure compatibility\nand performance. This rigorous testing helps prevent compatibility issues and ensures that the Leverage CLI performs as\nexpected under these versions.\n\nPlease ensure that your development and deployment environments are set up with one of these supported versions. Our\nGitHub Actions and other CI workflows are specifically configured to test against these Python versions, which\nreinforces our commitment to maintaining a reliable and stable toolset.\n\n### Installing multiple python versions with pyenv\n\nIf you need to install one of the supported Python versions and would like to manage multiple\nPython environments, `pyenv` is a highly recommended tool. Here’s how you can use `pyenv` to install and manage Python\nversions:\n\n1. Installing Pyenv:\n\n```bash\ncurl https://pyenv.run | bash\n```\n\n2. Add Pyenv to your shell to automate the setup process (if using bash, otherwise you can find details on how to set it\n   up [here](https://github.com/pyenv/pyenv#set-up-your-shell-environment-for-pyenv)):\n\n```bash\necho 'export PYENV_ROOT=\"$HOME/.pyenv\"' \u003e\u003e ~/.bashrc\necho 'export PATH=\"$PYENV_ROOT/bin:$PATH\"' \u003e\u003e ~/.bashrc\necho 'eval \"$(pyenv init --path)\"' \u003e\u003e ~/.bashrc\necho 'eval \"$(pyenv virtualenv-init -)\"' \u003e\u003e ~/.bashrc\nexec \"$SHELL\"\n```\n\n3. Installing python versions:\n\nOnce pyenv is installed, you can install any supported Python version by following these steps:\n\n```bash\npyenv install 3.9.7\npyenv install 3.10.1\npyenv install 3.11.8\npyenv install 3.12.7\npyenv install 3.13.6\n```\n\n4. Create a virtual environment for the leverage project:\n\nCreate a virtual environment for your project using Python 3.13.x:\n\n```bash\npyenv virtualenv 3.13.6 leverage_py_313_venv\n```\n\n5. Set your virtual environment to be used in the project:\n\nTo set this virtual environment as the local environment for your project, navigate to your project directory and run:\n\n```bash\ncd \u003cpath_to_leverage_project_root\u003e\npyenv local leverage_py_313_venv\n```\n\nThis setup commands `pyenv` to use `leverage_py_313_venv` as the local Python version for your project directory,\nensuring that all Python operations within this directory use this isolated environment.\n\n## Setting up development environment\n\nBefore you begin, ensure you are running one of the supported Python versions.\n\nWe now use Poetry for dependency management. Setup your development environment as follows:\n\n1. Install Poetry:\n\n```bash\ncurl -sSL https://install.python-poetry.org | POETRY_VERSION=1.8.2 python -\n```\n\n2. Clone the repository and navigate into it:\n\n```bash\ngit clone https://github.com/binbashar/leverage.git\ncd leverage\n```\n\n3. Install dependencies using Poetry:\n\n```bash\npoetry install --with=dev --with=main\n```\n\n4. To activate the virtual environment and start using the CLI in dev mode, use:\n\n```bash\npoetry shell\n```\n\n## Pre-commit hooks\n\nIn order to run black automatically on every commit, you should install `pre-commit` first:\n\nhttps://pre-commit.com/#installation\n\nAnd then the hooks:\n\n```\npoetry run pre-commit install\n```\n\n## Running Tests\n\nTo run unit tests, pytest is the tool of choice, and the required dependencies are available in the\ncorresponding `dev-requirements.txt`.\n\nIntegration tests are implemented using [bats](https://github.com/bats-core/bats-core/). Bear in mind that bats tests\nare meant to be run in a throwaway environment since they perform filesystem manipulations and installation and removal\nof packages, and the cleanup may not be completely thorough. As such, is highly recommended to run these tests using the\ndocker image.\n\n### Manually\n\n1. Unit tests:\n\n```bash\npoetry run pytest\n```\n\n2. Integration tests:\n\nInstall dependencies (MacOS):\n\n```bash\nbrew install bats-core\nbrew tap bats-core/bats-core\nbrew install bats-support\nbrew install bats-assert\n```\n\n```bash\nbats -r tests/bats\n```\n\n### Using docker image\n\nA Docker image suitable for running all tests can be crafted by running `make build-image`. After crafting the image all\ntests can be executed.\n\nTo run all tests, run `make tests`. Alternatively `make test-unit` or `make test-int` for unit or integration tests\nrespectively.\n\n## Release Process\n\n* On every PR, a Github Action workflow is triggered to create/update a release draft.\n* The version number is determined by the labels of those PRs (major, minor, fix).\n* The release draft has to be manually published. This allows for any number of PR (features, fixes) to make the cut.\n* Once a release is published, another workflow is triggered to create and push the package to PyPi.\n\n## Release Candidate Process\n\n* There is an Action called \"Test Build Package and Push\".\n* This Action can be called manually on any branch specifying the version to release to test.\n    * The version is a Release Candidate following the Semver: e.g. if the next release is 1.2.3, the test version\n      should be 1.2.3rc.1\n* The package will be published to [PyPi](https://pypi.org/project/leverage/).\n\n## Contributors/Contributing\n\n* Leverage CLI was initially based on Pynt: https://github.com/rags/pynt\n\n## License\n\nLeverage CLI is licensed\nunder [MIT license](http://opensource.org/licenses/MIT)[BinBash Inc](https://github.com/binbashar)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbinbashar%2Fleverage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbinbashar%2Fleverage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbinbashar%2Fleverage/lists"}