spidermon icon indicating copy to clipboard operation
spidermon copied to clipboard

Schematics seems to no longer be supported.

Open paulvav opened this issue 2 years ago • 5 comments

Hi Spidermon team,

Was looking over the schematics project and noticed it looks like it is no longer maintained. I note that it doesn't support Python 3.10 and doesn't appear to have any code changes for over a year. See also: https://github.com/schematics/schematics/issues/628

Going forward should the recommendation be to use jsonschema exclusively for item validation? Or will another validation library be considered - maybe https://github.com/pydantic/pydantic ?

paulvav avatar Nov 29 '22 07:11 paulvav

Hello @paulvav ,

schematics looks dead to me as well and I have no good hope that they will merge this 3.10 PR soon (and 3.11 is already there for a while).

From my point of view, considering the projects that I saw when I worked at Zyte (ex-Scrapinghub) which is the company that sponsor Spidermon, I don't remember any of them that uses schematics. jsonschema is the standard for item validation there. Perhaps outside Zyte this could be the same?

I would suggest to deprecate schematics (adding a Deprecation warning for anyone using it) in the next release (1.18.0) and them remove it from Spidermon in 1.19.0. This would make the item validation pipeline much cleaner too.

Any thoughts on that @VMRuiz @Gallaecio ?

rennerocha avatar Dec 15 '22 19:12 rennerocha

Hello @paulvav , @rennerocha ,

Schematics looks abandoned indeed. Even the doc warms is currently somewhat outdated. So I'm good with deprecating this eventually.

If there is enough interest on other validation tools we could think of adding them. But that is a different topic that doesn't need to wait for this one to resolve.

VMRuiz avatar Dec 16 '22 10:12 VMRuiz

@VMRuiz schematics is broken starting python 3.10 and beyond. Tightly coupling spidermon with a dead project (latest update from 2021) is not a great idea for spidermon moving forward. this is preventing us from upgrading our spider's python version. Would you be open for PRs that drop support of schematics in favor of other validation libraries? If yes, any preference on which solutions to adopt?

HaddadJoe avatar Feb 06 '23 23:02 HaddadJoe

Hello @HaddadJoe, thanks for you interest on the topic!

We are open to PR both for deprecating schematics and to add new validations libraries. They don't necessarily needs to be done simultaneously

VMRuiz avatar Feb 07 '23 09:02 VMRuiz

I'm working on that. I'll have a PR ready soon.

raphapassini avatar Feb 07 '23 14:02 raphapassini