easyvista-python-client 0.4.1__tar.gz → 0.4.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/CHANGELOG.md +18 -1
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/PKG-INFO +1 -1
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/docs/content.rst +5 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/_version.py +1 -1
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/content/conversion.py +15 -1
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/pyproject.toml +1 -1
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/skills/easyvista-asset-workflow/SKILL.md +1 -1
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/skills/easyvista-client-setup/SKILL.md +1 -1
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/skills/easyvista-directory/SKILL.md +1 -1
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/skills/easyvista-document-workflow/SKILL.md +1 -1
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/skills/easyvista-instance-discovery/SKILL.md +1 -1
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/skills/easyvista-reporting-and-context/SKILL.md +1 -1
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/skills/easyvista-search-syntax/SKILL.md +1 -1
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/skills/easyvista-ticket-actions/SKILL.md +1 -1
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/skills/easyvista-ticket-workflow/SKILL.md +1 -1
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/.gitignore +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/.pre-commit-config.yaml +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/.readthedocs.yaml +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/CONTRIBUTING.md +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/LICENSE +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/README.md +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/docs/_static/.gitkeep +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/docs/_templates/.gitkeep +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/docs/api_reference.rst +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/docs/conf.py +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/docs/development.rst +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/docs/index.rst +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/docs/installation.rst +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/docs/publishing.rst +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/docs/sponsoring.rst +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/docs/user_guide.rst +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/docs/vendor-api-reference.md +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/__init__.py +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/_async/__init__.py +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/_async/_concurrency.py +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/_async/_transport.py +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/_async/client.py +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/_fields.py +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/_html.py +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/_sync/__init__.py +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/_sync/_concurrency.py +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/_sync/_transport.py +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/_sync/client.py +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/_transport.py +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/config.py +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/content/__init__.py +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/context.py +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/directory.py +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/discovery.py +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/exceptions.py +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/field_model.py +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/filters.py +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/models/__init__.py +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/models/action.py +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/models/asset.py +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/models/common.py +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/models/department.py +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/models/document.py +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/models/employee.py +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/models/generic.py +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/models/request.py +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/pagination.py +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/py.typed +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/references.py +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/reporting.py +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/resources/__init__.py +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/resources/actions.py +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/resources/assets.py +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/resources/departments.py +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/resources/descriptor.py +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/resources/discovery.py +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/resources/documents.py +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/resources/employees.py +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/resources/requests.py +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/timestamps.py +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/workflow.py +0 -0
- {easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/skills/README.md +0 -0
|
@@ -15,6 +15,22 @@ is the error. Tags carry no `v` prefix.
|
|
|
15
15
|
|
|
16
16
|
## [Unreleased]
|
|
17
17
|
|
|
18
|
+
## [0.4.2] - 2026-10-07
|
|
19
|
+
|
|
20
|
+
A patch release of the content writer: a link written into a memo opens in a
|
|
21
|
+
new window. Reading is unchanged, and so is everything outside
|
|
22
|
+
`easyvista_python_client.content`.
|
|
23
|
+
|
|
24
|
+
### Changed
|
|
25
|
+
|
|
26
|
+
- **Every link `to_transport` writes carries `target="_blank"
|
|
27
|
+
rel="noopener noreferrer"`**, as a link written in EasyVista's own editor
|
|
28
|
+
does. Without it, EasyVista's memo view opens the link in place, inside its
|
|
29
|
+
own window, so a link to another application seemed to do nothing (measured
|
|
30
|
+
on a live memo, 2026-10-07: links with and without the attributes, side by
|
|
31
|
+
side). Reading ignores both attributes, so `from_transport(to_transport(m))`
|
|
32
|
+
is unchanged for every link.
|
|
33
|
+
|
|
18
34
|
## [0.4.1] - 2026-10-02
|
|
19
35
|
|
|
20
36
|
A patch release of the content reader. A `<u>`, `<mark>` or `<ins>` round a
|
|
@@ -1645,7 +1661,8 @@ Initial public release.
|
|
|
1645
1661
|
status/error code, with non-retryable validation errors (HTTP 590, code 2013).
|
|
1646
1662
|
- `py.typed` marker — the package ships inline type information.
|
|
1647
1663
|
|
|
1648
|
-
[Unreleased]: https://github.com/baraline/easyvista_python_client/compare/0.4.
|
|
1664
|
+
[Unreleased]: https://github.com/baraline/easyvista_python_client/compare/0.4.2...HEAD
|
|
1665
|
+
[0.4.2]: https://github.com/baraline/easyvista_python_client/compare/0.4.1...0.4.2
|
|
1649
1666
|
[0.4.1]: https://github.com/baraline/easyvista_python_client/compare/0.4.0...0.4.1
|
|
1650
1667
|
[0.4.0]: https://github.com/baraline/easyvista_python_client/compare/0.3.0...0.4.0
|
|
1651
1668
|
[0.3.0]: https://github.com/baraline/easyvista_python_client/compare/0.2.0...0.3.0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: easyvista-python-client
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.2
|
|
4
4
|
Summary: Typed Python client for the EasyVista Service Manager REST API
|
|
5
5
|
Project-URL: Homepage, https://github.com/baraline/easyvista_python_client
|
|
6
6
|
Project-URL: Documentation, https://easyvista-python-client.readthedocs.io/en/latest/
|
|
@@ -214,6 +214,11 @@ options, ``HARDBREAKS`` and ``UNSAFE``:
|
|
|
214
214
|
* a fence becomes ``<pre><code>``, with the info string as a
|
|
215
215
|
``class="language-..."``;
|
|
216
216
|
* a table becomes a ``<table>`` with a ``<thead>``;
|
|
217
|
+
* a link opens in a new window: each ``<a href>`` the renderer writes carries
|
|
218
|
+
``target="_blank" rel="noopener noreferrer"``, as a link written in
|
|
219
|
+
EasyVista's editor does. Without it the memo view opens the link in place,
|
|
220
|
+
inside EasyVista's window (measured 2026-10-07). Reading ignores both
|
|
221
|
+
attributes, so a round trip is unchanged;
|
|
217
222
|
* raw HTML, inline or as a block, is passed through as written;
|
|
218
223
|
* ``""``, or only whitespace, stays ``""`` rather than becoming ``<p></p>``.
|
|
219
224
|
|
|
@@ -748,12 +748,26 @@ def html_to_markdown(html: str) -> str:
|
|
|
748
748
|
return str(_FORMATTER.render(_CONVERTER.convert_soup(soup))).strip()
|
|
749
749
|
|
|
750
750
|
|
|
751
|
+
#: A link as cmark-gfm writes one: an ``href``, an optional ``title``, nothing else.
|
|
752
|
+
_RENDERED_LINK = re.compile(r'<a href="[^"]*"(?: title="[^"]*")?>')
|
|
753
|
+
|
|
754
|
+
#: What EasyVista's own editor writes on a link: without it the memo view opens the
|
|
755
|
+
#: link in place, inside EasyVista's window, rather than in a new one.
|
|
756
|
+
_NEW_WINDOW = ' target="_blank" rel="noopener noreferrer"'
|
|
757
|
+
|
|
758
|
+
|
|
751
759
|
def markdown_to_html(markdown: str) -> str:
|
|
752
|
-
"""Render Markdown as HTML: CommonMark with GFM tables, through cmark-gfm.
|
|
760
|
+
"""Render Markdown as HTML: CommonMark with GFM tables, through cmark-gfm.
|
|
761
|
+
|
|
762
|
+
Every link opens in a new window, the way a link written in EasyVista's
|
|
763
|
+
editor does: ``target="_blank" rel="noopener noreferrer"`` is added to each
|
|
764
|
+
link cmark-gfm writes. Reading ignores both attributes.
|
|
765
|
+
"""
|
|
753
766
|
|
|
754
767
|
html: str = cmarkgfm.markdown_to_html_with_extensions(
|
|
755
768
|
markdown, options=_RENDER_OPTIONS, extensions=["table"]
|
|
756
769
|
)
|
|
770
|
+
html = _RENDERED_LINK.sub(lambda link: link.group(0)[:-1] + _NEW_WINDOW + ">", html)
|
|
757
771
|
return html.strip()
|
|
758
772
|
|
|
759
773
|
|
|
@@ -5,7 +5,7 @@ license: MIT
|
|
|
5
5
|
compatibility: "Requires Python 3.11+, easyvista-python-client, network access to an EasyVista Service Manager REST API, and a profile authorized for the assets resource."
|
|
6
6
|
metadata:
|
|
7
7
|
package: easyvista-python-client
|
|
8
|
-
version: "0.4.
|
|
8
|
+
version: "0.4.2"
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
> **Sync and async.** Examples use `EasyvistaClient`. For `AsyncEasyvistaClient`,
|
|
@@ -5,7 +5,7 @@ license: MIT
|
|
|
5
5
|
compatibility: "Requires Python 3.11+, easyvista-python-client, network access to an EasyVista Service Manager REST API, and valid EasyVista credentials."
|
|
6
6
|
metadata:
|
|
7
7
|
package: easyvista-python-client
|
|
8
|
-
version: "0.4.
|
|
8
|
+
version: "0.4.2"
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
`easyvista_python_client` ships both clients over one surface:
|
{easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/skills/easyvista-directory/SKILL.md
RENAMED
|
@@ -5,7 +5,7 @@ license: MIT
|
|
|
5
5
|
compatibility: "Requires Python 3.11+, easyvista-python-client, network access to an EasyVista Service Manager REST API, and a profile authorized for the departments and employees resources (writes are additionally profile-gated)."
|
|
6
6
|
metadata:
|
|
7
7
|
package: easyvista-python-client
|
|
8
|
-
version: "0.4.
|
|
8
|
+
version: "0.4.2"
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
> **Sync and async.** Examples use `EasyvistaClient`. For `AsyncEasyvistaClient`,
|
|
@@ -5,7 +5,7 @@ license: MIT
|
|
|
5
5
|
compatibility: "Requires Python 3.11+, easyvista-python-client, network access to an EasyVista Service Manager REST API, and a profile authorized for the documents sub-resource."
|
|
6
6
|
metadata:
|
|
7
7
|
package: easyvista-python-client
|
|
8
|
-
version: "0.4.
|
|
8
|
+
version: "0.4.2"
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
> **Sync and async.** Examples use `EasyvistaClient`. For `AsyncEasyvistaClient`,
|
|
@@ -5,7 +5,7 @@ license: MIT
|
|
|
5
5
|
compatibility: "Requires Python 3.11+, easyvista-python-client, and network access to an EasyVista Service Manager REST API. Every call here is a GET; nothing is created, updated or deleted."
|
|
6
6
|
metadata:
|
|
7
7
|
package: easyvista-python-client
|
|
8
|
-
version: "0.4.
|
|
8
|
+
version: "0.4.2"
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
> **Sync and async.** Examples use `EasyvistaClient`. For `AsyncEasyvistaClient`,
|
|
@@ -5,7 +5,7 @@ license: MIT
|
|
|
5
5
|
compatibility: "Requires Python 3.11+, easyvista-python-client, and network access to an EasyVista Service Manager REST API."
|
|
6
6
|
metadata:
|
|
7
7
|
package: easyvista-python-client
|
|
8
|
-
version: "0.4.
|
|
8
|
+
version: "0.4.2"
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
> **Sync and async.** Examples use `EasyvistaClient`. For `AsyncEasyvistaClient`,
|
|
@@ -5,7 +5,7 @@ license: MIT
|
|
|
5
5
|
compatibility: "Requires Python 3.11+, easyvista-python-client, and network access to an EasyVista Service Manager REST API."
|
|
6
6
|
metadata:
|
|
7
7
|
package: easyvista-python-client
|
|
8
|
-
version: "0.4.
|
|
8
|
+
version: "0.4.2"
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
> **Sync and async.** Examples use `EasyvistaClient`. For `AsyncEasyvistaClient`,
|
|
@@ -5,7 +5,7 @@ license: MIT
|
|
|
5
5
|
compatibility: "Requires Python 3.11+, easyvista-python-client, network access to an EasyVista Service Manager REST API, and a profile authorized for the actions sub-resource."
|
|
6
6
|
metadata:
|
|
7
7
|
package: easyvista-python-client
|
|
8
|
-
version: "0.4.
|
|
8
|
+
version: "0.4.2"
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
> **Sync and async.** Examples use `EasyvistaClient`. For `AsyncEasyvistaClient`,
|
|
@@ -5,7 +5,7 @@ license: MIT
|
|
|
5
5
|
compatibility: "Requires Python 3.11+, easyvista-python-client, network access to an EasyVista Service Manager REST API, and a profile authorized for the requests resource."
|
|
6
6
|
metadata:
|
|
7
7
|
package: easyvista-python-client
|
|
8
|
-
version: "0.4.
|
|
8
|
+
version: "0.4.2"
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
> **Sync and async.** Examples use `EasyvistaClient`. For `AsyncEasyvistaClient`,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/docs/vendor-api-reference.md
RENAMED
|
File without changes
|
{easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/_fields.py
RENAMED
|
File without changes
|
{easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/_html.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/config.py
RENAMED
|
File without changes
|
|
File without changes
|
{easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/context.py
RENAMED
|
File without changes
|
{easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/directory.py
RENAMED
|
File without changes
|
{easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/discovery.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/filters.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/py.typed
RENAMED
|
File without changes
|
|
File without changes
|
{easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/reporting.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{easyvista_python_client-0.4.1 → easyvista_python_client-0.4.2}/easyvista_python_client/workflow.py
RENAMED
|
File without changes
|
|
File without changes
|