Metadata-Version: 2.1
Name: wiliot_tools
Version: 5.0.1
Summary: A library for interacting with Wiliot's private tools
Author-email: Wiliot <support@wiliot.com>
License: MIT
Project-URL: Bug Tracker, https://WILIOT-ZENDESK-URL
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: setuptools_scm==9.2.2
Requires-Dist: matplotlib
Requires-Dist: pygubu==0.36.3
Requires-Dist: pillow>=10.2.0
Requires-Dist: customtkinter>=5.0.3
Requires-Dist: CtkMessagebox
Requires-Dist: ttkbootstrap==1.10.1
Requires-Dist: yoctopuce
Requires-Dist: zebra
Requires-Dist: wiliot-api>=5.0.0
Requires-Dist: wiliot-core>=6.0.1

# PyWiliot: wiliot-tools #

wiliot-tools is a python library for accessing Wiliot's Tools

## Public Library

### Installing pyWiliot
````commandline
pip install wiliot-tools
````

### Using pyWiliot
Wiliot package location can be found, by typing in the command line:
````commandline
pip show wiliot-tools
````
please check out our tools, including:
* [Local Gateway GUI](wiliot_tools/local_gateway_gui/local_gateway_gui.py)

For more documentation and instructions, please contact us: support@wiliot.com


## Release Notes:
Version 5.0.1:
-----------------
* General:
  * New python package structure, stop supporting old python versions (<3.10)
  * New shared wiliot_code util (is_wiliot_code, split_wiliot_code, join_wiliot_code, get_reel_separator) - a single place that knows the Wiliot code (external id) format
  * Support the new external id format - an A-Z separator with a 4 or 5 digit tag counter (e.g. abcX01234) - alongside the legacy 3/4-char reel id with 'T'

* Pixels Finder (new tool):
  * A field tool for physically locating pixels in a store, like an AirTag - live proximity circle, distance estimate, rssi graph, and a beep that gets faster and higher as you get closer
  * Search several pixels at once by external id, or enter an asset id and load its pixels; the proximity view follows whichever pixel currently has the strongest signal
  * Supports both AWS and GCP owners and environments
  * Sub 1GHz / BLE 2.4GHz energizing switches moved to the main view and can be flipped while the search runs - the gateway is re-configured on the spot; sub 1GHz is on by default
  * Found / Not Found verdict buttons written to the run log, Reset Search, Sound On/Off, station name taken from testerStationName, and Upload Log that copies the run logs (including the listener log) into a synced SharePoint folder
  * Windows launcher (pixels_finder.bat), a mac installer script, and a tool README

* Analyze Packet Data:
  * new "Do Enrich" option - enrich the packets through the cloud parse API
  * resolve now uses the batch resolver instead of one request per tag, is no longer capped at ~2500 tags, and adds the resolved external_id into the packets and statistics csv files instead of a separate resolve file
  * resolve / enrich are now available also when decryption mode is off
  * .log files go through the same import flow as csv/json, and listener logs are matched anywhere in the file name
  * console prints moved to a log file

* Resolver Tool:
  * ResolvePackets accepts an existing ManufacturingClient as an input, so a caller can reuse its own cloud connection instead of opening a second one
  * external id validation now uses the shared wiliot_code util; resolver_utils.py was removed and TagStatus moved into resolve_packets.py

* GW GUI:
  * added a 100,000 line limit for the log - above it the raw log is still saved but parsing is skipped, with an indication in the console
  * the mini rx command is now printed to the console
  * new get_debug_packet_data macro

* Owner Change GUI:
  * support the new external id format, including 4 or 5 digit tag counters, and validate that First Tag and Last Tag have the same number of digits
  * request csv files are read as strings, so leading zeros in the tag numbers are preserved
  * removed the "checking fails" flow and its databricks queries

* Shipment Approval GUI:
  * removed the redundant create_tags_df / verify_file duplicates

* Association Tool / Scanning Ground Truth:
  * use the shared wiliot_code util for code validation (is_wiliot_code removed from association_configs)

