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.
- poulet_py-0.1.2/.github/FUNDING.yml +1 -0
- poulet_py-0.1.2/.github/ISSUE_TEMPLATE/1-issue.md +23 -0
- poulet_py-0.1.2/.github/ISSUE_TEMPLATE/config.yml +7 -0
- poulet_py-0.1.2/.github/dependabot.yml +16 -0
- poulet_py-0.1.2/.github/workflows/docs-build.yml +41 -0
- poulet_py-0.1.2/.github/workflows/enforcer.yml +14 -0
- poulet_py-0.1.2/.github/workflows/formatter.yml +29 -0
- poulet_py-0.1.2/.github/workflows/linter.yml +16 -0
- poulet_py-0.1.2/.github/workflows/python-publish.yml +54 -0
- poulet_py-0.1.2/.github/workflows/release.yml +50 -0
- poulet_py-0.1.2/.github/workflows/testing.yml +17 -0
- poulet_py-0.1.2/.gitignore +36 -0
- poulet_py-0.1.2/.readthedocs.yml +16 -0
- poulet_py-0.1.2/LICENSE +674 -0
- poulet_py-0.1.2/PKG-INFO +187 -0
- poulet_py-0.1.2/README.md +76 -0
- poulet_py-0.1.2/bin/leptonUVC/x64/LeptonUVC.dll +0 -0
- poulet_py-0.1.2/bin/leptonUVC/x64/LeptonUVC.xml +22347 -0
- poulet_py-0.1.2/bin/leptonUVC/x64/ManagedIR16Filters.dll +0 -0
- poulet_py-0.1.2/bin/leptonUVC/x64/TIFFfile.dll +0 -0
- poulet_py-0.1.2/docs/source/_static/docs.rss +20 -0
- poulet_py-0.1.2/docs/source/api/index.rst +7 -0
- poulet_py-0.1.2/docs/source/api/modules.rst +7 -0
- poulet_py-0.1.2/docs/source/api/poulet_py.config.logging.rst +7 -0
- poulet_py-0.1.2/docs/source/api/poulet_py.config.rst +16 -0
- poulet_py-0.1.2/docs/source/api/poulet_py.config.settings.rst +7 -0
- poulet_py-0.1.2/docs/source/api/poulet_py.converters.rst +15 -0
- poulet_py-0.1.2/docs/source/api/poulet_py.converters.seq.rst +7 -0
- poulet_py-0.1.2/docs/source/api/poulet_py.hardware.camera.basler.rst +7 -0
- poulet_py-0.1.2/docs/source/api/poulet_py.hardware.camera.rst +17 -0
- poulet_py-0.1.2/docs/source/api/poulet_py.hardware.camera.thermal_camera.rst +7 -0
- poulet_py-0.1.2/docs/source/api/poulet_py.hardware.camera.uvctypes.rst +7 -0
- poulet_py-0.1.2/docs/source/api/poulet_py.hardware.rst +16 -0
- poulet_py-0.1.2/docs/source/api/poulet_py.hardware.stimulator.arduino.rst +7 -0
- poulet_py-0.1.2/docs/source/api/poulet_py.hardware.stimulator.julabo.rst +7 -0
- poulet_py-0.1.2/docs/source/api/poulet_py.hardware.stimulator.qst.rst +7 -0
- poulet_py-0.1.2/docs/source/api/poulet_py.hardware.stimulator.rst +17 -0
- poulet_py-0.1.2/docs/source/api/poulet_py.rst +19 -0
- poulet_py-0.1.2/docs/source/api/poulet_py.tools.generators.rst +7 -0
- poulet_py-0.1.2/docs/source/api/poulet_py.tools.organizational.rst +7 -0
- poulet_py-0.1.2/docs/source/api/poulet_py.tools.rst +17 -0
- poulet_py-0.1.2/docs/source/api/poulet_py.tools.serializers.rst +7 -0
- poulet_py-0.1.2/docs/source/api/poulet_py.utils.oscilloscope.rst +7 -0
- poulet_py-0.1.2/docs/source/api/poulet_py.utils.qst.rst +7 -0
- poulet_py-0.1.2/docs/source/api/poulet_py.utils.rst +16 -0
- poulet_py-0.1.2/docs/source/conf.py +118 -0
- poulet_py-0.1.2/docs/source/getting_started/index.rst +17 -0
- poulet_py-0.1.2/docs/source/index.rst +19 -0
- poulet_py-0.1.2/examples/oscilloscope.py +16 -0
- poulet_py-0.1.2/examples/tcs.py +34 -0
- poulet_py-0.1.2/poulet_py/__init__.py +3 -0
- poulet_py-0.1.2/poulet_py/__init__.pyi +46 -0
- poulet_py-0.1.2/poulet_py/config/__init__.py +3 -0
- poulet_py-0.1.2/poulet_py/config/__init__.pyi +5 -0
- poulet_py-0.1.2/poulet_py/config/logging.py +94 -0
- poulet_py-0.1.2/poulet_py/config/settings.py +90 -0
- poulet_py-0.1.2/poulet_py/converters/__init__.py +3 -0
- poulet_py-0.1.2/poulet_py/converters/__init__.pyi +4 -0
- poulet_py-0.1.2/poulet_py/converters/seq.py +147 -0
- poulet_py-0.1.2/poulet_py/hardware/__init__.py +3 -0
- poulet_py-0.1.2/poulet_py/hardware/__init__.pyi +13 -0
- poulet_py-0.1.2/poulet_py/hardware/camera/__init__.py +3 -0
- poulet_py-0.1.2/poulet_py/hardware/camera/__init__.pyi +5 -0
- poulet_py-0.1.2/poulet_py/hardware/camera/basler.py +315 -0
- poulet_py-0.1.2/poulet_py/hardware/camera/thermal_camera.py +632 -0
- poulet_py-0.1.2/poulet_py/hardware/camera/uvctypes.py +502 -0
- poulet_py-0.1.2/poulet_py/hardware/stimulator/__init__.py +3 -0
- poulet_py-0.1.2/poulet_py/hardware/stimulator/__init__.pyi +6 -0
- poulet_py-0.1.2/poulet_py/hardware/stimulator/arduino.py +130 -0
- poulet_py-0.1.2/poulet_py/hardware/stimulator/julabo.py +199 -0
- poulet_py-0.1.2/poulet_py/hardware/stimulator/qst.py +592 -0
- poulet_py-0.1.2/poulet_py/tools/__init__.py +3 -0
- poulet_py-0.1.2/poulet_py/tools/__init__.pyi +14 -0
- poulet_py-0.1.2/poulet_py/tools/generators.py +89 -0
- poulet_py-0.1.2/poulet_py/tools/organizational.py +137 -0
- poulet_py-0.1.2/poulet_py/tools/serializers.py +88 -0
- poulet_py-0.1.2/poulet_py/utils/__init__.py +3 -0
- poulet_py-0.1.2/poulet_py/utils/__init__.pyi +5 -0
- poulet_py-0.1.2/poulet_py/utils/oscilloscope.py +306 -0
- poulet_py-0.1.2/poulet_py/utils/qst.py +283 -0
- poulet_py-0.1.2/pyproject.toml +238 -0
- poulet_py-0.1.2/tests/config/test_logging.py +29 -0
- poulet_py-0.1.2/tests/config/test_settings.py +17 -0
- poulet_py-0.1.2/tests/converters/test_seq.py +68 -0
- poulet_py-0.1.2/tests/hardware/stimulators/test_qst.py +200 -0
- poulet_py-0.1.2/tests/tools/test_generators.py +98 -0
- poulet_py-0.1.2/tests/tools/test_organizational.py +125 -0
- poulet_py-0.1.2/tests/tools/test_serializers.py +101 -0
- 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,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
|