{"id":13530293,"url":"https://github.com/gabrielfalcao/pyenv-action","last_synced_at":"2025-04-06T10:14:14.199Z","repository":{"id":38426460,"uuid":"249054995","full_name":"gabrielfalcao/pyenv-action","owner":"gabrielfalcao","description":"Enables pyenv within your github actions workflow","archived":false,"fork":false,"pushed_at":"2024-10-23T15:16:57.000Z","size":1639,"stargazers_count":39,"open_issues_count":22,"forks_count":19,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-10-23T19:42:49.897Z","etag":null,"topics":["actions","github","github-actions","pip","pyenv","python","python3","virtualenv"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gabrielfalcao.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"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}},"created_at":"2020-03-21T20:26:22.000Z","updated_at":"2024-02-21T16:14:52.000Z","dependencies_parsed_at":"2023-02-18T07:46:02.151Z","dependency_job_id":"df0ee83e-41ce-4efa-bcf1-63b436b56645","html_url":"https://github.com/gabrielfalcao/pyenv-action","commit_stats":{"total_commits":307,"total_committers":9,"mean_commits":"34.111111111111114","dds":0.4299674267100977,"last_synced_commit":"2f49ca7587f9d0663d13f1147b78d3361417eaf7"},"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabrielfalcao%2Fpyenv-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabrielfalcao%2Fpyenv-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabrielfalcao%2Fpyenv-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabrielfalcao%2Fpyenv-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gabrielfalcao","download_url":"https://codeload.github.com/gabrielfalcao/pyenv-action/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247464225,"owners_count":20942970,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["actions","github","github-actions","pip","pyenv","python","python3","virtualenv"],"created_at":"2024-08-01T07:00:47.572Z","updated_at":"2025-04-06T10:14:14.167Z","avatar_url":"https://github.com/gabrielfalcao.png","language":"TypeScript","funding_links":[],"categories":["Community Resources"],"sub_categories":["Utility"],"readme":"pyenv-action\n============\n\n.. image:: https://github.com/gabrielfalcao/pyenv-action/workflows/Continuous%20Integration/badge.svg\n   :target: https://github.com/gabrielfalcao/pyenv-action/actions\n\n.. image:: https://img.shields.io/github/license/gabrielfalcao/pyenv-action?label=License\n   :target: https://github.com/gabrielfalcao/pyenv-action/blob/master/LICENSE\n\n.. image:: https://img.shields.io/github/v/tag/gabrielfalcao/pyenv-action?label=Latest%20Release\n   :target: https://github.com/gabrielfalcao/pyenv-action/releases\n\nThis GitHub Action allows using pyenv in your build.\n\nFeatures:\n=========\n\n- Installs pyenv ``2.5.3``.\n- Exports `PYENV_ROOT \u003chttps://github.com/pyenv/pyenv#environment-variables\u003e`_ environment variable.\n- Injects ``$PYENV_ROOT/bin`` in the PATH.\n- Injects `pyenv shims \u003chttps://github.com/pyenv/pyenv#understanding-shims\u003e`_ in the PATH.\n- Pre-install specified python versions.\n- Set default python version (through ``pyenv local``).\n\n\n**Note:** Supports Linux and MacOS (but not Windows).\n\n\nUsage\n=====\n\nExample\n-------\n\nInstalls python versions 3.8.16 and 3.9 with pyenv, upgrade pip for\neach of them and run pytest.\n\n\n.. code:: yaml\n\n   name: Using\n   on: [push, pull_request]\n\n   jobs:\n     my_python_job:\n       name: \"Python\"\n       runs-on: ubuntu-latest\n       strategy:\n         matrix:\n           python:\n             - 3.8.16\n             - 3.9\n\n       steps:\n       - uses: actions/checkout@v4\n       - name: Install python version\n         uses: gabrielfalcao/pyenv-action@v18\n         with:\n           default: \"${{ matrix.python }}\"\n           command: pip install -U pip  # upgrade pip after installing python\n\n       - name: Install dependencies\n         run: pip install -r requirements.txt\n\n       - name: Run tests\n         run: pytest .\n\nEnable multiple python versions in your github-action\n-----------------------------------------------------\n\n.. code:: yaml\n\n   name: Using python 3.9 with pyenv\n   on: [push, pull_request]\n\n   jobs:\n\n     test_pyenv:\n       runs-on: ubuntu-latest\n       name: install pyenv\n       steps:\n       - name: setup pyenv\n         uses: \"gabrielfalcao/pyenv-action@v18\"\n         with:\n           default: 3.7.2\n           versions: 3.8.16, 3.5.7\n\n       # create virtualenv for each python version\n\n       - name: Create virtualenv for python 3.5.7\n         run: pyenv local 3.5.7 \u0026\u0026 python3 -mvenv .venv357\n\n       - name: Create virtualenv for python 3.8.16\n         run: pyenv local 3.8.16 \u0026\u0026 python3 -mvenv .venv365\n\n       - name: Create virtualenv for python 3.7.2\n         run: pyenv local 3.7.2 \u0026\u0026 python3 -mvenv .venv372\n\n\n\nInputs\n======\n\n\n**default**\n-----------\n\n\nThe default python version to install and set with ``pyenv local \u003cversion\u003e``\n\nMUST be a valid python version supported by ``pyenv install \u003cversion\u003e``\n\n**MUST** be defined\n\nExample:\n\n\n.. code:: yaml\n\n   - name: setup pyenv\n     uses: \"gabrielfalcao/pyenv-action@v18\"\n     with:\n         default: 3.9\n\n\n**versions**\n------------\n\nA comma-separated list of versions that will be pre-installed in your\ngithub action.\n\n\nEach version must be a valid and supported by ``pyenv install \u003cversion\u003e``\n\nExample:\n\n\n.. code:: yaml\n\n   - name: setup pyenv\n     uses: \"gabrielfalcao/pyenv-action@v18\"\n     with:\n         versions: 3.6.4, 3.7.2\n\n\n**command**\n-----------\n\nA command that will be executed after installing each python version.\n\nThis is useful, for example, for pre-installing pip dependencies in each python.\n\n\nExample:\n\n\n.. code:: yaml\n\n   - name: setup pyenv\n     uses: \"gabrielfalcao/pyenv-action@v18\"\n     with:\n         versions: 3.6.4, 3.7.2\n         command: |\n           pip install -U pip setuptools\n           pip install -r development.txt\n\n\nOutputs\n=======\n\n\n**pyenv_root**\n--------------\n\n\nThe full path to the `PYENV_ROOT\n\u003chttps://github.com/pyenv/pyenv#environment-variables\u003e`_\n\n\nExample:\n\n\n.. code:: yaml\n\n   name: Example pyenv_root action output\n   on: [push, pull_request]\n\n   jobs:\n\n     my_debug_job:\n       runs-on: ubuntu-latest\n       name: install pyenv\n       steps:\n       - name: setup pyenv\n         id: pyenv_installation\n         uses: \"gabrielfalcao/pyenv-action@v18\"\n\n       - name: debug pyenv\n         run: echo ${{ steps.pyenv_installation.outputs.pyenv_root }}\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgabrielfalcao%2Fpyenv-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgabrielfalcao%2Fpyenv-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgabrielfalcao%2Fpyenv-action/lists"}