Quibraries

PyPi Supported Python versions lint coverage

Quibraries is a Python wrapper for the libraries.io API which is based on Pybraries. Currently the package fully supports the searching functionality, meaning that the full range of available commands from libraries.io is supported.

The full documentation is hosted at Read the Docs.

Differences with Pybraries

The main reason of existence of this package is that Pybraries is not thread-safe. Further, the API key can be provided only as an environment variable, which makes it difficult to change during execution. Additionally, is when a query returns multiple pages, in Pybraries the iteration has to happen manually and by the user. This is because the returned object is not Iterable, thus convenient “pythonic” constructs cannot be used. The aforementioned reasons (and their associated pain points) sparked the creation of this project which aims to offer what Pybraries does, but also adding these - to us - important features.

Key Terms

Below a list of the key terms if provided which is synonymous with the libraries.io concepts.

host

A repository host platform. e.g. GitHub

owner

A repository owner. e.g. pandas-dev

repo

A repository. e.g. pandas

user

A repository user e.g. a GitHub username. e.g. discdiver

platform

A package manager platform. e.g. PyPI

project

A package or library distributed by a package manager platform. e.g. pandas

It is important to note that many repositories and projects share the same name. Additionally, many owners and repos also share the same name. Further, many owners are also users.

Since this library is a wrapper around functionality that is already provided by libraries.io the items returned are dependent on the API response. In normal circumstances, the answer type is defined by the number of returned items. In the case of a single element returned, then it is a dictionary. If the result contains more than one item, then the result is a list of dictionaries.

Docs

Getting Help

  1. Check out the quibraries documentation.

  2. Check out the libraries.io docs.

  3. Open an issue on GitHub or tag a question on Stack Overflow with “quibraries”.

Contributing

  • Contributions are welcome and appreciated! See Contributing.

License

This software package is governed by the terms and conditions of the MIT license