Description
When using this tool in a sandboxed environment there are issues with poetry and mkdocs.
Problems.
-
Poetry: Our README states:
In sandboxed environments (proxy or internal repositories), you must configure poetry source in~/.config/pypoetry/pyproject.toml
to allow software installation -
Mkdocs: CDN is blocked so cannot retrieve
mermaid.min.js
Potential solution
One solution updating cookiecutter.json
to model a sandboxed user (default "no"):
-
Poetry: We could manage poetry repository using cookiecutter rendering. However, poetry repository can also be supplied by environment variable instead.
-
CDN: Cookiecutter seems only solution. The documentation suggests we could render correct mermaid source in
mkdocs.yml
by defaulting to standard CDN but allowing sandboxed user to say I need (a) different CDN/version OR (b) I need to use localsrc/docs/mermaid.min.js
file.
I need to do some testing on both issues.
Activity
dalito commentedon Aug 18, 2024
An alternative to modifying the project is to add a poetry config file for the system/user, see https://python-poetry.org/docs/configuration/
I do this plus use a global (company wide)
pip.ini
/pip.conf
forpip
,pipx
etc. (unfortunately poetry does not respect the pip-config but requires its own). We use devpi as local pypi-replacement and another server for javascript-libs like mermaid.noelmcloughlin commentedon Aug 18, 2024
Agree - thanks for confirming so cookiecutter is not good solution for poetry nuances!
I also noticed README has incorrect filename (should be
~/.config/pypoetry/config.toml
not~/.config/pypoetry/pyproject.toml
). I'll raise fix PR.The remaining issue is blocked CDN.
noelmcloughlin commentedon Aug 18, 2024
The documentation describes three possible ways to load mermaid2:
POSSIBLE SOLUTION
If we included a snapshot in
src/docs/js/mermaid.min.js
then cookiecutter offers solution to blocked CDN:cookiecutter.json (allow some people to choose local library)
mkdocs.yaml (version may not match local JS but this is nuance)
dalito commentedon Aug 19, 2024
Ok. I had another look how I did it: I use a plugin poetry-plugin-pypi-mirror. Sorry, completely forgot about the plugin.
The
config.toml
is inC:\Users\<username>\AppData\Roaming\pypoetry
(Windows).