Skip to content

nakamasato/autonote

Repository files navigation

autonote

codecov

Description

Automate creating daily, weekly, monthly, and quarterly manual repetitive documents:

  1. Daily: daily journal, habit tracker
  2. Weekly: weekly report
  3. Monthly: monthly report
  4. Quarterly: quarterly review

Prerequisite

  1. Confluence API Token

    export CONFLUENCE_URL=https://xxx.atlassian.net
    export CONFLUENCE_USERNAME=<yourname>@domain.com
    export CONFLUENCE_PASSWORD=<TOKEN>
    
  2. Notion Integration Token

    export NOTION_INTEGRATION_TOKEN=xxx
    

    Please do not forget to share the target database/page with your integration

Installation

pip install autonote

Usage Example (Notion: Create a page from a template.)

  1. Create a template page.

  2. Prepare Python script.

    from autonote.notion import NotionClient
    
    client = NotionClient()
    
    kwargs = {
        "Date": {"start": "2023-02-04", "end": "2023-02-10"},
        "replace_rules": [
            {
                "block_types": ["heading_1"],  # target blocks to apply replacement
                "replace_str": "YYYY/MM/DD",  # replacement string match
                "replace_type": "datetime",  # currently only support "datetime"
                "date_format": "%Y/%m/%d",  # used to parse `start_date` and generate string from datetime when interpolating
                "start_date": "2023/02/04",  # start date
                "increment": True,  # if true, increment 1 day every time replacement is executed
            },
        ],
    }
    client.create_page_from_template(
        template_id="a7cc4f73460c4b9fa82be8d4ed74d8ca",
        title="weekly note",
        override=True,
        **kwargs
    )
  3. Run the script.

    pip install autonote
    python main.py
    

    Generated page:

For more examples, please check examples.

Credits

autonote was created with cookiecutter and the py-pkgs-cookiecutter template.

License

autonote was created by Masato Naka. It is licensed under the terms of the MIT license.

References

  1. Atlassian Python API Confluence module
  2. notion-client
  3. Notion API