Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Publish task as a Python package #935

Open
sisp opened this issue Nov 16, 2022 · 6 comments
Open

Publish task as a Python package #935

sisp opened this issue Nov 16, 2022 · 6 comments
Labels
area: releasing Changes related to the release process. help wanted Issues that could benefit from members of the community contributing their expertise or experience.

Comments

@sisp
Copy link
Contributor

sisp commented Nov 16, 2022

I'd love to use task as the task runner in a Python project without requiring developers to install task manually. In my opinion, it is much better to use task over the plethora of language-specific task runners because it tends to be more feature-rich than many alternatives (as far as I can tell) and can be used for projects independent of their programming languages across all major operating systems without requiring a runtime (like the Python interpreter) thanks to the compiled Go binaries. I'd hope that task would gain further adoption with additional language-native packages and development efforts would focus on this project rather than being scattered across the language-specific alternatives.

I believe a Python package could be created quite easily with some inspiration from the following projects:

Would you be open to accepting a contribution that adds support for publishing a Python package?

Related to #870.

@github-actions github-actions bot added the state: needs triage Waiting to be triaged by a maintainer. label Nov 16, 2022
@andreynering andreynering added area: releasing Changes related to the release process. and removed state: needs triage Waiting to be triaged by a maintainer. labels Nov 16, 2022
@andreynering
Copy link
Member

Hi @sisp,

I have zero experience with the Python world, so to even consider doing this I need some guidance from the community.

npm was easy because I'm more familiar with the JS world and the process was relative straightforward.

For anyone that would use this, please add your 👍 so we know how many would really use this.

@retr0h
Copy link

retr0h commented Dec 3, 2022

hi @andreynering @sisp I could help with this if interested. Would likely utilize poetry as the mechanism for publishing the package.

@sisp
Copy link
Contributor Author

sisp commented Dec 3, 2022

@retr0h I do like Poetry for Python projects, but I don't think it's useful or even beneficial in this case. The projects I referenced build packages that essentially download the binary for the respective platform during installation of the package. This can be done nicely in setup.py but I don't quite see how it would be done with Poetry, or how Poetry would be better than using setup.py and twine (the standard publishing utility for Python) for publishing the package.

@retr0h
Copy link

retr0h commented Dec 8, 2022

@sisp Mostly b/c setup.py has better alternatives now days. Poetry can handle publishing packages as well and uses the modern day pyproject.toml file to support such efforts.

@sisp
Copy link
Contributor Author

sisp commented Dec 8, 2022

@retr0h Old tools but widely adopted. There's nothing wrong with that. Anyway, how would you implement the code that downloads the binaries for the given platform and architecture during package installation with Poetry?

@andreynering andreynering added the help wanted Issues that could benefit from members of the community contributing their expertise or experience. label Jan 29, 2023
@Undertone0809
Copy link

I see a implement https://pypi.org/project/go-task-bin/#description

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: releasing Changes related to the release process. help wanted Issues that could benefit from members of the community contributing their expertise or experience.
Projects
None yet
Development

No branches or pull requests

4 participants