Releases: mathe00/obsidian-plugin-python-bridge
🎉 Obsidian Python Bridge v2.0.0 - The Full Power Update! 🎉
This is THE major update everyone has been waiting for! After months of development (and extensive help from our AI friends!), Obsidian Python Bridge transitions from a promising concept to a robust, cross-platform, and incredibly feature-rich tool for bringing your Python scripts into Obsidian.
🚀 What's New in V2.0.0? The "Huge Gap" Explained!
Remember V1? It was a start, a proof-of-concept primarily for Linux users. V2 is a complete overhaul, designed for stability, ease of use, and massively expanded capabilities.
Here's a glimpse of the massive upgrade:
- 🌟 CROSS-PLATFORM AT LAST! (HTTP Communication): The biggest hurdle is overcome! Thanks to a switch from Unix sockets to a secure local HTTP server, the bridge now works seamlessly on Windows, macOS, and Linux. No more platform limitations!
- ⚙️ SCRIPT-SPECIFIC SETTINGS UI: This is a game-changer! Your Python scripts can now define their own settings (API keys, toggles, numbers, dropdowns...) which automatically appear in the Obsidian plugin settings tab. Users can configure your scripts directly – making them feel like native plugins!
- 📂 FULL VAULT API ACCESS: Go way beyond the active note!
- List all note paths (relative or absolute).
- Full File & Folder Management: Create, check existence, rename, delete notes and folders.
- Get Links & Backlinks: Retrieve outgoing links and incoming backlinks (with optional integration with the Backlink Cache plugin for speed!).
- Read/Modify any note's content or frontmatter by path.
- 👂 EVENT LISTENING: Make your scripts reactive! Register listeners for Obsidian events like
vault-modify
,vault-delete
,vault-rename
,metadata-changed
, and more. Trigger actions automatically based on what happens in your vault. - 🚀 ENHANCED SCRIPT MANAGEMENT:
- Activation Control: Enable or disable individual scripts directly in settings.
- Auto-Start: Configure scripts to run automatically when Obsidian starts (with optional delay).
- Dynamic Commands: Assign keyboard shortcuts to your favorite scripts easily.
- 🌐 MASSIVE INTERNATIONALIZATION (i18n): The plugin interface now speaks over 30 languages, making it accessible globally.
- 🛡️ ROBUSTNESS & USABILITY:
- Automatic Python detection (tries
py
,python3
,python
). - Startup checks for Python & required
requests
library. - Automatic PYTHONPATH setup (configurable) for easy library imports.
- Improved error handling and logging.
- Secure communication via
127.0.0.1
.
- Automatic Python detection (tries
- ✨ API IMPROVEMENTS:
get_active_note_content
can now return content as a single string OR a list of lines.- Added
get_editor_context
,get_vault_name
,get_theme_mode
,get_obsidian_language
, and many more file operations.
- 🐛 BUG FIXES & STABILITY: Addressed issues like preventing unintended script execution during settings discovery.
Spot the difference? V2 brings the power:
💾 What’s Included in the Release Files
The attached ZIP file (e.g., obsidian-python-bridge-2.0.0.zip
) contains everything needed to manually install the plugin. Simply extract all its contents directly into your Obsidian vault's plugin folder: .obsidian/plugins/obsidian-python-bridge/
.
(The Python library ObsidianPluginDevPythonToJS.py
is now typically handled via the "Auto-set PYTHONPATH" setting within the plugin, but is also available in the main repository if needed).
🛠️ How to Install
Please refer to the updated Installation Section in the README for the latest instructions.
⚙️ Configuration & Usage
After installation, please check the Configuration and Using the Python Library sections in the README.
Don't forget to consult the detailed Python Client Library Documentation for all available functions and examples, especially the recommended script structure for handling settings discovery!
🙏 A Word on Support & Development
This V2 represents a huge leap, involving countless hours and significant personal investment (including AI assistance costs). If you find this plugin saves you time and enables new workflows, please consider supporting the project (details in the main README).
What’s Next?
With this robust foundation, future development can focus on adding even more API endpoints, refining existing features, and hopefully, seeing amazing scripts developed by the community!
Thank you for your patience and support! Enjoy V2!
Version 1.0.0 - Initial Stable Release
What's Changed
- Update README.md by @mathe00 in #12
- DevelopAdd and Refactor Obsidian Note Retrieval Functions + Update .gitignore for README.md by @mathe00 in #15
Why This Release Exists
This release brings the latest stable features from the develop
branch into main
. Although these features were developed two months ago, they hadn’t been merged into main
yet. The goal is to make it easier for users—especially beginners—to install the plugin without needing to follow complex steps in the README.
If you encounter issues during installation or use, please provide feedback! Your input is essential to improving the plugin and ensuring everything works as expected.
What’s Included in the ZIP
The attached ZIP file contains all the necessary files for the plugin:
main.js
: The core JavaScript file for plugin functionality.manifest.json
: Defines the plugin's metadata for Obsidian.ObsidianPluginDevPythonToJS.py
: An additional script for extending plugin capabilities.LICENSE
: The license file for this project.REAME
A comprehensive guide explaining the plugin's features, setup, and usage instructions.
How to Install
- Download the ZIP file from this release.
- Extract its contents into the following directory in your Obsidian vault:
Ensure the folder contains the files listed above.
.obsidian/plugins/obsidian-plugin-python-bridge/
- Restart Obsidian to load the new plugin.
- Activate the plugin:
- Go to Settings → Community Plugins.
- Locate "Obsidian Python Bridge" in the list and enable it.
What’s Next?
After installation, you can start creating your own Python scripts to interact with your Obsidian notes and enjoy the plugin's functionality! For more guidance, refer to the README.
If something isn’t clear or the plugin doesn’t work as expected, please let me know so I can address it. Thank you for your support!
⚠️ Important Warning: Linux-Only Compatibility
Currently, this plugin only works on Linux. I have been struggling to adapt it for Windows, but unfortunately, I have not been able to find any developers to help with this. Without contributions, this project will likely remain stagnant, as I am working alone.
I am desperately looking for help in any form to make this plugin more accessible. Whether you can help with adapting it for Windows, fixing bugs, or improving any part of the code, your assistance will be highly appreciated.
How You Can Help:
- Windows Support: If you have experience with cross-platform development, your expertise in making this plugin work on Windows would be incredibly valuable.
- Bug Reports and Suggestions: If you encounter bugs or have ideas for improvements, please open an issue on the GitHub repository
- General Contributions: Any help, whether it's testing, feature development, or bug fixes, is welcome!
Please reach out if you're interested in contributing. Together, we can help this plugin grow and improve!