GithubHelp home page GithubHelp logo

Comments (3)

kwshi avatar kwshi commented on June 13, 2024 1

@miketheman Great question--there's two parts to this answer:

  • How to get poetry to add a tests_require key in the generated setup.py? I did some digging, and I could not figure out an answer--for some reason, nobody else has asked this question, and the current version of Poetry doesn't seem to have this feature documented anywhere, even if it has it. There was python-poetry/poetry#1644 raised on the Poetry repository, in response to which "dependency groups" were recently implemented in the (unstable) development branch of Poetry (see also python-poetry/poetry#1856 (comment)) and documented here, but this feature is not released yet, and it's unclear as to whether Poetry itself will actually make use of this feature in its setup.py generation step. There are also some suggestions here and there to specify test dependencies in a test key under tool.poetry.extras, but then it gets treated not as a test dependency so much as just a regular optional dependency.
  • OS vendors specifically know about test dependencies because they are all manually specified upon being added to the package repository (as such, packages generally require manual attention from maintainers in the sense of manually checking upstream for updates, making sure dependencies are correct, etc.) As an example, you can see the line that specifies the test dependencies for python3-wheel in the void-packages repository here: https://github.com/void-linux/void-packages/blob/5f0ed9f35fbbf2313205b2fc942942c870739e04/srcpkgs/python3-wheel/template#L9. So from the vendor perspective it's not essential for setup.py to actually specify test dependencies (since they are manually recorded); only for the sdist bundle to include the test files so it can run them.

On a related note: the tests_require key in setup.py has been long since deprecated--not sure why--but also seems to have reappeared as an allowed key in the newer setup.cfg configuration format? Not sure what's going on there, but it seems from the first decision to deprecate tests_require in setup.py that those folks are not interested in specifying test dependencies within setup.py either.

from pytest-socket.

miketheman avatar miketheman commented on June 13, 2024

@kwshi Thank you for raising this!

I appreciate the position package vendors have in this regard.

Reading more about this inclusion, I don't understand how the source distribution will know which test dependencies to install, as I do not see hat key in the generated setup.py file.

These dependencies are necessary for the project to run tests, how does the package vendor get notified of them?

from pytest-socket.

miketheman avatar miketheman commented on June 13, 2024

@kwshi Excellent response, thanks! I'll be happy to incorporate this change soon and release a patch version package.

from pytest-socket.

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.