Skip to content

Website for searching for conan packages across many repositories

License

Notifications You must be signed in to change notification settings

02JanDal/conan_inquiry

Repository files navigation

A way to search for conan packages across the web, and view additional information about them. You can find it here.

Features

  • Search results updated-as-you-type
  • Packages from repositories outside conan-central
  • Quick information about what is packaged (description, licenses, authors, links, code example, etc.)
  • View README, the conanfile.py and more

Getting started

If you just want to report an error in an existing package or notify us about a missing package you can skip the steps below and head straight to reporting an issues.

This repository consist of three things:

Workflow

When updating the list of packages the usual workflow is as follows:

  1. Add at least one package for each fully new repository

  2. Run mkdir build && cd build

  3. Run conan_inquiry.py find to find new packages

  4. Run conan_inquiry.py generate (see below for more information) to gather additional data and generate an aggregated package file

  5. Run conan_inquiry.py validate to find any missing fields (start from the top of the output)

    1. Fix all (otherwise you'll waste ratelimit resource) severe issues it reports
    2. Repeat (generate -> validate -> fix) until there are no more issues
  6. Run conan_inquiry.py server and open localhost:8000 in a browser

  7. Run conan_inquiry.py deploy to upload everything to a gh-pages branch

Prerequisites

You need to have Git and Python 3 installed. Then clone the project using git and install the dependencies using pip:

git clone https://github.com/02JanDal/conan_inquiry
cd conan_inquiry
pip install -r requirements.txt

Note: It is highly recommended that you use a virtualenv.

Using the generator

In order to be able to test/use the web interface you need to run the generator.

Getting your access tokens

In order to be able to run the generator you need a couple of access tokens to different sites.

  • Github client ID and secret from here
  • Github token from here
  • Bintray API key from here -> API Key
  • Kitware GitLab token from here

Note: You currently need ALL of these in order to run the generator

Then put them in environment variables before running the generator:

  • GITHUB_CLIENT_ID
  • GITHUB_CLIENT_SECRET
  • GITHUB_TOKEN
  • BINTRAY_API_KEY
  • BINTRAY_USERNAME
  • GITLAB_GITLAB_KITWARE_COM_TOKEN

Running the generator

mkdir build && cd build
python conan_inquiry.py generate

Developing the web interface

Copy a generated packages.js to conan_inquiry/data/web and open index.html in your browser of choice.

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests.

Authors

See also the list of contributors for everyone who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Everyone who has contributed to the conan project
  • Bincrafters, who have created many of the package recipes
  • @PurpleBooth for the README template