* Test Equipment:
  * barcode and Cognex scanners parse the scanned code with split_wiliot_code, so the new external id format is supported
  * new examples: continuous Cognex scanning, and a network Cognex scanner emulation

* Wiliot GUI:
  * width option for text and file inputs

Version 4.15.1:
-----------------
* Shipment Approval GUI:
  * Refactored to use the v2 shipment approval flow (new shipment_approval_client and reusable UI components)
  * Improved multi-reel request flow and request details views

* Resolver Tool:
  * ResolvePackets now uses batch resolve (up to 500 payloads per call), with per-payload fallback on error
  * Bugfix for the ResolvePackets class

* Asset Printing:
  * Added Zebra asset printer with new association label format, manifest API and create-asset-event support
  * Added print count tracking, print retries and void-print handling

* Label Printer:
  * Use the API for batch name generation
  * Added plastic label printer GUI, launchable from the offline label printer
  * Offline label SW changes (manufacturer owner support)

* Owner Change GUI:
  * Minor layout fixes and improved request handling

* Test Equipment:
  * More robust Cognex scanning (try/except, response stripping) and added popup message with options

Version 4.14.1:
-----------------
* Wiliot GUI - change warning.png size

Version 4.14.0:
-----------------
* Gateway GUI:
  * Reworked Commands Info dialog from plain text to a `ttk.Treeview` table with column sorting, row striping, instant search filtering, tooltip on hover, and double-click to copy command
  * Energy patterns list now dynamically derived from `EnergyPatterns` enum instead of hardcoded tuple
  * Added `send_pulse` GW macro

* Resolver Tool:
  * Bugfix: `owner_id` is now passed to `ManufacturingClient` constructor (was previously missing)

* Test Equipment:
  * New `available_serial_ports()` function with known device matching (RTscan, API Weinschel, Cognex, Wiliot Gateway, Tescom Chamber) by VID/PID
  * `Attenuator`: added `serial_number` for multi-device support, auto-detection via `available_serial_ports()`
  * `CognexDataMan`: added `read_batch_with_trigger()` method
  * `ZebraPrinter`: added `set_var()`, `get_var()`, `save_settings()` methods, extracted `print_label_by_ind()` for index-based printing

Version 4.13.0:
-----------------
* General:
  * update requirements
* Analyze Packet Data
  * publish new public tool to parse and analyze any file created by the pywiliot convention.  
* GW GUI:
  * added repeat option per each macro
  * bugfix when using clear data, the data is clear also from the csv output
  * bugfix when reading from .log file for ble5 packets
* Association Tool:
  * added pattern as input for asset code validation.
  * added the option to create asset including different category_name, category_id, asset_name, labels, sku
* Test Equipment:
  * added support to Zebra printer including example file
* offline_label_printer:
  * added CE logo + ID, UKCA logo + ID, and the wiliot address to the label.
* owner_change_app:
  * minor layout updates.
  * fixed a rare issue where the GUI sent two requests instead of one.
  * improved handling of relative paths.
  * now accepts a leading $ before the owner id to prevent excel from converting it to an integer.
  * if owner id was converted to integer, the GUI now shows an error message.

Version 4.12.0:
-----------------
* General:
  * Added support of new VPC endpoint

* Gateway GUI:
  * Added the option to representing the current tags after clicking clear console in full_uid mode
  * Support application launching with the last used cloud connection details
  * Added the external id to the csv log if resolve was enabled

* Conversion Label  Printer:
  * Change Label Printer SW for Plastic Preprint Converted Reels

* Owner Change GUI:
  * Added option to open results in excel

* Wiliot GUI:
  * Added the option to disable both browse button and browse field


Version 4.11.1:
-----------------
* General:
	updated requirements

* Association Tools:
	* added support to run association based on user base URL on the associate_by_file script
	* for the CloudAssociation class:
		* added the option to use the user base URL
		* added the option to auto re-connect if needed
		* bugfix for re-try bad association call

* Gateway GUI:
	* added support in different baud rate based on the new Gateway firmware 4.4.8 (see wiliot-core release notes for more info)

* Sensors and Hardware:
	* added new example for network communication with Cognex scanner
	* updated the network Cognex class to use TCP/IP protocol

Version 4.10.1:
-----------------
* Association Tool
	* added support to use the initiator name when associating using the tool

* Gateway GUI:
	* add option to resolve packets from GCP and change it to thread instead of multi-process
	* added list of the received tag ids and external ids below the data when full uid mode is selected
	* bugfix to see more indication from the gateway when using gpio

* Resolver Tool
	* added support to resolve GCP
	* added support to batch resolve using thread pool

* Test equipments
	* added function to use humidity sensor
	* improve Cognex Network class and Cognex Data class
	* added option to get temperature data from several sensors

* Wiliot GUI
	* added exit function when user close the window
	* added more option to change checkbox style

Version 4.9.1:
-----------------
* Gateway GUI:
  * add output power to GW GUI
  * added option to see GW received signals from GPIO on the console.
  * added gw command description on the command info button

Version 4.8.1:
-----------------
* generic gui cleanup so all GUIs are WiliotGui class

* Gateway GUI:
  * added support to pull external ids during live testing
  * added button to show all gateway commands options
  * added button of clean data and clean console instead of general clean button
  * support symbol configuration

* New tool for Gen3 Production Manufacturing Labeling and Data Collection
* Owner change Tool:
  * added fail check for all tags that failed to change owner (internal only)

* Shipment approval api:
  * bugfixes and improvements.

* Added resolver tool to wiliot-tools package (moved from wiliot-testers package)
  * class for handling live packet resolving to external ids

* Added test equipment to wiliot-tools package (moved from wiliot-testers package)
  * list of classes to interact with different hardware


Version 4.7.5:
-----------------
* updated requirements
* added new wiliot-gui and updated all GUIs app
  
* Gateway GUI:
  * added support to change the radio frequency (symbol)
  * utilize the new gateway configuration function
  * bug fixed for rssi threshold featured


Version 4.6.3:
-----------------
* Association:
  * added a tool to associate or disassociate assets from file 
  * allow to change the time between requests for CloudAssociation class
  
* gateway gui:
  * added rssi threshold option to gui
  * added the option to filer packets based on packet flow version
  * added rssi to full uid mode.
  
* scanning ground-truth tool - new tool to send generic events when scanner scan wiliot pixels


Version 4.5.4:
-----------------
* Gateway GUI:
  * use the multi-process option when handling the GW if system allow it
  * print the GW response as well and not only the packets
  * add more options to the macro
  * add options to run and config gw separately
  
* owner change GUI:
  * added support to move tags from AWS to GCP

Version 4.4.4:
-----------------
* Added association tool to associate between tags and id for GCP and AWS platforms

* local gw gui:
  * add start/stop gw app instead of only reset option
  

Version 4.2.2:
-----------------
* Gateway GUI
  * add logger and improving data logging
  * improve UID only mode
  * added macro for Gateway firmware update
* Owner change GUI - new tool for changing owner to pixels

Version 4.1.0:
-----------------
* Gateway GUI
  * add the option to wrap it up as application
  * handle better packet parsing exceptions

Version 4.0.5:
-----------------
* Gateway GUI - Live Plots:
  * improve visualization - add sample points, clear after changing feature
  * add empty feature
  * add option to save the last configuration
* Gateway GUI - General:
  * add sample points
  * fix libraries compatibility
  * improve logging from all data type and fix bugs
  * enhance gw macros

Version 4.0.4:
-----------------
* Gateway GUI
    * add mode for printing full UID, advertising address
    * show only Silicon Lab port as options for the gw GUI
    * add button to print the macro file to create new macros.
    * update GUI visualization

Version 4.0.2:
-----------------
* First version


The package previous content was published under the name 'wiliot' package.
for more information please read 'wiliot' package's release notes
