boneIO 1.4.0.dev7__py3-none-any.whl → 1.4.0.dev8__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -551,6 +551,10 @@ class IrrigationManager:
551
551
  ),
552
552
  )
553
553
 
554
+ # Duration max: configured time + 20min, clamped to [30, 120]
555
+ zone_duration_min = max(1, round(zone.run_duration / 60))
556
+ duration_max = min(120, max(30, zone_duration_min + 20))
557
+
554
558
  _pub(
555
559
  id=f"{ctrl.id}_zone_{zone.id}_duration",
556
560
  ha_type="number",
@@ -560,7 +564,7 @@ class IrrigationManager:
560
564
  suffix=f"zone/{zone.id}/duration",
561
565
  name=f"{ctrl.name} {zone.name} Duration",
562
566
  min_val=1,
563
- max_val=1440,
567
+ max_val=duration_max,
564
568
  step=1,
565
569
  unit="min",
566
570
  config_helper=cfg,
boneio/schema/schema.yaml CHANGED
@@ -473,12 +473,13 @@ modbus_devices:
473
473
  - lower
474
474
  allowed:
475
475
  [
476
+ 'boneio-edge-temp',
476
477
  'cwt',
477
478
  'dts1964_3f',
478
479
  'dyp-a12-ultrasonic',
480
+ 'eht-topventil-plus',
479
481
  'gdfs',
480
482
  'gdfx',
481
- 'boneio-edge-temp',
482
483
  'liquid-sensor',
483
484
  'orno-or-we-517',
484
485
  'pt100',
@@ -496,7 +497,6 @@ modbus_devices:
496
497
  'sofar',
497
498
  'ventclear',
498
499
  'esp32_relay_x4_modbus',
499
- 'eht-topventil-plus'
500
500
  ]
501
501
  meta:
502
502
  label: Model to load from database.
boneio/version.py CHANGED
@@ -1,2 +1,2 @@
1
1
  # flake8: noqa
2
- __version__ = "1.4.0dev7"
2
+ __version__ = "1.4.0dev8"
@@ -184,7 +184,7 @@ def slider_tile(
184
184
  "entity": entity,
185
185
  "name": name,
186
186
  "icon": icon,
187
- "features": [{"type": "numeric-input", "style": "slider"}],
187
+ "features": [{"type": "numeric-input", "style": "buttons"}],
188
188
  }
189
189
 
190
190
 
@@ -1847,7 +1847,7 @@
1847
1847
  "ventclear"
1848
1848
  ],
1849
1849
  "examples": [
1850
- "cwt"
1850
+ "boneio-edge-temp"
1851
1851
  ],
1852
1852
  "description": "Model to load from database.",
1853
1853
  "title": "Model"
@@ -113,7 +113,7 @@
113
113
  "ventclear"
114
114
  ],
115
115
  "examples": [
116
- "cwt"
116
+ "boneio-edge-temp"
117
117
  ],
118
118
  "description": "Model to load from database.",
119
119
  "title": "Model"
@@ -577,6 +577,16 @@ def _irr_id(serial: str, entity_type: str, ctrl_id: str, suffix: str = "") -> st
577
577
  def _generate_irrigation_dashboard_cards(ctrl: Any, serial: str) -> list[dict]:
