ultimate-notion


Nameultimate-notion JSON
Version 0.4 PyPI version JSON
download
home_page
SummaryThe ultimate Python client for Notion!
upload_time2024-02-14 18:47:02
maintainer
docs_urlNone
author
requires_python>=3.10
license
keywords notion notion client
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <div align="center">
<img src="https://raw.githubusercontent.com/ultimate-notion/ultimate-notion/master/docs/assets/images/logo_with_text.svg" alt="Ultimate-Notion logo" width="500" role="img">
</div>
<br/>

Ultimate Notion is the ultimate Python client for [Notion] 🚀 It allows you to access and modify your Notion databases and
pages in the most convenient and pythonic way.

|         |                                    |
|---------|------------------------------------|
| CI/CD   | [![Tests][Tests-image]][Tests-link] [![Coverage][Coverage-image]][Coverage-link] [![Publish Package][Publish-image]][Publish-link] [![Build Docs][Docs-image]][Docs-link] |
| Package | [![PyPI - Version][PyPI_ver-image]][PyPI_ver-link] [![PyPI - Downloads][PyPI_down-image]][PyPI_down-link] [![PyPI - Python Version][PyPI_py-image]][PyPI_py-link] |
| Details | [![Hatch project][hatch-image]][hatch-link] [![linting - Ruff][ruff-image]][ruff-link] [![Types - Mypy][mypy-image]][mypy-link] [![License - MIT][MIT-image]][MIT-link] [![GitHub Sponsors][sponsor-image]][sponsor-link] |

## Installation

Install the most recent release using [PyPI] with:

```console
pip install ultimate-notion
```

or to install all additional dependencies, use:

```console
pip install 'ultimate-notion[all]'
```

## Usage

Make sure you have set the environment variable `NOTION_TOKEN` to your Notion
integration token. Then it's as simple as:

```python
import ultimate_notion as uno

PAGE_TITLE = "Getting Started"

with uno.Session() as notion:
    page = notion.search_page(PAGE_TITLE).item()
    page.show()

# Alternatively, without a context manager:
notion = uno.Session()
page = notion.search_page(PAGE_TITLE).item()
page.show()
notion.close()
```

Check out the official [Ultimate Notion documentation] for more details.
Especially the page about [creating a Notion integration] to get the token.
The documentation is made with [Material for MkDocs] and is hosted on [GitHub Pages].

## Contributing

After having cloned this repository:

1. make sure [hatch] in installed globally, e.g. `pipx install hatch`,
2. make sure [pre-commit] is installed globally, e.g. with `pipx install pre-commit`,
3. optionally run `hatch config set dirs.env.virtual .direnv` to let [VS Code] find your virtual environments,

and then you are already set up to start hacking. Use `hatch run test` to run the unit tests or `hatch run vcr-only`
to run the offline unit tests using [VCR.py]. Regenerate the cassettes with `hatch run vcr-rewrite`.
Check out the environment setup of hatch in [pyproject.toml](pyproject.toml) for many more commands.

If you are using [VS Code], it's quite convenient to create a file  `.vscode/.env` with

```ini
NOTION_TOKEN=secret_YOUR_TOKEN_TO_YOUR_TEST_NOTION_ACCOUNT
ULTIMATE_NOTION_CONFIG=/path/to/repo/.ultimate-notion/config.toml
```

Check out this [page about contributing] for more details.

## License & Credits

Ultimate Notion is distributed under the terms of the [MIT license](LICENSE.txt).
To start this project off a lot of inspiration and code was taken from [hatch] and [notional].
Ultimate Notion highly depends on [notion-sdk-py].

[Notion]: https://www.notion.so/
[hatch]: https://hatch.pypa.io/
[pre-commit]: https://pre-commit.com/
[notional]: https://github.com/jheddings/notional/
[notion-sdk-py]: https://github.com/ramnes/notion-sdk-py/
[Material for MkDocs]: https://github.com/squidfunk/mkdocs-material
[GitHub Pages]: https://docs.github.com/en/pages
[Ultimate Notion documentation]: https://ultimate-notion.com/
[creating a Notion integration]: https://ultimate-notion.com/latest/usage/getting_started/
[page about contributing]: https://ultimate-notion.com/latest/contributing/
[VS Code]: https://code.visualstudio.com/
[PyPI]: https://pypi.org/
[VCR.py]: https://vcrpy.readthedocs.io/

