/oneroster-client

Primary LanguagePythonMIT LicenseMIT

OneRoster Client

🎉 Welcome to the ultimate data fetching adventure

OneRoster Client is a tool for fetching and organizing teacher and student data from a OneRoster-compliant server like a pro! Whether you're diving into the data sea or just dipping your toes, this client makes data fetching and handling a breeze.

🛠️ Prerequisites

Before you embark on this journey, make sure you have these essentials:

  • Python 3.11+: The backbone of our adventure. Get it here!
  • pip: Our trusty package installer.
  • Git: To clone this awesome repository.

Setting Sail ⛵

1. Clone the Repository

Let's kick things off by cloning the repository to your local machine:

git clone https://github.com/mfonism/oneroster-client.git
cd oneroster-client

2. Create a Virtual Environment

Create a cozy virtual environment to manage your dependencies:

python -m venv venv

If that doesn't work, try replacing python in the command with py, python3, or py3.

If none of these options work, please ensure that Python is installed on your machine and that it's included in your system's PATH.

3. Activate the Virtual Environment

  • Windows:

    venv\Scripts\activate
  • macOS/Linux:

    source venv/bin/activate

4. Install Dependencies

Time to equip our project with all the necessary tools:

pip install -r requirements.txt

5. (Optional) Install Development Dependencies

Feeling adventurous? Contribute or experiment with our development goodies:

pip install -r requirements-dev.txt

Oh, and we've set up automated checks with a Makefile to keep everything shipshape. To run all checks, just:

make all

6. Set Up Your Environment Variables

Create a .env file in the project root. Here's your secret map:

CLIENT_ID=your_client_id
CLIENT_SECRET=your_client_secret
TOKEN_URL=https://your-token-url.com/token
BASE_URL=https://your-api-url.com/api

Fill in your own credentials and URLs, and you're ready to set sail! 🗺️

Troubleshooting 🕵️

  • Missing dependencies? Make sure you've activated your virtual environment.
  • Connection issues? Double-check your .env file settings.

Contributions Welcome! 🤝

Join our crew! Install development dependencies, run make all, and sail into the open seas of contribution.