Coder Social home page Coder Social logo

Comments (6)

ncoghlan avatar ncoghlan commented on July 21, 2024

Noting my preferred answers to these from a high level ecosystem-interoperability-wrangling point of view (some details here are shamelessly stolen from http://yehudakatz.com/2010/12/16/clarifying-the-roles-of-the-gemspec-and-gemfile/ ):

  1. Pipfile is intended primarily for deploying applications and services directly from source control, while pyproject.toml is aimed primarily at the publication of explicitly versioned software components like libraries and frameworks (e.g. to the Python Package Index). Applications and services that also support library-style installation as part of a larger application or service may provide both kinds of file, with Pipfile delegating to pyproject.tomlto avoid metadata duplication.
  2. The overall ecosystem level aim is to support the use of entirely declarative metadata at software installation time. Both pyproject.toml and Pipfile.lock work towards that goal in their respective domains. By contrast, execution of arbitrary software is both necessary and expected during software build processes, so the more modest goal for that step is to offer declarative bootstrapping of the build environment.
  3. Pipfile.lock is a JSON file and hence readable without executing arbitrary code, but I have no strong opinion on Pipfile itself (there are pros and cons on either side)
  4. Pipfile provides executable instructions on how to find and install the dependencies for an application or service, while Pipfile.lock provides a snapshot of a tested combination of specific versions of those dependencies.

from pipfile.

ncoghlan avatar ncoghlan commented on July 21, 2024

I filed #6 to discuss the "arbitrary Python code in Pipfile or not?" question, as I think the convenience of just using exec is possible (so Python syntax works normally), while still strongly encouraging a declarative style by blocking straightforward access to most builtins.

from pipfile.

defnull avatar defnull commented on July 21, 2024

I should have posted #7 as a comment here instead of opening a new issue.

from pipfile.

holdenweb avatar holdenweb commented on July 21, 2024

Yes, the current README leaves many interesting questions unanswered: what's the exact relationship between pip and pipfile, what does it actually create, is it an alternative to pip or does it merely generate requirements files from some other dependency specifications? And so on. The current README is clearly written by someone who already knows the answers to these questions, but the outsider can't currently see much of a reason to become an insider, or even a user.

from pipfile.

nchammas avatar nchammas commented on July 21, 2024
  1. How does Pipfile relate to setup.py and the upcoming pyproject.toml? Is it the same relationship as the one described here between requirements.txt and setup.py?

This repo has been linked to on both Reddit and Hacker News, and the above question in particular seems to be driving a lot of misguided comments.

from pipfile.

pradyunsg avatar pradyunsg commented on July 21, 2024

Do #47 and #49 address this?

from pipfile.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.