pydiagral 1.0.0__tar.gz → 1.0.0b2__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. {pydiagral-1.0.0 → pydiagral-1.0.0b2}/.github/workflows/labeler.yml +1 -1
  2. {pydiagral-1.0.0 → pydiagral-1.0.0b2}/.github/workflows/pytest.yaml +1 -1
  3. pydiagral-1.0.0b2/.github/workflows/release_and_doc.yaml +92 -0
  4. {pydiagral-1.0.0 → pydiagral-1.0.0b2}/.github/workflows/semantic-prs.yml +1 -1
  5. {pydiagral-1.0.0 → pydiagral-1.0.0b2}/.gitignore +2 -2
  6. pydiagral-1.0.0b2/CHANGELOG.md +13 -0
  7. {pydiagral-1.0.0 → pydiagral-1.0.0b2}/PKG-INFO +3 -3
  8. {pydiagral-1.0.0 → pydiagral-1.0.0b2}/README.md +2 -2
  9. {pydiagral-1.0.0 → pydiagral-1.0.0b2}/docs/api.md +4 -4
  10. pydiagral-1.0.0b2/docs/exceptions.md +12 -0
  11. {pydiagral-1.0.0 → pydiagral-1.0.0b2}/docs/index.md +3 -1
  12. pydiagral-1.0.0b2/docs/models.md +11 -0
  13. {pydiagral-1.0.0 → pydiagral-1.0.0b2}/src/pydiagral/api.py +13 -13
  14. {pydiagral-1.0.0 → pydiagral-1.0.0b2}/src/pydiagral/models.py +2 -2
  15. pydiagral-1.0.0/.github/workflows/docs.yaml +0 -39
  16. pydiagral-1.0.0/.github/workflows/release.yaml +0 -57
  17. pydiagral-1.0.0/CHANGELOG.md +0 -41
  18. pydiagral-1.0.0/docs/exceptions.md +0 -18
  19. pydiagral-1.0.0/docs/models.md +0 -16
  20. {pydiagral-1.0.0 → pydiagral-1.0.0b2}/.devcontainer/Dockerfile.dev +0 -0
  21. {pydiagral-1.0.0 → pydiagral-1.0.0b2}/.devcontainer/devcontainer.json +0 -0
  22. {pydiagral-1.0.0 → pydiagral-1.0.0b2}/.github/FUNDING.yml +0 -0
  23. {pydiagral-1.0.0 → pydiagral-1.0.0b2}/.github/dependabot.yml +0 -0
  24. {pydiagral-1.0.0 → pydiagral-1.0.0b2}/.github/labels.yml +0 -0
  25. {pydiagral-1.0.0 → pydiagral-1.0.0b2}/.github/workflows/lint.yaml +0 -0
  26. {pydiagral-1.0.0 → pydiagral-1.0.0b2}/.github/workflows/lock.yml +0 -0
  27. {pydiagral-1.0.0 → pydiagral-1.0.0b2}/.releaserc +0 -0
  28. {pydiagral-1.0.0 → pydiagral-1.0.0b2}/.vscode/extensions.json +0 -0
  29. {pydiagral-1.0.0 → pydiagral-1.0.0b2}/.vscode/settings.json +0 -0
  30. {pydiagral-1.0.0 → pydiagral-1.0.0b2}/LICENSE +0 -0
  31. {pydiagral-1.0.0 → pydiagral-1.0.0b2}/docs/how-to-find-diagral-serial.png +0 -0
  32. {pydiagral-1.0.0 → pydiagral-1.0.0b2}/docs/pydiagral-Logo.png +0 -0
  33. {pydiagral-1.0.0 → pydiagral-1.0.0b2}/example_code.py +0 -0
  34. {pydiagral-1.0.0 → pydiagral-1.0.0b2}/mkdocs.yml +0 -0
  35. {pydiagral-1.0.0 → pydiagral-1.0.0b2}/pyproject.toml +0 -0
  36. {pydiagral-1.0.0 → pydiagral-1.0.0b2}/src/pydiagral/__init__.py +0 -0
  37. {pydiagral-1.0.0 → pydiagral-1.0.0b2}/src/pydiagral/constants.py +0 -0
  38. {pydiagral-1.0.0 → pydiagral-1.0.0b2}/src/pydiagral/exceptions.py +0 -0
  39. {pydiagral-1.0.0 → pydiagral-1.0.0b2}/src/pydiagral/utils.py +0 -0
  40. {pydiagral-1.0.0 → pydiagral-1.0.0b2}/tests/__init__.py +0 -0
  41. {pydiagral-1.0.0 → pydiagral-1.0.0b2}/tests/data/configuration_sample.json +0 -0
  42. {pydiagral-1.0.0 → pydiagral-1.0.0b2}/tests/data/system_details_sample.json +0 -0
  43. {pydiagral-1.0.0 → pydiagral-1.0.0b2}/tests/test_pydiagral_api.py +0 -0
