The API of Joplin Editor in Python 3.7+
- python 3.7+
- httpx
git clone https://gitlab.com/annyong/joplin-api
cd joplin-api
pip install -e .
Have a look at tests/test_folder.py
and test/test_ping.py
import asyncio
from joplin_api import JoplinApi
joplin = JoplinApi(token='my token')
async def ping_me():
await joplin.ping()
loop = asyncio.get_event_loop()
try:
loop.run_until_complete(ping_me())
finally:
loop.close()
import asyncio
from joplin_api import JoplinApi
joplin = JoplinApi(token='my token')
async def new_folder():
folder = 'TEST FOLDER1'
res = await joplin.create_folder(folder=folder)
loop = asyncio.get_event_loop()
try:
loop.run_until_complete(new_folder())
finally:
loop.close()
import asyncio
from joplin_api import JoplinApi
joplin = JoplinApi(token='my token')
async def new_note(get_token):
# 1 - create a folder
res = await joplin.create_folder(folder='MY FOLDER')
data = res.json()
parent_id = data['id']
# 2 - create a note with tag
body = '# title 1\n ## subtitle \n ```python\npython --version\n```'
assert type(body) is str
kwargs = {'tags': 'tag1, tag2'}
await joplin.create_note(title="MY NOTE", body=body,
parent_id=parent_id, **kwargs)
loop = asyncio.get_event_loop()
try:
loop.run_until_complete(new_note())
finally:
loop.close()
from joplin_api import JoplinApiSync
joplin = JoplinApiSync(token='my token')
def ping_me():
joplin.ping()
from joplin_api import JoplinApiSync
joplin = JoplinApiSync(token='my token')
def new_folder():
folder = 'TEST FOLDER1'
joplin.create_folder(folder=folder)
import asyncio
from joplin_api import JoplinApiSync
joplin = JoplinApiSync(token='my token')
def new_note(get_token):
# 1 - create a folder
res = joplin.create_folder(folder='MY FOLDER')
data = res.json()
parent_id = data['id']
# 2 - create a note with tag
body = '# title 1\n ## subtitle \n ```python\npython --version\n```'
assert type(body) is str
kwargs = {'tags': 'tag1, tag2'}
joplin.create_note(title="MY NOTE", body=body,
parent_id=parent_id, **kwargs)
By default the API will log in DEBUG mode as it is very verbose. If you want to enable the log then set this environment variable
export JOPLIN_API_LOGLEVEL=DEBUG
with python 3.7 and asyncio, replace
loop = asyncio.get_event_loop()
try:
loop.run_until_complete(new_note())
finally:
loop.close()
by
asyncio.run(new_note())
install pytest by
pip install -r requirements-dev.txt
then, before starting the Unit Test, you will need to set the Token line 10 of tests/conftest.py file
and run
pytest