diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4a5bb8d9..9f9ce703 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -22,7 +22,7 @@ jobs: runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v6 with: submodules: recursive - name: Install dependencies diff --git a/.github/workflows/jedi.yml b/.github/workflows/jedi.yml index 95bef3cf..cf6aa459 100644 --- a/.github/workflows/jedi.yml +++ b/.github/workflows/jedi.yml @@ -7,24 +7,9 @@ jobs: if: github.ref_type != 'tag' runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v6 - run: pipx install poetry - run: poetry install working-directory: ./jedi - run: poetry run pytest -vv working-directory: ./jedi - - publish: - if: github.ref_type == 'tag' && startsWith(github.ref_name, 'pybricks_jedi/') - runs-on: ubuntu-22.04 - steps: - - uses: actions/checkout@v3 - - run: pipx install poetry - - run: poetry install - working-directory: ./jedi - - run: poetry build - working-directory: ./jedi - - run: poetry publish - working-directory: ./jedi - env: - POETRY_PYPI_TOKEN_PYPI: ${{ secrets.PYPI_PYBRICKS_JEDI_TOKEN }} diff --git a/.github/workflows/publish-ide-docs.yml b/.github/workflows/publish-ide-docs.yml index 15a4db00..038642cf 100644 --- a/.github/workflows/publish-ide-docs.yml +++ b/.github/workflows/publish-ide-docs.yml @@ -2,22 +2,33 @@ name: Release @pybricks/ide-docs on: push: - tags: - - '@pybricks/ide-docs/**' + tags: + - 'v4.*' + +permissions: + id-token: write + contents: read jobs: publish_ide_docs: runs-on: ubuntu-22.04 steps: + - name: Get version from tag + run: | + VERSION="${GITHUB_REF_NAME#v}" + NPM_VERSION=$(echo "$VERSION" | sed 's/\([0-9]\)a\([0-9]\)/\1-alpha.\2/;s/\([0-9]\)b\([0-9]\)/\1-beta.\2/;s/\([0-9]\)rc\([0-9]\)/\1-rc.\2/') + echo "VERSION=$VERSION" >> $GITHUB_ENV + echo "NPM_VERSION=$NPM_VERSION" >> $GITHUB_ENV + echo "NPM_TAG=$(echo "$NPM_VERSION" | grep -q '-' && echo 'next' || echo 'latest')" >> $GITHUB_ENV - name: Ubuntu packages run: | sudo apt-get update sudo apt-get install -y dvisvgm preview-latex-style texlive texlive-fonts-extra texlive-latex-extra - - uses: actions/checkout@v3 + - uses: actions/checkout@v6 with: submodules: recursive - name: Set up Python 3.8 - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: 3.8 - name: Install dependencies @@ -26,13 +37,13 @@ jobs: poetry run python -m pip install --upgrade pip poetry run python -m pip install --upgrade setuptools poetry install --only=doc - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: - node-version: '14.x' + node-version: '24' registry-url: 'https://registry.npmjs.org' + - run: npm version --no-git-tag-version "$NPM_VERSION" + working-directory: npm/ide-docs - run: yarn build working-directory: npm/ide-docs - - run: yarn publish + - run: npm publish --tag "$NPM_TAG" working-directory: npm/ide-docs - env: - NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }} diff --git a/.github/workflows/publish-images.yml b/.github/workflows/publish-images.yml index 28396e2a..0f152659 100644 --- a/.github/workflows/publish-images.yml +++ b/.github/workflows/publish-images.yml @@ -9,11 +9,11 @@ jobs: publish_ide_docs: runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v6 # Setup .npmrc file to publish to npm - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: - node-version: '16.x' + node-version: '22.x' registry-url: 'https://registry.npmjs.org' - run: ./build.py working-directory: npm/images diff --git a/.github/workflows/publish-jedi.yml b/.github/workflows/publish-jedi.yml index 94bb518e..b0604d9f 100644 --- a/.github/workflows/publish-jedi.yml +++ b/.github/workflows/publish-jedi.yml @@ -2,22 +2,42 @@ name: Release @pybricks/jedi on: push: - tags: - - '@pybricks/jedi/**' + tags: + - 'v4.*' + +permissions: + id-token: write + contents: read jobs: publish_jedi: runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v3 - # Setup .npmrc file to publish to npm - - uses: actions/setup-node@v3 + - uses: actions/checkout@v6 + - name: Get version from tag + run: | + VERSION="${GITHUB_REF_NAME#v}" + NPM_VERSION=$(echo "$VERSION" | sed 's/\([0-9]\)a\([0-9]\)/\1-alpha.\2/;s/\([0-9]\)b\([0-9]\)/\1-beta.\2/;s/\([0-9]\)rc\([0-9]\)/\1-rc.\2/') + echo "VERSION=$VERSION" >> $GITHUB_ENV + echo "NPM_VERSION=$NPM_VERSION" >> $GITHUB_ENV + echo "NPM_TAG=$(echo "$NPM_VERSION" | grep -q '-' && echo 'next' || echo 'latest')" >> $GITHUB_ENV + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.11' + - name: Install poetry + run: pipx install poetry + - name: Set pybricks-jedi version + run: poetry version "$VERSION" + working-directory: jedi + - name: Set pybricks version and update jedi dependency pin + run: | + poetry version "$VERSION" + sed -i "s/^pybricks = \".*\"/pybricks = \"$VERSION\"/" jedi/pyproject.toml + - uses: actions/setup-node@v4 with: - node-version: '16.x' + node-version: '24' registry-url: 'https://registry.npmjs.org' - - run: ./build.py - working-directory: npm/jedi - - run: yarn publish - working-directory: npm/jedi/build - env: - NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }} + - run: python jedi/build.py "$NPM_VERSION" + - run: npm publish --tag "$NPM_TAG" + working-directory: jedi/npm-build diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d5d3a2f2..47f48561 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,7 +1,7 @@ on: push: tags: - - 'v3.*' + - 'v4.*' name: Create release on GitHub and PyPI @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-22.04 steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v6 with: submodules: true fetch-depth: 0 @@ -38,7 +38,7 @@ jobs: build_and_publish: runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v6 - run: pipx run poetry build - run: pipx run poetry publish env: diff --git a/.gitignore b/.gitignore index 93232f33..a0999f2b 100644 --- a/.gitignore +++ b/.gitignore @@ -25,6 +25,7 @@ build/ build-*/ _build/ +npm-build/ # Tests ###################### diff --git a/CHANGELOG.md b/CHANGELOG.md index c0781417..b2a30a8b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,307 +1,13 @@ # Changelog - +See [pybricks-micropython/CHANGELOG.md][changelog] for the changes in each release. -## Unreleased +This repository is frequently updated to stay in sync with the implementation. -### Fixed +Major and minor versions are synchronized with `pybricks-micropython`, which +leads. Patch versions and prerelease version numbers may differ, as they may +be bumped for every small change or typo in the docs. -- Fixed `DriveBase.angle` reporting an incorrect return type. +The version for this repository is also used for the `@pybricks/jedi` and `@pybricks/ide-docs` npm packages. -## 3.6.1 - 2025-05-01 - -### Fixed - -- Fixed missing `hub.system.info` method on some hubs. - -## 3.6.0 - 2025-03-11 - -### Changed - -- Update API for firmware 3.6.0. See upstream changelog for details. - -## 3.6.0b5 - 2025-02-26 - -### Changed - -- Update API for firmware 3.6.0b5. See upstream changelog for details. - -## 3.5.0 - 2024-04-11 - -### Changed -- Bump version to 3.5.0 without additional changes. - -## 3.5.0b2 - 2024-04-05 - -### Added - -- Added `pybricks.pupdevices.Remote.disconnect` method. -- Added blocks for `up`, `ready` and `stationary` for IMUs. -- Added `last` and `chr` parameters to `read_input_byte` and add blocks. -- Added block for the `in` operation. -- Add double ternary block. - -## 3.5.0b1 - 2024-03-11 - -### Added - -- Added `XboxController.rumble` method. -- Added block icons for `hub.system.set_stop_button` and `hub.system.shutdown`. -- Added program stop block (`raise SystemExit`). - -## 3.4.1 - 2024-03-11 - -### Fixed - -- Fixed Read The Docs virtual environment workflow. - -## 3.4.0 - 2024-03-11 - -### Changed - -- Update list block screenshots to match implementation. - -## 3.4.0b5 - 2024-03-05 - -### Changed - -- Updates for v3.4.0b3 firmware (out of sync with docs). -- Changed `hub.button` to `hub.buttons` on single button hubs. Access via - `hub.button` will keep working in the firmware for backwards compatibility. - -## 3.4.0b4 - 2024-02-14 - -### Added - -- Added `pybricks.iodevices.XboxController` class. - -### Changed - -- Changed `buttons.pressed` return type to set. - -## 3.4.0b3 - 2024-01-30 - -### Added - -- Added `pybricks.robotics.Car` class. - -### Changed - -- Changed `pybricks.robotics.DriveBase` icon to two wheels instead of steering - wheel, which will be used for the new car class. - -## 3.4.0b2 - 2023-11-28 - -### Changed -- Include first batch of block coding images. - -## 3.3.0 - 2023-11-24 - -### Changed -- Bump beta version to release version with no further changes. - -## 3.3.0c1 - 2023-11-20 - -### Added -- Enabled tilt and orientation config for `MoveHub()`. -- Documented `Motor.close()` - -## Fixed -- Fixed missing awaitable for `Remote.light` and LWP3 writes. - -## 3.3.0b9 - 2023-10-26 - -### Changed -- Changed the beta feature for using the hub's gyro. Gyro control can now be - toggled using `use_gyro` instead of using a separate `GyroDriveBase` class. -- Documentation updates to match firmware 3.3.0b5--3.3.0b9 updates. - -### Added -- Added `set` to `ubuiltins` module. -- Basic multitasking docs. -- Awaitable keyword for awaitable methods and functions. - -## 3.3.0b5 - 2023-05-16 - -### Added -- Documented new `hub.ble` methods. - -## 3.3.0b4 - 2023-04-21 - -### Added -- Documented `integral_deadzone` in `Control.pid()`. -- Documented `Motor.model`. This can be used to view the estimated motor - state and change its settings. -- Added `rotation`, `orientation`, `ready`, `stationary` and `settings` methods - to `IMU` class. -- Added `GyroDriveBase` class to `pybricks.robotics`. - -### Changed -- Change implementation status of `IMU.heading` and `IMU.reset_heading`. They - are now implemented, with some limitations as noted in a note box. -- Moved `Matrix` and `vector` from `pybricks.geometry` to `pybricks.tools`. -- Moved `Axis` from `pybricks.geometry` to `pybricks.parameters`. - -### Removed -- Removed `pybricks.geometry` module. - -## 3.2.0 - 2022-12-20 - -### Changed -- Changed module TOC headings to make it easier to find things. - -## 3.2.0c1 - 2022-12-09 - -### Changed -- Updated "front" side of the Technic Hub to be consistent with - the Prime Hub. - -## 3.2.0b6 - 2022-12-02 - -### Added -- Documented ``Stop.NONE`` and ``Stop.COAST_SMART``. -- Documented ``ujson`` module. -- Added `done` and `stalled` methods for `DriveBase`. - -### Changed -- Changed `PrimeHub.display.image()` to `PrimeHub.display.icon()` and renamed - its kwarg from `image` to `icon`. -- Improved presentation and docstrings of the ``ubuiltins`` and other - MicroPython modules -- Moved the random numbers example for Move Hub to the Move Hub page. -- Moved `done()`, `stalled()`, `load()` from `Control` to `Motor` object. - -## 3.2.0b5 - 2022-11-11 - -### Fixed -- Fixed Jedi code completion for `Color` and `Icon` classes in `pybricks.parameters`. - -## 3.2.0b4 - 2022-10-21 - -### Added -- Code auto-completion for `EssentialHub`. -- Added `System.storage` method. - -### Fixed -- Fixed some type hints in `parameters` submodule. - -## 3.2.0b1-r3 - 2022-06-26 - -### Fixed -- Fixed more type hints and improved compatibility with jedi. - -## 3.2.0b1-r2 - 2022-06-24 - -### Changed -- Moved remaining type hints from `.pyi` files to the python stub modules, and - fixed numerous errors in the type hints throughout. - -## 3.2.0b1-r1 - 2022-06-09 - -### Added -- Added `__init__.py` to `pybricks` package. - -## 3.2.0b1 - 2022-06-02 - -### Added -- Code auto-completion for `hub.charger`, `hub.imu` and `hub.system`. -- Moved typing from several `.pyi` files to the actual python modules. - -### Fixed -- Fixed code completion for `DCMotor` and `Motor` classes in MS Python VS Code extension. -- Fixed missing `DCMotor` type in `ev3devices`. -- Fixed type hint for `Motor.reset_angle()` in `pupdevices`. - -### Changed -- Setter for acceleration can now also be used to set acceleration and - deceleration to different values, using a two-valued tuple. - -## 3.1.0 - 2021-12-16 - -### Added -- Added maximum voltage setter for `DCMotor` and `Motor`. -- Documented `DriveBase.curve()` method. - -### Changed -- Removed `duty` setting from `Control.limits` method. -- Removed `integral_range` setting from `Control.pid` method. - -### Fixed -- Fixed link to Color Light Matrix page. -- Fixed link to Inventor Hub page. - -## 3.1.0rc1 - 2021-11-19 - -### Added -- Added `ColorLightMatrix` class. -- Added `LWP3Device` class. - -**NOTE: version number after this point were from JavaScript package and do -not correspond to Pybricks firmware version numbers.** - -## 1.6.0 - 2021-08-30 - -### Added -- MicroPython module documentation. -- Examples for hub system functions including stop button and shutdown. - -### Changed -- Build IDE docs as main docs with minor changes, instead of a completely - separate build. -- Moved motor control documentation to the motor page. - -## 1.5.0 - 2021-07-01 - -### Added -- Documentation for Powered Up Remote Control. - -## 1.4.0 - 2021-06-23 - -### Added -- Enabled beta content that was hidden for the 3.0 release. -- Added notice about using the latest beta version. - -## 1.3.3 - 2021-05-21 - -### Changed -- Match example snippet styling to IDE. -- Add more examples. - -## 1.3.2 - 2021-04-26 - -### Changed -- Theme style fixes. -- Example code fixes -- Match doc version to firmware version. - -## 1.3.1 - 2021-04-12 - -### Changed -- Upgrade sphinx and rtd-theme to fix style issues. - -## 1.3.0 - 2021-04-12 - -### Removed -- Removed features which not be in the official 3.0 release. These features - are still in beta. They'll come back in future releases once tested. - -## 1.2.0 - 2021-04-09 - -### Changed -- Moved installation guide to external site. - -## 1.1.1 - 2021-02-14 - -### Added -- Added installation guide. -- Various documentation fixes. - -## 1.1.0 - 2021-01-28 - -### Added -- Scrollbar styling. - -## 1.0.0 - 2021-01-25 - -### Added -- Sphinx build output. +[changelog]: https://github.com/pybricks/pybricks-micropython/blob/master/CHANGELOG.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0510fc30..9f725a81 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -163,6 +163,11 @@ Linting: poetry run flake8 # check Python poetry run doc8 # check Restructured Text +Building all release artifacts (docs, jedi, npm packages): + + # Linux/macOS only + ./build-all.sh + [vscode]: https://code.visualstudio.com/ [git]: https://git-scm.com/ [python]: https://www.python.org/ diff --git a/build-all.sh b/build-all.sh new file mode 100755 index 00000000..97d99777 --- /dev/null +++ b/build-all.sh @@ -0,0 +1,42 @@ +#!/usr/bin/env bash +# Build all release artifacts locally (equivalent to CI workflows, minus publish). +set -euo pipefail + +REPO_ROOT="$(realpath "$(dirname "${BASH_SOURCE[0]}")")" + +# Activate the project venv so python/make/etc. all use it without poetry run +source "$REPO_ROOT/.venv/bin/activate" + +# Read version from pyproject.toml +VERSION=$(grep '^version = ' "$REPO_ROOT/pyproject.toml" | head -1 | sed 's/version = "\(.*\)"/\1/') +# Convert Python pre-release format (e.g. 4.0.0a1, 4.0.0b1, 4.0.0rc1) to npm semver (e.g. 4.0.0-alpha.1, 4.0.0-beta.1, 4.0.0-rc.1) +NPM_VERSION=$(echo "$VERSION" | sed 's/\([0-9]\)a\([0-9]\)/\1-alpha.\2/;s/\([0-9]\)b\([0-9]\)/\1-beta.\2/;s/\([0-9]\)rc\([0-9]\)/\1-rc.\2/') +echo "==> Building version $VERSION (npm: $NPM_VERSION)" + +# lint +echo "==> Linting" +cd "$REPO_ROOT" +flake8 +doc8 + +# pybricks-jedi tests +echo "==> Testing pybricks-jedi" +cd "$REPO_ROOT/jedi" +poetry run pytest -vv + +# @pybricks/jedi npm package +echo "==> Building @pybricks/jedi" +cd "$REPO_ROOT/jedi" +python3 build.py "$NPM_VERSION" + +# @pybricks/ide-docs npm package +echo "==> Building @pybricks/ide-docs" +cd "$REPO_ROOT" +make -C doc clean +cd "$REPO_ROOT/npm/ide-docs" +yarn build + +echo "" +echo "Build complete." +echo " jedi npm package : jedi/npm-build/" +echo " ide-docs : npm/ide-docs/html/" diff --git a/npm/jedi/README.md b/jedi/README.md similarity index 100% rename from npm/jedi/README.md rename to jedi/README.md diff --git a/npm/jedi/build.py b/jedi/build.py old mode 100755 new mode 100644 similarity index 66% rename from npm/jedi/build.py rename to jedi/build.py index df416544..d0285a13 --- a/npm/jedi/build.py +++ b/jedi/build.py @@ -1,4 +1,5 @@ #!/usr/bin/env python3 +# Builds the @pybricks/jedi npm package into npm-build/. import email.parser import json @@ -6,18 +7,27 @@ import shutil import subprocess import sys +import tomllib import zipfile -BUILD_DIR = (pathlib.Path(__file__).parent / "build").resolve() +if len(sys.argv) != 2: + print(f"Usage: {sys.argv[0]} ", file=sys.stderr) + sys.exit(1) + +VERSION = sys.argv[1] + +ROOT_DIR = pathlib.Path(__file__).parent.resolve() +REPO_ROOT_DIR = (ROOT_DIR / "..").resolve() +BUILD_DIR = ROOT_DIR / "npm-build" package_json = { "name": "@pybricks/jedi", - "version": "1.17.0", + "version": VERSION, "description": "Binary distribution of pybricks-jedi Python package and dependencies for use with Pyodide.", "repository": { "type": "git", - "url": "https://github.com/pybricks/pybricks-api", - "directory": "npm/jedi", + "url": "git+https://github.com/pybricks/pybricks-api.git", + "directory": "jedi", }, "publishConfig": {"registry": "https://registry.npmjs.org", "access": "public"}, } @@ -30,16 +40,28 @@ shutil.rmtree(BUILD_DIR, True) BUILD_DIR.mkdir() -# download package and dependencies (*.whl files) +# build pybricks api wheel from local source so pip uses it instead of fetching from PyPI +subprocess.check_call(["poetry", "build", "--format=wheel"], cwd=REPO_ROOT_DIR) + +# copy locally built pybricks wheel to build dir +for whl in (REPO_ROOT_DIR / "dist").glob("pybricks-*.whl"): + shutil.copy(whl, BUILD_DIR) + +# build pybricks-jedi wheel from local source +subprocess.check_call(["poetry", "build", "--format=wheel"], cwd=ROOT_DIR) + +# copy locally built wheel to build dir +for whl in (ROOT_DIR / "dist").glob("pybricks_jedi-*.whl"): + shutil.copy(whl, BUILD_DIR) + +# download transitive dependencies using versions pinned in poetry.lock +transitive_packages = ["jedi", "parso", "docstring-parser", "typing-extensions"] +with open(ROOT_DIR / "poetry.lock", "rb") as f: + lock = tomllib.load(f) +lock_versions = {pkg["name"]: pkg["version"] for pkg in lock["package"]} +transitive = [f"{pkg}=={lock_versions[pkg]}" for pkg in transitive_packages] subprocess.check_call( - [ - sys.executable, - "-m", - "pip", - "download", - "--only-binary=any", - "pybricks-jedi==1.17.0", - ], + [sys.executable, "-m", "pip", "download", "--only-binary=any"] + transitive, cwd=BUILD_DIR, ) @@ -79,13 +101,8 @@ def is_dist_info_license(info: zipfile.ZipInfo): license_identifiers.add(license) - # TODO: The LICENSE workaround for the pybricks-jedi package can be - # dropped after the next release of that package if whl.name.startswith("pybricks_jedi-"): - LICENSE = ( - pathlib.Path(__file__).parent.parent.parent / "jedi" / "LICENSE" - ).resolve() - with open(LICENSE) as lf: + with open(ROOT_DIR / "LICENSE") as lf: license_text[whl.name] = lf.read() else: try: @@ -126,7 +143,4 @@ def is_dist_info_license(info: zipfile.ZipInfo): # copy additional files -ROOT_DIR = (pathlib.Path(__file__).parent).resolve() - -for file in "README.md", "CHANGELOG.md": - shutil.copy(ROOT_DIR / file, BUILD_DIR / file) +shutil.copy(ROOT_DIR / "README.md", BUILD_DIR / "README.md") diff --git a/jedi/poetry.lock b/jedi/poetry.lock index 1359fc49..71af212d 100644 --- a/jedi/poetry.lock +++ b/jedi/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. +# This file is automatically @generated by Poetry 2.2.1 and should not be changed by hand. [[package]] name = "black" @@ -6,6 +6,7 @@ version = "22.12.0" description = "The uncompromising code formatter." optional = false python-versions = ">=3.7" +groups = ["dev"] files = [ {file = "black-22.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9eedd20838bd5d75b80c9f5487dbcb06836a43833a37846cf1d8c1cc01cef59d"}, {file = "black-22.12.0-cp310-cp310-win_amd64.whl", hash = "sha256:159a46a4947f73387b4d83e87ea006dbb2337eab6c879620a3ba52699b1f4351"}, @@ -40,6 +41,7 @@ version = "8.1.8" description = "Composable command line interface toolkit" optional = false python-versions = ">=3.7" +groups = ["dev"] files = [ {file = "click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2"}, {file = "click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a"}, @@ -54,6 +56,8 @@ version = "0.4.6" description = "Cross-platform colored terminal text." optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" +groups = ["dev"] +markers = "sys_platform == \"win32\" or platform_system == \"Windows\"" files = [ {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, @@ -65,6 +69,7 @@ version = "0.14.1" description = "Parse Python docstrings in reST, Google and Numpydoc format" optional = false python-versions = ">=3.6,<4.0" +groups = ["main"] files = [ {file = "docstring_parser-0.14.1-py3-none-any.whl", hash = "sha256:14ac6ec1f1ba6905c4d8cb90fd0bc55394f5678183752c90e44812bf28d7a515"}, {file = "docstring_parser-0.14.1.tar.gz", hash = "sha256:2c77522e31b7c88b1ab457a1f3c9ae38947ad719732260ba77ee8a3deb58622a"}, @@ -76,6 +81,8 @@ version = "1.2.2" description = "Backport of PEP 654 (exception groups)" optional = false python-versions = ">=3.7" +groups = ["dev"] +markers = "python_version == \"3.10\"" files = [ {file = "exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b"}, {file = "exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc"}, @@ -90,6 +97,7 @@ version = "4.0.1" description = "the modular source code checker: pep8 pyflakes and co" optional = false python-versions = ">=3.6" +groups = ["dev"] files = [ {file = "flake8-4.0.1-py2.py3-none-any.whl", hash = "sha256:479b1304f72536a55948cb40a32dce8bb0ffe3501e26eaf292c7e60eb5e0428d"}, {file = "flake8-4.0.1.tar.gz", hash = "sha256:806e034dda44114815e23c16ef92f95c91e4c71100ff52813adf7132a6ad870d"}, @@ -106,6 +114,7 @@ version = "2.0.0" description = "brain-dead simple config-ini parsing" optional = false python-versions = ">=3.7" +groups = ["dev"] files = [ {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, @@ -117,6 +126,7 @@ version = "0.18.1" description = "An autocompletion tool for Python that can be used for text editors." optional = false python-versions = ">=3.6" +groups = ["main"] files = [ {file = "jedi-0.18.1-py2.py3-none-any.whl", hash = "sha256:637c9635fcf47945ceb91cd7f320234a7be540ded6f3e99a50cb6febdfd1ba8d"}, {file = "jedi-0.18.1.tar.gz", hash = "sha256:74137626a64a99c8eb6ae5832d99b3bdd7d29a3850fe2aa80a4126b2a7d949ab"}, @@ -135,6 +145,7 @@ version = "0.6.1" description = "McCabe checker, plugin for flake8" optional = false python-versions = "*" +groups = ["dev"] files = [ {file = "mccabe-0.6.1-py2.py3-none-any.whl", hash = "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42"}, {file = "mccabe-0.6.1.tar.gz", hash = "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"}, @@ -146,6 +157,7 @@ version = "1.0.0" description = "Type system extensions for programs checked with the mypy type checker." optional = false python-versions = ">=3.5" +groups = ["dev"] files = [ {file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"}, {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, @@ -157,6 +169,7 @@ version = "24.2" description = "Core utilities for Python packages" optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759"}, {file = "packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f"}, @@ -168,6 +181,7 @@ version = "0.8.4" description = "A Python Parser" optional = false python-versions = ">=3.6" +groups = ["main"] files = [ {file = "parso-0.8.4-py2.py3-none-any.whl", hash = "sha256:a418670a20291dacd2dddc80c377c5c3791378ee1e8d12bffc35420643d43f18"}, {file = "parso-0.8.4.tar.gz", hash = "sha256:eb3a7b58240fb99099a345571deecc0f9540ea5f4dd2fe14c2a99d6b281ab92d"}, @@ -183,6 +197,7 @@ version = "0.12.1" description = "Utility library for gitignore style pattern matching of file paths." optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08"}, {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"}, @@ -194,6 +209,7 @@ version = "4.3.6" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb"}, {file = "platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907"}, @@ -210,6 +226,7 @@ version = "1.5.0" description = "plugin and hook calling mechanisms for python" optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"}, {file = "pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1"}, @@ -221,10 +238,11 @@ testing = ["pytest", "pytest-benchmark"] [[package]] name = "pybricks" -version = "3.6.0b5" +version = "4.0.0b10" description = "Documentation and user-API stubs for Pybricks MicroPython" optional = false python-versions = "^3.8" +groups = ["main", "dev"] files = [] develop = true @@ -238,6 +256,7 @@ version = "2.8.0" description = "Python style guide checker" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +groups = ["dev"] files = [ {file = "pycodestyle-2.8.0-py2.py3-none-any.whl", hash = "sha256:720f8b39dde8b293825e7ff02c475f3077124006db4f440dcbc9a20b76548a20"}, {file = "pycodestyle-2.8.0.tar.gz", hash = "sha256:eddd5847ef438ea1c7870ca7eb78a9d47ce0cdb4851a5523949f2601d0cbbe7f"}, @@ -249,6 +268,7 @@ version = "2.4.0" description = "passive checker of Python programs" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +groups = ["dev"] files = [ {file = "pyflakes-2.4.0-py2.py3-none-any.whl", hash = "sha256:3bb3a3f256f4b7968c9c788781e4ff07dce46bdf12339dcda61053375426ee2e"}, {file = "pyflakes-2.4.0.tar.gz", hash = "sha256:05a85c2872edf37a4ed30b0cce2f6093e1d0581f8c19d7393122da7e25b2b24c"}, @@ -260,6 +280,7 @@ version = "7.4.4" description = "pytest: simple powerful testing with Python" optional = false python-versions = ">=3.7" +groups = ["dev"] files = [ {file = "pytest-7.4.4-py3-none-any.whl", hash = "sha256:b090cdf5ed60bf4c45261be03239c2c1c22df034fbffe691abe93cd80cea01d8"}, {file = "pytest-7.4.4.tar.gz", hash = "sha256:2cf0005922c6ace4a3e2ec8b4080eb0d9753fdc93107415332f50ce9e7994280"}, @@ -282,6 +303,8 @@ version = "2.2.1" description = "A lil' TOML parser" optional = false python-versions = ">=3.8" +groups = ["dev"] +markers = "python_full_version < \"3.11.0a7\"" files = [ {file = "tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249"}, {file = "tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6"}, @@ -323,12 +346,13 @@ version = "4.2.0" description = "Backported and Experimental Type Hints for Python 3.7+" optional = false python-versions = ">=3.7" +groups = ["main"] files = [ {file = "typing_extensions-4.2.0-py3-none-any.whl", hash = "sha256:6657594ee297170d19f67d55c05852a874e7eb634f4f753dbd667855e07c1708"}, {file = "typing_extensions-4.2.0.tar.gz", hash = "sha256:f1c24655a0da0d1b67f07e17a5e6b2a105894e6824b92096378bb3668ef02376"}, ] [metadata] -lock-version = "2.0" +lock-version = "2.1" python-versions = ">= 3.10, < 3.12" -content-hash = "0a796ac6867c41e8cf0ce289beca1cebb4066b622c2c538c11589413dcb579af" +content-hash = "6efcdeb3ce02cdd64b69d4d58466e0c7241681aa7f71432bf1a1d53764f305c0" diff --git a/jedi/pyproject.toml b/jedi/pyproject.toml index 6e2996ae..6a82502d 100644 --- a/jedi/pyproject.toml +++ b/jedi/pyproject.toml @@ -1,18 +1,20 @@ [tool.poetry] name = "pybricks_jedi" -version = "1.17.0" +# Version is set automatically at build time from the root pyproject.toml. Do not edit. +version = "0.0.0" description = "Code completion for Pybricks." authors = ["The Pybricks Authors "] license = "MIT" [tool.poetry.dependencies] python = ">= 3.10, < 3.12" -pybricks = "3.6.0b5" +# Version is set automatically at build time from the root pyproject.toml. Do not edit. +pybricks = "*" jedi = "0.18.1" typing-extensions = "4.2.0" docstring-parser = "0.14.1" -[tool.poetry.dev-dependencies] +[tool.poetry.group.dev.dependencies] pytest = "^7.1.2" black = "^22.3.0" flake8 = "^4.0.1" diff --git a/npm/ide-docs/.yarnrc b/npm/ide-docs/.yarnrc deleted file mode 100644 index 56a249f4..00000000 --- a/npm/ide-docs/.yarnrc +++ /dev/null @@ -1,2 +0,0 @@ -version-tag-prefix "@pybricks/ide-docs/v" -version-git-message "@pybricks/ide-docs v%s" diff --git a/npm/ide-docs/CHANGELOG.md b/npm/ide-docs/CHANGELOG.md deleted file mode 100644 index 35f4f112..00000000 --- a/npm/ide-docs/CHANGELOG.md +++ /dev/null @@ -1,114 +0,0 @@ -# Changelog - - - -## 2.20.0 - 2024-02-26 - -### Changed -- Updated docs to v3.6.0b5. - -## 2.19.0 - 2024-04-11 - -### Changed -- Updated docs to v3.5.0. - -## 2.18.0 - 2024-04-05 - -### Changed -- Updated docs to v3.5.0b2. - -## 2.17.0 - 2024-03-21 - -### Changed -- Updated docs to v3.5.0b1. - -## 2.16.0 - 2024-03-11 - -### Changed -- Updated docs to v3.4.0. - -## 2.15.0 - 2024-03-05 - -### Changed -- Updated docs to v3.4.0b5. - -## 2.14.0 - 2024-01-30 - -### Changed -- Updated docs to v3.4.0b3. - -## 2.13.0 - 2023-11-24 - -### Changed -- Updated docs to v3.4.0b1. - -## 2.12.0 - 2023-11-24 - -### Changed -- Updated docs to v3.3.0. - -## 2.11.0 - 2023-11-20 - -### Changed -- Updated docs to v3.3.0c1. - -## 2.10.0 - 2023-10-26 - -### Changed -- Updated docs to v3.3.0b9. - -## 2.9.0 - 2023-05-16 - -### Changed -- Updated docs to v3.3.0b5. - -## 2.8.0 - 2023-04-21 - -### Changed -- Updated docs to v3.3.0b4. - -## 2.7.0 - 2022-12-20 - -### Changed -- Updated docs to v3.2.0c2. - -## 2.6.0 - 2022-12-09 - -### Changed -- Updated docs to v3.2.0c1. - -## 2.5.0 - 2022-12-02 - -### Changed -- Updated docs to v3.2.0b6. - -## 2.4.0 - 2022-11-11 - -### Changed -- Updated docs to v3.2.0b5. - -## 2.3.0 - 2022-10-21 - -### Changed -- Updated docs to v3.2.0b4. - -## 2.2.0 - 2022-06-02 - -### Changed -- Updated docs to v3.2.0b1. - -## 2.1.0 - 2021-12-16 - -### Changed -- Updated docs to v3.1.0. - -## 2.0.1 - 2021-11-19 - -### Fixed -- Fixed link to Color Light Matrix page. - -## 2.0.0 - 2021-11-19 - -### Changed -- Changed package directory structure. -- Updated docs to v3.1.0rc1. diff --git a/npm/ide-docs/package.json b/npm/ide-docs/package.json index 63f4d06b..f5881a4d 100644 --- a/npm/ide-docs/package.json +++ b/npm/ide-docs/package.json @@ -1,10 +1,10 @@ { "name": "@pybricks/ide-docs", - "version": "2.20.0", + "version": "0.0.0", "description": "Special build of Pybricks API docs for embedding in an IDE.", "repository": { "type": "git", - "url": "https://github.com/pybricks/pybricks-api", + "url": "git+https://github.com/pybricks/pybricks-api.git", "directory": "npm/ide-docs" }, "publishConfig": { diff --git a/npm/images/build.py b/npm/images/build.py index ea6d9f4e..838ffaf1 100755 --- a/npm/images/build.py +++ b/npm/images/build.py @@ -18,7 +18,7 @@ "license": "MIT", "repository": { "type": "git", - "url": "https://github.com/pybricks/pybricks-api", + "url": "git+https://github.com/pybricks/pybricks-api.git", "directory": "npm/images", }, "publishConfig": {"registry": "https://registry.npmjs.org", "access": "public"}, diff --git a/npm/jedi/.yarnrc b/npm/jedi/.yarnrc deleted file mode 100644 index 4b6d0e16..00000000 --- a/npm/jedi/.yarnrc +++ /dev/null @@ -1,2 +0,0 @@ -version-tag-prefix "@pybricks/jedi/v" -version-git-message "@pybricks/jedi v%s" diff --git a/npm/jedi/CHANGELOG.md b/npm/jedi/CHANGELOG.md deleted file mode 100644 index 555c4032..00000000 --- a/npm/jedi/CHANGELOG.md +++ /dev/null @@ -1,99 +0,0 @@ -# Changelog - - - -## Unreleased - -## 1.17.0 - 2025-02-26 - -### Changed -- Updated `pybricks_jedi` Python package to v1.17.0. - -## 1.16.0 - 2024-04-05 - -### Changed -- Updated `pybricks_jedi` Python package to v1.16.0. - -## 1.15.0 - 2024-03-21 - -### Changed -- Updated `pybricks_jedi` Python package to v1.15.0. - -## 1.14.0 - 2024-03-05 - -### Changed -- Updated `pybricks_jedi` Python package to v1.14.0. - -## 1.13.0 - 2024-01-30 - -### Changed -- Updated `pybricks_jedi` Python package to v1.13.0. - -### Changed -- Updated `pybricks_jedi` Python package to v1.12.0. - -## 1.12.0 - 2023-11-24 - -### Changed -- Updated `pybricks_jedi` Python package to v1.12.0. - -## 1.11.0 - 2023-11-20 - -### Changed -- Updated `pybricks_jedi` Python package to v1.11.0. - -## 1.10.0 - 2023-10-26 - -### Changed -- Updated `pybricks_jedi` Python package to v1.10.0. - -## 1.9.0 - 2023-05-16 - -### Changed -- Updated `pybricks_jedi` Python package to v1.9.0. - -## 1.8.0 - 2023-04-21 - -### Changed -- Updated `pybricks_jedi` Python package to v1.8.0. - -## 1.7.0 - 2022-12-28 - -### Changed -- Updated `pybricks_jedi` Python package to v1.7.0. - -## 1.6.0 - 2022-12-09 - -### Changed -- Updated `pybricks_jedi` Python package to v1.6.0. - -## 1.5.0 - 2022-12-02 - -### Changed -- Updated `pybricks_jedi` Python package to v1.5.0. - -## 1.4.0 - 2022-12-02 - -### Changed -- Updated `pybricks_jedi` Python package to v1.4.0. - -## 1.3.0 - 2022-11-11 - -### Changed -- Updated `pybricks_jedi` Python package to v1.3.0. - -## 1.2.0 - 2022-10-21 - -### Changed -- Updated `pybricks_jedi` Python package to v1.2.0. - -## 1.0.1 - 2022-09-07 - -### Fixed -- Fixed exports. -- Fixed missing README and CHANGELOG. - -## 1.0.0 - 2022-09-07 - -### Added -- Added new @pybricks/jedi package. diff --git a/poetry.lock b/poetry.lock index ba59682c..cc1be335 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,12 +1,12 @@ -# This file is automatically @generated by Poetry and should not be changed by hand. +# This file is automatically @generated by Poetry 2.2.1 and should not be changed by hand. [[package]] name = "alabaster" version = "0.7.13" description = "A configurable sidebar-enabled Sphinx theme" -category = "dev" optional = false python-versions = ">=3.6" +groups = ["doc"] files = [ {file = "alabaster-0.7.13-py3-none-any.whl", hash = "sha256:1ee19aca801bbabb5ba3f5f258e4422dfa86f82f3e9cefb0859b283cdd7f62a3"}, {file = "alabaster-0.7.13.tar.gz", hash = "sha256:a27a4a084d5e690e16e01e03ad2b2e552c61a65469419b907243193de1a84ae2"}, @@ -16,9 +16,9 @@ files = [ name = "babel" version = "2.13.0" description = "Internationalization utilities" -category = "dev" optional = false python-versions = ">=3.7" +groups = ["doc"] files = [ {file = "Babel-2.13.0-py3-none-any.whl", hash = "sha256:fbfcae1575ff78e26c7449136f1abbefc3c13ce542eeb13d43d50d8b047216ec"}, {file = "Babel-2.13.0.tar.gz", hash = "sha256:04c3e2d28d2b7681644508f836be388ae49e0cfe91465095340395b60d00f210"}, @@ -34,9 +34,9 @@ dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] name = "black" version = "22.12.0" description = "The uncompromising code formatter." -category = "dev" optional = false python-versions = ">=3.7" +groups = ["lint"] files = [ {file = "black-22.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9eedd20838bd5d75b80c9f5487dbcb06836a43833a37846cf1d8c1cc01cef59d"}, {file = "black-22.12.0-cp310-cp310-win_amd64.whl", hash = "sha256:159a46a4947f73387b4d83e87ea006dbb2337eab6c879620a3ba52699b1f4351"}, @@ -70,9 +70,9 @@ uvloop = ["uvloop (>=0.15.2)"] name = "certifi" version = "2023.7.22" description = "Python package for providing Mozilla's CA Bundle." -category = "dev" optional = false python-versions = ">=3.6" +groups = ["doc"] files = [ {file = "certifi-2023.7.22-py3-none-any.whl", hash = "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"}, {file = "certifi-2023.7.22.tar.gz", hash = "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082"}, @@ -82,9 +82,9 @@ files = [ name = "chardet" version = "5.2.0" description = "Universal encoding detector for Python 3" -category = "dev" optional = false python-versions = ">=3.7" +groups = ["lint"] files = [ {file = "chardet-5.2.0-py3-none-any.whl", hash = "sha256:e1cf59446890a00105fe7b7912492ea04b6e6f06d4b742b2c788469e34c82970"}, {file = "chardet-5.2.0.tar.gz", hash = "sha256:1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7"}, @@ -94,9 +94,9 @@ files = [ name = "charset-normalizer" version = "3.3.1" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." -category = "dev" optional = false python-versions = ">=3.7.0" +groups = ["doc"] files = [ {file = "charset-normalizer-3.3.1.tar.gz", hash = "sha256:d9137a876020661972ca6eec0766d81aef8a5627df628b664b234b73396e727e"}, {file = "charset_normalizer-3.3.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8aee051c89e13565c6bd366813c386939f8e928af93c29fda4af86d25b73d8f8"}, @@ -194,9 +194,9 @@ files = [ name = "click" version = "8.1.7" description = "Composable command line interface toolkit" -category = "dev" optional = false python-versions = ">=3.7" +groups = ["lint"] files = [ {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, @@ -209,21 +209,22 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""} name = "colorama" version = "0.4.6" description = "Cross-platform colored terminal text." -category = "dev" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" +groups = ["doc", "lint"] files = [ {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, ] +markers = {doc = "sys_platform == \"win32\"", lint = "platform_system == \"Windows\""} [[package]] name = "doc8" version = "0.8.1" description = "Style checker for Sphinx (or other) RST documentation" -category = "dev" optional = false python-versions = "*" +groups = ["lint"] files = [ {file = "doc8-0.8.1-py2.py3-none-any.whl", hash = "sha256:4d58a5c8c56cedd2b2c9d6e3153be5d956cf72f6051128f0f2255c66227df721"}, {file = "doc8-0.8.1.tar.gz", hash = "sha256:4d1df12598807cf08ffa9a1d5ef42d229ee0de42519da01b768ff27211082c12"}, @@ -241,9 +242,9 @@ stevedore = "*" name = "docutils" version = "0.18.1" description = "Docutils -- Python Documentation Utilities" -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +groups = ["doc", "lint"] files = [ {file = "docutils-0.18.1-py2.py3-none-any.whl", hash = "sha256:23010f129180089fbcd3bc08cfefccb3b890b0050e1ca00c867036e9d161b98c"}, {file = "docutils-0.18.1.tar.gz", hash = "sha256:679987caf361a7539d76e584cbeddc311e3aee937877c87346f31debc63e9d06"}, @@ -253,9 +254,9 @@ files = [ name = "flake8" version = "4.0.1" description = "the modular source code checker: pep8 pyflakes and co" -category = "dev" optional = false python-versions = ">=3.6" +groups = ["lint"] files = [ {file = "flake8-4.0.1-py2.py3-none-any.whl", hash = "sha256:479b1304f72536a55948cb40a32dce8bb0ffe3501e26eaf292c7e60eb5e0428d"}, {file = "flake8-4.0.1.tar.gz", hash = "sha256:806e034dda44114815e23c16ef92f95c91e4c71100ff52813adf7132a6ad870d"}, @@ -270,9 +271,9 @@ pyflakes = ">=2.4.0,<2.5.0" name = "idna" version = "3.4" description = "Internationalized Domain Names in Applications (IDNA)" -category = "dev" optional = false python-versions = ">=3.5" +groups = ["doc"] files = [ {file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"}, {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"}, @@ -282,9 +283,9 @@ files = [ name = "imagesize" version = "1.4.1" description = "Getting image size from png/jpeg/jpeg2000/gif file" -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +groups = ["doc"] files = [ {file = "imagesize-1.4.1-py2.py3-none-any.whl", hash = "sha256:0d8d18d08f840c19d0ee7ca1fd82490fdc3729b7ac93f49870406ddde8ef8d8b"}, {file = "imagesize-1.4.1.tar.gz", hash = "sha256:69150444affb9cb0d5cc5a92b3676f0b2fb7cd9ae39e947a5e11a36b4497cd4a"}, @@ -294,9 +295,10 @@ files = [ name = "importlib-metadata" version = "6.8.0" description = "Read metadata from Python packages" -category = "dev" optional = false python-versions = ">=3.8" +groups = ["doc"] +markers = "python_version < \"3.10\"" files = [ {file = "importlib_metadata-6.8.0-py3-none-any.whl", hash = "sha256:3ebb78df84a805d7698245025b975d9d67053cd94c79245ba4b3eb694abe68bb"}, {file = "importlib_metadata-6.8.0.tar.gz", hash = "sha256:dbace7892d8c0c4ac1ad096662232f831d4e64f4c4545bd53016a3e9d4654743"}, @@ -308,15 +310,15 @@ zipp = ">=0.5" [package.extras] docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] perf = ["ipython"] -testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)", "pytest-ruff"] +testing = ["flufl.flake8", "importlib-resources (>=1.3) ; python_version < \"3.9\"", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7) ; platform_python_implementation != \"PyPy\"", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1) ; platform_python_implementation != \"PyPy\"", "pytest-perf (>=0.9.2)", "pytest-ruff"] [[package]] name = "jinja2" version = "3.1.2" description = "A very fast and expressive template engine." -category = "dev" optional = false python-versions = ">=3.7" +groups = ["doc"] files = [ {file = "Jinja2-3.1.2-py3-none-any.whl", hash = "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"}, {file = "Jinja2-3.1.2.tar.gz", hash = "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"}, @@ -332,9 +334,9 @@ i18n = ["Babel (>=2.7)"] name = "markupsafe" version = "2.1.3" description = "Safely add untrusted strings to HTML/XML markup." -category = "dev" optional = false python-versions = ">=3.7" +groups = ["doc"] files = [ {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cd0f502fe016460680cd20aaa5a76d241d6f35a1c3350c474bac1273803893fa"}, {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e09031c87a1e51556fdcb46e5bd4f59dfb743061cf93c4d6831bf894f125eb57"}, @@ -356,6 +358,16 @@ files = [ {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac"}, {file = "MarkupSafe-2.1.3-cp311-cp311-win32.whl", hash = "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb"}, {file = "MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f698de3fd0c4e6972b92290a45bd9b1536bffe8c6759c62471efaa8acb4c37bc"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:aa57bd9cf8ae831a362185ee444e15a93ecb2e344c8e52e4d721ea3ab6ef1823"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffcc3f7c66b5f5b7931a5aa68fc9cecc51e685ef90282f4a82f0f5e9b704ad11"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47d4f1c5f80fc62fdd7777d0d40a2e9dda0a05883ab11374334f6c4de38adffd"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1f67c7038d560d92149c060157d623c542173016c4babc0c1913cca0564b9939"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9aad3c1755095ce347e26488214ef77e0485a3c34a50c5a5e2471dff60b9dd9c"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:14ff806850827afd6b07a5f32bd917fb7f45b046ba40c57abdb636674a8b559c"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8f9293864fe09b8149f0cc42ce56e3f0e54de883a9de90cd427f191c346eb2e1"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-win32.whl", hash = "sha256:715d3562f79d540f251b99ebd6d8baa547118974341db04f5ad06d5ea3eb8007"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-win_amd64.whl", hash = "sha256:1b8dd8c3fd14349433c79fa8abeb573a55fc0fdd769133baac1f5e07abf54aeb"}, {file = "MarkupSafe-2.1.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2"}, {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b"}, {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707"}, @@ -392,9 +404,9 @@ files = [ name = "mccabe" version = "0.6.1" description = "McCabe checker, plugin for flake8" -category = "dev" optional = false python-versions = "*" +groups = ["lint"] files = [ {file = "mccabe-0.6.1-py2.py3-none-any.whl", hash = "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42"}, {file = "mccabe-0.6.1.tar.gz", hash = "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"}, @@ -404,9 +416,9 @@ files = [ name = "mypy-extensions" version = "1.0.0" description = "Type system extensions for programs checked with the mypy type checker." -category = "dev" optional = false python-versions = ">=3.5" +groups = ["lint"] files = [ {file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"}, {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, @@ -416,9 +428,9 @@ files = [ name = "packaging" version = "23.2" description = "Core utilities for Python packages" -category = "dev" optional = false python-versions = ">=3.7" +groups = ["doc"] files = [ {file = "packaging-23.2-py3-none-any.whl", hash = "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"}, {file = "packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5"}, @@ -428,9 +440,9 @@ files = [ name = "pathspec" version = "0.11.2" description = "Utility library for gitignore style pattern matching of file paths." -category = "dev" optional = false python-versions = ">=3.7" +groups = ["lint"] files = [ {file = "pathspec-0.11.2-py3-none-any.whl", hash = "sha256:1d6ed233af05e679efb96b1851550ea95bbb64b7c490b0f5aa52996c11e92a20"}, {file = "pathspec-0.11.2.tar.gz", hash = "sha256:e0d8d0ac2f12da61956eb2306b69f9469b42f4deb0f3cb6ed47b9cce9996ced3"}, @@ -440,9 +452,9 @@ files = [ name = "pbr" version = "5.11.1" description = "Python Build Reasonableness" -category = "dev" optional = false python-versions = ">=2.6" +groups = ["lint"] files = [ {file = "pbr-5.11.1-py2.py3-none-any.whl", hash = "sha256:567f09558bae2b3ab53cb3c1e2e33e726ff3338e7bae3db5dc954b3a44eef12b"}, {file = "pbr-5.11.1.tar.gz", hash = "sha256:aefc51675b0b533d56bb5fd1c8c6c0522fe31896679882e1c4c63d5e4a0fccb3"}, @@ -452,9 +464,9 @@ files = [ name = "platformdirs" version = "3.11.0" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." -category = "dev" optional = false python-versions = ">=3.7" +groups = ["lint"] files = [ {file = "platformdirs-3.11.0-py3-none-any.whl", hash = "sha256:e9d171d00af68be50e9202731309c4e658fd8bc76f55c11c7dd760d023bda68e"}, {file = "platformdirs-3.11.0.tar.gz", hash = "sha256:cf8ee52a3afdb965072dcc652433e0c7e3e40cf5ea1477cd4b3b1d2eb75495b3"}, @@ -468,9 +480,9 @@ test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4)", "pytest-co name = "pycodestyle" version = "2.8.0" description = "Python style guide checker" -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +groups = ["lint"] files = [ {file = "pycodestyle-2.8.0-py2.py3-none-any.whl", hash = "sha256:720f8b39dde8b293825e7ff02c475f3077124006db4f440dcbc9a20b76548a20"}, {file = "pycodestyle-2.8.0.tar.gz", hash = "sha256:eddd5847ef438ea1c7870ca7eb78a9d47ce0cdb4851a5523949f2601d0cbbe7f"}, @@ -480,9 +492,9 @@ files = [ name = "pyflakes" version = "2.4.0" description = "passive checker of Python programs" -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +groups = ["lint"] files = [ {file = "pyflakes-2.4.0-py2.py3-none-any.whl", hash = "sha256:3bb3a3f256f4b7968c9c788781e4ff07dce46bdf12339dcda61053375426ee2e"}, {file = "pyflakes-2.4.0.tar.gz", hash = "sha256:05a85c2872edf37a4ed30b0cce2f6093e1d0581f8c19d7393122da7e25b2b24c"}, @@ -492,24 +504,25 @@ files = [ name = "pygments" version = "2.16.1" description = "Pygments is a syntax highlighting package written in Python." -category = "dev" optional = false python-versions = ">=3.7" +groups = ["doc", "lint"] files = [ {file = "Pygments-2.16.1-py3-none-any.whl", hash = "sha256:13fc09fa63bc8d8671a6d247e1eb303c4b343eaee81d861f3404db2935653692"}, {file = "Pygments-2.16.1.tar.gz", hash = "sha256:1daff0494820c69bc8941e407aa20f577374ee88364ee10a98fdbe0aece96e29"}, ] [package.extras] -plugins = ["importlib-metadata"] +plugins = ["importlib-metadata ; python_version < \"3.8\""] [[package]] name = "pytz" version = "2023.3.post1" description = "World timezone definitions, modern and historical" -category = "dev" optional = false python-versions = "*" +groups = ["doc"] +markers = "python_version == \"3.8\"" files = [ {file = "pytz-2023.3.post1-py2.py3-none-any.whl", hash = "sha256:ce42d816b81b68506614c11e8937d3aa9e41007ceb50bfdcb0749b921bf646c7"}, {file = "pytz-2023.3.post1.tar.gz", hash = "sha256:7b4fddbeb94a1eba4b557da24f19fdf9db575192544270a9101d8509f9f43d7b"}, @@ -519,9 +532,9 @@ files = [ name = "requests" version = "2.31.0" description = "Python HTTP for Humans." -category = "dev" optional = false python-versions = ">=3.7" +groups = ["doc"] files = [ {file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"}, {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"}, @@ -541,9 +554,9 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] name = "restructuredtext-lint" version = "1.4.0" description = "reStructuredText linter" -category = "dev" optional = false python-versions = "*" +groups = ["lint"] files = [ {file = "restructuredtext_lint-1.4.0.tar.gz", hash = "sha256:1b235c0c922341ab6c530390892eb9e92f90b9b75046063e047cacfb0f050c45"}, ] @@ -555,9 +568,9 @@ docutils = ">=0.11,<1.0" name = "six" version = "1.16.0" description = "Python 2 and 3 compatibility utilities" -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" +groups = ["lint"] files = [ {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, @@ -567,9 +580,9 @@ files = [ name = "snowballstemmer" version = "2.2.0" description = "This package provides 29 stemmers for 28 languages generated from Snowball algorithms." -category = "dev" optional = false python-versions = "*" +groups = ["doc"] files = [ {file = "snowballstemmer-2.2.0-py2.py3-none-any.whl", hash = "sha256:c8e1716e83cc398ae16824e5572ae04e0d9fc2c6b985fb0f900f5f0c96ecba1a"}, {file = "snowballstemmer-2.2.0.tar.gz", hash = "sha256:09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1"}, @@ -579,9 +592,9 @@ files = [ name = "Sphinx" version = "5.1.0.dev20231023" description = "Python documentation generator" -category = "dev" optional = false python-versions = ">=3.6" +groups = ["doc"] files = [] develop = false @@ -619,9 +632,9 @@ resolved_reference = "cd277d098ea2df9c79f0a4cbce28a426ec4120bc" name = "sphinx-rtd-theme" version = "1.3.0" description = "Read the Docs theme for Sphinx" -category = "dev" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" +groups = ["doc"] files = [ {file = "sphinx_rtd_theme-1.3.0-py2.py3-none-any.whl", hash = "sha256:46ddef89cc2416a81ecfbeaceab1881948c014b1b6e4450b815311a89fb977b0"}, {file = "sphinx_rtd_theme-1.3.0.tar.gz", hash = "sha256:590b030c7abb9cf038ec053b95e5380b5c70d61591eb0b552063fbe7c41f0931"}, @@ -639,9 +652,9 @@ dev = ["bump2version", "sphinxcontrib-httpdomain", "transifex-client", "wheel"] name = "sphinxcontrib-applehelp" version = "1.0.4" description = "sphinxcontrib-applehelp is a Sphinx extension which outputs Apple help books" -category = "dev" optional = false python-versions = ">=3.8" +groups = ["doc"] files = [ {file = "sphinxcontrib-applehelp-1.0.4.tar.gz", hash = "sha256:828f867945bbe39817c210a1abfd1bc4895c8b73fcaade56d45357a348a07d7e"}, {file = "sphinxcontrib_applehelp-1.0.4-py3-none-any.whl", hash = "sha256:29d341f67fb0f6f586b23ad80e072c8e6ad0b48417db2bde114a4c9746feb228"}, @@ -655,9 +668,9 @@ test = ["pytest"] name = "sphinxcontrib-devhelp" version = "1.0.2" description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp document." -category = "dev" optional = false python-versions = ">=3.5" +groups = ["doc"] files = [ {file = "sphinxcontrib-devhelp-1.0.2.tar.gz", hash = "sha256:ff7f1afa7b9642e7060379360a67e9c41e8f3121f2ce9164266f61b9f4b338e4"}, {file = "sphinxcontrib_devhelp-1.0.2-py2.py3-none-any.whl", hash = "sha256:8165223f9a335cc1af7ffe1ed31d2871f325254c0423bc0c4c7cd1c1e4734a2e"}, @@ -671,9 +684,9 @@ test = ["pytest"] name = "sphinxcontrib-htmlhelp" version = "2.0.1" description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files" -category = "dev" optional = false python-versions = ">=3.8" +groups = ["doc"] files = [ {file = "sphinxcontrib-htmlhelp-2.0.1.tar.gz", hash = "sha256:0cbdd302815330058422b98a113195c9249825d681e18f11e8b1f78a2f11efff"}, {file = "sphinxcontrib_htmlhelp-2.0.1-py3-none-any.whl", hash = "sha256:c38cb46dccf316c79de6e5515e1770414b797162b23cd3d06e67020e1d2a6903"}, @@ -687,9 +700,9 @@ test = ["html5lib", "pytest"] name = "sphinxcontrib-jquery" version = "4.1" description = "Extension to include jQuery on newer Sphinx releases" -category = "dev" optional = false python-versions = ">=2.7" +groups = ["doc"] files = [ {file = "sphinxcontrib-jquery-4.1.tar.gz", hash = "sha256:1620739f04e36a2c779f1a131a2dfd49b2fd07351bf1968ced074365933abc7a"}, {file = "sphinxcontrib_jquery-4.1-py2.py3-none-any.whl", hash = "sha256:f936030d7d0147dd026a4f2b5a57343d233f1fc7b363f68b3d4f1cb0993878ae"}, @@ -702,9 +715,9 @@ Sphinx = ">=1.8" name = "sphinxcontrib-jsmath" version = "1.0.1" description = "A sphinx extension which renders display math in HTML via JavaScript" -category = "dev" optional = false python-versions = ">=3.5" +groups = ["doc"] files = [ {file = "sphinxcontrib-jsmath-1.0.1.tar.gz", hash = "sha256:a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8"}, {file = "sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl", hash = "sha256:2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178"}, @@ -717,9 +730,9 @@ test = ["flake8", "mypy", "pytest"] name = "sphinxcontrib-qthelp" version = "1.0.3" description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp document." -category = "dev" optional = false python-versions = ">=3.5" +groups = ["doc"] files = [ {file = "sphinxcontrib-qthelp-1.0.3.tar.gz", hash = "sha256:4c33767ee058b70dba89a6fc5c1892c0d57a54be67ddd3e7875a18d14cba5a72"}, {file = "sphinxcontrib_qthelp-1.0.3-py2.py3-none-any.whl", hash = "sha256:bd9fc24bcb748a8d51fd4ecaade681350aa63009a347a8c14e637895444dfab6"}, @@ -733,9 +746,9 @@ test = ["pytest"] name = "sphinxcontrib-serializinghtml" version = "1.1.5" description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)." -category = "dev" optional = false python-versions = ">=3.5" +groups = ["doc"] files = [ {file = "sphinxcontrib-serializinghtml-1.1.5.tar.gz", hash = "sha256:aa5f6de5dfdf809ef505c4895e51ef5c9eac17d0f287933eb49ec495280b6952"}, {file = "sphinxcontrib_serializinghtml-1.1.5-py2.py3-none-any.whl", hash = "sha256:352a9a00ae864471d3a7ead8d7d79f5fc0b57e8b3f95e9867eb9eb28999b92fd"}, @@ -749,9 +762,9 @@ test = ["pytest"] name = "stevedore" version = "5.1.0" description = "Manage dynamic plugins for Python applications" -category = "dev" optional = false python-versions = ">=3.8" +groups = ["lint"] files = [ {file = "stevedore-5.1.0-py3-none-any.whl", hash = "sha256:8cc040628f3cea5d7128f2e76cf486b2251a4e543c7b938f58d9a377f6694a2d"}, {file = "stevedore-5.1.0.tar.gz", hash = "sha256:a54534acf9b89bc7ed264807013b505bf07f74dbe4bcfa37d32bd063870b087c"}, @@ -764,9 +777,9 @@ pbr = ">=2.0.0,<2.1.0 || >2.1.0" name = "toml" version = "0.10.2" description = "Python Library for Tom's Obvious, Minimal Language" -category = "dev" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" +groups = ["doc"] files = [ {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"}, {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, @@ -776,9 +789,10 @@ files = [ name = "tomli" version = "2.0.1" description = "A lil' TOML parser" -category = "dev" optional = false python-versions = ">=3.7" +groups = ["lint"] +markers = "python_full_version < \"3.11.0a7\"" files = [ {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, @@ -788,9 +802,10 @@ files = [ name = "typing-extensions" version = "4.8.0" description = "Backported and Experimental Type Hints for Python 3.8+" -category = "dev" optional = false python-versions = ">=3.8" +groups = ["lint"] +markers = "python_version < \"3.10\"" files = [ {file = "typing_extensions-4.8.0-py3-none-any.whl", hash = "sha256:8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0"}, {file = "typing_extensions-4.8.0.tar.gz", hash = "sha256:df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef"}, @@ -800,16 +815,16 @@ files = [ name = "urllib3" version = "2.0.7" description = "HTTP library with thread-safe connection pooling, file post, and more." -category = "dev" optional = false python-versions = ">=3.7" +groups = ["doc"] files = [ {file = "urllib3-2.0.7-py3-none-any.whl", hash = "sha256:fdb6d215c776278489906c2f8916e6e7d4f5a9b602ccbcfdf7f016fc8da0596e"}, {file = "urllib3-2.0.7.tar.gz", hash = "sha256:c97dfde1f7bd43a71c8d2a58e369e9b2bf692d1334ea9f9cae55add7d0dd0f84"}, ] [package.extras] -brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] +brotli = ["brotli (>=1.0.9) ; platform_python_implementation == \"CPython\"", "brotlicffi (>=0.8.0) ; platform_python_implementation != \"CPython\""] secure = ["certifi", "cryptography (>=1.9)", "idna (>=2.0.0)", "pyopenssl (>=17.1.0)", "urllib3-secure-extra"] socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] zstd = ["zstandard (>=0.18.0)"] @@ -818,9 +833,10 @@ zstd = ["zstandard (>=0.18.0)"] name = "zipp" version = "3.17.0" description = "Backport of pathlib-compatible object wrapper for zip files" -category = "dev" optional = false python-versions = ">=3.8" +groups = ["doc"] +markers = "python_version < \"3.10\"" files = [ {file = "zipp-3.17.0-py3-none-any.whl", hash = "sha256:0e923e726174922dce09c53c59ad483ff7bbb8e572e00c7f7c46b88556409f31"}, {file = "zipp-3.17.0.tar.gz", hash = "sha256:84e64a1c28cf7e91ed2078bb8cc8c259cb19b76942096c8d7b84947690cabaf0"}, @@ -828,9 +844,9 @@ files = [ [package.extras] docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"] -testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy (>=0.9.1)", "pytest-ruff"] +testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7) ; platform_python_implementation != \"PyPy\"", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy (>=0.9.1) ; platform_python_implementation != \"PyPy\"", "pytest-ruff"] [metadata] -lock-version = "2.0" +lock-version = "2.1" python-versions = "^3.8" content-hash = "c3ac22f3861c372d4572b51aa6263a693a8c42a7fa77ff5e735fea3be0e3f15b" diff --git a/pyproject.toml b/pyproject.toml index 43feffe9..052c56ad 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "pybricks" -version = "3.6.1" +version = "4.0.0b10" description = "Documentation and user-API stubs for Pybricks MicroPython" authors = ["The Pybricks Authors "] maintainers = ["Laurens Valk ", "David Lechner " ]