openzim / openzim/python-scraperlib

Support à la carte dependencies

Open
#244 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Python
Stars
31
Forks
27
Avg merge
3d 7h
Merged PRs (30d)
2

Description

scraperlib grew significantly over the years, with modules very useful even beyond pure scraper usages. The ZIM wrapper is very useful in itself to name only one.

We are also considering addition of the currently separate kiwixstorage module, or the Kiwix catalog reader.

To support this Kiwix Swiss-army knife layout, we'd need to be able to install only some of the dependencies.

Dependencies would thus be organized into extra groups (ZIM, image, video, etc) with an all group that installs everything of course.

In addition, we could maybe had a try block on imports in each module to print a user-actionable message when importing code for which dependencies are not installed.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the project's dependency configuration and the module imports mentioned in the issue. Define how ZIM, image, and video extras should be organized, including the all group, and determine whether missing-dependency messages are in scope. Done means the selected extras install independently and the agreed import behavior is covered.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.