[Tests-image]: https://github.com/ultimate-notion/ultimate-notion/actions/workflows/run-tests.yml/badge.svg
[Tests-link]: https://github.com/ultimate-notion/ultimate-notion/actions/workflows/run-tests.yml
[Coverage-image]: https://img.shields.io/coveralls/github/ultimate-notion/ultimate-notion/master.svg?logo=coveralls&label=Coverage
[Coverage-link]: https://coveralls.io/r/ultimate-notion/ultimate-notion
[Publish-image]: https://github.com/ultimate-notion/ultimate-notion/actions/workflows/publish-pkg.yml/badge.svg
[Publish-link]: https://github.com/ultimate-notion/ultimate-notion/actions/workflows/publish-pkg.yml
[Docs-image]: https://github.com/ultimate-notion/ultimate-notion/actions/workflows/build-dev-docs.yml/badge.svg
[Docs-link]: https://github.com/ultimate-notion/ultimate-notion/actions/workflows/build-dev-docs.yml
[PyPI_ver-image]: https://img.shields.io/pypi/v/ultimate-notion.svg?logo=pypi&label=PyPI&logoColor=gold
[PyPI_ver-link]: https://pypi.org/project/ultimate-notion/
[PyPI_down-image]: https://img.shields.io/pypi/dm/ultimate-notion.svg?color=blue&label=Downloads&logo=pypi&logoColor=gold
[PyPI_down-link]: https://pepy.tech/project/ultimate-notion
[PyPI_py-image]: https://img.shields.io/pypi/pyversions/ultimate-notion.svg?logo=python&label=Python&logoColor=gold
[PyPI_py-link]: https://pypi.org/project/ultimate-notion/
[hatch-image]: https://img.shields.io/badge/%F0%9F%A5%9A-Hatch-4051b5.svg
[hatch-link]: https://github.com/pypa/hatch
[ruff-image]: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json
[ruff-link]: https://github.com/charliermarsh/ruff
[mypy-image]: https://img.shields.io/badge/Types-Mypy-blue.svg
[mypy-link]: https://mypy-lang.org/
[MIT-image]: https://img.shields.io/badge/License-MIT-9400d3.svg
[MIT-link]: LICENSE.txt
[sponsor-image]: https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub&color=ff69b4
[sponsor-link]: https://github.com/sponsors/FlorianWilhelm

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "ultimate-notion",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": "",
    "keywords": "notion,notion client",
    "author": "",
    "author_email": "Florian Wilhelm <Florian.Wilhelm@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/a1/64/9720f148cf8613ef3af1fc4ef97796433a55e3e886326f49402cac21b245/ultimate_notion-0.4.tar.gz",
    "platform": null,
    "description": "<div align=\"center\">\n<img src=\"https://raw.githubusercontent.com/ultimate-notion/ultimate-notion/master/docs/assets/images/logo_with_text.svg\" alt=\"Ultimate-Notion logo\" width=\"500\" role=\"img\">\n</div>\n<br/>\n\nUltimate Notion is the ultimate Python client for [Notion] \ud83d\ude80 It allows you to access and modify your Notion databases and\npages in the most convenient and pythonic way.\n\n|         |                                    |\n|---------|------------------------------------|\n| CI/CD   | [![Tests][Tests-image]][Tests-link] [![Coverage][Coverage-image]][Coverage-link] [![Publish Package][Publish-image]][Publish-link] [![Build Docs][Docs-image]][Docs-link] |\n| Package | [![PyPI - Version][PyPI_ver-image]][PyPI_ver-link] [![PyPI - Downloads][PyPI_down-image]][PyPI_down-link] [![PyPI - Python Version][PyPI_py-image]][PyPI_py-link] |\n| Details | [![Hatch project][hatch-image]][hatch-link] [![linting - Ruff][ruff-image]][ruff-link] [![Types - Mypy][mypy-image]][mypy-link] [![License - MIT][MIT-image]][MIT-link] [![GitHub Sponsors][sponsor-image]][sponsor-link] |\n\n## Installation\n\nInstall the most recent release using [PyPI] with:\n\n```console\npip install ultimate-notion\n```\n\nor to install all additional dependencies, use:\n\n```console\npip install 'ultimate-notion[all]'\n```\n\n## Usage\n\nMake sure you have set the environment variable `NOTION_TOKEN` to your Notion\nintegration token. Then it's as simple as:\n\n```python\nimport ultimate_notion as uno\n\nPAGE_TITLE = \"Getting Started\"\n\nwith uno.Session() as notion:\n    page = notion.search_page(PAGE_TITLE).item()\n    page.show()\n\n# Alternatively, without a context manager:\nnotion = uno.Session()\npage = notion.search_page(PAGE_TITLE).item()\npage.show()\nnotion.close()\n```\n\nCheck out the official [Ultimate Notion documentation] for more details.\nEspecially the page about [creating a Notion integration] to get the token.\nThe documentation is made with [Material for MkDocs] and is hosted on [GitHub Pages].\n\n## Contributing\n\nAfter having cloned this repository:\n\n1. make sure [hatch] in installed globally, e.g. `pipx install hatch`,\n2. make sure [pre-commit] is installed globally, e.g. with `pipx install pre-commit`,\n3. optionally run `hatch config set dirs.env.virtual .direnv` to let [VS Code] find your virtual environments,\n\nand then you are already set up to start hacking. Use `hatch run test` to run the unit tests or `hatch run vcr-only`\nto run the offline unit tests using [VCR.py]. Regenerate the cassettes with `hatch run vcr-rewrite`.\nCheck out the environment setup of hatch in [pyproject.toml](pyproject.toml) for many more commands.\n\nIf you are using [VS Code], it's quite convenient to create a file  `.vscode/.env` with\n\n```ini\nNOTION_TOKEN=secret_YOUR_TOKEN_TO_YOUR_TEST_NOTION_ACCOUNT\nULTIMATE_NOTION_CONFIG=/path/to/repo/.ultimate-notion/config.toml\n```\n\nCheck out this [page about contributing] for more details.\n\n## License & Credits\n\nUltimate Notion is distributed under the terms of the [MIT license](LICENSE.txt).\nTo start this project off a lot of inspiration and code was taken from [hatch] and [notional].\nUltimate Notion highly depends on [notion-sdk-py].\n\n[Notion]: https://www.notion.so/\n[hatch]: https://hatch.pypa.io/\n[pre-commit]: https://pre-commit.com/\n[notional]: https://github.com/jheddings/notional/\n[notion-sdk-py]: https://github.com/ramnes/notion-sdk-py/\n[Material for MkDocs]: https://github.com/squidfunk/mkdocs-material\n[GitHub Pages]: https://docs.github.com/en/pages\n[Ultimate Notion documentation]: https://ultimate-notion.com/\n[creating a Notion integration]: https://ultimate-notion.com/latest/usage/getting_started/\n[page about contributing]: https://ultimate-notion.com/latest/contributing/\n[VS Code]: https://code.visualstudio.com/\n[PyPI]: https://pypi.org/\n[VCR.py]: https://vcrpy.readthedocs.io/\n\n[Tests-image]: https://github.com/ultimate-notion/ultimate-notion/actions/workflows/run-tests.yml/badge.svg\n[Tests-link]: https://github.com/ultimate-notion/ultimate-notion/actions/workflows/run-tests.yml\n[Coverage-image]: https://img.shields.io/coveralls/github/ultimate-notion/ultimate-notion/master.svg?logo=coveralls&label=Coverage\n[Coverage-link]: https://coveralls.io/r/ultimate-notion/ultimate-notion\n[Publish-image]: https://github.com/ultimate-notion/ultimate-notion/actions/workflows/publish-pkg.yml/badge.svg\n[Publish-link]: https://github.com/ultimate-notion/ultimate-notion/actions/workflows/publish-pkg.yml\n[Docs-image]: https://github.com/ultimate-notion/ultimate-notion/actions/workflows/build-dev-docs.yml/badge.svg\n[Docs-link]: https://github.com/ultimate-notion/ultimate-notion/actions/workflows/build-dev-docs.yml\n[PyPI_ver-image]: https://img.shields.io/pypi/v/ultimate-notion.svg?logo=pypi&label=PyPI&logoColor=gold\n[PyPI_ver-link]: https://pypi.org/project/ultimate-notion/\n[PyPI_down-image]: https://img.shields.io/pypi/dm/ultimate-notion.svg?color=blue&label=Downloads&logo=pypi&logoColor=gold\n[PyPI_down-link]: https://pepy.tech/project/ultimate-notion\n[PyPI_py-image]: https://img.shields.io/pypi/pyversions/ultimate-notion.svg?logo=python&label=Python&logoColor=gold\n[PyPI_py-link]: https://pypi.org/project/ultimate-notion/\n[hatch-image]: https://img.shields.io/badge/%F0%9F%A5%9A-Hatch-4051b5.svg\n[hatch-link]: https://github.com/pypa/hatch\n[ruff-image]: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json\n[ruff-link]: https://github.com/charliermarsh/ruff\n[mypy-image]: https://img.shields.io/badge/Types-Mypy-blue.svg\n[mypy-link]: https://mypy-lang.org/\n[MIT-image]: https://img.shields.io/badge/License-MIT-9400d3.svg\n[MIT-link]: LICENSE.txt\n[sponsor-image]: https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub&color=ff69b4\n[sponsor-link]: https://github.com/sponsors/FlorianWilhelm\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "The ultimate Python client for Notion!",
    "version": "0.4",
    "project_urls": {
        "Documentation": "https://ultimate-notion.com/",
        "Source": "https://github.com/ultimate-notion/ultimate-notion",
        "Sponsor": "https://github.com/sponsors/FlorianWilhelm",
        "Tracker": "https://github.com/ultimate-notion/ultimate-notion/issues"
    },
    "split_keywords": [
        "notion",
        "notion client"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "237448bcc28193cac527c968290530311a72a5b6247994b06b951383e9cef399",
                "md5": "554c5aaf1a3bba0c9cb4453b607c7b7b",
                "sha256": "e4621977401d9f864112fe30d030b36a0da0c908d869a78026b79dff23ed1f2e"
            },
            "downloads": -1,
            "filename": "ultimate_notion-0.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "554c5aaf1a3bba0c9cb4453b607c7b7b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 78603,
            "upload_time": "2024-02-14T18:46:59",
            "upload_time_iso_8601": "2024-02-14T18:46:59.542125Z",
            "url": "https://files.pythonhosted.org/packages/23/74/48bcc28193cac527c968290530311a72a5b6247994b06b951383e9cef399/ultimate_notion-0.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a1649720f148cf8613ef3af1fc4ef97796433a55e3e886326f49402cac21b245",
                "md5": "f455f6b003618028d3482aaf79530d93",
                "sha256": "09edf1fb905c036080eaed86b21d8a46454d9ac06f7e5fc9a58446191091e35f"
            },
            "downloads": -1,
            "filename": "ultimate_notion-0.4.tar.gz",
            "has_sig": false,
            "md5_digest": "f455f6b003618028d3482aaf79530d93",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 65615,
            "upload_time": "2024-02-14T18:47:02",
            "upload_time_iso_8601": "2024-02-14T18:47:02.279379Z",
            "url": "https://files.pythonhosted.org/packages/a1/64/9720f148cf8613ef3af1fc4ef97796433a55e3e886326f49402cac21b245/ultimate_notion-0.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-14 18:47:02",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ultimate-notion",
    "github_project": "ultimate-notion",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "ultimate-notion"
}
        
Elapsed time: 0.18100s