{"id":16537789,"url":"https://github.com/pablolec/pypi-github-sync","last_synced_at":"2025-07-23T16:40:05.104Z","repository":{"id":43397965,"uuid":"373828258","full_name":"PabloLec/pypi-github-sync","owner":"PabloLec","description":"Upload your Python package to PyPI with latest Github version tag.","archived":false,"fork":false,"pushed_at":"2023-06-13T23:16:51.000Z","size":21,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-09-17T04:06:32.040Z","etag":null,"topics":["github-actions","pypi","python","python-package","release-automation"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PabloLec.png","metadata":{"files":{"readme":"README.md","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}},"created_at":"2021-06-04T12:03:38.000Z","updated_at":"2024-01-21T15:39:50.000Z","dependencies_parsed_at":"2023-01-11T17:22:24.814Z","dependency_job_id":null,"html_url":"https://github.com/PabloLec/pypi-github-sync","commit_stats":{"total_commits":19,"total_committers":2,"mean_commits":9.5,"dds":"0.052631578947368474","last_synced_commit":"57b0e314066c1c76924d37e6dd1df7c3b20dfe71"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PabloLec%2Fpypi-github-sync","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PabloLec%2Fpypi-github-sync/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PabloLec%2Fpypi-github-sync/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PabloLec%2Fpypi-github-sync/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PabloLec","download_url":"https://codeload.github.com/PabloLec/pypi-github-sync/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219859520,"owners_count":16556036,"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":["github-actions","pypi","python","python-package","release-automation"],"created_at":"2024-10-11T18:43:27.965Z","updated_at":"2024-10-11T18:43:29.450Z","avatar_url":"https://github.com/PabloLec.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pypi-github-sync [![GitHub release (latest by date)](https://img.shields.io/github/v/release/pablolec/pypi-github-sync)](https://github.com/PabloLec/pypi-github-sync/releases/) [![GitHub](https://img.shields.io/github/license/pablolec/pypi-github-sync)](https://github.com/PabloLec/pypi-github-sync/blob/main/LICENCE) \n\nThis action allows you to upload your Python package to PyPI automatically using latest GitHub version tag as release version.\n\n## How does it work?\n\nRunning a Docker container, this action will clone your repo, fetch its latest release tag, modify `setup.py` and/or `pyproject.toml`, build and finally push to PyPI.\n\nAlso, with current procedure your GitHub repo remains untouched. That means the version parameter in your setup file will not be modified and its value does not matter.  \nYou can leave a dummy value, for example:\n``` Python\nsetup(\n    version=\"0.0.0\",\n    ...\n)\n```\n\n\n## Usage\n\nIn your GitHub repo, create a workflow file or append to an existing one. (e.g. `.github/workflows/release.yml`)\n\nMandatory parameters are:\n``` yaml\n- name: pypi-github-sync\n  uses: PabloLec/pypi-github-sync@v1.0.1\n  with:\n    github_repo: YOUR_USERNAME/YOUR_REPO\n    twine_username: ${{ secrets.TWINE_USERNAME }}\n    twine_password: ${{ secrets.TWINE_PASSWORD }}\n```\n\nYou will need to change `YOUR_USERNAME` and `YOUR_REPO` values and set your PyPI username and password in your repository secrets ([See the docs for reference](https://docs.github.com/en/actions/reference/encrypted-secrets#creating-encrypted-secrets-for-a-repository)).\n\n:arrow_right_hook: See [EXAMPLE.yml](EXAMPLE.yml) for a real world example.\n\n## Inputs\n\n#### `github_repo` *mandatory*\n\nYour github repository with format `USERNAME/REPO` as in URLs. For example this repo is `PabloLec/pypi-github-sync`.\n\n#### `twine_username` *mandatory*\n\nYour PyPI username, add `TWINE_USERNAME` to your [repository secrets](https://docs.github.com/en/actions/reference/encrypted-secrets#creating-encrypted-secrets-for-a-repository).\n\n#### `twine_password` *mandatory*\n\nYour PyPI password, add `TWINE_PASSWORD` to your [repository secrets](https://docs.github.com/en/actions/reference/encrypted-secrets#creating-encrypted-secrets-for-a-repository).\n\n#### `upload_repo` *optional*\n\nThe repository used for package uploading. Defaults to main PyPI repo, you can use others like PyPI test repo with `https://test.pypi.org/legacy/`.\n\n#### `verify_metadata` *optional*\n\nVerify build metadata before publication, defaults to false.\n\n#### `skip_existing` *optional*\n\nDo not raise an error if version already exists on repo, defaults to false.\n\n#### `verbose` *optional*\n\nVerbose output for twine upload, defaults to false.\n\n## Contributing\n\nAny contribution is welcome.  \nTo report a bug or offer your help, simply open a new [issue](https://github.com/PabloLec/pypi-github-sync/issues).  \nYou can also open an issue if you want a new feature to be implemented.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpablolec%2Fpypi-github-sync","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpablolec%2Fpypi-github-sync","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpablolec%2Fpypi-github-sync/lists"}