drive base funzionante
This commit is contained in:
parent
f4a83747c2
commit
5576e48642
7 changed files with 344 additions and 17 deletions
12
assi.py
Normal file
12
assi.py
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
from pybricks.parameters import Axis
|
||||
|
||||
|
||||
class A:
|
||||
RIGHT: Axis = Axis.X # pyright: ignore[reportAssignmentType] # ty: ignore[invalid-assignment]
|
||||
LEFT: Axis = -Axis.X # pyright: ignore[reportUnknownVariableType,reportOperatorIssue] # ty: ignore[invalid-assignment,unsupported-operator]
|
||||
|
||||
FORWARD: Axis = Axis.Y # pyright: ignore[reportAssignmentType] # ty: ignore[invalid-assignment]
|
||||
BACKWARD: Axis = -Axis.Y # pyright: ignore[reportUnknownVariableType,reportOperatorIssue] # ty: ignore[invalid-assignment,unsupported-operator]
|
||||
|
||||
UP: Axis = Axis.Z # pyright: ignore[reportAssignmentType] # ty: ignore[invalid-assignment]
|
||||
DOWN: Axis = -Axis.Z # pyright: ignore[reportUnknownVariableType,reportOperatorIssue] # ty: ignore[invalid-assignment,unsupported-operator]
|
||||
41
batteria.py
Normal file
41
batteria.py
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
from pybricks.hubs import PrimeHub
|
||||
|
||||
hub = PrimeHub()
|
||||
|
||||
|
||||
class Colors:
|
||||
RED: str = "\033[0;31m"
|
||||
GRE: str = "\033[0;32m"
|
||||
YEL: str = "\033[0;33m"
|
||||
BLU: str = "\033[0;34m"
|
||||
MAG: str = "\033[0;35m"
|
||||
CYA: str = "\033[0;36m"
|
||||
WHI: str = "\033[0;37m"
|
||||
NC: str = "\033[0m"
|
||||
|
||||
|
||||
def calcola_carica(v_mv: float):
|
||||
v: float = v_mv / 1000
|
||||
carica = ""
|
||||
if v >= 8.4:
|
||||
carica = f"{Colors.BLU}CARICA"
|
||||
elif v >= 7.4:
|
||||
carica = f"{Colors.GRE}MEDIA"
|
||||
elif v > 6.8:
|
||||
carica = f"{Colors.YEL}QUASI SCARICA"
|
||||
else:
|
||||
carica = f"{Colors.RED}SCARICA"
|
||||
return carica + Colors.NC
|
||||
|
||||
|
||||
def print_carica():
|
||||
v_mv = hub.battery.voltage() # millivolt
|
||||
i_ma = hub.battery.current() # milliampere (corrente assorbita)
|
||||
print(f"Voltage: {v_mv} mV | Current: {i_ma} mA")
|
||||
# print(f"Caricatore: {}")
|
||||
print(f"Batteria: {calcola_carica(v_mv)}")
|
||||
|
||||
|
||||
print_carica()
|
||||
# if __name__ == "__main__":
|
||||
# print_carica()
|
||||
32
guida_funzionante.py
Normal file
32
guida_funzionante.py
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
from pybricks.hubs import PrimeHub
|
||||
from pybricks.parameters import Axis, Direction, Port
|
||||
from pybricks.pupdevices import Motor
|
||||
from pybricks.robotics import DriveBase
|
||||
from pybricks.tools import wait
|
||||
|
||||
import batteria
|
||||
from assi import A
|
||||
|
||||
left = Motor(Port.B, Direction.COUNTERCLOCKWISE)
|
||||
right = Motor(Port.A)
|
||||
|
||||
|
||||
hub = PrimeHub(top_side=A.UP, front_side=A.BACKWARD)
|
||||
db = DriveBase(left, right, wheel_diameter=56, axle_track=105)
|
||||
db.use_gyro(True)
|
||||
# (mm/s, mm/s², deg/s, deg/s²)
|
||||
db.settings(100, 100, 90, 50)
|
||||
wait(300)
|
||||
db.reset(angle=0)
|
||||
|
||||
|
||||
db.straight(100)
|
||||
db.turn(90)
|
||||
db.straight(100)
|
||||
db.turn(90)
|
||||
db.straight(100)
|
||||
db.turn(90)
|
||||
db.straight(100)
|
||||
db.turn(90)
|
||||
|
||||
print(f"drived {db.distance()}")
|
||||
78
info_porte.py
Normal file
78
info_porte.py
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
# --- SCAN DELLE PORTE A–F: CHE DISPOSITIVO C'È COLLEGATO? (fix senza p.name) ---
|
||||
|
||||
from pybricks.parameters import Port # costanti delle porte fisiche: A, B, C, D, E, F
|
||||
from pybricks.pupdevices import (
|
||||
ColorDistanceSensor, # sensore colore+distanza (SPIKE Essential / PUP combo)
|
||||
ColorSensor, # sensore colore (SPIKE Prime)
|
||||
ForceSensor, # sensore di forza/pulsante
|
||||
Motor, # motori con encoder
|
||||
UltrasonicSensor, # sensore ultrasuoni
|
||||
)
|
||||
from pybricks.tools import wait # piccole attese per non “martellare” il bus
|
||||
|
||||
# Mapping esplicito: da oggetto Port alla sua etichetta stringa
|
||||
PORT_LABEL = {
|
||||
Port.A: "A",
|
||||
Port.B: "B",
|
||||
Port.C: "C",
|
||||
Port.D: "D",
|
||||
Port.E: "E",
|
||||
Port.F: "F",
|
||||
}
|
||||
|
||||
|
||||
def scan_ports() -> list[tuple[str, str]]:
|
||||
"""
|
||||
Ritorna una lista di coppie (porta, cosa_c'è).
|
||||
Esempio: [("A","Motor"), ("B","vuota"), ...]
|
||||
"""
|
||||
# elenco delle porte esterne da scandire in ordine
|
||||
ports: list[Port] = [Port.A, Port.B, Port.C, Port.D, Port.E, Port.F]
|
||||
|
||||
# accumulatore risultati (stringa etichetta porta, descrizione)
|
||||
results: list[tuple[str, str]] = []
|
||||
|
||||
# analizza ogni porta
|
||||
for p in ports:
|
||||
descr: str = "-" # predefinito: niente collegato/riconosciuto
|
||||
|
||||
# prova come MOTORE (se fallisce, solleva OSError -> proviamo altro)
|
||||
try:
|
||||
_ = Motor(p)
|
||||
descr = "Motor"
|
||||
except OSError:
|
||||
# prova come COLOR SENSOR “classico”
|
||||
try:
|
||||
_ = ColorSensor(p)
|
||||
descr = "ColorSensor"
|
||||
except OSError:
|
||||
# prova come COLOR+DISTANCE (combo sensor)
|
||||
try:
|
||||
_ = ColorDistanceSensor(p)
|
||||
descr = "ColorDistanceSensor"
|
||||
except OSError:
|
||||
# prova come ULTRASONIC
|
||||
try:
|
||||
_ = UltrasonicSensor(p)
|
||||
descr = "UltrasonicSensor"
|
||||
except OSError:
|
||||
# prova come FORCE SENSOR
|
||||
try:
|
||||
_ = ForceSensor(p)
|
||||
descr = "ForceSensor"
|
||||
except OSError:
|
||||
# nessun device riconosciuto: lasciamo "vuota"
|
||||
pass
|
||||
|
||||
# aggiungi la riga risultato con etichetta porta (dal mapping) e descrizione
|
||||
results.append((PORT_LABEL[p], descr))
|
||||
|
||||
# piccola pausa (facoltativa) per stabilità del bus
|
||||
wait(5)
|
||||
|
||||
# ritorna la lista completa
|
||||
return results
|
||||
|
||||
|
||||
# --- Esempio d'uso minimale (stampa la lista) ---
|
||||
print(scan_ports()) # otterrai qualcosa tipo: [('A','Motor'), ('B','vuota'), ...]
|
||||
|
|
@ -6,10 +6,16 @@ readme = "README.md"
|
|||
requires-python = ">=3.13"
|
||||
dependencies = [
|
||||
"lefthook>=1.13.0",
|
||||
"pybricks>=3.6.1",
|
||||
"pybricksdev>=2.1.0",
|
||||
"ruff>=0.13.0",
|
||||
"umath>=1.0.0",
|
||||
]
|
||||
|
||||
[tool.basedpyright]
|
||||
reportUnusedCallResult = "none"
|
||||
reportUnusedImport = "none"
|
||||
|
||||
[tool.black]
|
||||
target-version = ["py313"]
|
||||
line-length = 88
|
||||
|
|
@ -19,7 +25,10 @@ target-version = "py313"
|
|||
line-length = 88
|
||||
|
||||
[tool.ruff.lint]
|
||||
extend-select = ["I", "UP", "C"] # isort, pyupgrade, pep8-naming, mccabe
|
||||
extend-select = ["I", "UP", "C"] # isort, pyupgrade, mccabe
|
||||
# non rimuove import non usati
|
||||
unfixable = ["F401"]
|
||||
ignore = ["F401"]
|
||||
|
||||
[tool.ruff.lint.mccabe]
|
||||
max-complexity = 12
|
||||
|
|
|
|||
112
robot.py
Normal file
112
robot.py
Normal file
|
|
@ -0,0 +1,112 @@
|
|||
from pybricks.hubs import PrimeHub
|
||||
from pybricks.parameters import Axis, Direction, Port, Stop
|
||||
from pybricks.pupdevices import Motor
|
||||
from pybricks.robotics import DriveBase
|
||||
from pybricks.tools import wait
|
||||
|
||||
from assi import A
|
||||
|
||||
DEFAULT_STRAIGHT_SPEED: int = 100 # mm/s
|
||||
DEFAULT_STRAIGHT_ACCELERATION: int = 100 # mm/s²
|
||||
DEFAULT_TURN_RATE: int = 90 # deg/s
|
||||
DEFAULT_TURN_ACCELERATION: int = 50 # deg/s²
|
||||
DEFAULT_GYRO_SETTLE_MS: int = 300 # ms
|
||||
|
||||
|
||||
class Robot:
|
||||
"""Inizializza Hub, Motori e DriveBase con impostazioni coerenti.
|
||||
|
||||
Parametri:
|
||||
name: Nome logico del robot (per logging/diagnostica).
|
||||
top_side: Faccia dell'hub che punta verso l'alto (Axis).
|
||||
front_side: Faccia dell'hub che definisce l'“avanti” del robot (Axis).
|
||||
left_port: Porta del motore sinistro (guardando verso l'“avanti”).
|
||||
right_port: Porta del motore destro.
|
||||
left_direction: Verso del motore sinistro (Direction).
|
||||
right_direction: Verso del motore destro (Direction).
|
||||
wheel_diameter: Diametro ruote in millimetri (mm).
|
||||
axle_track: Distanza tra i punti di contatto a terra delle due ruote (mm).
|
||||
use_gyro: Se True abilita il giroscopio per turn/straight.
|
||||
straight_speed: Velocità lineare predefinita (mm/s).
|
||||
straight_acceleration: Accelerazione lineare predefinita (mm/s²).
|
||||
turn_rate: Velocità di rotazione predefinita (deg/s).
|
||||
turn_acceleration: Accelerazione di rotazione predefinita (deg/s²).
|
||||
settle_ms: Millisecondi di attesa dopo l’abilitazione del gyro.
|
||||
|
||||
Attributi:
|
||||
hub: Istanza di PrimeHub configurata con l’orientamento dato.
|
||||
left: Motore sinistro.
|
||||
right: Motore destro.
|
||||
db: DriveBase pronta all’uso (settings applicati).
|
||||
"""
|
||||
|
||||
name: str
|
||||
hub: PrimeHub
|
||||
left: Motor
|
||||
right: Motor
|
||||
db: DriveBase
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
name: str,
|
||||
top_side: Axis,
|
||||
front_side: Axis,
|
||||
left_port: Port,
|
||||
right_port: Port,
|
||||
left_direction: Direction,
|
||||
right_direction: Direction,
|
||||
wheel_diameter: int,
|
||||
axle_track: int,
|
||||
use_gyro: bool,
|
||||
straight_speed: int = DEFAULT_STRAIGHT_SPEED,
|
||||
straight_acceleration: int = DEFAULT_STRAIGHT_ACCELERATION,
|
||||
turn_rate: int = DEFAULT_TURN_RATE,
|
||||
turn_acceleration: int = DEFAULT_TURN_ACCELERATION,
|
||||
settle_ms: int = DEFAULT_GYRO_SETTLE_MS,
|
||||
) -> None:
|
||||
self.name = name
|
||||
|
||||
self.hub = PrimeHub(top_side=top_side, front_side=front_side)
|
||||
|
||||
self.left = Motor(left_port, left_direction)
|
||||
self.right = Motor(right_port, right_direction)
|
||||
|
||||
self.db = DriveBase(
|
||||
self.left,
|
||||
self.right,
|
||||
wheel_diameter=wheel_diameter,
|
||||
axle_track=axle_track,
|
||||
)
|
||||
|
||||
self.db.settings(
|
||||
straight_speed,
|
||||
straight_acceleration,
|
||||
turn_rate,
|
||||
turn_acceleration,
|
||||
)
|
||||
|
||||
if use_gyro:
|
||||
self.db.use_gyro(True)
|
||||
wait(settle_ms)
|
||||
self.db.reset(angle=0)
|
||||
else:
|
||||
self.db.reset()
|
||||
|
||||
|
||||
LEOHUB: Robot = Robot(
|
||||
name="leohub",
|
||||
top_side=A.UP,
|
||||
front_side=A.BACKWARD,
|
||||
left_port=Port.B,
|
||||
right_port=Port.A,
|
||||
left_direction=Direction.COUNTERCLOCKWISE,
|
||||
right_direction=Direction.CLOCKWISE,
|
||||
wheel_diameter=56,
|
||||
axle_track=105,
|
||||
use_gyro=True,
|
||||
straight_speed=DEFAULT_STRAIGHT_SPEED,
|
||||
straight_acceleration=DEFAULT_STRAIGHT_ACCELERATION,
|
||||
turn_rate=DEFAULT_TURN_RATE,
|
||||
turn_acceleration=DEFAULT_TURN_ACCELERATION,
|
||||
settle_ms=DEFAULT_GYRO_SETTLE_MS,
|
||||
)
|
||||
75
uv.lock
generated
75
uv.lock
generated
|
|
@ -54,17 +54,23 @@ wheels = [
|
|||
|
||||
[[package]]
|
||||
name = "dbus-fast"
|
||||
version = "2.44.3"
|
||||
version = "2.44.5"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/00/f2/8a3f2345452f4aa8e9899544ba6dfdf699cef39ecfb04238fdad381451c8/dbus_fast-2.44.3.tar.gz", hash = "sha256:962b36abbe885159e31135c57a7d9659997c61a13d55ecb070a61dc502dbd87e", size = 72458, upload-time = "2025-08-04T00:42:18.892Z" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/1b/f9/3952e3514244417a33643087bc5dc134aff546606d5f66f796018cb7fdfc/dbus_fast-2.44.5.tar.gz", hash = "sha256:e9d738e3898e2d505d7f2d5d21949bd705d7cd3d7240dda5481bb1c5fd5e3da8", size = 72474, upload-time = "2025-10-04T20:05:34.741Z" }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/ca/cf/e4ae27e14e470b84827848694836e8fae0c386162d98e43f891783c0abc8/dbus_fast-2.44.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da0910f813350b951efe4964a19d7f4aaf253b6c1021b0d68340160a990dc2fc", size = 835165, upload-time = "2025-08-04T00:57:12.44Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/ba/88/6d8b0d0d274fd944a5c9506e559a38b7020884fd4250ee31e9fdb279c80f/dbus_fast-2.44.3-cp313-cp313-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:253ad2417b0651ba32325661bb559228ceaedea9fb75d238972087a5f66551fd", size = 905750, upload-time = "2025-08-04T00:57:13.973Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/67/f0/4306e52ea702fe79be160f333ed84af111d725c75605b1ca7286f7df69f8/dbus_fast-2.44.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ebb4c56bef8f69e4e2606eb29a5c137ba448cf7d6958f4f2fba263d74623bd06", size = 888637, upload-time = "2025-08-04T00:57:15.414Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/78/c8/b45ff0a015f606c1998df2070967f016f873d4087845af14fd3d01303b0b/dbus_fast-2.44.3-cp313-cp313-manylinux_2_36_x86_64.whl", hash = "sha256:6e0a6a27a1f53b32259d0789bca6f53decd88dec52722cac9a93327f8b7670c3", size = 891773, upload-time = "2025-08-04T00:42:16.199Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/6f/4f/344bd7247b74b4af0562cf01be70832af62bd1495c6796125ea944d2a909/dbus_fast-2.44.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:2a990390c5d019e8e4d41268a3ead0eb6e48e977173d7685b0f5b5b3d0695c2f", size = 850429, upload-time = "2025-08-04T00:57:16.776Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/43/26/ec514f6e882975d4c40e88cf88b0240952f9cf425aebdd59081afa7f6ad2/dbus_fast-2.44.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:5aca3c940eddb99f19bd3f0c6c50cd566fd98396dd9516d35dbf12af25b7a2c6", size = 939261, upload-time = "2025-08-04T00:57:18.274Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/3b/e3/cb514104c0e98aa0514e4f09e5c16e78585e11dae392d501b742a92843c5/dbus_fast-2.44.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:0046e74c25b79ffb6ea5b07f33b5da0bdc2a75ad6aede3f7836654485239121d", size = 916025, upload-time = "2025-08-04T00:57:19.939Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/79/ad/17eadd06e533e2828b0f9b16da25b11d47629d4e2da3e817fa4cdffb96b5/dbus_fast-2.44.5-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:44d3232fd70f4deffa509b9aec8b1143895382554cda6513c34f70fa0b2ccb0c", size = 868405, upload-time = "2025-10-04T20:15:16.056Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/24/29/71d5a77e04a7a44ff46a6adaeaaf1f3cdb0b1ac3486e05cf079724f2799e/dbus_fast-2.44.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0b247075d035c4f33a24ee35a81c1313c46a7712ebad959fa8850654d3d6d64f", size = 948188, upload-time = "2025-10-04T20:15:17.847Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/a8/24/39261f09d4fef3a57b45b71842cbdfc0a532b259236c1347fc2df3629936/dbus_fast-2.44.5-cp313-cp313-manylinux_2_36_x86_64.whl", hash = "sha256:b5fea7b5ea19f83220752c8560c3b4c3b9ee79976cc02dec7be21f57c01c1338", size = 891815, upload-time = "2025-10-04T20:05:32.868Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/91/48/685e3e846b8f7a7e9dec679763fde808c2443e6201a2c6eab45b48dec456/dbus_fast-2.44.5-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:8546604aebd57f3928647b0e1ea32912c80ddcf7119a35dd57606bf3a38b8571", size = 873356, upload-time = "2025-10-04T20:15:19.405Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/3d/ff/9798912b8c6eb6dac6504dd1db4391c7b48ed21123ea55832c754ba92dd7/dbus_fast-2.44.5-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:46ca373a4eb8f036597d25787f4410af7822ab37c5db7c44ac4bc18bb25b9d6f", size = 957077, upload-time = "2025-10-04T20:15:21.608Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/22/b7/de79d48aee3e164121d4dd887b328ba8386d848c152bec1fd89fc55069ce/dbus_fast-2.44.5-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b9f49e3fe97a7de27b3bdb4d80b8bc40aa0827462988b790a9e007d40518b7e2", size = 879901, upload-time = "2025-10-04T20:15:25.218Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/4e/ce/8fe1fcc0de1a80c58d2f09b5bf0ab201c2af577ec23a9ab78e8542a23814/dbus_fast-2.44.5-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b164214d2abc4b232c02100448bdf7a8858ac8da62c17cfe3ad54e05eae4b133", size = 951654, upload-time = "2025-10-04T20:15:27.513Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/47/17/e689c631fac91616ae2dbf2097e03ba200975c4e3df983aaef02ca23413d/dbus_fast-2.44.5-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:13ae2801d94bb782aad71c21542e90ba65bc86ccbcc365e52a473eba208aab54", size = 882964, upload-time = "2025-10-04T20:15:29.063Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/8e/27/ea16587576621810ceb6c08a8533101993c4ad2ea5089d25acd807c03fd3/dbus_fast-2.44.5-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:e3e24fd1fe09ddd87b6ce57fc99e9a95201ae4296d6518e3fb101df392e3dc85", size = 960017, upload-time = "2025-10-04T20:15:31.19Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/f9/a5/b8f698a321546c9640206dd52e6233948adadc7672fe36d4028fffc7a4e7/dbus_fast-2.44.5-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:644a0ba6958550707ad56acd9654f1534fca16a6e1bf5f38f2f74a5370123584", size = 879903, upload-time = "2025-10-04T20:15:34.668Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/39/f2/d86628f8ccde215ba592bad87318134a84675960fa9453a88846325e5fec/dbus_fast-2.44.5-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ad9b36518984a363cfa5eacbd4a2a82ce35a0d4cfcb9e43980c8df3d742121e9", size = 951654, upload-time = "2025-10-04T20:15:36.521Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/10/98/b13d391109a948e58074d59c28076ea0b8eb69884ffbab03cda98f6ace3d/dbus_fast-2.44.5-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:bdb8688394bb28b9535d38a1e7dfeed8143fd0ee09cb9aea07ff314fb5af55dc", size = 882967, upload-time = "2025-10-04T20:15:38.674Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/cc/41/2d2baa32486a2f3f8248fbc855670caa861e66e017988c74a3f234664d3a/dbus_fast-2.44.5-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:2979c4b90596ddb72d2056de7cb47a2994143e805844732d96bcd882731b936b", size = 960019, upload-time = "2025-10-04T20:15:40.435Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -163,7 +169,7 @@ wheels = [
|
|||
|
||||
[[package]]
|
||||
name = "pybricksdev"
|
||||
version = "2.1.0"
|
||||
version = "2.1.1"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
dependencies = [
|
||||
{ name = "appdirs" },
|
||||
|
|
@ -182,9 +188,9 @@ dependencies = [
|
|||
{ name = "tqdm" },
|
||||
{ name = "typing-extensions" },
|
||||
]
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/77/26/2551759154f58fa65e70e7fedebaede4aa180696ae790383e97cb4277a56/pybricksdev-2.1.0.tar.gz", hash = "sha256:65fa0f28cee5db9416af1fdb194e26c9bbae43d34c93558b8f17dffe85cdfda2", size = 213451, upload-time = "2025-09-11T02:25:21.959Z" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/6a/e4/6b71847b2642c9231e2bec6e7e31c035c670243348c1b62ca381479a6c11/pybricksdev-2.1.1.tar.gz", hash = "sha256:24535f9f2907a8ac873043ddf9b4db37839d9af746b5618b20625ae4b827506f", size = 213685, upload-time = "2025-09-14T01:43:37.049Z" }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/27/ed/da842007b73712e63eca607c0446ddb5da85e7a8991a641a10aecc38a2c6/pybricksdev-2.1.0-py3-none-any.whl", hash = "sha256:1c28deaeda027c5aa99fa49e81f22d63aa7360da5c1a2e2a34293fc47621ce39", size = 231251, upload-time = "2025-09-11T02:25:20.628Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/77/3f/294b39a87a9681d3050f1bf2eeccd607e83f7a0aa10f3b1a8c855b545289/pybricksdev-2.1.1-py3-none-any.whl", hash = "sha256:04b628cd85c3d8eda7c9f9f9250bc163c1251fb145ca1e1017a19e5e490bf513", size = 231629, upload-time = "2025-09-14T01:43:35.429Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -285,15 +291,19 @@ version = "0.1.0"
|
|||
source = { virtual = "." }
|
||||
dependencies = [
|
||||
{ name = "lefthook" },
|
||||
{ name = "pybricks" },
|
||||
{ name = "pybricksdev" },
|
||||
{ name = "ruff" },
|
||||
{ name = "umath" },
|
||||
]
|
||||
|
||||
[package.metadata]
|
||||
requires-dist = [
|
||||
{ name = "lefthook", specifier = ">=1.13.0" },
|
||||
{ name = "pybricks", specifier = ">=3.6.1" },
|
||||
{ name = "pybricksdev", specifier = ">=2.1.0" },
|
||||
{ name = "ruff", specifier = ">=0.13.0" },
|
||||
{ name = "umath", specifier = ">=1.0.0" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -362,12 +372,21 @@ wheels = [
|
|||
]
|
||||
|
||||
[[package]]
|
||||
name = "wcwidth"
|
||||
version = "0.2.13"
|
||||
name = "umath"
|
||||
version = "1.0.0"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/6c/63/53559446a878410fc5a5974feb13d31d78d752eb18aeba59c7fef1af7598/wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5", size = 101301, upload-time = "2024-01-06T02:10:57.829Z" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/f1/08/7e67a3c4f3cf10cd39cb28ea4dfeefff61b7c75e95f78f88fa79a49c91b5/uMath-1.0.0.tar.gz", hash = "sha256:a02a9643dc7ae6ca2bfe795ee5bd36f5de4815bc5325382d5a70eedea86e2b94", size = 2162, upload-time = "2021-09-20T09:28:15.609Z" }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/fd/84/fd2ba7aafacbad3c4201d395674fc6348826569da3c0937e75505ead3528/wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859", size = 34166, upload-time = "2024-01-06T02:10:55.763Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/d5/25/d7f80b606ef55e1ea9c7f2de05342df322e3a587cc9d2f35a8d370208822/uMath-1.0.0-py3-none-any.whl", hash = "sha256:78a295e7e969fdb99168e7f73f9c0ee258b84c1c3eb91862bb261b8a552af3a9", size = 2679, upload-time = "2021-09-20T09:28:14.063Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wcwidth"
|
||||
version = "0.2.14"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/24/30/6b0809f4510673dc723187aeaf24c7f5459922d01e2f794277a3dfb90345/wcwidth-0.2.14.tar.gz", hash = "sha256:4d478375d31bc5395a3c55c40ccdf3354688364cd61c4f6adacaa9215d0b3605", size = 102293, upload-time = "2025-09-22T16:29:53.023Z" }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/af/b5/123f13c975e9f27ab9c0770f514345bd406d0e8d3b7a0723af9d43f710af/wcwidth-0.2.14-py2.py3-none-any.whl", hash = "sha256:a7bb560c8aee30f9957e5f9895805edd20602f2d7f720186dfd906e82b4982e1", size = 37286, upload-time = "2025-09-22T16:29:51.641Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -382,6 +401,9 @@ wheels = [
|
|||
{ url = "https://files.pythonhosted.org/packages/79/d4/1a555d8bdcb8b920f8e896232c82901cc0cda6d3e4f92842199ae7dff70a/winrt_runtime-3.2.1-cp313-cp313-win32.whl", hash = "sha256:44e2733bc709b76c554aee6c7fe079443b8306b2e661e82eecfebe8b9d71e4d1", size = 210022, upload-time = "2025-06-06T06:44:11.767Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/aa/24/2b6e536ca7745d788dfd17a2ec376fa03a8c7116dc638bb39b035635484f/winrt_runtime-3.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:3c1fdcaeedeb2920dc3b9039db64089a6093cad2be56a3e64acc938849245a6d", size = 241349, upload-time = "2025-06-06T06:44:12.661Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/d4/7f/6d72973279e2929b2a71ed94198ad4a5d63ee2936e91a11860bf7b431410/winrt_runtime-3.2.1-cp313-cp313-win_arm64.whl", hash = "sha256:28f3dab083412625ff4d2b46e81246932e6bebddf67bea7f05e01712f54e6159", size = 415126, upload-time = "2025-06-06T06:44:13.702Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/c8/87/88bd98419a9da77a68e030593fee41702925a7ad8a8aec366945258cbb31/winrt_runtime-3.2.1-cp314-cp314-win32.whl", hash = "sha256:9b6298375468ac2f6815d0c008a059fc16508c8f587e824c7936ed9216480dad", size = 210257, upload-time = "2025-09-20T07:06:41.054Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/87/85/e5c2a10d287edd9d3ee8dc24bf7d7f335636b92bf47119768b7dd2fd1669/winrt_runtime-3.2.1-cp314-cp314-win_amd64.whl", hash = "sha256:e36e587ab5fd681ee472cd9a5995743f75107a1a84d749c64f7e490bc86bc814", size = 241873, upload-time = "2025-09-20T07:06:42.059Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/52/2a/eb9e78397132175f70dd51dfa4f93e489c17d6b313ae9dce60369b8d84a7/winrt_runtime-3.2.1-cp314-cp314-win_arm64.whl", hash = "sha256:35d6241a2ebd5598e4788e69768b8890ee1eee401a819865767a1fbdd3e9a650", size = 416222, upload-time = "2025-09-20T07:06:43.376Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -396,6 +418,9 @@ wheels = [
|
|||
{ url = "https://files.pythonhosted.org/packages/d4/cc/797516c5c0f8d7f5b680862e0ed7c1087c58aec0bcf57a417fa90f7eb983/winrt_windows_devices_bluetooth-3.2.1-cp313-cp313-win32.whl", hash = "sha256:12b0a16fb36ce0b42243ca81f22a6b53fbb344ed7ea07a6eeec294604f0505e4", size = 105757, upload-time = "2025-06-06T07:00:13.269Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/05/6d/f60588846a065e69a2ec5e67c5f85eb45cb7edef2ee8974cd52fa8504de6/winrt_windows_devices_bluetooth-3.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:6703dfbe444ee22426738830fb305c96a728ea9ccce905acfdf811d81045fdb3", size = 113363, upload-time = "2025-06-06T07:00:14.135Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/2c/13/2d3c4762018b26a9f66879676ea15d7551cdbf339c8e8e0c56ea05ea31ef/winrt_windows_devices_bluetooth-3.2.1-cp313-cp313-win_arm64.whl", hash = "sha256:2cf8a0bfc9103e32dc7237af15f84be06c791f37711984abdca761f6318bbdb2", size = 104722, upload-time = "2025-06-06T07:00:14.999Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/b7/95/91cfdf941a1ba791708ab3477fc4e46793c8fe9117fc3e0a8c5ac5d7a09c/winrt_windows_devices_bluetooth-3.2.1-cp314-cp314-win32.whl", hash = "sha256:de36ded53ca3ba12fc6dd4deb14b779acc391447726543815df4800348aad63a", size = 109015, upload-time = "2025-09-20T07:09:51.067Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/61/fa/7460655628d0f340a93524f5236bb9f8514eb0e1d334b38cba8a89f6c1a6/winrt_windows_devices_bluetooth-3.2.1-cp314-cp314-win_amd64.whl", hash = "sha256:3295d932cc93259d5ccb23a41e3a3af4c78ce5d6a6223b2b7638985f604fa34c", size = 115931, upload-time = "2025-09-20T07:09:51.922Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/de/70/e1248dea2ab881eb76b61ff1ad6cb9c07ac005faf99349e4af0b29bc3f1b/winrt_windows_devices_bluetooth-3.2.1-cp314-cp314-win_arm64.whl", hash = "sha256:1f61c178766a1bbce0669f44790c6161ff4669404c477b4aedaa576348f9e102", size = 109561, upload-time = "2025-09-20T07:09:52.733Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -410,6 +435,9 @@ wheels = [
|
|||
{ url = "https://files.pythonhosted.org/packages/34/01/8fc8e57605ea08dd0723c035ed0c2d0435dace2bc80a66d33aecfea49a56/winrt_windows_devices_bluetooth_advertisement-3.2.1-cp313-cp313-win32.whl", hash = "sha256:4122348ea525a914e85615647a0b54ae8b2f42f92cdbf89c5a12eea53ef6ed90", size = 90037, upload-time = "2025-06-06T07:00:25.818Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/86/83/503cf815d84c5ba8c8bc61480f32e55579ebf76630163405f7df39aa297b/winrt_windows_devices_bluetooth_advertisement-3.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:b66410c04b8dae634a7e4b615c3b7f8adda9c7d4d6902bcad5b253da1a684943", size = 95822, upload-time = "2025-06-06T07:00:26.666Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/32/13/052be8b6642e6f509b30c194312b37bfee8b6b60ac3bd5ca2968c3ea5b80/winrt_windows_devices_bluetooth_advertisement-3.2.1-cp313-cp313-win_arm64.whl", hash = "sha256:07af19b1d252ddb9dd3eb2965118bc2b7cabff4dda6e499341b765e5038ca61d", size = 89326, upload-time = "2025-06-06T07:00:27.477Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/27/3d/421d04a20037370baf13de929bc1dc5438b306a76fe17275ec5d893aae6c/winrt_windows_devices_bluetooth_advertisement-3.2.1-cp314-cp314-win32.whl", hash = "sha256:2985565c265b3f9eab625361b0e40e88c94b03d89f5171f36146f2e88b3ee214", size = 92264, upload-time = "2025-09-20T07:09:53.563Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/07/c7/43601ab82fe42bcff430b8466d84d92b31be06cc45c7fd64e9aac40f7851/winrt_windows_devices_bluetooth_advertisement-3.2.1-cp314-cp314-win_amd64.whl", hash = "sha256:d102f3fac64fde32332e370969dfbc6f37b405d8cc055d9da30d14d07449a3c2", size = 97517, upload-time = "2025-09-20T07:09:54.411Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/91/17/e3303f6a25a2d98e424b06580fc85bbfd068f383424c67fa47cb1b357a46/winrt_windows_devices_bluetooth_advertisement-3.2.1-cp314-cp314-win_arm64.whl", hash = "sha256:ffeb5e946cd42c32c6999a62e240d6730c653cdfb7b49c7839afba375e20a62a", size = 94122, upload-time = "2025-09-20T07:09:55.187Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -424,6 +452,9 @@ wheels = [
|
|||
{ url = "https://files.pythonhosted.org/packages/ec/93/30b45ce473d1a604908221a1fa035fe8d5e4bb9008e820ae671a21dab94c/winrt_windows_devices_bluetooth_genericattributeprofile-3.2.1-cp313-cp313-win32.whl", hash = "sha256:b1879c8dcf46bd2110b9ad4b0b185f4e2a5f95170d014539203a5fee2b2115f0", size = 183342, upload-time = "2025-06-06T07:00:56.16Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/5b/3b/eb9d99b82a36002d7885206d00ea34f4a23db69c16c94816434ded728fa3/winrt_windows_devices_bluetooth_genericattributeprofile-3.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:8d8d89f01e9b6931fb48217847caac3227a0aeb38a5b7782af71c2e7b262ec30", size = 187844, upload-time = "2025-06-06T07:00:57.134Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/84/9b/ebbbe9be9a3e640dcfc5f166eb48f2f9d8ce42553f83aa9f4c5dcd9eb5f5/winrt_windows_devices_bluetooth_genericattributeprofile-3.2.1-cp313-cp313-win_arm64.whl", hash = "sha256:4e71207bb89798016b1795bb15daf78afe45529f2939b3b9e78894cfe650b383", size = 184540, upload-time = "2025-06-06T07:00:58.081Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/b7/32/cb447ca7730a1e05730272309b074da6a04af29a8c0f5121014db8a2fc02/winrt_windows_devices_bluetooth_genericattributeprofile-3.2.1-cp314-cp314-win32.whl", hash = "sha256:d5f83739ca370f0baf52b0400aebd6240ab80150081fbfba60fd6e7b2e7b4c5f", size = 185249, upload-time = "2025-09-20T07:09:58.639Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/bb/fa/f465d5d44dda166bf7ec64b7a950f57eca61f165bfe18345e9a5ea542def/winrt_windows_devices_bluetooth_genericattributeprofile-3.2.1-cp314-cp314-win_amd64.whl", hash = "sha256:13786a5853a933de140d456cd818696e1121c7c296ae7b7af262fc5d2cffb851", size = 193739, upload-time = "2025-09-20T07:09:59.893Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/78/08/51c53ac3c704cd92da5ed7e7b9b57159052f6e46744e4f7e447ed708aa22/winrt_windows_devices_bluetooth_genericattributeprofile-3.2.1-cp314-cp314-win_arm64.whl", hash = "sha256:5140682da2860f6a55eb6faf9e980724dc457c2e4b4b35a10e1cebd8fc97d892", size = 194836, upload-time = "2025-09-20T07:10:00.87Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -438,6 +469,9 @@ wheels = [
|
|||
{ url = "https://files.pythonhosted.org/packages/ff/7d/ebd712ab8ccd599c593796fbcd606abe22b5a8e20db134aa87987d67ac0e/winrt_windows_devices_enumeration-3.2.1-cp313-cp313-win32.whl", hash = "sha256:14a71cdcc84f624c209cbb846ed6bd9767a9a9437b2bf26b48ac9a91599da6e9", size = 130276, upload-time = "2025-06-06T07:02:05.178Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/70/de/f30daaaa0e6f4edb6bd7ddb3e058bd453c9ad90c032a4545c4d4639338aa/winrt_windows_devices_enumeration-3.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:6ca40d334734829e178ad46375275c4f7b5d6d2d4fc2e8879690452cbfb36015", size = 141536, upload-time = "2025-06-06T07:02:06.067Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/75/4b/9a6aafdc74a085c550641a325be463bf4b811f6f605766c9cd4f4b5c19d2/winrt_windows_devices_enumeration-3.2.1-cp313-cp313-win_arm64.whl", hash = "sha256:2d14d187f43e4409c7814b7d1693c03a270e77489b710d92fcbbaeca5de260d4", size = 135362, upload-time = "2025-06-06T07:02:06.997Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/41/31/5785cd1ec54dc0f0e6f3e6a466d07a62b8014a6e2b782e80444ef87e83ab/winrt_windows_devices_enumeration-3.2.1-cp314-cp314-win32.whl", hash = "sha256:e087364273ed7c717cd0191fed4be9def6fdf229fe9b536a4b8d0228f7814106", size = 134252, upload-time = "2025-09-20T07:10:12.935Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/cb/f6/68d91068048410f49794c0b19c45759c63ca559607068cfe5affba2f211b/winrt_windows_devices_enumeration-3.2.1-cp314-cp314-win_amd64.whl", hash = "sha256:0da1ddb8285d97a6775c36265d7157acf1bbcb88bcc9a7ce9a4549906c822472", size = 145509, upload-time = "2025-09-20T07:10:13.797Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/5c/a4/898951d5bfc474aa9c7d133fe30870f0f2184f4ba3027eafb779d30eb7bc/winrt_windows_devices_enumeration-3.2.1-cp314-cp314-win_arm64.whl", hash = "sha256:09bf07e74e897e97a49a9275d0a647819254ddb74142806bbbcf4777ed240a22", size = 141334, upload-time = "2025-09-20T07:10:14.637Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -452,6 +486,9 @@ wheels = [
|
|||
{ url = "https://files.pythonhosted.org/packages/7b/71/5e87131e4aecc8546c76b9e190bfe4e1292d028bda3f9dd03b005d19c76c/winrt_windows_foundation-3.2.1-cp313-cp313-win32.whl", hash = "sha256:3998dc58ed50ecbdbabace1cdef3a12920b725e32a5806d648ad3f4829d5ba46", size = 112184, upload-time = "2025-06-06T07:11:04.459Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/ba/7f/8d5108461351d4f6017f550af8874e90c14007f9122fa2eab9f9e0e9b4e1/winrt_windows_foundation-3.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:6e98617c1e46665c7a56ce3f5d28e252798416d1ebfee3201267a644a4e3c479", size = 118672, upload-time = "2025-06-06T07:11:05.55Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/44/f5/2edf70922a3d03500dab17121b90d368979bd30016f6dbca0d043f0c71f1/winrt_windows_foundation-3.2.1-cp313-cp313-win_arm64.whl", hash = "sha256:2a8c1204db5c352f6a563130a5a41d25b887aff7897bb677d4ff0b660315aad4", size = 109673, upload-time = "2025-06-06T07:11:06.398Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/e3/0a/d77346e39fe0c81f718cde49f83fe77c368c0e14c6418f72dfa1e7ef22d0/winrt_windows_foundation-3.2.1-cp314-cp314-win32.whl", hash = "sha256:35e973ab3c77c2a943e139302256c040e017fd6ff1a75911c102964603bba1da", size = 114590, upload-time = "2025-09-20T07:11:49.97Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/a1/56/4d2b545bea0f34f68df6d4d4ca22950ff8a935497811dccdc0ca58737a05/winrt_windows_foundation-3.2.1-cp314-cp314-win_amd64.whl", hash = "sha256:a22a7ebcec0d262e60119cff728f32962a02df60471ded8b2735a655eccc0ef5", size = 122148, upload-time = "2025-09-20T07:11:50.826Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/ed/ed/b9d3a11cac73444c0a3703200161cd7267dab5ab85fd00e1f965526e74a8/winrt_windows_foundation-3.2.1-cp314-cp314-win_arm64.whl", hash = "sha256:3be7fbae829b98a6a946db4fbaf356b11db1fbcbb5d4f37e7a73ac6b25de8b87", size = 114360, upload-time = "2025-09-20T07:11:51.626Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -466,6 +503,9 @@ wheels = [
|
|||
{ url = "https://files.pythonhosted.org/packages/a6/cd/99ef050d80bea2922fa1ded93e5c250732634095d8bd3595dd808083e5ca/winrt_windows_foundation_collections-3.2.1-cp313-cp313-win32.whl", hash = "sha256:4267a711b63476d36d39227883aeb3fb19ac92b88a9fc9973e66fbce1fd4aed9", size = 60063, upload-time = "2025-06-06T07:11:18.65Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/94/93/4f75fd6a4c96f1e9bee198c5dc9a9b57e87a9c38117e1b5e423401886353/winrt_windows_foundation_collections-3.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:5e12a6e75036ee90484c33e204b85fb6785fcc9e7c8066ad65097301f48cdd10", size = 69057, upload-time = "2025-06-06T07:11:19.446Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/40/76/de47ccc390017ec5575e7e7fd9f659ee3747c52049cdb2969b1b538ce947/winrt_windows_foundation_collections-3.2.1-cp313-cp313-win_arm64.whl", hash = "sha256:34b556255562f1b36d07fba933c2bcd9f0db167fa96727a6cbb4717b152ad7a2", size = 58792, upload-time = "2025-06-06T07:11:20.24Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/e1/47/b3301d964422d4611c181348149a7c5956a2a76e6339de451a000d4ae8e7/winrt_windows_foundation_collections-3.2.1-cp314-cp314-win32.whl", hash = "sha256:33188ed2d63e844c8adfbb82d1d3d461d64aaf78d225ce9c5930421b413c45ab", size = 62211, upload-time = "2025-09-20T07:11:52.411Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/20/59/5f2c940ff606297129e93ebd6030c813e6a43a786de7fc33ccb268e0b06b/winrt_windows_foundation_collections-3.2.1-cp314-cp314-win_amd64.whl", hash = "sha256:d4cfece7e9c0ead2941e55a1da82f20d2b9c8003bb7a8853bb7f999b539f80a4", size = 70399, upload-time = "2025-09-20T07:11:53.254Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/f8/2d/2c8eb89062c71d4be73d618457ed68e7e2ba29a660ac26349d44fc121cbf/winrt_windows_foundation_collections-3.2.1-cp314-cp314-win_arm64.whl", hash = "sha256:3884146fea13727510458f6a14040b7632d5d90127028b9bfd503c6c655d0c01", size = 61392, upload-time = "2025-09-20T07:11:53.993Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -480,4 +520,7 @@ wheels = [
|
|||
{ url = "https://files.pythonhosted.org/packages/d9/d2/24d9f59bdc05e741261d5bec3bcea9a848d57714126a263df840e2b515a8/winrt_windows_storage_streams-3.2.1-cp313-cp313-win32.whl", hash = "sha256:401bb44371720dc43bd1e78662615a2124372e7d5d9d65dfa8f77877bbcb8163", size = 127774, upload-time = "2025-06-06T14:02:04.752Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/15/59/601724453b885265c7779d5f8025b043a68447cbc64ceb9149d674d5b724/winrt_windows_storage_streams-3.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:202c5875606398b8bfaa2a290831458bb55f2196a39c1d4e5fa88a03d65ef915", size = 131827, upload-time = "2025-06-06T14:02:05.601Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/fb/c2/a419675a6087c9ea496968c9b7805ef234afa585b7483e2269608a12b044/winrt_windows_storage_streams-3.2.1-cp313-cp313-win_arm64.whl", hash = "sha256:ca3c5ec0aab60895006bf61053a1aca6418bc7f9a27a34791ba3443b789d230d", size = 128180, upload-time = "2025-06-06T14:02:06.759Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/55/70/2869ea2112c565caace73c9301afd1d7afcc49bdd37fac058f0178ba95d4/winrt_windows_storage_streams-3.2.1-cp314-cp314-win32.whl", hash = "sha256:5cd0dbad86fcc860366f6515fce97177b7eaa7069da261057be4813819ba37ee", size = 131701, upload-time = "2025-09-20T07:17:16.849Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/f4/3d/aae50b1d0e37b5a61055759aedd42c6c99d7c17ab8c3e568ab33c0288938/winrt_windows_storage_streams-3.2.1-cp314-cp314-win_amd64.whl", hash = "sha256:3c5bf41d725369b9986e6d64bad7079372b95c329897d684f955d7028c7f27a0", size = 135566, upload-time = "2025-09-20T07:17:17.69Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/bb/c3/6d3ce7a58e6c828e0795c9db8790d0593dd7fdf296e513c999150deb98d4/winrt_windows_storage_streams-3.2.1-cp314-cp314-win_arm64.whl", hash = "sha256:293e09825559d0929bbe5de01e1e115f7a6283d8996ab55652e5af365f032987", size = 134393, upload-time = "2025-09-20T07:17:18.802Z" },
|
||||
]
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue