poulet-py 0.1.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.
Files changed (89) hide show
  1. poulet_py-0.1.2/.github/FUNDING.yml +1 -0
  2. poulet_py-0.1.2/.github/ISSUE_TEMPLATE/1-issue.md +23 -0
  3. poulet_py-0.1.2/.github/ISSUE_TEMPLATE/config.yml +7 -0
  4. poulet_py-0.1.2/.github/dependabot.yml +16 -0
  5. poulet_py-0.1.2/.github/workflows/docs-build.yml +41 -0
  6. poulet_py-0.1.2/.github/workflows/enforcer.yml +14 -0
  7. poulet_py-0.1.2/.github/workflows/formatter.yml +29 -0
  8. poulet_py-0.1.2/.github/workflows/linter.yml +16 -0
  9. poulet_py-0.1.2/.github/workflows/python-publish.yml +54 -0
  10. poulet_py-0.1.2/.github/workflows/release.yml +50 -0
  11. poulet_py-0.1.2/.github/workflows/testing.yml +17 -0
  12. poulet_py-0.1.2/.gitignore +36 -0
  13. poulet_py-0.1.2/.readthedocs.yml +16 -0
  14. poulet_py-0.1.2/LICENSE +674 -0
  15. poulet_py-0.1.2/PKG-INFO +187 -0
  16. poulet_py-0.1.2/README.md +76 -0
  17. poulet_py-0.1.2/bin/leptonUVC/x64/LeptonUVC.dll +0 -0
  18. poulet_py-0.1.2/bin/leptonUVC/x64/LeptonUVC.xml +22347 -0
  19. poulet_py-0.1.2/bin/leptonUVC/x64/ManagedIR16Filters.dll +0 -0
  20. poulet_py-0.1.2/bin/leptonUVC/x64/TIFFfile.dll +0 -0
  21. poulet_py-0.1.2/docs/source/_static/docs.rss +20 -0
  22. poulet_py-0.1.2/docs/source/api/index.rst +7 -0
  23. poulet_py-0.1.2/docs/source/api/modules.rst +7 -0
  24. poulet_py-0.1.2/docs/source/api/poulet_py.config.logging.rst +7 -0
  25. poulet_py-0.1.2/docs/source/api/poulet_py.config.rst +16 -0
  26. poulet_py-0.1.2/docs/source/api/poulet_py.config.settings.rst +7 -0
  27. poulet_py-0.1.2/docs/source/api/poulet_py.converters.rst +15 -0
  28. poulet_py-0.1.2/docs/source/api/poulet_py.converters.seq.rst +7 -0
  29. poulet_py-0.1.2/docs/source/api/poulet_py.hardware.camera.basler.rst +7 -0
  30. poulet_py-0.1.2/docs/source/api/poulet_py.hardware.camera.rst +17 -0
  31. poulet_py-0.1.2/docs/source/api/poulet_py.hardware.camera.thermal_camera.rst +7 -0
  32. poulet_py-0.1.2/docs/source/api/poulet_py.hardware.camera.uvctypes.rst +7 -0
  33. poulet_py-0.1.2/docs/source/api/poulet_py.hardware.rst +16 -0
  34. poulet_py-0.1.2/docs/source/api/poulet_py.hardware.stimulator.arduino.rst +7 -0
  35. poulet_py-0.1.2/docs/source/api/poulet_py.hardware.stimulator.julabo.rst +7 -0
  36. poulet_py-0.1.2/docs/source/api/poulet_py.hardware.stimulator.qst.rst +7 -0
  37. poulet_py-0.1.2/docs/source/api/poulet_py.hardware.stimulator.rst +17 -0
  38. poulet_py-0.1.2/docs/source/api/poulet_py.rst +19 -0
  39. poulet_py-0.1.2/docs/source/api/poulet_py.tools.generators.rst +7 -0
  40. poulet_py-0.1.2/docs/source/api/poulet_py.tools.organizational.rst +7 -0
  41. poulet_py-0.1.2/docs/source/api/poulet_py.tools.rst +17 -0
  42. poulet_py-0.1.2/docs/source/api/poulet_py.tools.serializers.rst +7 -0
  43. poulet_py-0.1.2/docs/source/api/poulet_py.utils.oscilloscope.rst +7 -0
  44. poulet_py-0.1.2/docs/source/api/poulet_py.utils.qst.rst +7 -0
  45. poulet_py-0.1.2/docs/source/api/poulet_py.utils.rst +16 -0
  46. poulet_py-0.1.2/docs/source/conf.py +118 -0
  47. poulet_py-0.1.2/docs/source/getting_started/index.rst +17 -0
  48. poulet_py-0.1.2/docs/source/index.rst +19 -0
  49. poulet_py-0.1.2/examples/oscilloscope.py +16 -0
  50. poulet_py-0.1.2/examples/tcs.py +34 -0
  51. poulet_py-0.1.2/poulet_py/__init__.py +3 -0
  52. poulet_py-0.1.2/poulet_py/__init__.pyi +46 -0
  53. poulet_py-0.1.2/poulet_py/config/__init__.py +3 -0
  54. poulet_py-0.1.2/poulet_py/config/__init__.pyi +5 -0
  55. poulet_py-0.1.2/poulet_py/config/logging.py +94 -0
  56. poulet_py-0.1.2/poulet_py/config/settings.py +90 -0
  57. poulet_py-0.1.2/poulet_py/converters/__init__.py +3 -0
  58. poulet_py-0.1.2/poulet_py/converters/__init__.pyi +4 -0
  59. poulet_py-0.1.2/poulet_py/converters/seq.py +147 -0
  60. poulet_py-0.1.2/poulet_py/hardware/__init__.py +3 -0
  61. poulet_py-0.1.2/poulet_py/hardware/__init__.pyi +13 -0
  62. poulet_py-0.1.2/poulet_py/hardware/camera/__init__.py +3 -0
  63. poulet_py-0.1.2/poulet_py/hardware/camera/__init__.pyi +5 -0
  64. poulet_py-0.1.2/poulet_py/hardware/camera/basler.py +315 -0
  65. poulet_py-0.1.2/poulet_py/hardware/camera/thermal_camera.py +632 -0
  66. poulet_py-0.1.2/poulet_py/hardware/camera/uvctypes.py +502 -0
  67. poulet_py-0.1.2/poulet_py/hardware/stimulator/__init__.py +3 -0
  68. poulet_py-0.1.2/poulet_py/hardware/stimulator/__init__.pyi +6 -0
  69. poulet_py-0.1.2/poulet_py/hardware/stimulator/arduino.py +130 -0
  70. poulet_py-0.1.2/poulet_py/hardware/stimulator/julabo.py +199 -0
  71. poulet_py-0.1.2/poulet_py/hardware/stimulator/qst.py +592 -0
  72. poulet_py-0.1.2/poulet_py/tools/__init__.py +3 -0
  73. poulet_py-0.1.2/poulet_py/tools/__init__.pyi +14 -0
  74. poulet_py-0.1.2/poulet_py/tools/generators.py +89 -0
  75. poulet_py-0.1.2/poulet_py/tools/organizational.py +137 -0
  76. poulet_py-0.1.2/poulet_py/tools/serializers.py +88 -0
  77. poulet_py-0.1.2/poulet_py/utils/__init__.py +3 -0
  78. poulet_py-0.1.2/poulet_py/utils/__init__.pyi +5 -0
  79. poulet_py-0.1.2/poulet_py/utils/oscilloscope.py +306 -0
  80. poulet_py-0.1.2/poulet_py/utils/qst.py +283 -0
  81. poulet_py-0.1.2/pyproject.toml +238 -0
  82. poulet_py-0.1.2/tests/config/test_logging.py +29 -0
  83. poulet_py-0.1.2/tests/config/test_settings.py +17 -0
  84. poulet_py-0.1.2/tests/converters/test_seq.py +68 -0
  85. poulet_py-0.1.2/tests/hardware/stimulators/test_qst.py +200 -0
  86. poulet_py-0.1.2/tests/tools/test_generators.py +98 -0
  87. poulet_py-0.1.2/tests/tools/test_organizational.py +125 -0
  88. poulet_py-0.1.2/tests/tools/test_serializers.py +101 -0
  89. poulet_py-0.1.2/tests/utils/test_oscilloscope.py +182 -0
@@ -0,0 +1 @@
1
+ github: [vkaramanis]
@@ -0,0 +1,23 @@
1
+ ---
2
+ name: Issue
3
+ about: Please only raise an issue if you've been advised to do so after discussion. Much appreciated! 🙏
4
+ ---
5
+
6
+ The starting point for issues should usually be a discussion...
7
+
8
+ https://github.com/orgs/poulet-lab/discussions
9
+
10
+ Potential bugs may be raised as a "Potential Issue" discussion. The feature requests may be raised as an
11
+ "Ideas" discussion.
12
+
13
+ We can then decide if the discussion needs to be escalated into an "Issue" or not.
14
+
15
+ This will make sure that everything is organized properly.
16
+ ---
17
+
18
+ **poulet_py version**:
19
+ **Python version**:
20
+ **OS**:
21
+ **Platform**:
22
+
23
+ <!-- Enter your issue details below this comment and as much detail as possible. -->
@@ -0,0 +1,7 @@
1
+ # Ref: https://help.github.com/en/github/building-a-strong-community/configuring-issue-templates-for-your-repository#configuring-the-template-chooser
2
+ blank_issues_enabled: false
3
+ contact_links:
4
+ - name: Discussions
5
+ url: https://github.com/orgs/poulet-lab/discussions
6
+ about: >
7
+ The "Discussions" forum is where you want to start.
@@ -0,0 +1,16 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: "github-actions"
4
+ directory: "/"
5
+ schedule:
6
+ interval: "daily"
7
+ target-branch: "dev"
8
+ commit-message:
9
+ prefix: ⬆
10
+ - package-ecosystem: "pip"
11
+ directory: "/"
12
+ schedule:
13
+ interval: "daily"
14
+ target-branch: "dev"
15
+ commit-message:
16
+ prefix: ⬆
@@ -0,0 +1,41 @@
1
+ name: Docs
2
+
3
+ on:
4
+ push:
5
+ branches: [dev]
6
+
7
+ jobs:
8
+ generate-api-reference:
9
+ runs-on: ubuntu-latest
10
+ steps:
11
+ - name: Checkout repository
12
+ uses: actions/checkout@v5
13
+ with:
14
+ fetch-depth: 0
15
+
16
+ - name: Install Hatch
17
+ uses: pypa/hatch@install
18
+
19
+ - name: Build docs
20
+ run: hatch run docs:api
21
+
22
+ - name: Check for doc changes
23
+ id: changes
24
+ run: |
25
+ if git diff --quiet; then
26
+ echo "changes=false" >> $GITHUB_OUTPUT
27
+ else
28
+ echo "changes=true" >> $GITHUB_OUTPUT
29
+ fi
30
+
31
+ - name: Create PR for doc updates
32
+ if: steps.changes.outputs.changes == 'true'
33
+ uses: peter-evans/create-pull-request@v7
34
+ with:
35
+ commit-message: "Auto-generate API reference docs"
36
+ branch: "docs/auto-update-api-reference"
37
+ delete-branch: true
38
+ title: "Docs: Auto-update API reference"
39
+ body: "Automatically generated API reference documentation updates"
40
+ labels: "documentation, automated"
41
+ base: "dev"
@@ -0,0 +1,14 @@
1
+ name: 'Check Branch'
2
+
3
+ on:
4
+ pull_request:
5
+
6
+ jobs:
7
+ check_branch:
8
+ runs-on: ubuntu-latest
9
+ steps:
10
+ - name: Check branch
11
+ if: github.base_ref == 'main' && github.head_ref != 'dev'
12
+ run: |
13
+ echo "ERROR: You can only merge to main from dev."
14
+ exit 1
@@ -0,0 +1,29 @@
1
+ name: Formatter
2
+
3
+ on:
4
+ push:
5
+ branches: ["**", "!main"]
6
+
7
+ jobs:
8
+ format-code:
9
+ runs-on: ubuntu-latest
10
+
11
+ permissions:
12
+ contents: write
13
+
14
+ steps:
15
+ - name: Checkout branch
16
+ uses: actions/checkout@v5
17
+
18
+ - name: Install Hatch
19
+ uses: pypa/hatch@install
20
+
21
+ - name: Format
22
+ run: hatch run lint:fmt
23
+
24
+ - name: Commit changes if needed
25
+ uses: stefanzweifel/git-auto-commit-action@v6
26
+ with:
27
+ commit_message: "Auto-format code"
28
+ commit_user_name: "github-actions[bot]"
29
+ commit_user_email: "github-actions[bot]@users.noreply.github.com"
@@ -0,0 +1,16 @@
1
+ name: Linter
2
+
3
+ on: pull_request
4
+
5
+ jobs:
6
+ build:
7
+ runs-on: ubuntu-latest
8
+ steps:
9
+ - name: Checkout branch
10
+ uses: actions/checkout@v5
11
+
12
+ - name: Install Hatch
13
+ uses: pypa/hatch@install
14
+
15
+ - name: Lint
16
+ run: hatch run lint:all
@@ -0,0 +1,54 @@
1
+ name: Upload Python Package
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ workflow_dispatch:
8
+
9
+ permissions:
10
+ contents: read
11
+
12
+ jobs:
13
+ release-build:
14
+ runs-on: ubuntu-latest
15
+
16
+ steps:
17
+ - name: Checkout branch
18
+ uses: actions/checkout@v5
19
+ with:
20
+ fetch-tags: true
21
+
22
+ - name: Install Hatch
23
+ uses: pypa/hatch@install
24
+
25
+ - name: Build release distributions
26
+ run: hatch build
27
+
28
+ - name: Upload distributions
29
+ uses: actions/upload-artifact@v4
30
+ with:
31
+ name: release-dists
32
+ path: dist/
33
+
34
+ pypi-publish:
35
+ runs-on: ubuntu-latest
36
+ needs:
37
+ - release-build
38
+ permissions:
39
+ id-token: write
40
+
41
+ environment:
42
+ name: pypi
43
+
44
+ steps:
45
+ - name: Retrieve release distributions
46
+ uses: actions/download-artifact@v4
47
+ with:
48
+ name: release-dists
49
+ path: dist/
50
+
51
+ - name: Publish release distributions to PyPI
52
+ uses: pypa/gh-action-pypi-publish@release/v1
53
+ with:
54
+ packages-dir: dist/
@@ -0,0 +1,50 @@
1
+ name: Release on Version Change
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ workflow_dispatch:
8
+
9
+ jobs:
10
+ release:
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - name: Check out the repository
14
+ uses: actions/checkout@v5
15
+ with:
16
+ fetch-tags: true
17
+
18
+ - name: Install Hatch
19
+ uses: pypa/hatch@install
20
+
21
+ - name: Extract current version
22
+ run: |
23
+ version=$(hatch version)
24
+ echo "version=$version" >> $GITHUB_ENV
25
+
26
+ - name: Delete existing tag and release if exists
27
+ env:
28
+ GH_TOKEN: ${{ github.token }}
29
+ run: |
30
+ git fetch --tags
31
+ echo "Version is: $version"
32
+ if git rev-parse "$version" >/dev/null 2>&1; then
33
+ echo "Deleting existing tag and release for $version"
34
+ git tag -d "$version"
35
+ git push --delete origin "$version"
36
+ gh release delete "$version" --yes
37
+ else
38
+ echo "Tag $version does not exist"
39
+ fi
40
+
41
+ - name: Create a new tag and release
42
+ env:
43
+ GH_TOKEN: ${{ github.token }}
44
+ run: |
45
+ git config --global user.name "github-actions[bot]"
46
+ git config --global user.email "github-actions[bot]@users.noreply.github.com"
47
+
48
+ git tag -a "$version" -m "Release $version"
49
+ git push origin "$version"
50
+ gh release create "$version" --title "Release $version" --notes "Automated release for version $version"
@@ -0,0 +1,17 @@
1
+ # TODO coverage
2
+ name: Testing
3
+
4
+ on: pull_request
5
+
6
+ jobs:
7
+ build:
8
+ runs-on: ubuntu-latest
9
+ steps:
10
+ - name: Checkout branch
11
+ uses: actions/checkout@v5
12
+
13
+ - name: Install Hatch
14
+ uses: pypa/hatch@install
15
+
16
+ - name: Test
17
+ run: hatch test --all
@@ -0,0 +1,36 @@
1
+ # folders
2
+ *.egg-info/
3
+ .hypothesis/
4
+ .idea/
5
+ .mypy_cache/
6
+ .pytest_cache/
7
+ .scannerwork/
8
+ .tox/
9
+ .venv/
10
+ .vscode/
11
+ __pycache__/
12
+ virtualenv/
13
+ build/
14
+ docs/build
15
+ dist/
16
+ node_modules/
17
+ results/
18
+ site/
19
+ site_lang/
20
+ target/
21
+ .ruff_cache/
22
+
23
+ # files
24
+ **/*.so
25
+ **/*.sqlite
26
+ *.iml
27
+ **/*_test*
28
+ .DS_Store
29
+ .coverage
30
+ .coverage.*
31
+ .python-version
32
+ coverage.*
33
+ example.sqlite
34
+ .env
35
+ .cursor*
36
+ docs/source/_static/switcher.json
@@ -0,0 +1,16 @@
1
+ version: 2
2
+ build:
3
+ os: ubuntu-lts-latest
4
+ apt_packages:
5
+ - libuvc-dev
6
+ tools:
7
+ python: latest
8
+ sphinx:
9
+ configuration: docs/source/conf.py
10
+ python:
11
+ install:
12
+ - method: pip
13
+ path: .
14
+ extra_requirements:
15
+ - all
16
+ - docs