internetarchive / internetarchive/openlibrary
Simplify Trusted Book Providers integration
- Dominant language
- Python
- Stars
- 6.7k
- Forks
- 2k
- Avg merge
- 2d 14h
- Merged PRs (30d)
- 126
Description
### Proposal
A simplified Trusted Book Providers integration would mean that providers are added by adding the equivalent of json or yml entries to a registry, as opposed to manually adding new html files and classes for new providers.
There may be cases where a new mapper class is required between the ID / naming / url schemes of a provider and Open Library, however this should hopefully become the exception rather than the norm.
### Justification
We have lots of trusted book providers pending evaluation and it would be great to arrive at a point where open librarians and contributing engineers can implement these solutions (and make it more trivial to review).
If done correctly, this could potentially result in dozens of new partner platforms that we can link out to, increasing access to tens of thousands of open access books.
### Breakdown
#### Requirements Checklist
* [ ] Add a new `provides: list[Acquisition]` field to an identifier in openlibrary/plugins/openlibrary/config/edition/identifiers.yml , and construct a `BookProvider` class from the identifier dict/yaml . This should use the `@@@` key like the `url` field to allow us to dynamically construct the acquisitions from the identifier.
#### Related files
*
#### Stakeholders
*
#### Instructions for Contributors
Please [run these commands](https://github.com/internetarchive/openlibrary/wiki/Git-Cheat-Sheet#working-on-your-branch) to ensure your repository is up to date **before** [creating a new branch](https://github.com/internetarchive/openlibrary/wiki/Git-Cheat-Sheet#making-changes-and-creating-a-pull-request) to work on this issue and **each time after** pushing code to Github, because the pre-commit bot may add commits to your PRs upstream.
Contributor guide
Assessment
This issue has not been assessed yet.