This repository contains Python scripts for syncing data from the PlanX to our Notion CRM,
This project uses uv for package and environment management.
-
Install
uv:pip install uv
-
Create the virtual environment:
uv venv
-
Activate the environment:
- Mac/Linux:
source .venv/bin/activate - Windows:
.venv\Scripts\activate
- Mac/Linux:
-
Install dependencies:
uv sync
We use Ruff to keep the code clean and consistent. Ruff is ran as a step in our CI.
To format all files:
ruff format .To check for errors and auto-fix them:
ruff check --fix .Syncs the list of online services per team from the PlanX GraphQL API into the "PlanX Live Services" Notion database.
This script is run via a GitHub Action.
- On a schedule: Runs automatically every night at midnight UTC.
- Manually: Can be triggered at any time by going to the Actions tab in this repo and running the "Sync PlanX teams to Notion CRM" workflow.
To run this locally you'll need a populated .env file (see .env.example). Values can be found via the Open Systems Lab 1Password vault.
Once you've activated the virtual environment and installed the necessary dependencies (see above), you can run the following in your terminal -
uv run src/sync-planx-services/main.py