documentation/question: package publishing
See original GitHub issueproblem
pipenv
’s opening documentation here is worded such that I expected that I could actually package and ship my project with pipenv.
- can i package/publish my project with
pipenv
? - if so, how? the docs and issues from what I’ve searched omit mention of this
anyway, thanks! so far feels like a much better UX that past tooling
Describe your environment
n/a
Expected result
pipenv publish
to kick off a publish cycle
Actual result
docs and/or feature not present
Steps to replicate
n/a
Issue Analytics
- State:
- Created 6 years ago
- Reactions:2
- Comments:30 (16 by maintainers)
Top Results From Across the Web
Publishing a Package - Yarn
Important: This documentation covers Yarn 1 (Classic). For Yarn 2+ docs and migration guide, see yarnpkg.com.
Read more >How does one publish/promote a new package? - TeX
I think the first thing you should to if you decide to publish it is write some documentation, with examples. Look at indian.cse.msu.edu/pub/ ......
Read more >How to Publish an Open-Source Python Package to PyPI
In this step-by-step tutorial, you'll learn how to create a Python package for your project and how to publish it to PyPI, the...
Read more >How To: Publishing Your First Package to npm - DigitalOcean
Generally it's a good idea to include documentation for your package so others know how to use it. The README file is typically...
Read more >Package management - Docassemble
These are for interviews, static files, data files, and document templates. The questions directory contains the YAML files that are in the main...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Folks may also want to read http://www.curiousefficiency.org/posts/2016/09/python-packaging-ecosystem.html#my-core-software-ecosystem-design-philosophy.
Tightly coupling publishing tools to installation tools is useful for forming an initial tight-knit coherent publishing community, and for exploiting network effects as a commercial platform operator, but it’s an approach with a limited lifespan as an ecosystem grows and the diversity of deployment and integration models increases.
For Python, the first phase of that lasted from around 1998->2004 (build with a distutils based setup.py, publish as a tarball if you had no dependencies, or as a Linux distro package if you wanted dependency management), the second phase from around 2004-> 2008 (build with a setuptools based setup.py, install with easy_install), and we’re currently still in the third phase (build with a setuptools based setup.py, install with pip).
One key current focus of ecosystem level work is on eliminating the requirement for published projects to include a
setup.py
file at all. Once that’s the case, then it would indeed be reasonable forpipenv
to define a PEP 517 build backend that allowedPipfile
-based applications to be published directly to PyPI. It wouldn’t involve asetup.py
file, though, it would be apyproject.toml
file that looked something like:@jtratner, sure that looks like it could work. i may try that soon!
to achieve the goal of publishing a library and an executable script, the proposed solution requires 3 tools and a handful of associated files, where neighboring technology stacks would require 1 tool and 1 or 2 files. every time i come back to python i feel lost about what the right tool for the job is. easy_install, pip, pipenv, …make, pip_install, venv/virtualenv, pyenv, etc. they are all sorta kinda related, but all have unique roles. in node, you need just one thing–
npm
(debatablynvm
too, but installing deps next to your source makes it much less relevant in comparison to python). npm has warts, but the consolidation down to one simple tool for library authoring, executable authoring, and build scripts i feel has been underplayed in that community’s explosive growth.i was hoping that this tool would be the
npm
of python, and have the[pyenv|nvm|etc]
bit figured out too. instead, it’s a sort of hybrid. in node speak, it’snvm
+ 1/3 of thenpm
client. i gather from the above remarks that the python community has grown comfortable with what they have–throw more tools at it (with no snark intended). this all works, but i think the dev experience would be improved by merging/consolidating all of the functionality.