Skip to main content

trilium-client

This is an auto-generated client for Trilium Notes. It builds an API client using the etapi.openapi.yaml provided by Trilium.

The generated trilium_client, docs, and README.md artifacts are packaged and many unused files are ignored.

To install, run:

pip install trilium-client

To build, activate a shell: (recommended)

poetry shell

Then run:

poetry install --with=dev
scons

To clean, run:

scons --clean

Following is the README produced by the generator.

trilium-client

External Trilium API

This Python package is automatically generated by the OpenAPI Generator project:

  • API version: 1.0.0
  • Package version: 1.0.0
  • Generator version: 7.24.0-SNAPSHOT
  • Build package: org.openapitools.codegen.languages.PythonClientCodegen For more information, please visit https://triliumnotes.org

Requirements.

Python 3.10+

Installation & Usage

pip install

If the python package is hosted on a repository, you can install directly using:

pip install git+https://github.com/mm21/trilium-client.git

(you may need to run pip with root permission: sudo pip install git+https://github.com/mm21/trilium-client.git)

Then import the package:

import trilium_client

Setuptools

Install via Setuptools.

python setup.py install --user

(or sudo python setup.py install to install the package for all users)

Then import the package:

import trilium_client

Tests

Execute pytest to run the tests.

Getting Started

Please follow the installation procedure and then run the following:

import trilium_client
from trilium_client.rest import ApiException
from pprint import pprint

# Defining the host is optional and defaults to http://localhost:37740/etapi
# See configuration.py for a list of all supported configuration parameters.
configuration = trilium_client.Configuration(
    host = "http://localhost:37740/etapi"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure API key authorization: EtapiTokenAuth
configuration.api_key['EtapiTokenAuth'] = os.environ["API_KEY"]

# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
# configuration.api_key_prefix['EtapiTokenAuth'] = 'Bearer'

# Configure HTTP basic authorization: EtapiBasicAuth
configuration = trilium_client.Configuration(
    username = os.environ["USERNAME"],
    password = os.environ["PASSWORD"]
)


# Enter a context with an instance of the API client
with trilium_client.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = trilium_client.DefaultApi(api_client)
    backup_name = 'backup_name_example' # str | If the backupName is e.g. \"now\", then the backup will be written to \"backup-now.db\" file

    try:
        api_instance.create_backup(backup_name)
    except ApiException as e:
        print("Exception when calling DefaultApi->create_backup: %s\n" % e)

Documentation for API Endpoints

All URIs are relative to http://localhost:37740/etapi

Class Method HTTP request Description
DefaultApi create_backup PUT /backup/{backupName}
DefaultApi create_note POST /create-note
DefaultApi create_revision POST /notes/{noteId}/revision
DefaultApi delete_attachment_by_id DELETE /attachments/{attachmentId}
DefaultApi delete_attribute_by_id DELETE /attributes/{attributeId}
DefaultApi delete_branch_by_id DELETE /branches/{branchId}
DefaultApi delete_note_by_id DELETE /notes/{noteId}
DefaultApi export_note_subtree GET /notes/{noteId}/export
DefaultApi get_app_info GET /app-info
DefaultApi get_attachment_by_id GET /attachments/{attachmentId}
DefaultApi get_attachment_content GET /attachments/{attachmentId}/content
DefaultApi get_attribute_by_id GET /attributes/{attributeId}
DefaultApi get_branch_by_id GET /branches/{branchId}
DefaultApi get_day_note GET /calendar/days/{date}
DefaultApi get_inbox_note GET /inbox/{date}
DefaultApi get_month_note GET /calendar/months/{month} Get a month note
DefaultApi get_note_attachments GET /notes/{noteId}/attachments
DefaultApi get_note_by_id GET /notes/{noteId}
DefaultApi get_note_content GET /notes/{noteId}/content
DefaultApi get_note_history GET /notes/history
DefaultApi get_note_revisions GET /notes/{noteId}/revisions
DefaultApi get_revision_by_id GET /revisions/{revisionId}
DefaultApi get_revision_content GET /revisions/{revisionId}/content
DefaultApi get_week_note GET /calendar/weeks/{week} Get a week note
DefaultApi get_year_note GET /calendar/years/{year} Get a year note
DefaultApi import_zip POST /notes/{noteId}/import
DefaultApi login POST /auth/login
DefaultApi logout POST /auth/logout
DefaultApi patch_attachment_by_id PATCH /attachments/{attachmentId}
DefaultApi patch_attribute_by_id PATCH /attributes/{attributeId}
DefaultApi patch_branch_by_id PATCH /branches/{branchId}
DefaultApi patch_note_by_id PATCH /notes/{noteId}
DefaultApi post_attachment POST /attachments
DefaultApi post_attribute POST /attributes
DefaultApi post_branch POST /branches
DefaultApi post_refresh_note_ordering POST /refresh-note-ordering/{parentNoteId}
DefaultApi put_attachment_content_by_id PUT /attachments/{attachmentId}/content
DefaultApi put_note_content_by_id PUT /notes/{noteId}/content
DefaultApi search_notes GET /notes
DefaultApi undelete_note POST /notes/{noteId}/undelete

Documentation For Models

Documentation For Authorization

Authentication schemes defined for the API:

EtapiTokenAuth

  • Type: API key
  • API key parameter name: Authorization
  • Location: HTTP header

EtapiBasicAuth

  • Type: HTTP basic authentication

Author

contact@eliandoran.me

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

trilium_client-0.2.0.tar.gz (42.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

trilium_client-0.2.0-py3-none-any.whl (64.3 kB view details)

Uploaded Python 3

File details

Details for the file trilium_client-0.2.0.tar.gz.

File metadata

  • Download URL: trilium_client-0.2.0.tar.gz
  • Upload date:
  • Size: 42.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.4 CPython/3.13.7 Linux/5.10.16.3-microsoft-standard-WSL2

File hashes

Hashes for trilium_client-0.2.0.tar.gz
Algorithm Hash digest
SHA256 1cfed86ccf59a16a90ed5584528cdd92cae6afdcac295e464befb7be6b4dda24
MD5 1cd9863c1396fbdca20978fee8bb8080
BLAKE2b-256 77d52cbbed6ae2cada1a79158fb244d5b2eeea60de96da7c4a5f0f6c651451ba

See more details on using hashes here.

File details

Details for the file trilium_client-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: trilium_client-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 64.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.4 CPython/3.13.7 Linux/5.10.16.3-microsoft-standard-WSL2

File hashes

Hashes for trilium_client-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d03ce899420e6a939e20d7e0afebdea8542e7ebe1d0a4c7774cc43960695f5a3
MD5 29bbf5b026a4ac60b2b8f380e0beddd9
BLAKE2b-256 6062359a3ecc55c41e4f433cb201f32c528a12bbe141b58ad6afc9521bb70486

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page