Upydev

Latest version: v0.4.3

Safety actively analyzes 630254 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 7

0.3.8

Not secure
Added
- added command history file to shell-repls
- added tests and example tests to run with devices
- added shell support for command concatenation (`&&`)
- added shell basic support for pipe device output to a local file (`>, >>, |`)
- `register` command to register a device name or group as a callable shell function
- `ota` command to do OTA Firmware updates (esp32). This needs `ota.py` for network (LAN/WiFi) or `otable.py` for BLE. (`upyutils` directory) and `firmware.bin` file in `build-GENERIC_OTA` or from micropython esp32-ota downloads.
- `ota` with `-sec` option to do OTA over TLS. (This needs `kg ssl` first).
- `rsa sign`, `rsa verify` commands to sign file or verify signatures made with device RSA key
- `kg rsa host`, to generate a host RSA key pair and send public key to device.
- `rsa sign host [FILE]` to sign a file with host RSA key.
- `rsa verify host [FILE]` to verify in the device a file signature made with host RSA key
- `rsa` lib in `upyutils` to support RSA key load, sign, verify, encrypt, decrypt,
generation and export in PEM format
- `kg rsa` added option `-rkey` to remove RSA private key from the host, so in combination with `-tfkey` option, the RSA private key will be stored only in the device.
- `rsa auth` to authenticate a device with a RSA encrypted challenge.
- `shasum.py` lib in `upyutils` to support hash SHA-256 check
- `shasum` and `shasum_c` to compute hash SHA-256 of files and check shasum files.
- `ls` command to improve ls from `upysh`, with multiple dirs and pattern matching
- `cat` command that accepts multiple files and pattern matching
- refactored help
- dropped wlan utils
- dropped prototype commands (this will be a stand alone cli or add-on for upydev)
Fix
- `mpyx` command with multiple files
- `kg wr` now use RSA public key for password derivation and send encrypted password
that is decrypted and stored in device.
- Load time in MacOS caused by upydevice->BleDevice->bleak->corebluetooth
- Save in ecdsa key/cert directly in `DER`, no need for `openssl` in `PATH`.
- Allow mdns name in ssl certificate.
- Improved file io operations (`put`, `get`, `dsync` ...), more flexibility indicating files / dirs / pattern matching etc. Improved overall performance, specially for WebSocketDevices.
- fix `ping`, `probe` for zerotier devices (this needs updated config, see how-to section in docs.)
- fix `update_upyutils` if dir `lib` does not exists.
- refactored shells-repls, now `shl`, or `rpl` commands only

0.3.7

Not secure
Added
- `rssi` command in shell repls to get RSSI value (Wifi or Ble)
- `make_sgroup` / `mksg` command to create a subgroup of an existing group of devices.
- `set_hostname` command to set hostname of the device for dhcp service (needs *wpa_supplicant.py*)
- `set_localname` command to set localname of the device for ble gap/advertising name (needs *ble_uart_peripheral.py*)
- Now `-` option accepts multiple devices, names with `*` wildcard or global group `gg` or other group names, e.g. `upydev check -i - esp\* dev{1..4} mytestgroup`
will expand to all devices that start with `esp` , `dev1 dev2 dev3 dev4` and devices configured in `mytestgroup`
Fix
- `firmwaretools.get_fw_versions` update after `micropython.org\all` not working anymore.
- fix device name instead of `None` in `put`, `get`, `fget`, `dsync` in `sslweb_repl` with `-nem` mode enabled.
- fix `fget` disconnection error.

0.3.6

Not secure
Added
- `zerotier` compatibility through raspberry pi bridge (port forwarding + ufw route rules) and `-zt [HOST IP/BRIDGE IP]` option to indicate host zerotier ip and raspberry pi bridge local ip for ssl
shell-repl mode. Also `-zt` option with config command compatibility.
- mDNS `.local`/`dhcp_hostname` compatibility, so device configuration works across networks, e.g, `-t` argument now can accept `-t mydev.local` and resolve to device ip.
- added `-zt [IP]` in `keygen ssl` for zerotier `wss-sslwebrepl` mode
- `wpa_supplicant.py` utility in upyutils
- New buzzer effects in `buzzertools.py`: `error`, `warning_call`, `phone_call`, `door_bell`.
- Added docs for `zerotier` bridge configuration in `HOWTO`
Fix
- `fget` error on connection, and unintended verbose output on close.
- `check -i`, `info` commands in `-apmd`, if connected to AP of the device.
- fix ssl cert authentication in `wss` mode if using `.local`/`dhcp_hostname` target.