@@ -16,6 +16,6 @@ jobs:
16
16
  uses: actions/checkout@v4
17
17
 
18
18
  - name: Run Labeler
19
- uses: crazy-max/ghaction-github-labeler@v5.0.0
19
+ uses: crazy-max/ghaction-github-labeler@v5.2.0
20
20
  with:
21
21
  skip-delete: true
@@ -21,7 +21,7 @@ jobs:
21
21
  uses: actions/checkout@v4
22
22
 
23
23
  - name: Set up Python
24
- uses: actions/setup-python@v4
24
+ uses: actions/setup-python@v5
25
25
  with:
26
26
  python-version: '3.12' # Replace with the version of Python you are using
27
27
 
@@ -0,0 +1,92 @@
1
+ name: Generate Release and publish to PyPI + Doc Generation
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ - beta
8
+ workflow_dispatch:
9
+
10
+ jobs:
11
+ release:
12
+ name: Release
13
+ runs-on: ubuntu-latest
14
+ environment:
15
+ name: Semver
16
+ outputs:
17
+ new_release_version: ${{ steps.semantic.outputs.new_release_version }}
18
+ new_release_published: ${{ steps.semantic.outputs.new_release_published }}
19
+ steps:
20
+ - name: Checkout
21
+ uses: actions/checkout@v4
22
+ with:
23
+ persist-credentials: false
24
+
25
+ - name: Set up Python
26
+ uses: actions/setup-python@v5
27
+ with:
28
+ python-version: "3.10"
29
+
30
+ - name: Install dependencies
31
+ run: |
32
+ python -m pip install --upgrade pip
33
+ python -m pip install hatchling twine
34
+
35
+ - name: Semantic Release
36
+ id: semantic
37
+ uses: cycjimmy/semantic-release-action@v4
38
+ env:
39
+ GH_TOKEN: ${{ secrets.GH_TOKEN }}
40
+ PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}
41
+ #DEBUG: semantic-release:*
42
+
43
+ - name: Show version
44
+ if: steps.semantic.outputs.new_release_published == 'true'
45
+ run: |
46
+ echo ${{ steps.semantic.outputs.new_release_version }}
47
+ echo ${{ steps.semantic.outputs.new_release_major_version }}
48
+ echo ${{ steps.semantic.outputs.new_release_minor_version }}
49
+ echo ${{ steps.semantic.outputs.new_release_patch_version }}
50
+
51
+ - name: Build package
52
+ if: steps.semantic.outputs.new_release_published == 'true'
53
+ run: python -m hatchling build
54
+ env:
55
+ PYPROJECT_VERSION: ${{ steps.semantic.outputs.new_release_version }}
56
+
57
+ - name: Publish to PyPI
58
+ if: steps.semantic.outputs.new_release_published == 'true'
59
+ run: twine upload dist/* --skip-existing -u __token__ -p "${{ secrets.PYPI_TOKEN }}"
60
+
61
+ deploy-docs:
62
+ runs-on: ubuntu-latest
63
+ needs: release
64
+ if: needs.release.outputs.new_release_published == 'true'
65
+ steps:
66
+ - name: Checkout Code
67
+ uses: actions/checkout@v4
68
+ with:
69
+ ref: ${{ github.event.inputs.release || github.ref }}
70
+
71
+ - name: Set up Python
72
+ uses: actions/setup-python@v5
73
+ with:
74
+ python-version: '3.12'
75
+
76
+ - name: Set the PYPROJECT_VERSION environment variable
77
+ run: echo "PYPROJECT_VERSION=${{ needs.release.outputs.new_release_version }}" >> $GITHUB_ENV
78
+
79
+ - name: Install dependencies
80
+ run: |
81
+ pip install --upgrade pip
82
+ pip install mkdocs mkdocstrings[python] mkdocs-material
83
+ pip install -e .
84
+
85
+ - name: Build documentation
86
+ run: mkdocs build --strict --verbose
87
+
88
+ - name: Deploy to GitHub Pages
89
+ uses: peaceiris/actions-gh-pages@v4
90
+ with:
91
+ github_token: ${{ secrets.GITHUB_TOKEN }}
92
+ publish_dir: ./site
@@ -14,7 +14,7 @@ jobs:
14
14
  name: Validate PR title
15
15
  runs-on: ubuntu-latest
16
16
  steps:
17
- - uses: ytanikin/PRConventionalCommits@1.2.0
17
+ - uses: ytanikin/PRConventionalCommits@1.3.0
18
18
  with:
19
19
  task_types: '["feat","fix","docs","test","ci","refactor","perf","chore"]'
20
20
  custom_labels: '{"feat": "feature", "fix": "bug", "docs": "documentation", "test": "testing", "ci": "ci", "refactor": "refactoring", "perf": "performance", "chore": "chore"}'
@@ -161,5 +161,5 @@ cython_debug/
161
161
  # option (not recommended) you can uncomment the following to ignore the entire idea folder.
162
162
  #.idea/
163
163
 
164
- # Exclusion of env file
165
- .env
164
+ # Exclusion of .DS_Store
165
+ .DS_Store
@@ -0,0 +1,13 @@
1
+ # [1.0.0-beta.2](https://github.com/mguyard/pydiagral/compare/v1.0.0-beta.1...v1.0.0-beta.2) (2025-02-23)
2
+
3
+
4
+ ### Features
5
+
6
+ * Better publish on PyPi ([d3d81ed](https://github.com/mguyard/pydiagral/commit/d3d81ed95ffd492a5a43f6581d6d78645b4a3afd))
7
+
8
+ # 1.0.0-beta.1 (2025-02-23)
9
+
10
+
11
+ ### Features
12
+
13
+ * First Commit ([97717fa](https://github.com/mguyard/pydiagral/commit/97717fa73e0289b7f3f4c9e84783e1d9b571f423))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pydiagral
3
- Version: 1.0.0
3
+ Version: 1.0.0b2
4
4
  Summary: A Python library for interacting with Diagral systems
5
5
  Project-URL: Homepage, https://github.com/mguyard/pydiagral
6
6
  Project-URL: Documentation, https://github.com/mguyard/pydiagral
@@ -720,8 +720,8 @@ Description-Content-Type: text/markdown
720
720
  <a href="https://github.com/mguyard/pydiagral/actions/workflows/lint.yaml" target="_blank">
721
721
  <img src="https://github.com/mguyard/pydiagral/actions/workflows/lint.yaml/badge.svg" alt="Python Lint Action">
722
722
  </a>
723
- <a href="https://github.com/mguyard/pydiagral/actions/workflows/docs.yaml" target="_blank">
724
- <img src="https://github.com/mguyard/pydiagral/actions/workflows/docs.yaml/badge.svg" alt="Docs Build Action">
723
+ <a href="https://github.com/mguyard/pydiagral/actions/workflows/release_and_doc.yaml" target="_blank">
724
+ <img src="https://github.com/mguyard/pydiagral/actions/workflows/release_and_doc.yaml/badge.svg" alt="Release & Doc Action">
725
725
  </a>
726
726
  <p>
727
727
  <p align="center">
@@ -19,8 +19,8 @@
19
19
  <a href="https://github.com/mguyard/pydiagral/actions/workflows/lint.yaml" target="_blank">
20
20
  <img src="https://github.com/mguyard/pydiagral/actions/workflows/lint.yaml/badge.svg" alt="Python Lint Action">
21
21
  </a>
22
- <a href="https://github.com/mguyard/pydiagral/actions/workflows/docs.yaml" target="_blank">
23
- <img src="https://github.com/mguyard/pydiagral/actions/workflows/docs.yaml/badge.svg" alt="Docs Build Action">
22
+ <a href="https://github.com/mguyard/pydiagral/actions/workflows/release_and_doc.yaml" target="_blank">
23
+ <img src="https://github.com/mguyard/pydiagral/actions/workflows/release_and_doc.yaml/badge.svg" alt="Release & Doc Action">
24
24
  </a>
25
25
  <p>
26
26
  <p align="center">
@@ -4,9 +4,9 @@
4
4
 
5
5
  ::: pydiagral.api
6
6
  handler: python
7
- selection:
8
- members:
9
- - "!^_" # Excludes members starting with an underscore
10
- - DiagralAPI
7
+ options:
8
+ show_root_heading: true
9
+ show_root_toc_entry: false
10
+ members_order: source
11
11
 
12
12
  <!-- prettier-ignore-end -->
@@ -0,0 +1,12 @@
1
+ <!-- prettier-ignore-start -->
2
+
3
+ # Exceptions Reference
4
+
5
+ ::: pydiagral.exceptions
6
+ handler: python
7
+ options:
8
+ show_root_heading: true
9
+ members_order: source
10
+
11
+
12
+ <!-- prettier-ignore-end -->
@@ -1,3 +1,5 @@
1
+ ![Logo](pydiagral-Logo.png)
2
+
1
3
  # Documentation pydiagral
2
4
 
3
5
  Welcome to the documentation for pydiagral, a Python library for interacting with the Diagral API.
@@ -61,7 +63,7 @@ LOG_LEVEL=DEBUG
61
63
 
62
64
  And run the [example_code.py](https://github.com/mguyard/pydiagral/blob/main/example_code.py).
63
65
 
64
- > [!TIP]
66
+ > TIP
65
67
  >
66
68
  > You can customize the actions performed by [example_code.py](https://github.com/mguyard/pydiagral/blob/main/example_code.py) by modifying the parameters in the code, as indicated by the `CUSTOMIZE THE TESTS` section title.
67
69
 
@@ -0,0 +1,11 @@
1
+ <!-- prettier-ignore-start -->
2
+
3
+ # Models Reference
4
+
5
+ ::: pydiagral.models
6
+ handler: python
7
+ options:
8
+ show_root_heading: true
9
+ members_order: source
10
+
11
+ <!-- prettier-ignore-end -->
@@ -134,7 +134,7 @@ class DiagralAPI:
134
134
  method (str): The HTTP method to use for the request (e.g., 'GET', 'POST').
135
135
  endpoint (str): The API endpoint to send the request to.
136
136
  timeout (float, optional): The timeout for the request in seconds. Defaults to 30.
137
- **kwargs: Additional keyword arguments to pass to the request.
137
+ **kwargs (any): Additional keyword arguments to pass to the request.
138
138
 
139
139
  Returns:
140
140
  tuple[dict[str, Any], int]: A tuple containing:
@@ -589,7 +589,6 @@ class DiagralAPI:
589
589
  Raises:
590
590
  ConfigurationError: If the action is not one of the allowed actions.
591
591
  AuthenticationError: If the API key, secret key, or PIN code is missing.
592
- All other exceptions from _request function are propagated.
593
592
 
594
593
  """
595
594
 
@@ -643,7 +642,8 @@ class DiagralAPI:
643
642
  SystemStatus: An instance of SystemStatus containing the system status after starting the system.
644
643
 
645
644
  Raises:
646
- All exceptions from __system_action function are propagated.
645
+ ConfigurationError: If the action is not one of the allowed actions.
646
+ AuthenticationError: If the API key, secret key, or PIN code is missing.
647
647
 
648
648
  """
649
649
 
@@ -658,7 +658,8 @@ class DiagralAPI:
658
658
  SystemStatus: An instance of SystemStatus containing the system status after stopping the system.
659
659
 
660
660
  Raises:
661
- All exceptions from __system_action function are propagated.
661
+ ConfigurationError: If the action is not one of the allowed actions.
662
+ AuthenticationError: If the API key, secret key, or PIN code is missing.
662
663
 
663
664
  """
664
665
 
@@ -671,7 +672,8 @@ class DiagralAPI:
671
672
  SystemStatus: An instance of SystemStatus containing the system status after starting the system in presence mode.
672
673
 
673
674
  Raises:
674
- All exceptions from __system_action function are propagated.
675
+ ConfigurationError: If the action is not one of the allowed actions.
676
+ AuthenticationError: If the API key, secret key, or PIN code is missing.
675
677
 
676
678
  """
677
679
 
@@ -688,7 +690,6 @@ class DiagralAPI:
688
690
 
689
691
  Raises:
690
692
  ConfigurationError: If the provided ID is not 1 or 2.
691
- All other exceptions from __system_action function are propagated.
692
693
 
693
694
  """
694
695
 
@@ -714,7 +715,6 @@ class DiagralAPI:
714
715
  Raises:
715
716
  ConfigurationError: If the action is not 'activate_group' or 'disable_group', or if the groups are invalid.
716
717
  AuthenticationError: If the API key, secret key, or PIN code is not provided.
717
- All other exceptions from _request function are propagated.
718
718
 
719
719
  """
720
720
 
@@ -783,7 +783,7 @@ class DiagralAPI:
783
783
 
784
784
  Raises:
785
785
  ConfigurationError: If the action is not one of the allowed actions.
786
- All other exceptions from __action_group_system function are propagated.
786
+ AuthenticationError: If the API key, secret key, or PIN code is not provided.
787
787
 
788
788
  """
789
789
 
@@ -805,7 +805,7 @@ class DiagralAPI:
805
805
 
806
806
  Raises:
807
807
  ConfigurationError: If the action is not one of the allowed actions.
808
- All other exceptions from __action_group_system function are propagated.
808
+ AuthenticationError: If the API key, secret key, or PIN code is not provided.
809
809
 
810
810
  """
811
811
 
@@ -834,7 +834,6 @@ class DiagralAPI:
834
834
  Raises:
835
835
  ConfigurationError: If the action is not 'enable' or 'disable', or if the product type is invalid.
836
836
  AuthenticationError: If the API key, secret key, or PIN code is not provided.
837
- All other exceptions from _request function are propagated.
838
837
 
839
838
  """
840
839
 
@@ -888,7 +887,8 @@ class DiagralAPI:
888
887
  SystemStatus: An instance of SystemStatus containing the system status after enabling the product.
889
888
 
890
889
  Raises:
891
- All exceptions from __action_product function are propagated.
890
+ ConfigurationError: If the action is not 'enable'
891
+ AuthenticationError: If the API key, secret key, or PIN code is not provided.
892
892
 
893
893
  """
894
894
  return await self.__action_product(
@@ -908,7 +908,8 @@ class DiagralAPI:
908
908
  SystemStatus: An instance of SystemStatus containing the system status after disabling the product.
909
909
 
910
910
  Raises:
911
- All exceptions from __action_product function are propagated.
911
+ ConfigurationError: If the action is not 'disable'
912
+ AuthenticationError: If the API key, secret key, or PIN code is not provided.
912
913
 
913
914
  """
914
915
  return await self.__action_product(
@@ -980,7 +981,6 @@ class DiagralAPI:
980
981
 
981
982
  Raises:
982
983
  AuthenticationError: If the API key or secret key is not provided.
983
- All other exceptions from _request function are propagated.
984
984
 
985
985
  """
986
986
 
@@ -90,7 +90,7 @@ class CamelCaseModel:
90
90
  return result
91
91
 
92
92
  @classmethod
93
- def _from_dict_recursive(cls, data: dict, target_cls: type[T]) -> T:
93
+ def _from_dict_recursive(cls: type[T], data: dict, target_cls: type[T]) -> T:
94
94
  """Recursively converts a dictionary to an instance of the specified target class.
95
95
 
96
96
  This method handles nested dictionaries and lists, converting them to the appropriate
@@ -98,7 +98,7 @@ class CamelCaseModel:
98
98
  by handling `Union` types and removing `None` from the type hints.
99
99
 
100
100
  Args:
101
- cls: The class that this method is a part of.
101
+ cls (type[T]): The class that this method is a part of.
102
102
  data (dict): The dictionary to convert.
103
103
  target_cls (type[T]): The target class to convert the dictionary to.
104
104
 
@@ -1,39 +0,0 @@
1
- name: Generate and Deploy Documentation
2
-
3
- on:
4
- release:
5
- types: [published]
6
- workflow_dispatch:
7
- inputs:
8
- release:
9
- description: 'Release to generate and deploy documentation for'
10
- required: true
11
- default: 'latest'
12
-
13
- jobs:
14
- deploy-docs:
15
- runs-on: ubuntu-latest
16
- steps:
17
- - name: Checkout Code
18
- uses: actions/checkout@v4
19
- with:
20
- ref: ${{ github.event.inputs.release || github.ref }}
21
-
22
- - name: Set up Python
23
- uses: actions/setup-python@v4
24
- with:
25
- python-version: '3.12'
26
-
27
- - name: Install dependencies
28
- run: |
29
- pip install --upgrade pip
30
- pip install mkdocs mkdocstrings[python] mkdocs-material
31
-
32
- - name: Build documentation
33
- run: mkdocs build --strict
34
-
35
- - name: Deploy to GitHub Pages
36
- uses: peaceiris/actions-gh-pages@v4
37
- with:
38
- github_token: ${{ secrets.GITHUB_TOKEN }}
39
- publish_dir: ./site
@@ -1,57 +0,0 @@
1
- name: Generate Release and publish to PyPI
2
-
3
- on:
4
- push:
5
- branches:
6
- - main
7
- - beta
8
- workflow_dispatch:
9
-
10
- jobs:
11
- release:
12
- name: Release
13
- runs-on: ubuntu-latest
14
- environment:
15
- name: Semver
16
- steps:
17
- - name: Checkout
18
- uses: actions/checkout@v4
19
- with:
20
- fetch-depth: 0
21
-
22
- - name: Set up Python
23
- uses: actions/setup-python@v4
24
- with:
25
- python-version: "3.10"
26
-
27
- - name: Install dependencies
28
- run: |
29
- python -m pip install --upgrade pip
30
- python -m pip install hatchling twine
31
-
32
- - name: Semantic Release
33
- id: semantic
34
- uses: cycjimmy/semantic-release-action@v4
35
- with:
36
- branch: ${{ github.ref_name }} # Utiliser la branche actuelle
37
- env:
38
- GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
39
- PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}
40
-
41
- - name: Show version
42
- if: steps.semantic.outputs.new_release_published == 'true'
43
- run: |
44
- echo ${{ steps.semantic.outputs.new_release_version }}
45
- echo ${{ steps.semantic.outputs.new_release_major_version }}
46
- echo ${{ steps.semantic.outputs.new_release_minor_version }}
47
- echo ${{ steps.semantic.outputs.new_release_patch_version }}
48
-
49
- - name: Build package
50
- if: steps.semantic.outputs.new_release_published == 'true'
51
- run: python -m hatchling build
52
- env:
53
- PYPROJECT_VERSION: ${{ steps.semantic.outputs.new_release_version }}
54
-
55
- - name: Publish to PyPI
56
- if: steps.semantic.outputs.new_release_published == 'true'
57
- run: twine upload dist/* -u __token__ -p "${{ secrets.PYPI_TOKEN }}"
@@ -1,41 +0,0 @@
1
- # 1.0.0 (2025-02-22)
2
-
3
-
4
- ### Bug Fixes
5
-
6
- * Add data in debug request log ([8951ce5](https://github.com/mguyard/pydiagral/commit/8951ce5cc4e7c896aa87bf99312253138fa8a247))
7
- * Allow detail and user fields in WebHookNotification model to be optional ([0ca68c3](https://github.com/mguyard/pydiagral/commit/0ca68c348a8dcaa58929c987f97ef57b3c8a5efc))
8
- * Allow detail and user fields in WebHookNotification model to be optional ([5499bbb](https://github.com/mguyard/pydiagral/commit/5499bbbb341f82b19a1513441b861ea720ad0363))
9
- * Bad object name use in test script ([71d740d](https://github.com/mguyard/pydiagral/commit/71d740daa812daf4d704581c0e4a862565b5c441))
10
- * Change aiohttp dependancy from static version 3.10.5 to ^3.8.0 ([d509427](https://github.com/mguyard/pydiagral/commit/d50942725f424d361f725999c803470c8a5636e0))
11
- * Rename test script to don't block pytest ([ec8323f](https://github.com/mguyard/pydiagral/commit/ec8323fdcd6e06ee6aadf5cd2005e7245aa0d219))
12
- * Resolve aiohttp dependancy syntax ([d9fddcf](https://github.com/mguyard/pydiagral/commit/d9fddcf5801d41f54d1f0409ded98ff7e9717f6c))
13
- * Resolve issue with Anomalies model and optional fields ([027289a](https://github.com/mguyard/pydiagral/commit/027289a78356ecceb4cf5b8d3121dbcba258b619))
14
- * Resolve issue with field name containing underscore but without field alias ([1ee94a5](https://github.com/mguyard/pydiagral/commit/1ee94a5de79efa61de668434de830df5abd7ed2d))
15
- * Resolve issue with previous commit where body data was extracted and not passed ([957a49a](https://github.com/mguyard/pydiagral/commit/957a49af6ceff43fbc07662bef2bb6e5da08cb80))
16
- * Resolve issue with WebHookNotification dataclass ([b0a4c46](https://github.com/mguyard/pydiagral/commit/b0a4c46fcf817e509879da8046a7f90a1a2d9afb))
17
- * Return User in WebHookNotification model ([39fc249](https://github.com/mguyard/pydiagral/commit/39fc2493e4abe3aa2e2c2c94ffc483e197efc12d))
18
- * set is_valid_email methode as private with __ ([90795a5](https://github.com/mguyard/pydiagral/commit/90795a5a15c6c110b1eda56309450e2c042e7721))
19
- * Update of models to more match models name purposed in Diagral API and ajust test.py script ([798ddd0](https://github.com/mguyard/pydiagral/commit/798ddd039db6909faf354b7fc463446c260d24eb))
20
- * Update return types in DiagralAPI::get_devices_info methods for improved data handling ([a48ea90](https://github.com/mguyard/pydiagral/commit/a48ea90f97f3c9ac72c5b0ef736feaa301720e54))
21
- * Update WebHookNotification model to require detail and user fields with improved initialization ([b373e3e](https://github.com/mguyard/pydiagral/commit/b373e3e0727334a422c741e64da0947d69c43df5))
22
-
23
-
24
- ### Features
25
-
26
- * Add a class method to create a WebHookNotification instance from a dictionary ([1e17e78](https://github.com/mguyard/pydiagral/commit/1e17e78cbb0275424b4a3c4a1731a23d2b57660a))
27
- * Add a data model for the device list and update the method for retrieving device information ([8b4160a](https://github.com/mguyard/pydiagral/commit/8b4160a8d9426ab3ffe79ce44cdecba82ae90e8b))
28
- * Add alarm_type to WebHookNotification and implement alarm type determination based on alarm_code ([fc87d91](https://github.com/mguyard/pydiagral/commit/fc87d91f868e10cf8594cc916167b2ba0ae68927))
29
- * Add an asynchronous method to retrieve device information from the alarm configuration ([fe1bd8f](https://github.com/mguyard/pydiagral/commit/fe1bd8f46894af25399c27fac07ed6c49c6f644c))
30
- * Add an optional device_label field to WebHookNotificationDetail ([c429777](https://github.com/mguyard/pydiagral/commit/c42977737b9ac83d7c17b0a48667c0c2f9f362d5))
31
- * Add apikey argument in validate_apikey and delete_apikey function ([3c40eab](https://github.com/mguyard/pydiagral/commit/3c40eabfe6100bea6715a789b4d9bb03500fe962))
32
- * Add function to identity webhook type based on alarm_code provided in webhook notification ([088a3c0](https://github.com/mguyard/pydiagral/commit/088a3c03e4aed8f20074ed1b55e1880f9e0ee242))
33
- * Add model for Webhook Notification ([ca1fe40](https://github.com/mguyard/pydiagral/commit/ca1fe4079ef3c0c54c0589ced92621fef73fa6cf))
34
- * Add WebHookNotificationUser model to represent users triggering webhook notifications and include it in WebHookNotification model ([d13341f](https://github.com/mguyard/pydiagral/commit/d13341f5ee328c6c4c8c56d046182885d1fc256c))
35
- * Allow get_configuration function to return results ([f94956a](https://github.com/mguyard/pydiagral/commit/f94956abb4aea8e38aa78451e2d0d6c28c162405))
36
- * Implement webhook registration, update, and deletion functionality ([37d2c40](https://github.com/mguyard/pydiagral/commit/37d2c40151bd7dbe3244bd33ae97e88589aad6d0))
37
- * Improve test script example with more easy usage ([8636b6f](https://github.com/mguyard/pydiagral/commit/8636b6f0c809af94f9b090e5decdfc46dac05e4c))
38
- * Improve test script example with more easy usage ([3199f64](https://github.com/mguyard/pydiagral/commit/3199f64e154f848c745d7e0e6287325b04479355))
39
- * Include timezone (utc) in the created_at answer for get_anomalies function + test adaptation ([9005af8](https://github.com/mguyard/pydiagral/commit/9005af8637000f94e3ff3007696b228d855565f0))
40
- * Inplementation of new methods ([d8a2c18](https://github.com/mguyard/pydiagral/commit/d8a2c18637803436a12b13fe7ce813217b5c8357))
41
- * Update get_anomalies method to return an empty dict if no anomalies are found ([ad2b1da](https://github.com/mguyard/pydiagral/commit/ad2b1daa3b2396866a7f69bfe6aefc0b054dc76d))
@@ -1,18 +0,0 @@
1
- <!-- prettier-ignore-start -->
2
-
3
- # Exceptions Reference
4
-
5
- ::: pydiagral.exceptions
6
- handler: python
7
- selection:
8
- members:
9
- - DiagralAPIError
10
- - AuthenticationError
11
- - ClientError
12
- - ConfigurationError
13
- - ServerError
14
- - SessionError
15
- - ValidationError
16
-
17
-
18
- <!-- prettier-ignore-end -->
@@ -1,16 +0,0 @@
1
- <!-- prettier-ignore-start -->
2
-
3
- # Models Reference
4
-
5
- ::: pydiagral.models
6
- handler: python
7
- options:
8
- show_root_heading: true
9
- show_source: false
10
- members: true
11
- filters:
12
- - "!^_" # Excludes members starting with an underscore
13
- - "!CamelCaseModel" # Specifically excludes the CamelCaseModel class
14
- - - "!^[a-z]" # Excludes members starting with a minus letter (following Python convention match functions)
15
-
16
- <!-- prettier-ignore-end -->
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes