scrapy / scrapyd

A service daemon to run Scrapy spiders
https://scrapyd.readthedocs.io/en/stable/
BSD 3-Clause "New" or "Revised" License
2.92k stars 569 forks source link

Use wheel files for deployment #488

Closed majid-vaghari closed 1 year ago

majid-vaghari commented 1 year ago

Hello, I'm new to scrapy and scrapyd. I've noticed that scrapyd uses Python egg formats for deploying new project versions. Because I've never heard about egg files I did a little Google search and found out they've been replaced by the new wheel file formats:

As of 2023, Python egg files have completely been replaced by wheel files which have a more defined and structured method of storing metadata and installation resources of python files. —from https://www.askpython.com/python/python-egg-file

So My question is why scrapyd still uses egg files? Is there a certain advantage to using them?

jpmckinney commented 1 year ago

https://packaging.python.org/en/latest/discussions/wheel-vs-egg/

Wheel is a distribution format, i.e a packaging format. 1 Egg was both a distribution format and a runtime installation format (if left zipped), and was designed to be importable

We use eggs for the second reason, which wheels doesn’t cover.