Skip to main content

python library for ObsidianMD

Project description

py-obsidianmd

A python library for modifying Obsidian notes in batch.

See the full documentation

:warning: Consider backing up your vault before using the library, to avoid any risk of data loss.

Presentation video

Watch the video

Quickstart

pip install py-obsidianmd
from pathlib import Path
from pyomd import Notes
from pyomd.metadata import MetadataType

path_dir = Path('/path/to/obsidian/folder')
notes = Notes(path_dir)

You can test the library on this example vault

move metadata between frontmatter and inline

notes.metadata.move(fr=MetadataType.FRONTMATTER, to=MetadataType.INLINE)
notes.update_content(inline_inplace=False, inline_position="top", inline_tml="standard") #type: ignore
notes.write()

regroup inline metadata inside a callout

notes.update_content(inline_inplace=False, inline_position="top", inline_tml="callout") #type: ignore
notes.write()

add and remove metadata

notes.filter(has_meta=[("tags", "type/book", MetadataType.INLINE)])

notes.metadata.add(k="type", l="[[book]]", meta_type=MetadataType.INLINE)
notes.metadata.remove(k="tags", l="type/book", meta_type=MetadataType.INLINE)

notes.update_content(inline_inplace=False, inline_position="top", inline_tml="callout") #type: ignore
notes.write()

License

BSD 3

Contributing

Contributions are welcome ! Different ways you can contribute:

  • Write an issue: report a bug, suggest an enhancement, ...
  • Submit a pull request to solve an open issue

For more details, see the contribution guidelines.

Support

If you found this library useful and wish to support it's development, you can do so using the links below (paypal or Ko-fi). Thanks a bunch !


Project details


Download files

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

Source Distribution

py-obsidianmd-0.1.7.tar.gz (14.7 kB view details)

Uploaded Source

Built Distribution

py_obsidianmd-0.1.7-py3-none-any.whl (15.2 kB view details)

Uploaded Python 3

File details

Details for the file py-obsidianmd-0.1.7.tar.gz.

File metadata

  • Download URL: py-obsidianmd-0.1.7.tar.gz
  • Upload date:
  • Size: 14.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.14 CPython/3.9.15 Darwin/22.1.0

File hashes

Hashes for py-obsidianmd-0.1.7.tar.gz
Algorithm Hash digest
SHA256 3c92ec2f3ba8b776e6c7fa486a3d880b330177be33a29e8f51d79bcc4d78a5a3
MD5 51d9fb4134e0fe36120b3864cae3b9b8
BLAKE2b-256 378d436f686e731c1a63c8f5ef55cd68070af12668661a17c7fb75ac72ca2e5a

See more details on using hashes here.

File details

Details for the file py_obsidianmd-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: py_obsidianmd-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 15.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.14 CPython/3.9.15 Darwin/22.1.0

File hashes

Hashes for py_obsidianmd-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 f7658c1ccc9502900468076b987e5e449af0e5ce10cb0424e0568f6bd0703acc
MD5 d7f43ddc9027caf13f7eb23c8797c65e
BLAKE2b-256 c05efcf1f02a4e56d4919064f72d105d07d3709d268cc003305743717764fd17

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page