awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
jamalex avatar

jamalex/notion-py

0
View on GitHub↗
4,379 stars·469 forks·Python·MIT·18 views

Notion Py

notion-py is a Python library that serves as an unofficial API client for interacting with Notion pages and databases. It functions as an object-relational mapper that translates Notion database tables and blocks into Python classes for structured data management.

The project features a reactive synchronization layer that uses long-polling and callbacks to keep local Python objects updated with remote changes. It includes a thread-safe local data cache with disk persistence to reduce network requests and a converter for transforming Markdown text into formatted Notion content blocks and rich text structures.

The library covers wide-ranging capabilities including the programmatic management of content blocks, database querying with filters and sorting, and user identity management. It also supports the serialization of rich text into CommonMark markdown while preserving LaTeX and styling attributes.

Features

  • Notion Integrations - Acts as a Python-based connector for automating data exchange and management within a Notion workspace.
  • Block Hierarchy Management - Organizes parent-child relationships and block types using an object-oriented interface to structure page content.
  • Data Change Listeners - Triggers custom callback functions when remote Notion records are modified to synchronize local state.
  • Notion Converters - Translates content between Markdown files and Notion pages while preserving formatting and styling.
  • Notion Block Parsers - Transforms Markdown text into formatted Notion content blocks and rich text structures.
  • Page Content Retrievals - Programmatically fetches specific page content from Notion using unique identifiers and authentication tokens.
  • Page Content Updates - Creates, updates, and modifies page attributes and content blocks using an object-oriented interface.
  • Programmatic Content Structuring - Provides an object-oriented interface to programmatically organize and structure Notion blocks and pages.
  • Class-Based Schema Mappings - Dynamically translates remote collection schemas into native Python classes for object-oriented CRUD operations.
  • Collection Querying - Retrieves, filters, and sorts Notion database rows using schema-based attributes and complex query parameters.
  • Database and Table Management - Provides comprehensive capabilities for creating, reading, updating, and deleting Notion pages and databases.
  • Record Change Monitoring - Subscribes to records via long-polling to detect updates and trigger data refreshes automatically.
  • Thread-Safe Local Caching - Provides a thread-safe local data cache with disk persistence to reduce network requests and improve access speed.
  • Remote Object Mappings - Maps remote database schemas and records to local Python classes for structured data manipulation.
  • Object-Relational Mappers - Maps Notion database tables and blocks into Python classes for structured data management.
  • Python API Clients - Provides a native Python library for interacting with Notion pages and databases through an API wrapper.
  • Long-Polling Queries - Uses long-polling queries to monitor remote records and trigger local state synchronization.
  • Reactive Remote Synchronization - Implements a reactive synchronization layer using long-polling and callbacks to keep local objects updated with remote changes.
  • Markdown to Notion Converters - Transforms Markdown text into a formatted Notion data structure automatically during write operations.
  • Notion Block Converters - Transforms standard Markdown text into structured data objects compatible with Notion content blocks.
  • Rich Text to Markdown Converters - Transforms nested rich text formats into CommonMark markdown while preserving styles and LaTeX.
  • API Mutation Atomic Batches - Groups multiple API modifications into single atomic requests to ensure efficient updates to remote data.
  • Local Data Caches - Ships a thread-safe local cache with disk persistence to reduce network requests.
  • Local State Caches - Maintains a local state cache that automatically refreshes record states to minimize server requests.
  • Rich Text Serialization - Serializes nested remote rich text formats into CommonMark markdown while preserving styling and LaTeX.
  • Notion Data Caching - Implements a thread-safe local storage system for persisting Notion records to reduce network overhead.
  • Request Batching - Implements request batching to group multiple data operations into single atomic requests to reduce network overhead.

Star history

Star history chart for jamalex/notion-pyStar history chart for jamalex/notion-py

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does jamalex/notion-py do?

notion-py is a Python library that serves as an unofficial API client for interacting with Notion pages and databases. It functions as an object-relational mapper that translates Notion database tables and blocks into Python classes for structured data management.

What are the main features of jamalex/notion-py?

The main features of jamalex/notion-py are: Notion Integrations, Block Hierarchy Management, Data Change Listeners, Notion Converters, Notion Block Parsers, Page Content Retrievals, Page Content Updates, Programmatic Content Structuring.

Which projects share features with jamalex/notion-py?

Projects with overlapping indexed features include: makenotion/notion-sdk-js — This project is a JavaScript client library and SDK for interacting with the Notion REST API. It provides typed… sooperset/mcp-atlassian — mcp-atlassian is a tool that connects Atlassian project data to AI assistants using the Model Context Protocol. It… datlechin/tablepro — TablePro is a cross-platform database management client designed for browsing, querying, and administering both SQL… spaceandtimefdn/sxt-python-sdk — The SxT-Python-SDK is a Python library and SQL database client designed for executing queries and managing database… shuzheng/zheng — Zheng is a Spring Boot microservices framework and enterprise J2EE development platform. It functions as a distributed… loco-rs/loco — Loco is a full-stack web framework for Rust designed to accelerate application development using a…

Projects sharing features with Notion Py

These projects share indexed features with Notion Py. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • makenotion/notion-sdk-jsmakenotion avatar

    makenotion/notion-sdk-js

    5,611View on GitHub↗

    This project is a JavaScript client library and SDK for interacting with the Notion REST API. It provides typed methods and utilities to programmatically manage pages, databases, and workspace resources within a Notion environment. The SDK includes tools for implementing OAuth 2.0 authorization flows to grant third-party application access to workspace content. It features mechanisms for handling cursor-based pagination via asynchronous iterators and implements exponential back-off retries to manage rate limits and transient server errors. The library covers a broad range of capabilities, in

    TypeScriptapiapi-clientjavascript
    View on GitHub↗5,611
  • sooperset/mcp-atlassiansooperset avatar

    sooperset/mcp-atlassian

    4,330View on GitHub↗

    mcp-atlassian is a tool that connects Atlassian project data to AI assistants using the Model Context Protocol. It provides a standardized tool-calling interface that enables AI assistants to interact directly with project data and documentation. The project supports multi-tenant environments and diverse hosting scenarios, including cloud and on-premise deployments. It implements multiple authentication methods such as OAuth 2.0, API tokens, and personal access tokens, and can route traffic through configurable HTTP, HTTPS, or SOCKS proxies to meet corporate security requirements. Its capabi

    Pythonatlassianconfluencejira
    View on GitHub↗4,330
  • datlechin/tableprodatlechin avatar

    datlechin/TablePro

    4,471View on GitHub↗

    TablePro is a cross-platform database management client designed for browsing, querying, and administering both SQL and NoSQL databases. It functions as a unified workspace that integrates a code-centric SQL editor with schema visualization tools, allowing developers to manage complex data models and execute queries across diverse database engines. The application distinguishes itself through an agentic AI integration layer that connects language models directly to database tools, enabling automated query generation, optimization, and error fixing with configurable approval gates. It features

    Swift
    View on GitHub↗4,471
  • spaceandtimefdn/sxt-python-sdkspaceandtimefdn avatar

    spaceandtimefdn/SxT-Python-SDK

    3,927View on GitHub↗

    The SxT-Python-SDK is a Python library and SQL database client designed for executing queries and managing database schemas via the Space and Time API. It serves as a programmatic interface for interacting with a decentralized data warehouse. The SDK provides tools for decentralized database management, including the ability to define and create table structures and establish views. It enables blockchain data analysis by allowing users to run SQL statements to extract and manipulate on-chain data. The library handles the full data lifecycle from authentication to export. It manages session t

    Python
    View on GitHub↗3,927
Compare all 30 related projects→