* support arbirtary pointer levels for declared types
* handle logical_type=element
* arg values
* refactor (func name, arg_info) to FunctionInfo
* fix circular imports
* .
* support dylib
* update verify_hat_package
* verify -> verify_args
* fixes
* fix verify_args
* formatting
* add verify hat test
* refactor
* handle ndarrays as arguments
* cleanup
* runtime_array verify test
* print output
* basic test passing
* Update test_create_simple_hat_file.py
* Update test_create_simple_hat_file.py
* comments
* comments
* TODOs
* nfc
* [test] moved creation to workdir
* rename
* Print output dimension references and clarify HAT schema (#66)
* infer shapes from size, add shape order requirement
* merged
* pretty print using cross references
Co-authored-by: Lisa Ong <onglisa@microsoft.com>
* revert formatting changes
* revert more formatting only changes
* simplify
* Add input and input/output runtime_array support (#67)
* wip
* scaffold
* scaffold and initial support for input elements and input/output runtime_arrays
* .
* fixups
* don't swallow exceptions
* support cargs for non pointer args
* cleanup
* refactor
* support integer-like types when checking constant shapes
* nfc
Co-authored-by: Lisa Ong <onglisa@microsoft.com>
* test coverage for usage type Input and InputOutput
* [test] Support windows in verify_hat tests (#69)
* wip
* build for windows (#68)
Co-authored-by: Lisa Ong <onglisa@microsoft.com>
* windows tomlkit expects lists
* manual CI trigger
Co-authored-by: Lisa Ong <onglisa@microsoft.com>
* fix windows test
* fix logic and add comment
* .
* verify_args -> verify
* args -> arguments
* PR feedback
Co-authored-by: Lisa Ong <onglisa@microsoft.com>
Changes:
* utility functions in `hatlib` now make use of the HAT object model (OM). Previously, `tomlkit` was being using directly and was bypassing the checks and OM construction of child objects.
* `hatlib.load` now returns a `HATPackage` object that results from deserializing the HAT file passed in. Additionally, if functions can be loaded, a non-empty `AttributeDict` is returned as a second value.
* Moved test folder to be a sibling of library folder. Now the package no longer contains the tests when installed. Additionally, the library can be tested by running `python -m unittest discover test` in the root of the repository.
* Adds YAPF style config to setup.cfg and formatted all touched files with `yapf`
* fix regression in accessing target_file
* sanitize name for macro definitions
* always create a unique dll
* tweak to filename
* keep dependencies
Co-authored-by: Lisa Ong <onglisa@microsoft.com>
* scaffold
* snap to 1.2.1.dev releases
* generate different test packages for each mode
* resolve debug mode functions
* update test instructions
* [pendantic] use gcc instead of g++
* resolve inline functions in windows
* suppress gcc warnings about missing terminating ' character
* removed comments until we determine layering
* confirm uninstall in CI workflow
* PR feedback
Co-authored-by: Lisa Ong <onglisa@microsoft.com>
* restored hat package definition as a hat file + library
* [nfc] pydoc update
* update test condition
* replace test data files with runtime generation
* install test dependencies
* update whl test
* fix folder name
* export run_benchmark, support spaces in strings
* fixed add_functions to expect a single hat file
Co-authored-by: Lisa Ong <onglisa@microsoft.com>
* add vswhere to setup requirements for win32
* Prompt the user to run vcvars64.bat if cl is not in path
* Check for return value of os.system
* CI: disable flaky tests
* add skip reason
* disable more flaky ubuntu tests
Co-authored-by: Lisa Ong <onglisa@microsoft.com>