frogbot icon indicating copy to clipboard operation
frogbot copied to clipboard

Python PEP 517/518 support

Open ghost opened this issue 2 years ago • 9 comments

Is your feature request related to a problem? Please describe. Frogbot incorrectly assumes that projects with a pyproject.toml file are using the poetry package manager.

Describe the solution you'd like to see Frogbot would ideally support other build backends that can be specified in pyproject.toml files. Projects with a pyproject.toml file that specify a non-poetry build backend, e.g. setuptools.build_meta should be interpreted following the specification for declaring Python project metadata. Support for other build backends like flit could be added as special cases, but most projects appear to be converging to the standard specification linked above. e.g. old flit style vs new flit style.

[build-system]
build-backend = 'setuptools.build_meta'
requires = ['setuptools']

Additional context PEP 517 and PEP 518 outline a "build-system independent format" for projects. Common python packaging tools like setuptools have added support for this feature.

ghost avatar Jun 21 '23 16:06 ghost

Hello @bphillips-exos,

We appreciate your usage of Frogbot! We would like to acknowledge that the issue you have raised is indeed on our roadmap for upcoming development.

We will keep you informed by providing a link to the corresponding pull request once it has been created. This way, you can easily track its progress.

Thank you for bringing this to our attention, and please feel free to reach out if you have any further questions or concerns.

Best regards, Eyal Delarea

EyalDelarea avatar Jun 22 '23 07:06 EyalDelarea

@bphillips-exos, Adding to @EyalDelarea's reply above, we plan to start implementing this next week and would love to get your feedback as soon as this is resolved. We'll keep you posted here.

eyalbe4 avatar Jun 23 '23 07:06 eyalbe4

Thank you both for the info, we'd be happy to try out and share feedback on this feature when it's ready.

ghost avatar Jun 23 '23 13:06 ghost

Hey @bphillips-exos,

I wanted to apologize for the delay, as we originally planned to address this issue right after you opened it. Rest assured, we'll keep you informed about the progress until it gets resolved.

Thank you for your patience.

EyalDelarea avatar Jul 25 '23 14:07 EyalDelarea

Hi @EyalDelarea, Do you know if this issue is still ongoing? I have a similar scenario where a "jf audit" command incorrectly assumes all pyproject.toml files are poetry projects. Thanks for your help!

alexg-jfrog avatar Nov 28 '23 18:11 alexg-jfrog

Hi @EyalDelarea, Ran into this problem as well, where Frogbot keeps failing requiring poetry when it is not used at all in the pyproject.toml. Even trying to get around it by adding a step in the workflow, to install poetry first, doesn't work, as things fail further requiring [tool.poetry] inside pyproject.toml and then dependencies etc. So, asking teams to use such a workaround, doesn't seem like a good idea.

imranzunzani avatar Jan 10 '24 19:01 imranzunzani

We found a workaround for our case by setting JF_PATH_EXCLUSIONS: "*pyproject.toml*". It might not work for everyone. Sharing, as it still could help those with similar setup.

imranzunzani avatar Jan 20 '24 12:01 imranzunzani

I have the same problem as described above with a pyproject.toml that only includes a section for [tool.black] but not [tool.poetry]. For now, the workaround given by @imranzunzani works. Thanks!

juv avatar Jan 23 '24 10:01 juv

Hi @EyalDelarea, do you have an update when the fix for pyproject and other build tools will be added?

martinm82 avatar Feb 13 '24 15:02 martinm82