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.ApplicationApi(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:
        # Create a backup
        api_instance.create_backup(backup_name)
    except ApiException as e:
        print("Exception when calling ApplicationApi->create_backup: %s\n" % e)

Documentation for API Endpoints

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

Class Method HTTP request Description
ApplicationApi create_backup PUT /backup/{backupName} Create a backup
ApplicationApi get_app_info GET /app-info Get application info
ApplicationApi get_metrics GET /metrics Get instance metrics
AttachmentsApi delete_attachment_by_id DELETE /attachments/{attachmentId} Delete an attachment
AttachmentsApi get_attachment_by_id GET /attachments/{attachmentId} Get an attachment
AttachmentsApi get_attachment_content GET /attachments/{attachmentId}/content Get the content of an attachment
AttachmentsApi get_note_attachments GET /notes/{noteId}/attachments List the attachments of a note
AttachmentsApi patch_attachment_by_id PATCH /attachments/{attachmentId} Update an attachment
AttachmentsApi post_attachment POST /attachments Create an attachment
AttachmentsApi put_attachment_content_by_id PUT /attachments/{attachmentId}/content Replace the content of an attachment
AttributesApi delete_attribute_by_id DELETE /attributes/{attributeId} Delete an attribute
AttributesApi get_attribute_by_id GET /attributes/{attributeId} Get an attribute
AttributesApi patch_attribute_by_id PATCH /attributes/{attributeId} Update an attribute
AttributesApi post_attribute POST /attributes Create an attribute
BranchesApi delete_branch_by_id DELETE /branches/{branchId} Delete a branch
BranchesApi get_branch_by_id GET /branches/{branchId} Get a branch
BranchesApi patch_branch_by_id PATCH /branches/{branchId} Update a branch
BranchesApi post_branch POST /branches Create a branch
BranchesApi post_refresh_note_ordering POST /refresh-note-ordering/{parentNoteId} Refresh the order of child notes
CalendarApi get_day_note GET /calendar/days/{date} Get a day note
CalendarApi get_inbox_note GET /inbox/{date} Get the inbox note
CalendarApi get_month_note GET /calendar/months/{month} Get a month note
CalendarApi get_week_first_day_note GET /calendar/week-first-day/{date} Get the day note starting the week
CalendarApi get_week_note GET /calendar/weeks/{week} Get a week note
CalendarApi get_year_note GET /calendar/years/{year} Get a year note
NotesApi create_note POST /create-note Create a note
NotesApi delete_note_by_id DELETE /notes/{noteId} Delete a note
NotesApi export_note_subtree GET /notes/{noteId}/export Export a subtree
NotesApi get_note_by_id GET /notes/{noteId} Get a note
NotesApi get_note_content GET /notes/{noteId}/content Get the content of a note
NotesApi get_note_history GET /notes/history List recent changes
NotesApi import_zip POST /notes/{noteId}/import Import a ZIP archive
NotesApi patch_note_by_id PATCH /notes/{noteId} Update a note
NotesApi put_note_content_by_id PUT /notes/{noteId}/content Replace the content of a note
NotesApi search_notes GET /notes Search notes
NotesApi undelete_note POST /notes/{noteId}/undelete Restore a deleted note
RevisionsApi create_revision POST /notes/{noteId}/revision Create a revision
RevisionsApi get_note_revisions GET /notes/{noteId}/revisions List the revisions of a note
RevisionsApi get_revision_by_id GET /revisions/{revisionId} Get a revision
RevisionsApi get_revision_content GET /revisions/{revisionId}/content Get the content of a revision
TokensApi login POST /auth/login Log in
TokensApi logout POST /auth/logout Log out

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

Metadata

Release files for trilium-client 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for trilium-client 0.2.1
File Size Uploaded Provenance Actions
trilium_client-0.2.1.tar.gz 50.6 kB Without provenance Details for trilium_client-0.2.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for trilium-client 0.2.1
File Interpreter ABI Platform Actions
trilium_client-0.2.1-py3-none-any.whl Python 3 none any Details for trilium_client-0.2.1-py3-none-any.whl

Total release size: 135.7 kB

Release files / trilium_client-0.2.1.tar.gz

Download URL trilium_client-0.2.1.tar.gz
Size 50.6 kB
Tags Source
SHA-256 checksum
How to use checksums
7a28ac4f1cfecdf2c8f1cc407f4cbf8ceb1b98d9ee62ddba1d01077288705ef7
BLAKE2b-256 checksum
How to use checksums
8edc682183d356e5f8abc953a1ea8479881ef11df682dbd56cf17f01ba531705
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.4 CPython/3.13.7 Linux/5.10.16.3-microsoft-standard-WSL2

Release files / trilium_client-0.2.1-py3-none-any.whl

Download URL trilium_client-0.2.1-py3-none-any.whl
Size 85.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a38af005bb09a0317ce07a5f5a259e4cc8c5d052ee5616e87b1729bf60e38c1a
BLAKE2b-256 checksum
How to use checksums
98f9cb8f4a5504dcbaf988d4d9455e7cf4f766a181c4bdfd456205098df1ad3b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.4 CPython/3.13.7 Linux/5.10.16.3-microsoft-standard-WSL2

Security for trilium-client 0.2.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page