1
0
favro-sync/favro_sync/__init__.py
Jon Michael Aanes 9d2cd93ed3
Some checks failed
Test Python / Test (push) Failing after 24s
WIP
2024-09-27 16:46:12 +02:00

49 lines
1.6 KiB
Python

"""# Favro Sync.
Filesystem in User Space for Favro.
Synchronize your local notes and your Favro.
Uses the [Favro API](https://favro.com/developer/). Rate limiting depends upon
your organization's payment plan.
Uses [`python-fuse`](https://github.com/libfuse/python-fuse) library.
Limitations:
- 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...)
## 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.)
## Architecture
- `FavroFuse`
- Markdown Parser/Renderer
- `FavroClient`
- `CardCache`
## 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.
"""