This toolbox aims to simplify the integration of ArbinCTI and ArbinClient with Python applications by leveraging pythonnet. While pythonnet enables the use of C# objects defined in the DLL, interacting with these objects directly can be unintuitive for Python developers. This toolbox provides Python wrappers for these C# objects, offering a more Pythonic and user-friendly interface.
For example, to call PostTimeSensitiveSetMV(IArbinSocket socket, TimeSensitiveSetMVArgs args) in ArbinCTI:
By abstracting away C# object interactions, developers can focus on their core application logic rather than wrestling with language-specific intricacies.
- Easy Py-C# Data structure conversions are backed by
CSConvin this toolbox. - Beautified feedback objects with full serializability and quick inspection method.
- Support for keyword arguments, compared to using
pythonnetdirectly. - Object attributes are discoverable by Pylance, reducing human error when programming.

- 64-bit Python >= 3.7
- System
- Windows: .NET Framework >=4.7.2
- Linux: Mono is used by default
- ArbinCTI permission on MITS
-
ArbinCTI Users
- Switch to branch
arbinctitools - Run
pip install dist/arbinctitools-{version}-py3-none-any.whlin your development environment.
- Switch to branch
-
ArbinClient Users
- Switch to branch
arbinclienttools - Run
pip install dist/arbinclienttools-{version}-py3-none-any.whlin your development environment.
- Switch to branch
- For ArbinCTI object, see
arbinctitools/README.md. - For ArbinClient object, see
arbinclienttools/README.md.
Refer to EXAMPLE.md for:
- Basic usage examples
- An overview of
CSConvfunctionality - Common pitfalls in
pythonnetdevelopment
To run unittest
python -m unittestTo view feedback output while running test, set env variable before running unittest:
- Windows Powershell
$env:UNITTEST_VIEW_DICT="True"
- Linux Cmd
UNITTEST_VIEW_DICT="True"
