Jonathon Broughton f2e06f165e
build and deploy Speckle functions / publish-automate-function-version (push) Has been cancelled
Update Result Annotations (#20)
* Add project configuration and refactor logic

- Created .gitignore to exclude IDE files.
- Added project module configuration for Python.
- Set up inspection profiles for code quality checks.
- Refactored main function logic into separate modules for better organisation.
- Introduced helper functions for object manipulation and rule processing.
- Implemented spreadsheet reading functionality to dynamically load rules.
- Added tests for integration with the Speckle server.

* Update import paths for consistency

- Changed relative imports to absolute imports for clarity.
- Ensured all module references are consistent across files.

* Update package versions and add new dependencies

Bumped several package versions to their latest releases:
- Updated `anyio` to 4.8.0
- Updated `certifi` to 2025.1.31
- Updated `charset-normalizer` to 3.4.1
- Updated `click` to 8.1.8
- Updated `deprecated` to 1.2.18
- Updated `graphql-core` to 3.2.6

Added a new dependency:
- Introduced `levenshtein` version 0.26.1.

Removed some unnecessary extras from the dev dependencies for cleaner management.

* Add Ruff configuration file

Set up a new configuration for Ruff with options to run on save and use the server.

* Refactor rules processing for Data Analysis

- Enhanced the metadata structure in the results attachment function for better data analysis.
- Improved logic handling in result attachment based on rule pass/fail status.
2025-02-07 19:22:14 +00:00
2025-01-24 15:39:21 +00:00
2025-02-07 19:22:14 +00:00
2025-01-24 15:39:21 +00:00
2025-02-07 19:22:14 +00:00
2025-01-24 15:39:21 +00:00
2025-01-24 15:39:21 +00:00
2025-02-06 21:33:18 +00:00
2025-01-24 15:39:21 +00:00
2025-01-24 15:39:21 +00:00
2025-01-24 15:39:21 +00:00
2025-02-06 21:33:18 +00:00
2025-02-06 21:54:13 +00:00
2025-02-06 21:54:13 +00:00
2025-02-06 21:33:18 +00:00
2025-01-24 15:40:51 +00:00

Public Function: Checker

Validate Speckle objects against configurable rules using spreadsheet definitions.

Usage

  1. Access the template Google Sheet [link needed]
  2. Make a copy to your Google Drive using File > Make a copy
  3. Define your rules in your sheet
  4. Click "Speckle" menu > "Publish Rules" to get your TSV URL
  5. Create an Automation in Speckle Automate using the Checker function
  6. Paste your TSV URL into the function configuration
  7. Run your automation

Rule Types

  • Property existence
  • Value matching
  • Numeric comparisons
  • Range checks
  • List membership
  • Pattern matching
  • Boolean checks

Severity Levels

  • WARNING: Issues that should be reviewed
  • ERROR: Critical issues requiring attention

Example Rules

[Screenshot or example table to be added]

Support

For issues or questions, please open a GitHub issue.

S
Description
No description provided
Readme 552 KiB
Languages
Python 97.5%
Dockerfile 1.4%
Shell 1.1%