-
Notifications
You must be signed in to change notification settings - Fork 5
Refactor package for unified data and device API #5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
280 commits
Select commit
Hold shift + click to select a range
0d993bb
remove unused import
patricklatimer 583a270
undo formatting change
patricklatimer 556e512
remove python-versions pin
patricklatimer efdefc5
add future import for list annotations
patricklatimer 0a15ab2
fix future import
patricklatimer 7281aca
Merge pull request #4 from AllenNeuralDynamics/feat/threading
Poofjunior c68f87b
update wait-for-events example
Poofjunior de151be
remove extraneous call
Poofjunior e3c338d
Merge pull request #5 from AllenNeuralDynamics/feat/example_update
Poofjunior e86eb29
Convert project to uv
MicBoucinha 0163e17
Define docstyle convention
MicBoucinha 15ac05e
Update default vscode settings
ZegCricket efceffd
Add docs to the project
ZegCricket 627b1db
Delete poetry.lock
ZegCricket 23a2c08
Update .gitignore and README
ZegCricket c9a1615
Merge pull request #1 from fchampalimaud/feature/docs_init
MicBoucinha b121ab1
Chore: remove shebangs from example scripts
ZegCricket 3f1b5f8
Cleanup unused code
MicBoucinha 2e4f216
Remove ReadXXHarpMessage classes
MicBoucinha 00217d4
Move base classes
MicBoucinha 2716ce8
Formatting
MicBoucinha 0f57b08
Update protocol link
MicBoucinha 9b86a45
Convert usage of ReadXX classes to device related methods
MicBoucinha bcfcf3c
Remove ReadXX methods from HarpMessage
MicBoucinha f474503
Extract unrelated Enum members
MicBoucinha ab0a7da
Add read_S64 and read_U64 methods to Device
MicBoucinha 0859612
Create write_XXX methods on Device
MicBoucinha a7f595c
Merge branch 'feature/refactor_messages' into develop
MicBoucinha 472e1a5
Add dump parameter to Device's write methods
MicBoucinha 904040d
Change default name and changed visibility of control registers methods
MicBoucinha 4af5567
Refactor timeout assignment and correct payload string formatting
MicBoucinha a2b8cc0
Update current_device_names
MicBoucinha 45ee965
Add support for device's serial number
MicBoucinha 20c2c59
Remove unused method
MicBoucinha 1aecf2a
Update README
MicBoucinha b9819aa
Update documentation dependencies
MicBoucinha 2ca3e4f
Update mkdocs configuration
MicBoucinha fb78b31
Move examples to documentation folder
MicBoucinha 4dd42e8
Update documentation
MicBoucinha 8cd50ad
Add context manager support to Device class
MicBoucinha 13924db
Chore: add pytest configs to vscode workspace settings
ZegCricket 413f36c
Docs: separate examples in different pages
ZegCricket f0266cc
Docs: modify documentation organizational, functional and visual aspects
ZegCricket 53b41a4
Docs: modify home page
ZegCricket b80d79b
Test: comment incorrect tests to fix in the future
ZegCricket d87c1ae
Docs: add documentation to HarpMessage and Device classes
ZegCricket 56b9df3
Refactor: change base.py enums to IntEnums
ZegCricket c677429
Refactor: rename functions to follow a consistent naming pattern
ZegCricket 74dd5c4
Refactor: move DeviceMode to base.py
ZegCricket df43bde
Refactor: make some class members private
ZegCricket 27dc1c8
Refactor: modify way of sending write harp messages
ZegCricket 355e90c
Refactor: misc changes
ZegCricket 2adbdc3
Feature: add HarpMessage.create static method
ZegCricket 152a28d
Docs: add comments to the remaining code
ZegCricket 09e0dd6
Feature: add classes in base.py to root pyharp namespace
ZegCricket c7fea61
Feature: remove read_xx and write_xx Device methods
ZegCricket 8f52e90
Docs: reorganize examples section
ZegCricket c853f05
Docs: add olfactometer example
ZegCricket 5c77aa6
Docs: add pyharp core API to documentation
ZegCricket 70d4bbf
Merge branch 'feature/update_docs' into develop
MicBoucinha 299b4d0
Change dump file usage convention
MicBoucinha b924837
Change DeviceMode to OperationMode for official Harp documentation co…
MicBoucinha 1d12633
Change return type of Device's send method
MicBoucinha 98046e6
Update and add missing OperationControl methods
MicBoucinha 9959cdd
Update docs links
MicBoucinha 61c2562
Fix doc link
MicBoucinha d1ef6e0
Comment device tests
MicBoucinha 4398024
Add pytest-cov dev dependency
MicBoucinha 9c04d72
Add is_error to HarpMessage
MicBoucinha 960ce9c
Read Timestamp entry for PayloadType
MicBoucinha bfcb9ec
Handle HarpMessage with arrays and timestamps
MicBoucinha 7223e0c
Restore read and write methods from Device
MicBoucinha 3f7922f
Remove dump from send method
MicBoucinha 924997b
Add ClockConfig and TimestampOffset
MicBoucinha 3c21927
Add OperationCtrl and ResetMode
MicBoucinha ec85295
Allow Port control
MicBoucinha be6f11c
Fix issue with payload property
MicBoucinha de5a799
Update payload_as_string
MicBoucinha 542de32
Update CommonRegisters members name
MicBoucinha 5796621
Update send method to receive HarpMessage
MicBoucinha 6b69b65
Remove unused methods
MicBoucinha 897ffd3
Fix bug with uninitialized fields and wrong property call
MicBoucinha 9dfcf15
Fix bug on Device's send method
MicBoucinha 2fd965f
Handle empty replies
MicBoucinha 4e3ee84
Fix bug with str method
MicBoucinha f310406
Reformat
MicBoucinha 721fcb4
Update pre-commit config
MicBoucinha d6a886a
Add monorepo-plugin to mkdocs
MicBoucinha 0f7bb9f
Fix typo
MicBoucinha b977d7d
Test new module structure
MicBoucinha 9e9a95a
Update project
MicBoucinha 47c3feb
Merge branch 'feature/pyharp_namespace' into develop
MicBoucinha b8e4bed
Delete behavior driver
MicBoucinha 9aedecf
Move device.py and harp_serial.py to communication folder
MicBoucinha 2ff6bc2
Move core from docs to protocol
MicBoucinha 1ae9aee
Update docs links with correct namespaces
MicBoucinha 55f38d3
Remove duplicated extension from mkdocs config
MicBoucinha c1d1a59
Minor fix on example
MicBoucinha deef783
Update files to prevent circular imports
MicBoucinha 74daef6
Update project related information for pushing it to PyPI
MicBoucinha 60bff12
Change namespace to "harp"
MicBoucinha f50be32
Update minimum Python version
MicBoucinha 3cf6d12
Add "include markdown plugin" to docs
MicBoucinha c8af5a1
Update version
MicBoucinha 01b42cf
Add dependency to handle dataclasses on documentation generation
MicBoucinha 7ec5518
Update mkdocs config
MicBoucinha a97fd0a
Update docs
MicBoucinha d760086
Add CurrentDriver to known device names
MicBoucinha aca830a
Reorder docs' TOC
MicBoucinha 2113d59
Remove type annotation on Enum
MicBoucinha ece40f7
Update version
MicBoucinha 3515020
Add github action to build and deploy docs
MicBoucinha 47cfb1d
Update LICENSE
MicBoucinha 39e3ca3
Rename communication namespace to 'serial'
MicBoucinha 4d9a3a4
Remove unnecessary devices folder
MicBoucinha efa5e04
Fix issue with Visual_en flag
MicBoucinha d27c226
Fix documentation path for Device
MicBoucinha 77607ae
Implement a Timeout handling strategy
MicBoucinha 11c47df
Update payload handling taking into account the timeout strategy in s…
MicBoucinha a0be5e2
Reorganize project directory structure
MicBoucinha 87a8b14
Create workspaces for harp-protocol and harp-serial
MicBoucinha 9073f4c
Update docs
MicBoucinha 8c07844
Chore: add pyrefly extension to `extensions.json`
ZegCricket ee5aa32
Chore: add script to run docs locally on Windows
ZegCricket 594399a
Add harp reference epoch constant
ZegCricket 93aa50c
Fix issues with types
ZegCricket 2481ec1
Docs: fix imports from examples to take the new project structure int…
ZegCricket ea50e70
Refactor: simplify WriteHarpMessage handling of PayloadType
ZegCricket 713c934
Chore: add VSCode setting that enables pyrefly to display type errors
ZegCricket 36ec9ad
Removed custom message from exceptions
MicBoucinha 3272e10
Pin harp-protocol version on harp-serial
MicBoucinha 34de54d
Fix: raise HarpReadException for missing timestamp in ReplyHarpMessage
MicBoucinha a107ebb
Add LaserDriverController to device_names
MicBoucinha ed7388a
Refactor payload handling in HarpMessage to properly support Python 3.9
MicBoucinha fbd7d64
Add operation_ctrl methods to device
MicBoucinha af7e79f
Update documentation
MicBoucinha 5ea52bb
Fix tests
MicBoucinha 25f0445
Merge branch 'feature/workspaces' into develop
MicBoucinha d7a6a63
Remove unnecessary udev rules file
MicBoucinha d454897
Refactor HARP_VERSION to CORE_VERSION
MicBoucinha 4162bff
Update documentation
MicBoucinha 6e714ec
Refactor base.py enums for consistency and clarity
MicBoucinha 9a440b2
Refactor HarpMessage to consolidate message creation
MicBoucinha ed8fca5
Remove HarpMessage.create static method
MicBoucinha 78cce0e
Refactor HarpMessage to remove ReplyHarpMessage
MicBoucinha 6f97c92
Refactor timeout variables
MicBoucinha 1f24190
Rename HarpTimeoutError to HarpTimeoutException and add context to it
MicBoucinha 36a8363
Update comment
MicBoucinha e97480c
Add HarpMessage context to Harp exceptions
MicBoucinha 8e84b3a
Remove constraint when creating HarpMessage
MicBoucinha aa564c7
Change build system
MicBoucinha 3d8d10d
Remove device_names
MicBoucinha ccdef2a
Handle potential serial connection errors
MicBoucinha c24c51f
Update minimum Python version
MicBoucinha e1025d5
Fix: write events to dump file
ZegCricket 5676d38
Merge remote-tracking branch 'origin/feature/dump_events_to_file' int…
MicBoucinha 1fbfb2d
Refactor to improve message reading and timeout handling in Device
MicBoucinha 5f62673
Separate docs from dev dependencies
MicBoucinha c61184b
Bump version of packages
MicBoucinha 7523b47
Update documentation
MicBoucinha ede6aa4
Merge branch 'feature/pr_review_changes' into develop
MicBoucinha 6f5cde3
Update docs
MicBoucinha bbe437d
Linting
bruno-f-cruz 1e7986e
Replace serial by device package
bruno-f-cruz 4662050
Refactor protocol and register api
bruno-f-cruz 39f97ab
Add tests for protocol
bruno-f-cruz 20e5317
Add unit tests for register api
bruno-f-cruz 1a70a59
Improve string visualization for Payload
bruno-f-cruz 39b9904
Add small integration test
bruno-f-cruz c070cf8
Remove data type inference
bruno-f-cruz 92cf83d
Ignore .vscode folder
bruno-f-cruz 66987d1
Linting
bruno-f-cruz 3d4cbd4
Remove unused type checking guards
bruno-f-cruz 53c4e73
Improve type hinting
bruno-f-cruz bc1c0ea
Avoid accessing private attribute
bruno-f-cruz 8e6f8dd
Make the mess uniform for now
bruno-f-cruz b622b71
Delete unused file
bruno-f-cruz 2f8aec9
Raise error on returned messages with error bit flag
bruno-f-cruz ed599b3
Add timestamp to format
bruno-f-cruz 2e6f5ed
Add example script and refactor payload classes for clarity and consi…
bruno-f-cruz a66372d
Add BitField types
bruno-f-cruz 5040c55
Linting
bruno-f-cruz 3a282c6
Move scripts and add benchmark
bruno-f-cruz 9a9832d
Structured arrays can convert directly
bruno-f-cruz 1b0b7dc
Pre-compute group-mask enums as a lookup table
bruno-f-cruz 2aa8235
Refactor backend to allow twin classes for Scalar and Bulk types
bruno-f-cruz 4ab1707
Simplify dtype logic but procedurally generating type from fields
bruno-f-cruz 4a902b0
Refactor payload converters and register handling to unify scalar and…
bruno-f-cruz 34a9115
Move framer away from protocol package
bruno-f-cruz 3626eb6
Improve variable naming and documentation
bruno-f-cruz cd920ef
Remove redundant method and add doc string to register module
bruno-f-cruz 2882178
Split scalar/array/struct payloads and type parse() return
bruno-f-cruz f5c4536
Add example of heterogenous register
bruno-f-cruz 00bf9c7
Raise proper error
bruno-f-cruz ca4ec5d
Drop redundant code path
bruno-f-cruz 40c4000
Raise error if timestamp is explicitly requested
bruno-f-cruz de96c17
Cache bit-field definition
bruno-f-cruz ed9ddc5
Create constants module and move tick value
bruno-f-cruz 8acfdf0
Refactor to use sentinel type
bruno-f-cruz ee05e7b
Streamline checksum calculation
bruno-f-cruz d7dad55
Be opinionated on format typing
bruno-f-cruz 9273314
Update register syntax
bruno-f-cruz 05a2187
Use `dataclass_transform` for free type hint
bruno-f-cruz b437bdd
Test defaults
bruno-f-cruz 3bcab95
Cleanup public api members
bruno-f-cruz 6a17323
Generalize payload construction for all interface types
bruno-f-cruz afa9288
Linting
bruno-f-cruz 9425aba
Fix type errors and examples
bruno-f-cruz 653e98f
Simplify repr field collection
bruno-f-cruz 959e717
Allow fields to also define a masked value
bruno-f-cruz 473844d
Deprecate converter_registry
bruno-f-cruz 3db7518
Deprecate converter_registry
bruno-f-cruz 1d2e8e5
Add support for converters in AnonymousPayload
bruno-f-cruz c84f93e
Export `AnonymousPayload` from te public module
bruno-f-cruz 2589295
Add support for HarpVersion and HarpVersionConverter
bruno-f-cruz a1f9a7a
Refactor device class to include core registers and decoupled from se…
bruno-f-cruz 4ad9343
Decouple transport from device
bruno-f-cruz 8068d72
Use automatically generated core register definition
bruno-f-cruz de78f56
Split serial from device package
bruno-f-cruz fd9780e
Add register map constant to device package
bruno-f-cruz 0f0365a
Add data package
bruno-f-cruz 58cbc55
Add minor changes to documentation
bruno-f-cruz 8011bee
Remove BitField in favor of BitMask notation
bruno-f-cruz d97fab9
Remove the use of deferred annotations
bruno-f-cruz 755f911
Linting
bruno-f-cruz 02e0400
Fix example
bruno-f-cruz e681e7c
Merge pull request #6 from harp-tech/refactor-remove-bitmask-demux
bruno-f-cruz 5716d53
Refactor method's names
bruno-f-cruz 9231b27
Do not copy when converting to dataframe by default
bruno-f-cruz 6bbe246
Add benchmark package
bruno-f-cruz 6922908
Add converter for faster parsing
bruno-f-cruz 1de2f43
Optionally print dataframes
bruno-f-cruz 70d3db8
Add numpy broadcasting to HarpVersion conversion
bruno-f-cruz d7ed4b7
Lazily parse the timestamp
bruno-f-cruz fa6cc8e
Fix stale references
bruno-f-cruz 68274c3
Refactor CICD and remove stale testing files
bruno-f-cruz 70df2ee
Improve package metadata
bruno-f-cruz abf6a8b
Add codespell for CICD
bruno-f-cruz 3ac77d5
Fix site name
bruno-f-cruz 1f3e8e6
Fix type hints
bruno-f-cruz 0da63ba
Add benchmark to CICD
bruno-f-cruz 4329e1d
Add observer/observable pattern to device
bruno-f-cruz 19e1f1c
Clear device subscriptions on close to prevent stale handlers
bruno-f-cruz e729912
Add examples for event handling
bruno-f-cruz 47f9c53
Remove benchmarks from CICD
bruno-f-cruz de793a0
Add logo
bruno-f-cruz 9a71d40
Use relative path
bruno-f-cruz af09088
Switch to setuptools-scm and trusted publishing
glopesdev 2587039
Point the CI push trigger at main
glopesdev fa95371
Merge pull request #8 from harp-tech/packaging-and-release-ci
bruno-f-cruz File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,144 @@ | ||
| name: harp | ||
|
|
||
| on: | ||
| pull_request: | ||
| push: | ||
| branches: | ||
| - main | ||
| release: | ||
| types: [published] | ||
| workflow_dispatch: | ||
|
|
||
| jobs: | ||
| # ---- Tests ---- | ||
| tests: | ||
| name: Python ${{ matrix.python-version }} on ${{ matrix.os }} | ||
| runs-on: ${{ matrix.os }} | ||
| strategy: | ||
| matrix: | ||
| os: [ubuntu-latest, windows-latest, macos-latest] | ||
| python-version: ["3.11", "3.12", "3.13"] | ||
| fail-fast: false | ||
| steps: | ||
| - uses: actions/checkout@v7 | ||
|
|
||
| - uses: astral-sh/setup-uv@v8.3.2 | ||
| with: | ||
| enable-cache: true | ||
|
|
||
| - name: Install python dependencies | ||
| run: uv sync --group dev --python ${{ matrix.python-version }} | ||
|
|
||
| - name: Run codespell | ||
| run: uv run codespell | ||
|
|
||
| - name: Run ruff format | ||
| run: uv run ruff format --check | ||
|
|
||
| - name: Run ruff check | ||
| run: uv run ruff check | ||
|
|
||
| - name: Run pyright | ||
| run: uv run pyright | ||
|
|
||
| - name: Run pytest | ||
| run: uv run pytest --cov harp | ||
|
|
||
| - name: Build | ||
| run: uv build --all-packages | ||
|
|
||
| # ---- Release build ---- | ||
| build-release: | ||
| runs-on: ubuntu-latest | ||
| name: Build release distributions | ||
| needs: tests | ||
| if: github.event_name == 'release' && github.event.action == 'published' | ||
|
|
||
| steps: | ||
| - uses: actions/checkout@v7 | ||
|
|
||
| - uses: astral-sh/setup-uv@v8.3.2 | ||
| with: | ||
| enable-cache: true | ||
|
|
||
| - name: Build | ||
| env: | ||
| SETUPTOOLS_SCM_PRETEND_VERSION: ${{ github.event.release.tag_name }} | ||
| run: uv build --all-packages | ||
|
|
||
| - name: Verify setuptools-scm applied the release tag | ||
| shell: bash | ||
| run: | | ||
| ls -1 dist/ | ||
| if ls dist/*-0.0.0.tar.gz >/dev/null 2>&1; then | ||
| echo "::error::Built version 0.0.0, so setuptools-scm did not apply the tag. Check that every pyproject.toml still declares a tool.setuptools_scm table." | ||
| exit 1 | ||
| fi | ||
|
|
||
| - name: Remove internal-only packages from dist | ||
| shell: bash | ||
| run: rm -f dist/harp_benchmarks-* | ||
|
|
||
| - name: Upload wheels as artifact | ||
| uses: actions/upload-artifact@v7 | ||
| with: | ||
| name: dist | ||
| path: dist/ | ||
|
|
||
| # ---- Publish to PyPI ---- | ||
| publish-to-pypi: | ||
| runs-on: ubuntu-latest | ||
| name: Publish to PyPI | ||
| needs: build-release | ||
| environment: pypi | ||
| permissions: | ||
| # uv publish exchanges this token with PyPI trusted publishing. | ||
| id-token: write | ||
| # action-gh-release attaches the distributions to the release. | ||
| contents: write | ||
| steps: | ||
| - name: Download wheels artifact | ||
| uses: actions/download-artifact@v8 | ||
| with: | ||
| name: dist | ||
| path: dist/ | ||
|
|
||
| - uses: astral-sh/setup-uv@v8.3.2 | ||
| with: | ||
| enable-cache: true | ||
|
|
||
| - name: Publish to PyPI | ||
| run: uv publish | ||
|
|
||
| - name: Upload wheels to GitHub release | ||
| uses: softprops/action-gh-release@v3 | ||
| with: | ||
| files: dist/* | ||
|
|
||
| # ---- Docs ---- | ||
| build-docs: | ||
| name: Build and deploy documentation to GitHub Pages | ||
| runs-on: ubuntu-latest | ||
| needs: build-release | ||
| if: github.event_name == 'release' && !github.event.release.prerelease | ||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v7 | ||
| with: | ||
| fetch-depth: 0 | ||
|
|
||
| - name: Install uv | ||
| uses: astral-sh/setup-uv@v8.3.2 | ||
| with: | ||
| enable-cache: true | ||
|
|
||
| - name: Install dependencies | ||
| run: uv sync --group docs | ||
|
|
||
| - name: Configure Git user | ||
| run: | | ||
| git config user.name "github-actions[bot]" | ||
| git config user.email "github-actions[bot]@users.noreply.github.com" | ||
|
|
||
| - name: Build & Deploy docs | ||
| run: uv run mkdocs gh-deploy --force |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,6 +1,180 @@ | ||
| .idea/ | ||
| pyharp.egg-info/ | ||
| .python-version | ||
| __pycache__ | ||
| tests/.pytest_cache | ||
| **/*.bin | ||
| # Byte-compiled / optimized / DLL files | ||
| __pycache__/ | ||
| *.py[cod] | ||
| *$py.class | ||
|
|
||
| # C extensions | ||
| *.so | ||
|
|
||
| # Distribution / packaging | ||
| .Python | ||
| build/ | ||
| develop-eggs/ | ||
| dist/ | ||
| downloads/ | ||
| eggs/ | ||
| .eggs/ | ||
| lib/ | ||
| lib64/ | ||
| parts/ | ||
| sdist/ | ||
| var/ | ||
| wheels/ | ||
| share/python-wheels/ | ||
| *.egg-info/ | ||
| .installed.cfg | ||
| *.egg | ||
| MANIFEST | ||
|
|
||
| # PyInstaller | ||
| # Usually these files are written by a python script from a template | ||
| # before PyInstaller builds the exe, so as to inject date/other infos into it. | ||
| *.manifest | ||
| *.spec | ||
|
|
||
| # Installer logs | ||
| pip-log.txt | ||
| pip-delete-this-directory.txt | ||
|
|
||
| # Unit test / coverage reports | ||
| htmlcov/ | ||
| .tox/ | ||
| .nox/ | ||
| .coverage | ||
| .coverage.* | ||
| .cache | ||
| nosetests.xml | ||
| coverage.xml | ||
| *.cover | ||
| *.py,cover | ||
| .hypothesis/ | ||
| .pytest_cache/ | ||
| cover/ | ||
|
|
||
| # Translations | ||
| *.mo | ||
| *.pot | ||
|
|
||
| # Django stuff: | ||
| *.log | ||
| local_settings.py | ||
| db.sqlite3 | ||
| db.sqlite3-journal | ||
|
|
||
| # Flask stuff: | ||
| instance/ | ||
| .webassets-cache | ||
|
|
||
| # Scrapy stuff: | ||
| .scrapy | ||
|
|
||
| # Sphinx documentation | ||
| docs/_build/ | ||
|
|
||
| # PyBuilder | ||
| .pybuilder/ | ||
| target/ | ||
|
|
||
| # Jupyter Notebook | ||
| .ipynb_checkpoints | ||
|
|
||
| # IPython | ||
| profile_default/ | ||
| ipython_config.py | ||
|
|
||
| # pyenv | ||
| # For a library or package, you might want to ignore these files since the code is | ||
| # intended to run in multiple environments; otherwise, check them in: | ||
| # .python-version | ||
|
|
||
| # pipenv | ||
| # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. | ||
| # However, in case of collaboration, if having platform-specific dependencies or dependencies | ||
| # having no cross-platform support, pipenv may install dependencies that don't work, or not | ||
| # install all needed dependencies. | ||
| #Pipfile.lock | ||
|
|
||
| # UV | ||
| # Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control. | ||
| # This is especially recommended for binary packages to ensure reproducibility, and is more | ||
| # commonly ignored for libraries. | ||
| #uv.lock | ||
|
|
||
| # poetry | ||
| # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. | ||
| # This is especially recommended for binary packages to ensure reproducibility, and is more | ||
| # commonly ignored for libraries. | ||
| # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control | ||
| #poetry.lock | ||
|
|
||
| # pdm | ||
| # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. | ||
| #pdm.lock | ||
| # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it | ||
| # in version control. | ||
| # https://pdm.fming.dev/latest/usage/project/#working-with-version-control | ||
| .pdm.toml | ||
| .pdm-python | ||
| .pdm-build/ | ||
|
|
||
| # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm | ||
| __pypackages__/ | ||
|
|
||
| # Celery stuff | ||
| celerybeat-schedule | ||
| celerybeat.pid | ||
|
|
||
| # SageMath parsed files | ||
| *.sage.py | ||
|
|
||
| # Environments | ||
| .env | ||
| .venv | ||
| env/ | ||
| venv/ | ||
| ENV/ | ||
| env.bak/ | ||
| venv.bak/ | ||
|
|
||
| # Spyder project settings | ||
| .spyderproject | ||
| .spyproject | ||
|
|
||
| # Rope project settings | ||
| .ropeproject | ||
|
|
||
| # mkdocs documentation | ||
| /site | ||
|
|
||
| # mypy | ||
| .mypy_cache/ | ||
| .dmypy.json | ||
| dmypy.json | ||
|
|
||
| # Pyre type checker | ||
| .pyre/ | ||
|
|
||
| # pytype static type analyzer | ||
| .pytype/ | ||
|
|
||
| # Cython debug symbols | ||
| cython_debug/ | ||
|
|
||
| # PyCharm | ||
| # JetBrains specific template is maintained in a separate JetBrains.gitignore that can | ||
| # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore | ||
| # and can be added to the global gitignore or merged into this file. For a more nuclear | ||
| # option (not recommended) you can uncomment the following to ignore the entire idea folder. | ||
| #.idea/ | ||
|
|
||
| # Ruff stuff: | ||
| .ruff_cache/ | ||
|
|
||
| # PyPI configuration file | ||
| .pypirc | ||
|
|
||
| # vscode | ||
| .vscode/ | ||
|
|
||
| # Internal benchmark artifacts (harp-benchmarks) | ||
| /benchmark/ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| 3.13 | ||
| 3.12 | ||
| 3.11 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.