feat: add Notion connector - #353
Open
decipher3114 wants to merge 6 commits into
Open
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a new Python package, moss-connector-notion, under packages/moss-data-connector/ to ingest Notion pages into Moss by searching accessible pages, recursively fetching each page’s full block tree, mapping pages to DocumentInfo, and creating a Moss index via ingest().
Changes:
- Introduces
NotionConnector(page search + recursive block fetching + pagination) and a standardingest()helper for pushing docs into a new Moss index. - Adds unit + integration tests for pagination and recursive block fetching behavior.
- Updates the moss-data-connector docs to list the new Notion connector package.
Reviewed changes
Copilot reviewed 9 out of 10 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| packages/moss-data-connector/README.md | Adds moss-connector-notion to the connector list and table. |
| packages/moss-data-connector/moss-connector-notion/.gitignore | Adds standard Python package/test ignores for the new connector. |
| packages/moss-data-connector/moss-connector-notion/README.md | Documents installation, usage, auth, pagination, and testing for the Notion connector. |
| packages/moss-data-connector/moss-connector-notion/pyproject.toml | Defines the new package metadata, dependencies, and tooling config (pytest/ruff/setuptools). |
| packages/moss-data-connector/moss-connector-notion/src/init.py | Re-exports NotionConnector and ingest. |
| packages/moss-data-connector/moss-connector-notion/src/connector.py | Implements the Notion page iterator, search pagination, and recursive block fetching. |
| packages/moss-data-connector/moss-connector-notion/src/ingest.py | Implements ingest() helper (optionally auto-generating UUID doc IDs). |
| packages/moss-data-connector/moss-connector-notion/tests/test_notion.py | Adds unit tests for pagination and recursive block fetching. |
| packages/moss-data-connector/moss-connector-notion/tests/test_notion_integration.py | Adds an env-gated integration test that creates a page, ingests it, queries it, then cleans up. |
| packages/moss-data-connector/moss-connector-notion/uv.lock | Adds a lockfile capturing resolved dependencies for this package. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Author
|
@HarshaNalluru I've resolved all the issues mentioned above |
Contributor
|
@decipher3114 thanks for the contribution, can you sign the CLA? #353 (comment) |
Author
|
@HarshaNalluru I've signed the CLA |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pull Request Checklist
Please ensure that your PR meets the following requirements:
Description
Summary
This PR adds a new
moss-connector-notionpackage for ingesting Notion pages into Moss.The connector:
notion-clientSDK.Fixes
Closes #352, closes #380
Demo Video
moss-connector-notion-demo.mp4
Type of Change