Pycomm3

Latest version: v1.2.14

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

Scan your dependencies

Page 3 of 9

1.2.0

- :bug: fixed issue with logging configuration (148)
- :art: formatted project with black
- :memo: misc. documentation updates

LogixDriver
-----------

- :bug: fixed issue with writing a tag multiple times failing after the first write (158 )
- :sparkles: added `tags_json` property (141)

SLCDriver
---------

- :bug: fixed issue with parsing IO addresses (137)
- :zap: improved address parsing speed by pre-compiling regex

1.1.1

LogixDriver
-----------

- :bug: fixed read/write errors by preventing program-scoped tags from using instance ids in the request

1.1.0

LogixDriver
-----------

- :bug: fixed bugs in handling of built-in types (TIMER, CONTROL, etc)
- :bug: fixed bugs in structure tag handling when padding exists between attributes
- :sparkles: changed the meaning of the element count for BOOL arrays
- Previously, the ``{}`` referred to the underlying ``DWORD`` elements of the ``BOOL`` array.
A ``BOOL[64]`` array is actually a `DWORD[2]` array, so ``array{1}`` translated to BOOL elements
0-31 or the first ``DWORD`` element. Now, the ``{}`` refers to the number of ``BOOL`` elements. So
``array{1}`` is only a single ``BOOL`` element and ``array{32}`` would be the 0-31 ``BOOL`` elements.
- Refer to the [documentation](https://docs.pycomm3.dev/en/latest/usage/logixdriver.html#bool-arrays) for limitations on writing.

1.0.1

- :bug: Fixed incorrect/no error in response Tag for some failed requests in a multi-request
- :recycle: Minor refactor to status and extended status parsing

1.0.0

Changes

- :sparkles: New type system to replace the ``Pack`` and ``Unpack`` helper classes
- New types represent any CIP type or object and allow encoding and decoding of values
- Allows users to create their own custom types
- :boom: **[Breaking]** ``generic_message`` replaced the ``data_format`` argument with ``data_type``, see documentation for details.
- :sparkles: Added a new ``discover()`` method for finding Ethernet/IP devices on the local network
- :sparkles: Added a ``configure_default_logger`` method for simple logging setup
- Packet contents are now logged using a custom ``VERBOSE`` level
- :art: Internal package structure changed.
- :recycle: Lots of refactoring, decoupling, etc
- :white_check_mark: Increased test coverage
- :memo: New and improved documentation
- :construction: Still a work-in-progress


LogixDriver Changes

- :triangular_flag_on_post: Upload of program-scoped tags is now enabled by default
- Use ``init_program_tags=False`` in initializer to upload controller-scoped only tags
- :boom: Removed the ``init_info`` and ``micro800`` init args and the ``use_instance_ids`` property
- These have all been automatic for awhile now, but were left for backwards compatibility
- If you need to customize this behavior, override the ``_initialize_driver`` method

1.0.0b1

This is a beta release for the new V1 release. This release is intended only for test purposes and as a draft for the stable 1.0.0 release.

Major Changes:
- new type system, removed the `Pack` and `Unpack` helper classes
- old: `Pack.uint(100)` -> new: `UINT.encode(100)`
- types as classes that can encode and decode any elementary or structured data type
- when parsing the tag list a type is created for every tag to encode or decode their value
- can create custom types for any struct, array, etc
- replaces the `data_format` arg for generic messaging
- TODO: full documentation on how to use types. Examples have been updated for now.
- Internal package structure changed, may break imports if not importing from top level package
- Lots of refactoring, decoupling, etc improvements internally, helping improve testability
- added a `configure_default_logger` method for simple logging setup
- packet contents are now logged with a custom VERBOSE log level
- removed the RequestPacket.VERBOSE_DEBUG option used previously
- improved the packet formatting too to look similar to wireshark
- [BREAKING] `generic_message` now uses the new type system. The `data_format` arg was replaced with `data_type`.
- added new `discover()` method to discover Ethernet/IP devices on the local network

**LogixDriver**
- upload of program scoped tags is now on by default, use `init_program_tags=False` in initializer to disable.
- removed the `init_info` and `micro800` init args, also removed the `use_instance_ids` property
- feature selection is all automatic now, if it needs to be customized, subclass and overwrite the `_initialize_driver` method

Page 3 of 9

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.