0.3.5

Not secure
Fix
- `set_ntptime` with WebSocket Devices
- blerepl paste command
- paste command in sslweb_repl -nem mode
Added
- get rssi value in blerepl

0.3.4

Not secure
Fix
- Fix autocomplete on tab in REPL while `import` or `from X import` in SERIAL REPL
- Command names change:
* `filesize` --> `du`,
* `filesys_info` --> `df`
* `fw` --> `fwr`
* `d_sync` --> `dsync`
* `sync` --> `fget`

- Catching passwords too short for AP configuration
- Refactor help info organisation for easy reading.
- Refactor device management actions (configuration, groups...)
- Refactor firmware actions, `-i` option to check firmware and platform match. (from firmware file name)
- `tree` command in upysh2.py unix/linux like.
- drop ``mpy-cross`` dependency, better to build from source.
Added
- Autocomplete `shr` , `ssl`, `wssl` and `ble` commands with saved devices in UPY_G global group
- `pytest` and `pytest-setup` command in SHELL-REPLS
- `pytest` and `pytest-setup` command mode in CLI.
- commands that start with `%` or not registered in SHELL-REPLS commands are forwarded to local shell (works with alias too)
- Ble SHELL-REPL `ble[device]`
- `set` command to set current device configuration of a device saved in global group
- `check` command to see device configuration (`-i` to see more info if device available)
- `dm` command to see help about DEVICE MANAGEMENT
- `gc` command to see help about GENERAL COMMANDS
- `wu` command to see help about WLAN UTILS COMMANDS
- `sd` command to see help about SD UTILS COMMANDS
- `pro` command to see help about PROTOTYPE COMMANDS
- `gg` to see global group
- `-gg` flag to set -G flag to global group (`-gg` == `-G UPY_G`)
- `-ggp` flag to set -GP flag to global group (`-ggp` == `-GP UPY_G`)
- `%` before any command e.g. `%config` display help info about that command.
- `probe` command to test if a device/group is reachable
- `scan` command to look for devices (serial [-sr], network [-nt] or ble [-bl])
- `shl` / `shell`, and `rpl` / `repl` commands works with `` or `-` and will detect device type, redirecting to the proper SHELL-REPL / REPL type.
- `put`, `get`, `install`, `fget`, `dsync`, file operations now support indicating file/files/cwd/expression as a second argument, e.g, `upydev put this_file.py`, `upydev put demo_*.py`, `upydev put fileone.py filetwo.py`, `upydev put cwd -dir lib` ...
- Alias and positional args for keygen/firmware/flash actions `upydev kg/keygen rsa/wr/ssl`, `upydev fwr get/list latest`, `upydev flash esp32-idf4-20200122-v1.12-76-gdccace6f3.bin`,`upydev flash pybv11-20200114-v1.12-63-g1c849d63a.dfu` ...
- Alias and positional args for `make_group, mg_group` actions `mkgroup/mkg, mggroup/mgg`, and `see`. e.g `upydev see MY_GROUP`, `upydev mkg MY_GROUP -devs mydevtest 192.168.1.40 mypasswd`, `upydev mgg MY_GROUP -add sdev2 /dev/tty.SLAB_USBtoUART 115200`
- Alias and positional args for SD actions `upydev sd enable/init/deinit/auto`
- upydev pypi version checking on `h`/ `help` command.
- `-gf` flag to indicate a group file operation (files are upload/download to/from a directory with the name of the device in the current working directory). It uses local group configuration file if available (unless -gg flag is indicated), otherwise it falls back to global group configuration
- `-rf` flag for `dsync` mode, to remove files or directories deleted in local dir.
- `-to [devname]` flag now can be used with `-tfkey` to transfer keys by USB/Serial
- `-d ` flag for `dsync` to sync from device to host.
- `backup` command == `dsync . -d` to make a backup of the device filesystem
- `rsync` command == `dsync [DIR] -rf -wdl` to recursively sync (deleting files too)

0.3.3

Not secure
Fix
- Fix `git status dev` aware of current branch
- Fix `d_sync`, in SHELL-REPLS, support root directory `.` will sync local cwd into device cwd
- Fix `put` for pyboard in SERIAL SHELL-REPL mode
- Fix `fw` for downloading and flashing firmware to pyboard, esp in SERIAL SHELL-REPL mode, now asserts serial port is available after flashing.
- Fix `battery` error if command fails.

Page 2 of 7

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.