578
578
  """Generate HA dashboard cards for a single irrigation controller.
579
579
 
580
+ Layout:
581
+ 1. Header — controller name + main switch badge + next run badge
582
+ 2. Podlewanie ręczne — valve tiles for manual control
583
+ 3. Czasy podlewania — zone durations (inline entities card)
584
+ 4. Ustawienia — auto-advance, standby, multiplier, etc.
585
+ 5. Sterowanie — pause / resume / next valve buttons
586
+ 6. Harmonogramy — schedule skip switches
587
+ 7. Sensory — zone end time, next run time
588
+ 8. Zdarzenia — event entity
589
+
580
590
  Args:
581
591
  ctrl: IrrigationController instance.
582
592
  serial: Device serial number.
@@ -591,14 +601,37 @@ def _generate_irrigation_dashboard_cards(ctrl: Any, serial: str) -> list[dict]:
591
601
  next_run = eid("sensor", "next_run_time")
592
602
  zone_end = eid("sensor", "zone_end_time")
593
603
 
594
- # Controller header
604
+ # ── 1. Controller header ──────────────────────────────────────────
595
605
  cards.append(heading_card(
596
606
  f"🌿 {ctrl.name}",
597
607
  style="title",
598
608
  badges=[entity_badge(main_switch), entity_badge(next_run)],
599
609
  ))
600
610
 
601
- # Settings entities
611
+ # ── 2. Podlewanie ręczne — valve tiles in rows of 2 ──────────────
612
+ cards.append(heading_card("Podlewanie ręczne", style="subtitle"))
613
+ zone_tiles: list[dict] = []
614
+ for zone in ctrl.zones:
615
+ zone_valve = eid("valve", f"zone_{zone.id}")
616
+ zone_tiles.append(tile_card(
617
+ zone_valve, zone.name, "mdi:sprinkler-variant",
618
+ state_content=["last_changed", "state"],
619
+ ))
620
+ # Pack tiles into horizontal-stacks of 2
621
+ for i in range(0, len(zone_tiles), 2):
622
+ pair = zone_tiles[i : i + 2]
623
+ if len(pair) == 1:
624
+ cards.append(pair[0])
625
+ else:
626
+ cards.append(horizontal_stack(pair))
627
+
628
+ # ── 3. Czasy podlewania — inline entities card ────────────────────
629
+ duration_entities: list[str] = [
630
+ eid("number", f"zone_{zone.id}_duration") for zone in ctrl.zones
631
+ ]
632
+ cards.append(entities_card(duration_entities, title="Czasy podlewania"))
633
+
634
+ # ── 4. Ustawienia ─────────────────────────────────────────────────
602
635
  controls: list[str | dict] = [
603
636
  eid("switch", s) for s in ("auto_advance", "standby", "skip_next_run", "reverse")
604
637
  ]
@@ -606,40 +639,18 @@ def _generate_irrigation_dashboard_cards(ctrl: Any, serial: str) -> list[dict]:
606
639
  controls.append(eid("number", "repeat"))
607
640
  cards.append(entities_card(controls, title="Ustawienia"))
608
641
 
609
- # Action buttons
610
- cards.append(horizontal_stack([
611
- button_card(eid("button", "pause"), "Pauza", "mdi:pause"),
612
- button_card(eid("button", "resume"), "Wznów", "mdi:play"),
613
- button_card(eid("button", "next_valve"), "Następna", "mdi:skip-next"),
614
- ]))
642
+ # ── 5. Sterowanie ─────────────────────────────────────────────────
643
+ cards.append(entities_card([
644
+ eid("button", "pause"),
645
+ eid("button", "resume"),
646
+ eid("button", "next_valve"),
647
+ ], title="Sterowanie"))
615
648
 
616
649
  # Water source select (if multiple)
617
650
  if len(ctrl.water_sources) > 1:
618
651
  cards.append(entities_card([eid("select", "water_source")], title="Źródło wody"))
619
652
 
620
- # Sensors row
621
- cards.append(horizontal_stack([
622
- sensor_tile(zone_end, "Koniec strefy", "mdi:timer-sand", state_content=["state", "last_changed"]),
623
- sensor_tile(next_run, "Następne uruchomienie", "mdi:calendar-clock", state_content=["state", "last_changed"]),
624
- ]))
625
-
626
- # Zone cards
627
- for zone in ctrl.zones:
628
- zone_valve = eid("valve", f"zone_{zone.id}")
629
- zone_enabled = eid("switch", f"zone_{zone.id}_enabled")
630
- zone_duration = eid("number", f"zone_{zone.id}_duration")
631
-
632
- cards.append(heading_card(
633
- zone.name, style="subtitle",
634
- badges=[entity_badge(zone_valve), entity_badge(zone_enabled)],
635
- ))
636
- cards.append(tile_card(
637
- zone_valve, zone.name, "mdi:sprinkler-variant",
638
- state_content=["last_changed", "state"],
639
- ))
640
- cards.append(slider_tile(zone_duration, f"{zone.name} czas"))
641
-
642
- # Schedule skip switches
653
+ # ── 6. Harmonogramy ───────────────────────────────────────────────
643
654
  for idx, sched in enumerate(ctrl._schedule):
644
655
  sched_skip = eid("switch", f"schedule_{idx}_skip")
645
656
  time_str = sched.get("time", "")
@@ -648,7 +659,13 @@ def _generate_irrigation_dashboard_cards(ctrl: Any, serial: str) -> list[dict]:
648
659
  [sched_skip], title=f"Harmonogram {idx + 1}: {time_str} ({days_str})",
649
660
  ))
650
661
 
651
- # Event entity
662
+ # ── 7. Sensory ────────────────────────────────────────────────────
663
+ cards.append(horizontal_stack([
664
+ sensor_tile(zone_end, "Koniec strefy", "mdi:timer-sand", state_content=["state", "last_changed"]),
665
+ sensor_tile(next_run, "Następne uruchomienie", "mdi:calendar-clock", state_content=["state", "last_changed"]),
666
+ ]))
667
+
668
+ # ── 8. Zdarzenia ──────────────────────────────────────────────────
652
669
  cards.append(entities_card([eid("event", "event")], title="Zdarzenia"))
653
670
 
654
671
  return cards
@@ -1847,7 +1847,7 @@
1847
1847
  "ventclear"
1848
1848
  ],
1849
1849
  "examples": [
1850
- "cwt"
1850
+ "boneio-edge-temp"
1851
1851
  ],
1852
1852
  "description": "Model to load from database.",
1853
1853
  "title": "Model"
@@ -113,7 +113,7 @@
113
113
  "ventclear"
114
114
  ],
115
115
  "examples": [
116
- "cwt"
116
+ "boneio-edge-temp"
117
117
  ],
118
118
  "description": "Model to load from database.",
119
119
  "title": "Model"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: boneio
3
- Version: 1.4.0.dev7
3
+ Version: 1.4.0.dev8
4
4
  Summary: Python App for BoneIO
5
5
  Author-email: Paweł Szafer <pszafer@gmail.com>
6
6
  License: GNU General Public License v3.0
@@ -3,7 +3,7 @@ boneio/bonecli.py,sha256=MfkiiMkoIZ98davH3L7IrBvugQbiIpAidWEabn5GZmQ,13160
3
3
  boneio/const.py,sha256=M981R2gwfjDX3lcoufWOyGlNxvGMESWgXOjVkmJfX60,7208
4
4
  boneio/exceptions.py,sha256=cBph-TsLF7FSz6p4wYeMs3pjVmVRaNQRJP82JgYYV-c,810
5
5
  boneio/runner.py,sha256=q_3050BKgnDcsT1ChFr9IZrAn2p6EyGp4DFKQy9BVno,17886
6
- boneio/version.py,sha256=VMNunywc-H9Wsw2ImaSB9XmHaEoMmti_sB9I2Vi0oHw,41
6
+ boneio/version.py,sha256=wzBqnG04PYPRWxDR2HMRsisX8CzxTr1RMyjv4-ekT_I,41
7
7
  boneio/boards/0.2/input.yaml,sha256=K5EcB44BZ8PxbPnH1izYwJ-ePo8gs4qZttMXhnMnfQ8,1259
8
8
  boneio/boards/0.2/output_24_16.yaml,sha256=GQGM3gUK7UobdGL-Ejt9UKdCs1HLPgZ7kziVZ1tjQlA,1462
9
9
  boneio/boards/0.2/output_32_10.yaml,sha256=169ubuzRqFLGiOr7zgB1xL1tKdQyOx2FJZvTCkxCA4U,1920
@@ -99,7 +99,7 @@ boneio/core/manager/canopen.py,sha256=t5CNPFB5CZtAgfm0Maac72fBKHNTEYqu6rwdVKoIjd
99
99
  boneio/core/manager/covers.py,sha256=es4bxUpUv10XI4S3VmNFXtdXkOn3rcLJnSrjxUYxKr0,20744
100
100
  boneio/core/manager/display.py,sha256=MeuCvagebfXsJfr2I3PButkQPhPJQeEAIuTPnn9jMFg,12819
101
101
  boneio/core/manager/inputs.py,sha256=0QfLmFu2u-ENtpUglfDYrGTCtR7Neu7iOHlRtbHqPic,41370
102
- boneio/core/manager/irrigation.py,sha256=ZU0w9p5UOduPh04aDK4baz6B09rc3FCmdBO9tWMmYak,24291
102
+ boneio/core/manager/irrigation.py,sha256=UjDPtJq-naNRZGS47qgHMQ0ixkfz6O-Rj8dZPk7UPXk,24513
103
103
  boneio/core/manager/manager.py,sha256=wLKIANaissYd7Q0ihU9Fh2vfStmAsHM88yuMOjAOFC0,81704
104
104
  boneio/core/manager/modbus.py,sha256=xkKdn3gQviHubW8VwYq_cW0tCyI31Jna2TcOyxRsNfc,15854
105
105
  boneio/core/manager/outputs.py,sha256=XKu4RFcPirdpul89-airVEEBrfQH4ZJlUmCXx6VNNzw,37983
@@ -320,12 +320,12 @@ boneio/schema/id.yaml,sha256=vHI_6dxkJwoiGp5ien_pPpyaWA1F06eirTgfWMyWa1E,75
320
320
  boneio/schema/remote_devices.yaml,sha256=VzuyTGfe5DMs2kBncXZIf48dvnB7UrbtXPsne_N9UDk,13163
321
321
  boneio/schema/remote_inputs.yaml,sha256=k-e_CekwUNXvLeScjQk7zgnInfkIttPluxNBC-9g308,3633
322
322
  boneio/schema/remote_outputs.yaml,sha256=6-G6JqvohtC8Jdgd4lZRzcIm8NJS-sSump2bQFx28NY,5553
323
- boneio/schema/schema.yaml,sha256=xTJErSNV_eph2KcZE1F64GvBjyptfd3A_2KUJndcopQ,68601
323
+ boneio/schema/schema.yaml,sha256=I8Z9DgTPynbgRJXwv3H9XgRUN-sz2z8J7HEH2fPo4tA,68602
324
324
  boneio/schema/temp_unit.yaml,sha256=m32VGz9RTW92Lz08l9n6RftkcVNZquOGPPr5mc3eZVc,65
325
325
  boneio/schema/update_interval.yaml,sha256=RBuAFj1gGn89ydZkaUUP-f88utvth1Qtt5u6lau2iOc,186
326
326
  boneio/webui/action_validation.py,sha256=2tdshl9MpgjHIYXYDV4XHW6lGTZn-05XgicFMWRcny4,7318
327
327
  boneio/webui/app.py,sha256=yN53jS8p91hIiwKKJFLprv3nQ6gVhknchF_c9nSbCL4,33123
328
- boneio/webui/dashboard_cards.py,sha256=z69wNAsClA94fLHVcRpsaqAVHjLRwE2uYKpPhuoc-8Y,6985
328
+ boneio/webui/dashboard_cards.py,sha256=c1V6B2oCoXU8o-4MwgPDO_lYJewXwf0pjj9EykDlvAM,6986
329
329
  boneio/webui/web_server.py,sha256=EZRUqwLqwLA5kdUZeYuriBY0nCq0Ffmo5f-Dz_eSxxg,9471
330
330
  boneio/webui/websocket_manager.py,sha256=MGo_yaXEC-30EB0mvA1dnZ14YZglFZlXBq-vTgl1rlc,6430
331
331
  boneio/webui/frontend-dist/boneio-192.png,sha256=2Q-HiAx3kB1yppMriZ46fDZ94Ft_1VpDbZ9EShGUBSo,23489
@@ -355,7 +355,7 @@ boneio/webui/frontend-dist/schema/areas.schema.json,sha256=j_hStMbVMyz1EQEyRuiJg
355
355
  boneio/webui/frontend-dist/schema/binary_sensor.schema.json,sha256=LReSwoNFGhIrM2k3BgluFFzC7vWTG9onA6M4Jx0lr6w,45222
356
356
  boneio/webui/frontend-dist/schema/boneio.schema.json,sha256=kfyxncMiR6MWrTBzq6fJhW_ttfN5lc0fell2lkbByc0,3470
357
357
  boneio/webui/frontend-dist/schema/can.schema.json,sha256=TLYvw9OvRX1z6URVwAjswzx8GOh1pYyW0dezC7JNNUY,3060
358
- boneio/webui/frontend-dist/schema/config.schema.json,sha256=NZl2ZMOu3uIxEs1hx3J3kqbaYST87ihVJ7FonnsA8H4,305906
358
+ boneio/webui/frontend-dist/schema/config.schema.json,sha256=mFH_2hT-LCsjCS_gj7UD-4CnZbjXJNXCAzEJZgZpAC4,305919
359
359
  boneio/webui/frontend-dist/schema/cover.schema.json,sha256=SqBoTiGFf89SD8MSJumG6jRq2CofuHfpXSVyUuK46fo,5133
360
360
  boneio/webui/frontend-dist/schema/dallas.schema.json,sha256=ACVJTdRC_GscIlISbE5QHl9pOMVo3Dk3qz7YW7wHGzQ,581
361
361
  boneio/webui/frontend-dist/schema/ds2482.schema.json,sha256=cZSfFH4r-Uwk5WHnla4dq_xHu_5hmAmwm7bpjcfLGrc,838
@@ -368,7 +368,7 @@ boneio/webui/frontend-dist/schema/lox_udp.schema.json,sha256=QT-ZU5S4wEZ-DRp0-XF
368
368
  boneio/webui/frontend-dist/schema/mcp23017.schema.json,sha256=yyOjUljFQ3Hm8mdS7kqH7SxJBKfDlHmvf3btz4UmrxI,1272
369
369
  boneio/webui/frontend-dist/schema/mcp9808.schema.json,sha256=_V7oxg0sYsUBnbz_5UKFqKX8MsgPHVmZ_kXn3Nl3QGs,1977
370
370
  boneio/webui/frontend-dist/schema/modbus.schema.json,sha256=MVSUEuytrWacP75t5NPJlW3tA0c6_TbyLm-ctGzgZdI,2273
371
- boneio/webui/frontend-dist/schema/modbus_devices.schema.json,sha256=bDvPymfqdnGgNtGfyuuTj9o63JrrSghWZGXMim4gd1Q,6554
371
+ boneio/webui/frontend-dist/schema/modbus_devices.schema.json,sha256=rgz4JZkW1grlEdbWjN4Mp7TQxR4gs5j1bEwd7d6-7iM,6567
372
372
  boneio/webui/frontend-dist/schema/mqtt.schema.json,sha256=9KGhw8IUBUsshXkLUd4Bnf0CDbIScd2h19HU6JgG3lc,4206
373
373
  boneio/webui/frontend-dist/schema/oled.schema.json,sha256=drsymbGPwbsRVbI_GNkjSEMJhIfW-JGxlf4U0L5qWcY,2960
374
374
  boneio/webui/frontend-dist/schema/output.schema.json,sha256=5VfNqtqwFg9XEOUZ1Ekov5ImF9xhJaCUi1DqXgNDvQM,6307
@@ -390,7 +390,7 @@ boneio/webui/routes/caddy.py,sha256=zS21OctOueuza_zigWoEz9V9-1S6IN4D77AKI5U7Pd4,
390
390
  boneio/webui/routes/can.py,sha256=18RVS2pPe_bNeZDcHSmwoLqsdmizjvTf18IdphfmeuU,14660
391
391
  boneio/webui/routes/config.py,sha256=Lg70p4CA-k7DcKkSGizTi4IaNWz83O8vT4hr6i9ln9U,52450
392
392
  boneio/webui/routes/covers.py,sha256=DtT4hSomRjR2MzBrfBiT0e4T0xbwet49hlpjXGv8vuw,3719
393
- boneio/webui/routes/irrigation.py,sha256=szMILjArRhwSpX922hd-Wb-4coQW97ejaLm1N52ePsg,24234
393
+ boneio/webui/routes/irrigation.py,sha256=HZYVRUim-Mk-RyQCgxZkxgltO9F-nXZopzwisDngBcY,25916
394
394
  boneio/webui/routes/migrations.py,sha256=Xa2CUg8wvhIRgHkDqd7C9AVVXLfZSLeSA74U62SFkLU,5895
395
395
  boneio/webui/routes/modbus.py,sha256=4ZLB0Wrpdf1xLUMGbJXNE7txoHrpi4UPJ-ejrnjcxoA,28401
396
396
  boneio/webui/routes/outputs.py,sha256=5ze6qYHYGcM0L0Hsx-4TPX-SG_WkfAWWAvKjaGKxJlQ,6241
@@ -406,7 +406,7 @@ boneio/webui/schema/areas.schema.json,sha256=j_hStMbVMyz1EQEyRuiJganfyLcSqsZsVzd
406
406
  boneio/webui/schema/binary_sensor.schema.json,sha256=LReSwoNFGhIrM2k3BgluFFzC7vWTG9onA6M4Jx0lr6w,45222
407
407
  boneio/webui/schema/boneio.schema.json,sha256=kfyxncMiR6MWrTBzq6fJhW_ttfN5lc0fell2lkbByc0,3470
408
408
  boneio/webui/schema/can.schema.json,sha256=TLYvw9OvRX1z6URVwAjswzx8GOh1pYyW0dezC7JNNUY,3060
409
- boneio/webui/schema/config.schema.json,sha256=NZl2ZMOu3uIxEs1hx3J3kqbaYST87ihVJ7FonnsA8H4,305906
409
+ boneio/webui/schema/config.schema.json,sha256=mFH_2hT-LCsjCS_gj7UD-4CnZbjXJNXCAzEJZgZpAC4,305919
410
410
  boneio/webui/schema/cover.schema.json,sha256=SqBoTiGFf89SD8MSJumG6jRq2CofuHfpXSVyUuK46fo,5133
411
411
  boneio/webui/schema/dallas.schema.json,sha256=ACVJTdRC_GscIlISbE5QHl9pOMVo3Dk3qz7YW7wHGzQ,581
412
412
  boneio/webui/schema/ds2482.schema.json,sha256=cZSfFH4r-Uwk5WHnla4dq_xHu_5hmAmwm7bpjcfLGrc,838
@@ -419,7 +419,7 @@ boneio/webui/schema/lox_udp.schema.json,sha256=QT-ZU5S4wEZ-DRp0-XFR3TdSRtHY3ev4L
419
419
  boneio/webui/schema/mcp23017.schema.json,sha256=yyOjUljFQ3Hm8mdS7kqH7SxJBKfDlHmvf3btz4UmrxI,1272
420
420
  boneio/webui/schema/mcp9808.schema.json,sha256=_V7oxg0sYsUBnbz_5UKFqKX8MsgPHVmZ_kXn3Nl3QGs,1977
421
421
  boneio/webui/schema/modbus.schema.json,sha256=MVSUEuytrWacP75t5NPJlW3tA0c6_TbyLm-ctGzgZdI,2273
422
- boneio/webui/schema/modbus_devices.schema.json,sha256=bDvPymfqdnGgNtGfyuuTj9o63JrrSghWZGXMim4gd1Q,6554
422
+ boneio/webui/schema/modbus_devices.schema.json,sha256=rgz4JZkW1grlEdbWjN4Mp7TQxR4gs5j1bEwd7d6-7iM,6567
423
423
  boneio/webui/schema/mqtt.schema.json,sha256=9KGhw8IUBUsshXkLUd4Bnf0CDbIScd2h19HU6JgG3lc,4206
424
424
  boneio/webui/schema/oled.schema.json,sha256=drsymbGPwbsRVbI_GNkjSEMJhIfW-JGxlf4U0L5qWcY,2960
425
425
  boneio/webui/schema/output.schema.json,sha256=5VfNqtqwFg9XEOUZ1Ekov5ImF9xhJaCUi1DqXgNDvQM,6307
@@ -435,9 +435,9 @@ boneio/webui/schema/virtual_energy_sensor.schema.json,sha256=BN6Egh-CAnXSa80bQ6Y
435
435
  boneio/webui/schema/web.schema.json,sha256=cactLq1MVwDL5hu8bLeuq5yiz49BWVS4OtjWLmhbw2M,2592
436
436
  boneio/webui/services/__init__.py,sha256=l_L3YUPhc0ZbrWqKH1RurC7UQ4q0k-5ABGTwOSS-YFQ,282
437
437
  boneio/webui/services/logs.py,sha256=7n596oxeWNIPDyKYdMJXFpH-GCvdKb_YrqTLy6kPBWA,11423
438
- boneio-1.4.0.dev7.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
439
- boneio-1.4.0.dev7.dist-info/METADATA,sha256=5lSEIw5EYyAmt-v0kQ2v76U0oKYZ6CE63lXFP8XXPxc,1961
440
- boneio-1.4.0.dev7.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
441
- boneio-1.4.0.dev7.dist-info/entry_points.txt,sha256=JX7gluDIkQ6MBlzzxGHMItnBjciiJ73tsXwYcazMW_U,47
442
- boneio-1.4.0.dev7.dist-info/top_level.txt,sha256=ag9S5n1_KXZfyk9tN8R0YUDYbdA--e5a2w2FOD_yMdg,7
443
- boneio-1.4.0.dev7.dist-info/RECORD,,
438
+ boneio-1.4.0.dev8.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
439
+ boneio-1.4.0.dev8.dist-info/METADATA,sha256=jJyXXtfE0Ri6ocp6qgGCH74Q-JaoPwmh2bj1Fgb3qvE,1961
440
+ boneio-1.4.0.dev8.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
441
+ boneio-1.4.0.dev8.dist-info/entry_points.txt,sha256=JX7gluDIkQ6MBlzzxGHMItnBjciiJ73tsXwYcazMW_U,47
442
+ boneio-1.4.0.dev8.dist-info/top_level.txt,sha256=ag9S5n1_KXZfyk9tN8R0YUDYbdA--e5a2w2FOD_yMdg,7
443
+ boneio-1.4.0.dev8.dist-info/RECORD,,