1
0
favro-sync/favro_sync/__init__.py

49 lines
1.6 KiB
Python
Raw Normal View History

2024-09-26 15:48:11 +00:00
"""# Favro Sync.
Filesystem in User Space for Favro.
2024-09-26 15:48:11 +00:00
Synchronize your local notes and your Favro.
2024-09-26 14:43:30 +00:00
2024-09-26 16:49:28 +00:00
Uses the [Favro API](https://favro.com/developer/). Rate limiting depends upon
your organization's payment plan.
2024-09-26 19:51:53 +00:00
Uses [`python-fuse`](https://github.com/libfuse/python-fuse) library.
Limitations:
2024-09-26 21:34:11 +00:00
- Only cards in todolist is fetched at the moment.
- Doesn't include title anywhere.
- Tasks cannot be updated or changed.
A more complete implementation will probably require a Markdown parser, to
parse the saved input, and distribute it across the various Card fields (card
name, description, tasks, etc...)
2024-09-26 21:34:11 +00:00
## Usage
1. Install dependencies `pip install -r requirements.txt`
2. Setup [secrets](https://gitfub.space/Jmaa/secret_loader]): `FAVRO_ORGANIZATION_ID`, `FAVRO_USERNAME`, `FAVRO_PASSWORD`.
3. Run `python -m favro_sync <MOUNT_DIR>`. Use the `--help` argument to get an
overview of all supported flags (there is a lot, because
[`python-fuse`](https://github.com/libfuse/python-fuse) implements a whole
bunch automatically.)
2024-09-27 14:13:03 +00:00
## Architecture
- `FavroFuse`
- Markdown Parser/Renderer
- `FavroClient`
- `CardCache`
2024-09-27 14:46:12 +00:00
## Work in Progress
Following features are work in progress:
- [ ] Frontmatter: Tags. With hashtags, for obsidian compatibility. read-write.
- [ ] Frontmatter: Assigned members. Place `[[brackets]]` around in Obsidian mode. Maybe read-write?
- [ ] Frontmatter: Arbitrary structured data? Read-only.
- [ ] Frontmatter: Dependencies. As vault links in Obsidian mode.
- [ ] Allow users to toggle Obsidian mode, instead of being default.
- [ ] Get the correct last-modified date.
2024-09-26 16:49:28 +00:00
"""