tetherless-world / whyis

Whyis is a nano-scale knowledge graph publishing, management, and analysis framework.
Apache License 2.0
52 stars 30 forks source link

Whyis 2.0 #298

Open jpmccu opened 2 years ago

jpmccu commented 2 years ago

Now that the installers and new system architecture are in place, we need to make sure all of the sparql queries work with Fuseki, and get the unit tests and CI functional again. The CI should probably just build the package, run the tests, and confirm a working system install rather than go through the docker automation, which has become brittle.

Here's how to build whyis now for development:

Prerequisites:

  1. Python 3.7+ (for Ubuntu 18.04 you'll need to add the deadsnakes ppa)
  2. libdb or equivalent (berkeley-db@4 through homebrew)
  3. Python dev package, pip, and venv
  4. Nodejs and NPM.

To build:

  1. Clone the project and check out the fuseki_integration branch.
  2. Create a virtual environment called venv in the whyis repo with python 3.7 or later:
    python3.9 -m venv venv
  3. Activate the virtual environment:
    source venv/bin/activate
  4. Install setup requirements:
    pip install wheel requests
  5. Install whyis in developer mode:
    pip install -e .

You'll need a test KG application to work with. You can do this by making a directory, cd'ing into it, and running whyis.

mkdir test_kg
cd test_kg
whyis

This will generate an app and run whyis on it. The app will be available at http://localhost:5000 of the machine you loaded it on. If you're running it in a VM, you'll need to add the -h 0.0.0.0 argument to whyis to tell it to not be localhost only.

stouffers commented 2 years ago

added build step 4 since requests is not present in a brand new venv.