bluesky-tiled-plugins 2.0.0__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 (56) hide show
  1. bluesky_tiled_plugins-2.0.0/.copier-answers.yml +13 -0
  2. bluesky_tiled_plugins-2.0.0/.gitattributes +1 -0
  3. bluesky_tiled_plugins-2.0.0/.github/CONTRIBUTING.md +77 -0
  4. bluesky_tiled_plugins-2.0.0/.github/dependabot.yml +11 -0
  5. bluesky_tiled_plugins-2.0.0/.github/release.yml +5 -0
  6. bluesky_tiled_plugins-2.0.0/.github/workflows/cd.yml +100 -0
  7. bluesky_tiled_plugins-2.0.0/.github/workflows/ci.yml +71 -0
  8. bluesky_tiled_plugins-2.0.0/.gitignore +189 -0
  9. bluesky_tiled_plugins-2.0.0/.pre-commit-config.yaml +87 -0
  10. bluesky_tiled_plugins-2.0.0/Justfile +2 -0
  11. bluesky_tiled_plugins-2.0.0/PKG-INFO +59 -0
  12. bluesky_tiled_plugins-2.0.0/README.md +25 -0
  13. bluesky_tiled_plugins-2.0.0/docs/_static/logo_bluesky.svg +1 -0
  14. bluesky_tiled_plugins-2.0.0/docs/conf.py +125 -0
  15. bluesky_tiled_plugins-2.0.0/docs/explanations/clients.md +79 -0
  16. bluesky_tiled_plugins-2.0.0/docs/explanations/layout.md +64 -0
  17. bluesky_tiled_plugins-2.0.0/docs/explanations/writer.md +94 -0
  18. bluesky_tiled_plugins-2.0.0/docs/explanations.md +12 -0
  19. bluesky_tiled_plugins-2.0.0/docs/how-to/deploy.md +79 -0
  20. bluesky_tiled_plugins-2.0.0/docs/how-to.md +10 -0
  21. bluesky_tiled_plugins-2.0.0/docs/index.md +74 -0
  22. bluesky_tiled_plugins-2.0.0/docs/reference.md +12 -0
  23. bluesky_tiled_plugins-2.0.0/docs/tutorials/installation.md +88 -0
  24. bluesky_tiled_plugins-2.0.0/docs/tutorials/saving.md +189 -0
  25. bluesky_tiled_plugins-2.0.0/docs/tutorials/search.md +123 -0
  26. bluesky_tiled_plugins-2.0.0/docs/tutorials.md +12 -0
  27. bluesky_tiled_plugins-2.0.0/pyproject.toml +158 -0
  28. bluesky_tiled_plugins-2.0.0/src/bluesky_tiled_plugins/__init__.py +11 -0
  29. bluesky_tiled_plugins-2.0.0/src/bluesky_tiled_plugins/_version.py +34 -0
  30. bluesky_tiled_plugins-2.0.0/src/bluesky_tiled_plugins/clients/__init__.py +0 -0
  31. bluesky_tiled_plugins-2.0.0/src/bluesky_tiled_plugins/clients/_common.py +9 -0
  32. bluesky_tiled_plugins-2.0.0/src/bluesky_tiled_plugins/clients/bluesky_event_stream.py +387 -0
  33. bluesky_tiled_plugins-2.0.0/src/bluesky_tiled_plugins/clients/bluesky_run.py +441 -0
  34. bluesky_tiled_plugins-2.0.0/src/bluesky_tiled_plugins/clients/catalog_of_bluesky_runs.py +256 -0
  35. bluesky_tiled_plugins-2.0.0/src/bluesky_tiled_plugins/clients/document.py +175 -0
  36. bluesky_tiled_plugins-2.0.0/src/bluesky_tiled_plugins/exporters.py +171 -0
  37. bluesky_tiled_plugins-2.0.0/src/bluesky_tiled_plugins/queries.py +313 -0
  38. bluesky_tiled_plugins-2.0.0/src/bluesky_tiled_plugins/utils.py +28 -0
  39. bluesky_tiled_plugins-2.0.0/src/bluesky_tiled_plugins/writing/__init__.py +0 -0
  40. bluesky_tiled_plugins-2.0.0/src/bluesky_tiled_plugins/writing/_dispatcher.py +370 -0
  41. bluesky_tiled_plugins-2.0.0/src/bluesky_tiled_plugins/writing/_json_writer.py +65 -0
  42. bluesky_tiled_plugins-2.0.0/src/bluesky_tiled_plugins/writing/consolidators.py +668 -0
  43. bluesky_tiled_plugins-2.0.0/src/bluesky_tiled_plugins/writing/tiled_writer.py +1094 -0
  44. bluesky_tiled_plugins-2.0.0/src/bluesky_tiled_plugins/writing/validator.py +276 -0
  45. bluesky_tiled_plugins-2.0.0/tests/conftest.py +92 -0
  46. bluesky_tiled_plugins-2.0.0/tests/examples/external_assets.json +319 -0
  47. bluesky_tiled_plugins-2.0.0/tests/examples/external_assets_legacy.json +149 -0
  48. bluesky_tiled_plugins-2.0.0/tests/examples/external_assets_single_key.json +118 -0
  49. bluesky_tiled_plugins-2.0.0/tests/examples/external_assets_single_key_two_files.json +116 -0
  50. bluesky_tiled_plugins-2.0.0/tests/examples/internal_events.json +268 -0
  51. bluesky_tiled_plugins-2.0.0/tests/examples/render.py +14 -0
  52. bluesky_tiled_plugins-2.0.0/tests/test_consolidators.py +598 -0
  53. bluesky_tiled_plugins-2.0.0/tests/test_json_writer.py +51 -0
  54. bluesky_tiled_plugins-2.0.0/tests/test_tiled_writer.py +659 -0
  55. bluesky_tiled_plugins-2.0.0/tests/test_utils.py +57 -0
  56. bluesky_tiled_plugins-2.0.0/tests/test_validator.py +240 -0
@@ -0,0 +1,13 @@
1
+ # Changes here will be overwritten by Copier; NEVER EDIT MANUALLY
2
+ _commit: 2025.11.10-5-g52b3bca
3
+ _src_path: gh:scientific-python/cookie
4
+ backend: hatch
5
+ docs: sphinx
6
+ email: dallan@bnl.gov
7
+ full_name: Bluesky Collaboration
8
+ license: BSD
9
+ org: bluesky
10
+ project_name: bluesky-tiled-plugins
11
+ project_short_description: Plugins for using Tiled with Bluesky
12
+ url: https://github.com/bluesky/bluesky-tiled-plugins
13
+ vcs: true
@@ -0,0 +1 @@
1
+ .git_archival.txt export-subst
@@ -0,0 +1,77 @@
1
+ See the [Scientific Python Developer Guide][spc-dev-intro] for a detailed
2
+ description of best practices for developing scientific packages.
3
+
4
+ [spc-dev-intro]: https://learn.scientific-python.org/development/
5
+
6
+ # Quick development
7
+
8
+ The fastest way to start with development is to use nox. If you don't have nox,
9
+ you can use `uvx nox` to run it without installing, or `uv tool install nox`. If
10
+ you don't have uv, you can
11
+ [install it a variety of ways](https://docs.astral.sh/uv/getting-started/installation/),
12
+ including with pip, pipx, brew, and just downloading the binary (single file).
13
+
14
+ To use, run `nox`. This will lint and test using every installed version of
15
+ Python on your system, skipping ones that are not installed. You can also run
16
+ specific jobs:
17
+
18
+ ```console
19
+ $ nox -s lint # Lint only
20
+ $ nox -s tests # Python tests
21
+ $ nox -s docs # Build and serve the docs
22
+ $ nox -s build # Make an SDist and wheel
23
+ ```
24
+
25
+ Nox handles everything for you, including setting up an temporary virtual
26
+ environment for each run.
27
+
28
+ # Setting up a development environment manually
29
+
30
+ You can set up a development environment by running:
31
+
32
+ ```bash
33
+ uv sync
34
+ ```
35
+
36
+ # Pre-commit
37
+
38
+ You should prepare pre-commit, which will help you by checking that commits pass
39
+ required checks:
40
+
41
+ ```bash
42
+ uv tool install pre-commit # or brew install pre-commit on macOS
43
+ pre-commit install # Will install a pre-commit hook into the git repo
44
+ ```
45
+
46
+ You can also/alternatively run `pre-commit run` (changes only) or
47
+ `pre-commit run --all-files` to check even without installing the hook.
48
+
49
+ # Testing
50
+
51
+ Use pytest to run the unit checks:
52
+
53
+ ```bash
54
+ uv run pytest
55
+ ```
56
+
57
+ # Coverage
58
+
59
+ Use pytest-cov to generate coverage reports:
60
+
61
+ ```bash
62
+ uv run pytest --cov=bluesky-tiled-plugins
63
+ ```
64
+
65
+ # Building docs
66
+
67
+ You can build and serve the docs using:
68
+
69
+ ```bash
70
+ nox -s docs
71
+ ```
72
+
73
+ You can build the docs only with:
74
+
75
+ ```bash
76
+ nox -s docs --non-interactive
77
+ ```
@@ -0,0 +1,11 @@
1
+ version: 2
2
+ updates:
3
+ # Maintain dependencies for GitHub Actions
4
+ - package-ecosystem: "github-actions"
5
+ directory: "/"
6
+ schedule:
7
+ interval: "weekly"
8
+ groups:
9
+ actions:
10
+ patterns:
11
+ - "*"
@@ -0,0 +1,5 @@
1
+ changelog:
2
+ exclude:
3
+ authors:
4
+ - dependabot[bot]
5
+ - pre-commit-ci[bot]
@@ -0,0 +1,100 @@
1
+ name: CD
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ pull_request:
6
+ push:
7
+ branches:
8
+ - main
9
+ release:
10
+ types:
11
+ - published
12
+
13
+ concurrency:
14
+ group: ${{ github.workflow }}-${{ github.ref }}
15
+ cancel-in-progress: true
16
+
17
+ env:
18
+ # Many color libraries just need this to be set to any value, but at least
19
+ # one distinguishes color depth, where "3" -> "256-bit color".
20
+ FORCE_COLOR: 3
21
+
22
+ jobs:
23
+ dist:
24
+ name: Distribution build
25
+ runs-on: ubuntu-latest
26
+
27
+ steps:
28
+ - uses: actions/checkout@v6
29
+ with:
30
+ fetch-depth: 0
31
+
32
+ - uses: hynek/build-and-inspect-python-package@v2
33
+
34
+ publish:
35
+ needs: [dist]
36
+ name: Publish to PyPI
37
+ environment: pypi
38
+ permissions:
39
+ id-token: write
40
+ attestations: write
41
+ contents: read
42
+ runs-on: ubuntu-latest
43
+ if: github.event_name == 'release' && github.event.action == 'published'
44
+
45
+ steps:
46
+ - uses: actions/download-artifact@v7
47
+ with:
48
+ name: Packages
49
+ path: dist
50
+
51
+ - name: Generate artifact attestation for sdist and wheel
52
+ uses: actions/attest-build-provenance@v3
53
+ with:
54
+ subject-path: "dist/*"
55
+
56
+ - uses: pypa/gh-action-pypi-publish@release/v1
57
+
58
+ docs-build:
59
+ name: Documentation build
60
+ runs-on: ubuntu-latest
61
+ permissions:
62
+ contents: read
63
+
64
+ steps:
65
+ - name: Checkout
66
+ uses: actions/checkout@v6
67
+
68
+ - uses: astral-sh/setup-uv@v7
69
+
70
+ - name: Build HTML
71
+ run: uv run --group docs sphinx-build docs docs/_build/html
72
+
73
+ - name: Upload HTML as GitHub artifact
74
+ uses: actions/upload-pages-artifact@v4
75
+ with:
76
+ path: docs/_build/html
77
+
78
+ docs-publish:
79
+ name: Deploy documentation to GitHub Pages
80
+ runs-on: ubuntu-latest
81
+ needs: docs-build
82
+ if: ${{ github.ref_name == 'main' }}
83
+
84
+ # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
85
+ permissions:
86
+ contents: read
87
+ pages: write
88
+ id-token: write
89
+
90
+ environment:
91
+ name: github-pages
92
+ url: ${{ steps.deployment.outputs.page_url }}
93
+
94
+ steps:
95
+ - name: Setup GitHub Pages
96
+ uses: actions/configure-pages@v5
97
+
98
+ - name: Deploy HTML to GitHub Pages
99
+ id: deployment
100
+ uses: actions/deploy-pages@v4
@@ -0,0 +1,71 @@
1
+ name: CI
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ pull_request:
6
+ push:
7
+ branches:
8
+ - main
9
+
10
+ concurrency:
11
+ group: ${{ github.workflow }}-${{ github.ref }}
12
+ cancel-in-progress: true
13
+
14
+ env:
15
+ # Many color libraries just need this variable to be set to any value.
16
+ # Set it to 3 to support 8-bit color graphics (256 colors per channel)
17
+ # for libraries that care about the value set.
18
+ FORCE_COLOR: 3
19
+
20
+ jobs:
21
+ pre-commit:
22
+ name: Format
23
+ runs-on: ubuntu-latest
24
+ steps:
25
+ - uses: actions/checkout@v6
26
+ with:
27
+ fetch-depth: 0
28
+ - uses: actions/setup-python@v6
29
+ with:
30
+ python-version: "3.x"
31
+
32
+ - uses: astral-sh/setup-uv@v7
33
+
34
+ - uses: pre-commit/action@v3.0.1
35
+ with:
36
+ extra_args: --hook-stage manual --all-files
37
+
38
+ checks:
39
+ name: Check Python ${{ matrix.python-version }} on ${{ matrix.runs-on }}
40
+ runs-on: ${{ matrix.runs-on }}
41
+ needs: [pre-commit]
42
+ strategy:
43
+ fail-fast: false
44
+ matrix:
45
+ python-version: ["3.10", "3.13"]
46
+ runs-on: [ubuntu-latest, windows-latest, macos-latest]
47
+
48
+ steps:
49
+ - uses: actions/checkout@v6
50
+ with:
51
+ fetch-depth: 0
52
+
53
+ - uses: actions/setup-python@v6
54
+ with:
55
+ python-version: ${{ matrix.python-version }}
56
+ allow-prereleases: true
57
+
58
+ - uses: astral-sh/setup-uv@v7
59
+
60
+ - name: Install package
61
+ run: uv sync
62
+
63
+ - name: Test package
64
+ run: >-
65
+ uv run pytest -ra --cov --cov-report=xml --cov-report=term
66
+ --durations=20
67
+
68
+ - name: Upload coverage report
69
+ uses: codecov/codecov-action@v5
70
+ with:
71
+ token: ${{ secrets.CODECOV_TOKEN }}
@@ -0,0 +1,189 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ downloads/
15
+ eggs/
16
+ .eggs/
17
+ lib/
18
+ lib64/
19
+ parts/
20
+ sdist/
21
+ var/
22
+ wheels/
23
+ share/python-wheels/
24
+ *.egg-info/
25
+ .installed.cfg
26
+ *.egg
27
+ MANIFEST
28
+
29
+ # PyInstaller
30
+ # Usually these files are written by a python script from a template
31
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
32
+ *.manifest
33
+ *.spec
34
+
35
+ # Installer logs
36
+ pip-log.txt
37
+ pip-delete-this-directory.txt
38
+
39
+ # Unit test / coverage reports
40
+ htmlcov/
41
+ .tox/
42
+ .nox/
43
+ .coverage
44
+ .coverage.*
45
+ .cache
46
+ nosetests.xml
47
+ coverage.xml
48
+ *.cover
49
+ *.py,cover
50
+ .hypothesis/
51
+ .pytest_cache/
52
+ cover/
53
+
54
+ # Translations
55
+ *.mo
56
+ *.pot
57
+
58
+ # Django stuff:
59
+ *.log
60
+ local_settings.py
61
+ db.sqlite3
62
+ db.sqlite3-journal
63
+
64
+ # Flask stuff:
65
+ instance/
66
+ .webassets-cache
67
+
68
+ # Scrapy stuff:
69
+ .scrapy
70
+
71
+ # Sphinx documentation
72
+ docs/_build/
73
+ docs/_api/
74
+
75
+ # PyBuilder
76
+ .pybuilder/
77
+ target/
78
+
79
+ # Jupyter Notebook
80
+ .ipynb_checkpoints
81
+
82
+ # IPython
83
+ profile_default/
84
+ ipython_config.py
85
+
86
+ # pyenv
87
+ # For a library or package, you might want to ignore these files since the code is
88
+ # intended to run in multiple environments; otherwise, check them in:
89
+ # .python-version
90
+
91
+ # pipenv
92
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
93
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
94
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
95
+ # install all needed dependencies.
96
+ #Pipfile.lock
97
+
98
+ # UV
99
+ # Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
100
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
101
+ # commonly ignored for libraries.
102
+ uv.lock
103
+
104
+ # poetry
105
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
106
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
107
+ # commonly ignored for libraries.
108
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
109
+ #poetry.lock
110
+
111
+ # pdm
112
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
113
+ #pdm.lock
114
+ # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
115
+ # in version control.
116
+ # https://pdm.fming.dev/latest/usage/project/#working-with-version-control
117
+ .pdm.toml
118
+ .pdm-python
119
+ .pdm-build/
120
+
121
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow
122
+ __pypackages__/
123
+
124
+ # Celery stuff
125
+ celerybeat-schedule
126
+ celerybeat.pid
127
+
128
+ # SageMath parsed files
129
+ *.sage.py
130
+
131
+ # Environments
132
+ .env
133
+ .venv
134
+ env/
135
+ venv/
136
+ ENV/
137
+ env.bak/
138
+ venv.bak/
139
+
140
+ # Spyder project settings
141
+ .spyderproject
142
+ .spyproject
143
+
144
+ # Rope project settings
145
+ .ropeproject
146
+
147
+ # mkdocs documentation
148
+ /site
149
+
150
+ # mypy
151
+ .mypy_cache/
152
+ .dmypy.json
153
+ dmypy.json
154
+
155
+ # Pyre type checker
156
+ .pyre/
157
+
158
+ # pytype static type analyzer
159
+ .pytype/
160
+
161
+ # Cython debug symbols
162
+ cython_debug/
163
+
164
+ # PyCharm
165
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
166
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
167
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
168
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
169
+ #.idea/
170
+
171
+ # setuptools_scm
172
+ src/*/_version.py
173
+
174
+
175
+ # ruff
176
+ .ruff_cache/
177
+
178
+ # OS specific stuff
179
+ .DS_Store
180
+ .DS_Store?
181
+ ._*
182
+ .Spotlight-V100
183
+ .Trashes
184
+ ehthumbs.db
185
+ Thumbs.db
186
+
187
+ # Common editor files
188
+ *~
189
+ *.swp
@@ -0,0 +1,87 @@
1
+ ci:
2
+ autoupdate_commit_msg: "chore: update pre-commit hooks"
3
+ autofix_commit_msg: "style: pre-commit fixes"
4
+
5
+ exclude: ^.cruft.json|.copier-answers.yml$
6
+
7
+ repos:
8
+ - repo: https://github.com/pre-commit/pre-commit-hooks
9
+ rev: "v6.0.0"
10
+ hooks:
11
+ - id: check-added-large-files
12
+ - id: check-case-conflict
13
+ - id: check-merge-conflict
14
+ - id: check-symlinks
15
+ - id: check-yaml
16
+ - id: debug-statements
17
+ - id: end-of-file-fixer
18
+ - id: mixed-line-ending
19
+ - id: name-tests-test
20
+ args: ["--pytest-test-first"]
21
+ exclude: ^tests/examples/.*$
22
+ - id: requirements-txt-fixer
23
+ - id: trailing-whitespace
24
+
25
+ - repo: https://github.com/pre-commit/pygrep-hooks
26
+ rev: "v1.10.0"
27
+ hooks:
28
+ - id: rst-backticks
29
+ - id: rst-directive-colons
30
+ - id: rst-inline-touching-normal
31
+
32
+ - repo: https://github.com/rbubley/mirrors-prettier
33
+ rev: "v3.6.2"
34
+ hooks:
35
+ - id: prettier
36
+ types_or: [yaml, markdown, html, css, scss, javascript, json]
37
+ args: [--prose-wrap=always]
38
+
39
+ - repo: https://github.com/astral-sh/ruff-pre-commit
40
+ rev: "v0.14.5"
41
+ hooks:
42
+ - id: ruff-check
43
+ args: ["--fix", "--show-fixes"]
44
+ - id: ruff-format
45
+
46
+ # - repo: https://github.com/pre-commit/mirrors-mypy
47
+ # rev: "v1.18.2"
48
+ # hooks:
49
+ # - id: mypy
50
+ # files: src|tests|noxfile.py
51
+ # args: []
52
+ # additional_dependencies:
53
+ # - nox
54
+ # - pytest
55
+
56
+ # - repo: https://github.com/codespell-project/codespell
57
+ # rev: "v2.4.1"
58
+ # hooks:
59
+ # - id: codespell
60
+ # additional_dependencies:
61
+ # - tomli; python_version<'3.11'
62
+
63
+ - repo: https://github.com/shellcheck-py/shellcheck-py
64
+ rev: "v0.11.0.1"
65
+ hooks:
66
+ - id: shellcheck
67
+
68
+ - repo: local
69
+ hooks:
70
+ - id: disallow-caps
71
+ name: Disallow improper capitalization
72
+ language: pygrep
73
+ entry: PyBind|Numpy|Cmake|CCache|Github|PyTest
74
+ exclude: .pre-commit-config.yaml
75
+
76
+ - repo: https://github.com/abravalheri/validate-pyproject
77
+ rev: "v0.24.1"
78
+ hooks:
79
+ - id: validate-pyproject
80
+ additional_dependencies: ["validate-pyproject-schema-store[all]"]
81
+
82
+ - repo: https://github.com/python-jsonschema/check-jsonschema
83
+ rev: "0.35.0"
84
+ hooks:
85
+ - id: check-dependabot
86
+ - id: check-github-workflows
87
+ - id: check-readthedocs
@@ -0,0 +1,2 @@
1
+ docs:
2
+ rm -rf docs/_build && rm -rf docs/_api && uv run --group docs sphinx-autobuild -nT docs docs/_build/html
@@ -0,0 +1,59 @@
1
+ Metadata-Version: 2.4
2
+ Name: bluesky-tiled-plugins
3
+ Version: 2.0.0
4
+ Summary: Integrations for using Tiled with Bluesky
5
+ Project-URL: Homepage, https://github.com/bluesky/bluesky-tiled-plugins
6
+ Project-URL: Bug Tracker, https://github.com/bluesky/bluesky-tiled-plugins/issues
7
+ Project-URL: Discussions, https://github.com/bluesky/bluesky-tiled-plugins/discussions
8
+ Project-URL: Changelog, https://github.com/bluesky/bluesky-tiled-plugins/releases
9
+ Author-email: Bluesky Project Contributors <dallan@bnl.gov>
10
+ Maintainer-email: Brookhaven National Laboratory <dallan@bnl.gov>
11
+ License-Expression: BSD-3-Clause
12
+ Classifier: Development Status :: 1 - Planning
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: Intended Audience :: Science/Research
15
+ Classifier: Operating System :: OS Independent
16
+ Classifier: Programming Language :: Python
17
+ Classifier: Programming Language :: Python :: 3
18
+ Classifier: Programming Language :: Python :: 3 :: Only
19
+ Classifier: Programming Language :: Python :: 3.10
20
+ Classifier: Programming Language :: Python :: 3.11
21
+ Classifier: Programming Language :: Python :: 3.12
22
+ Classifier: Programming Language :: Python :: 3.13
23
+ Classifier: Programming Language :: Python :: 3.14
24
+ Classifier: Topic :: Scientific/Engineering
25
+ Classifier: Typing :: Typed
26
+ Requires-Python: >=3.10
27
+ Requires-Dist: dask
28
+ Requires-Dist: event-model
29
+ Requires-Dist: mongoquery
30
+ Requires-Dist: pytz
31
+ Requires-Dist: tiled[client]>=0.2.0
32
+ Requires-Dist: tzlocal
33
+ Description-Content-Type: text/markdown
34
+
35
+ # bluesky-tiled-plugins
36
+
37
+ [![Actions Status][actions-badge]][actions-link]
38
+
39
+ [![PyPI version][pypi-version]][pypi-link]
40
+ [![Conda-Forge][conda-badge]][conda-link]
41
+ [![PyPI platforms][pypi-platforms]][pypi-link]
42
+
43
+ <!-- SPHINX-START -->
44
+
45
+ <!-- prettier-ignore-start -->
46
+ [actions-badge]: https://github.com/bluesky/bluesky-tiled-plugins/workflows/CI/badge.svg
47
+ [actions-link]: https://github.com/bluesky/bluesky-tiled-plugins/actions
48
+ [conda-badge]: https://img.shields.io/conda/vn/conda-forge/bluesky-tiled-plugins
49
+ [conda-link]: https://github.com/conda-forge/bluesky-tiled-plugins-feedstock
50
+ [pypi-link]: https://pypi.org/project/bluesky-tiled-plugins/
51
+ [pypi-platforms]: https://img.shields.io/pypi/pyversions/bluesky-tiled-plugins
52
+ [pypi-version]: https://img.shields.io/pypi/v/bluesky-tiled-plugins
53
+
54
+ <!-- prettier-ignore-end -->
55
+
56
+ <!-- README only content. Anything below this line won't be included in index.md -->
57
+
58
+ See https://blueskyproject.io/bluesky-tiled-plugins for more detailed
59
+ documentation.
@@ -0,0 +1,25 @@
1
+ # bluesky-tiled-plugins
2
+
3
+ [![Actions Status][actions-badge]][actions-link]
4
+
5
+ [![PyPI version][pypi-version]][pypi-link]
6
+ [![Conda-Forge][conda-badge]][conda-link]
7
+ [![PyPI platforms][pypi-platforms]][pypi-link]
8
+
9
+ <!-- SPHINX-START -->
10
+
11
+ <!-- prettier-ignore-start -->
12
+ [actions-badge]: https://github.com/bluesky/bluesky-tiled-plugins/workflows/CI/badge.svg
13
+ [actions-link]: https://github.com/bluesky/bluesky-tiled-plugins/actions
14
+ [conda-badge]: https://img.shields.io/conda/vn/conda-forge/bluesky-tiled-plugins
15
+ [conda-link]: https://github.com/conda-forge/bluesky-tiled-plugins-feedstock
16
+ [pypi-link]: https://pypi.org/project/bluesky-tiled-plugins/
17
+ [pypi-platforms]: https://img.shields.io/pypi/pyversions/bluesky-tiled-plugins
18
+ [pypi-version]: https://img.shields.io/pypi/v/bluesky-tiled-plugins
19
+
20
+ <!-- prettier-ignore-end -->
21
+
22
+ <!-- README only content. Anything below this line won't be included in index.md -->
23
+
24
+ See https://blueskyproject.io/bluesky-tiled-plugins for more detailed
25
+ documentation.
@@ -0,0 +1 @@
1
+ <svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 288 90"><defs><style>.cls-1{fill:url(#linear-gradient);}.cls-2{fill:url(#linear-gradient-2);}.cls-3{fill:url(#linear-gradient-3);}.cls-4{fill:url(#linear-gradient-4);}.cls-5{fill:url(#linear-gradient-5);}.cls-6{fill:url(#linear-gradient-6);}.cls-7{fill:url(#linear-gradient-7);}.cls-8{fill:url(#linear-gradient-8);}</style><linearGradient id="linear-gradient" x1="115.44" y1="75.82" x2="115.44" y2="13.97" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#5db0d8"/><stop offset="1" stop-color="#477fb9"/></linearGradient><linearGradient id="linear-gradient-2" x1="138.96" y1="75.82" x2="138.96" y2="13.97" xlink:href="#linear-gradient"/><linearGradient id="linear-gradient-3" x1="170.29" y1="75.82" x2="170.29" y2="13.97" xlink:href="#linear-gradient"/><linearGradient id="linear-gradient-4" x1="199.82" y1="75.82" x2="199.82" y2="13.97" xlink:href="#linear-gradient"/><linearGradient id="linear-gradient-5" x1="231.42" y1="75.82" x2="231.42" y2="13.97" xlink:href="#linear-gradient"/><linearGradient id="linear-gradient-6" x1="261" y1="75.82" x2="261" y2="13.97" xlink:href="#linear-gradient"/><linearGradient id="linear-gradient-7" x1="87.71" y1="75.82" x2="87.71" y2="13.97" xlink:href="#linear-gradient"/><linearGradient id="linear-gradient-8" x1="60.15" y1="75.82" x2="60.15" y2="13.97" xlink:href="#linear-gradient"/></defs><title>Bluesky_Logo_Final</title><path class="cls-1" d="M112.64,32.21a2.39,2.39,0,0,1,.79-2,3.43,3.43,0,0,1,2.21-.64,5.64,5.64,0,0,1,1.62.22q.74.22,1,.32V65.85h-5.61Z"/><path class="cls-2" d="M127,43.76a2.38,2.38,0,0,1,.79-2,3.52,3.52,0,0,1,2.21-.61,5.64,5.64,0,0,1,1.62.22c.49.15.82.25,1,.32V54.63a7.36,7.36,0,0,0,1.57,5.09,7.53,7.53,0,0,0,9.64,0,7.36,7.36,0,0,0,1.57-5.09V43.76a2.38,2.38,0,0,1,.79-2,3.43,3.43,0,0,1,2.16-.61,5.85,5.85,0,0,1,1.67.22c.49.15.82.25,1,.32V55.86a11.25,11.25,0,0,1-.86,4.5,9.2,9.2,0,0,1-2.46,3.37,10.87,10.87,0,0,1-3.81,2.09,17,17,0,0,1-9.74,0,10.6,10.6,0,0,1-3.79-2.09,9.57,9.57,0,0,1-2.46-3.37,11,11,0,0,1-.89-4.5Z"/><path class="cls-3" d="M181.33,64q-.39.25-1.23.69a12.54,12.54,0,0,1-2.09.84,23.67,23.67,0,0,1-2.9.69,20.55,20.55,0,0,1-3.62.3,15.44,15.44,0,0,1-5.14-.84,11.94,11.94,0,0,1-4.18-2.48,11.7,11.7,0,0,1-2.83-4,13.69,13.69,0,0,1-1-5.48,13.94,13.94,0,0,1,1-5.39,12.31,12.31,0,0,1,2.8-4.18,12.62,12.62,0,0,1,4.23-2.71,14.43,14.43,0,0,1,5.34-1,14.15,14.15,0,0,1,4.53.66,10.48,10.48,0,0,1,3.32,1.77,7.24,7.24,0,0,1,2.73,5.73,7.46,7.46,0,0,1-.64,3.12,5.65,5.65,0,0,1-2.26,2.41A13.51,13.51,0,0,1,175,55.74a35.68,35.68,0,0,1-7,.57l-1.84,0-1.84-.07a6.11,6.11,0,0,0,2.44,4.06,9.48,9.48,0,0,0,5.83,1.55,13.21,13.21,0,0,0,2.36-.2,13.44,13.44,0,0,0,1.94-.49,13.82,13.82,0,0,0,1.48-.59l.91-.44ZM164.07,52.37q1.13,0,2.16,0h2.07a22.44,22.44,0,0,0,4.38-.34,8.85,8.85,0,0,0,2.61-.89A2.76,2.76,0,0,0,176.51,50a3.59,3.59,0,0,0,.29-1.43,3.09,3.09,0,0,0-1.5-2.8,6.9,6.9,0,0,0-3.71-.93,7.52,7.52,0,0,0-3.2.64,6.94,6.94,0,0,0-2.31,1.7,7.78,7.78,0,0,0-1.45,2.44A8.79,8.79,0,0,0,164.07,52.37Z"/><path class="cls-4" d="M190,59.7a7.65,7.65,0,0,0,1.23.64,21.88,21.88,0,0,0,2.19.81,22.81,22.81,0,0,0,3,.71,21,21,0,0,0,3.64.29,11.17,11.17,0,0,0,4.18-.66,2.33,2.33,0,0,0,1.62-2.29,2.38,2.38,0,0,0-1-2.09,8.6,8.6,0,0,0-3.69-1l-3.84-.44a18,18,0,0,1-3.61-.71,9.3,9.3,0,0,1-2.83-1.4A6.24,6.24,0,0,1,189,51.36a6.8,6.8,0,0,1-.66-3.12,7.31,7.31,0,0,1,.62-3,6.64,6.64,0,0,1,1.94-2.48,9.66,9.66,0,0,1,3.47-1.7,19,19,0,0,1,5.19-.62,22.13,22.13,0,0,1,7.94,1.13q2.83,1.13,2.83,3a2.28,2.28,0,0,1-.22,1,4.62,4.62,0,0,1-.49.79,3.08,3.08,0,0,1-.57.57,1.85,1.85,0,0,1-.44.27,5.79,5.79,0,0,0-.86-.62,9.88,9.88,0,0,0-1.8-.84,18.71,18.71,0,0,0-2.7-.74,18.45,18.45,0,0,0-3.64-.32q-5.71,0-5.71,3A2.14,2.14,0,0,0,195,49.64a7.8,7.8,0,0,0,3.1.91l5,.64a13.44,13.44,0,0,1,6.34,2.24,5.85,5.85,0,0,1,2.26,5,7,7,0,0,1-2.93,5.9q-2.93,2.21-8.43,2.21a27.07,27.07,0,0,1-4.82-.39,29.6,29.6,0,0,1-3.76-.91,18.9,18.9,0,0,1-2.58-1,7.77,7.77,0,0,1-1.28-.74Z"/><path class="cls-5" d="M219.15,32.21a2.38,2.38,0,0,1,.79-2,3.43,3.43,0,0,1,2.21-.64,5.64,5.64,0,0,1,1.62.22q.74.22,1,.32V50.23q.64-.44,1.8-1.3L229.13,47l3-2.16q1.52-1.13,2.9-2.11a12.5,12.5,0,0,1,2-1.2,5.46,5.46,0,0,1,2.31-.42,3.62,3.62,0,0,1,2.26.71,4.14,4.14,0,0,1,1.18,1.2q-1,.93-2.83,2.28t-3.66,2.7q-1.87,1.35-3.54,2.5t-2.41,1.69A59.1,59.1,0,0,1,237.89,59a68.79,68.79,0,0,1,5.8,6.87h-7q-1.13-1.38-2.53-2.88t-3-3q-1.6-1.45-3.25-2.81t-3.17-2.49V65.85h-5.61Z"/><path class="cls-6" d="M249,43.76a2.38,2.38,0,0,1,.79-2,3.34,3.34,0,0,1,2.16-.64,5.89,5.89,0,0,1,1.65.22q.76.22,1,.32V54.83a6.65,6.65,0,0,0,1.55,4.62,6.13,6.13,0,0,0,4.79,1.72,6.33,6.33,0,0,0,4.72-1.75,7,7,0,0,0,1.72-5.14V43.76a2.38,2.38,0,0,1,.79-2,3.34,3.34,0,0,1,2.16-.64,5.9,5.9,0,0,1,1.65.22q.76.22,1,.32V63.24a16.61,16.61,0,0,1-.93,5.93,10,10,0,0,1-6.79,6.3,18.87,18.87,0,0,1-5.36.71,28.17,28.17,0,0,1-3.69-.22q-1.67-.22-3-.52t-2.14-.57q-.84-.27-1.18-.42.39-1,.74-2.09t.69-2.09c.23.1.59.23,1.08.39a17.17,17.17,0,0,0,1.77.47q1,.22,2.34.37a24.77,24.77,0,0,0,2.78.15,13.07,13.07,0,0,0,3.44-.42,5.83,5.83,0,0,0,2.58-1.45A6.71,6.71,0,0,0,267,67.05a13.68,13.68,0,0,0,.57-4.25,6.69,6.69,0,0,1-3.07,2.29,12,12,0,0,1-4.6.86,13.92,13.92,0,0,1-4.38-.66A9.77,9.77,0,0,1,252,63.37a8.71,8.71,0,0,1-2.24-3.12A10.66,10.66,0,0,1,249,56Z"/><path class="cls-7" d="M93.21,47.77A7.4,7.4,0,0,0,90.8,46.1a7.57,7.57,0,0,0-3.07-.62,7.7,7.7,0,0,0-3.12.62,7,7,0,0,0-2.39,1.7,8,8,0,0,0-1.55,2.56,8.72,8.72,0,0,0-.57,3.15,9,9,0,0,0,.57,3.25,7.07,7.07,0,0,0,4,4.13,7.84,7.84,0,0,0,3.07.59,7.56,7.56,0,0,0,3.07-.62,7.38,7.38,0,0,0,2.41-1.67,7.27,7.27,0,0,0,1.55-2.51,9,9,0,0,0,.54-3.17,9.23,9.23,0,0,0-.54-3.2A7.24,7.24,0,0,0,93.21,47.77Z"/><path class="cls-8" d="M88.4,36.36c-.24,0-.48,0-.72,0a28.18,28.18,0,0,0-52.29-8,20.89,20.89,0,0,0,.51,41.77H88.4a16.9,16.9,0,1,0,0-33.81Zm11.73,22.36a12,12,0,0,1-2.75,4.13,12.87,12.87,0,0,1-4.21,2.71,14.12,14.12,0,0,1-5.34,1,15.51,15.51,0,0,1-5.34-.89A11.35,11.35,0,0,1,78.29,63a12.09,12.09,0,0,1-2.75-4.43,18,18,0,0,1-1-6.25V32.21a2.39,2.39,0,0,1,.79-2,3.42,3.42,0,0,1,2.21-.64,5.63,5.63,0,0,1,1.62.22q.74.22,1,.32V44.26a10,10,0,0,1,3.39-2.68,10.76,10.76,0,0,1,5-1.11,12.78,12.78,0,0,1,5,1,11.93,11.93,0,0,1,4,2.71,12.6,12.6,0,0,1,2.66,4.13,13.92,13.92,0,0,1,1,5.24A13.67,13.67,0,0,1,100.12,58.72Z"/></svg>