Easy access to APIs from SAP Digital Supply Chain for data scientists.
APACHE-2.0 License
Bot releases are hidden (Show)
Feature: Analysis tables for systems with hierarchical structure.
Supports analysis tables for a system set consisting of systems with a hierarchical structure. An analysis table uses a wide table format to store data grouped by system in a DataFrame for further analysis.
See the tutorial page and apidoc on this new feature.
Enhancement: Pagination of results for Assetcentral/PAI APIs.
find_* functions now go beyond the result set limits imposed by those APIs.
List of closed pull-requests since last release
#105: Analysis tables for systems with hierarchical structure
#112: Add tutorial for analysis tables (systems)
#113: Bump pyjwt from 2.3.0 to 2.4.0
#114: Bump pillow from 9.1.0 to 9.1.1
#115: Pagination of results for Assetcentral/PAI APIs
#116: Make indicator group completeness check default
#117: Fix API incompatibility after PAI update (create alert)
List of closed issues since last release
#40: Pagination of AC Results
Changes
1.8.0...1.9.0
Published by sailor-ci over 2 years ago
$filter
query expression.get_indicator_data
: timeout parameter added.upload_indicator_data
: consistency check added (all indicators of a indicator group should be present).List of closed pull-requests since last release
#96: Convert warnings into logs
#99: Update sailor dependencies
#100: year change 2021->2022 in sailor
#101: Timeseries incomplete upload
#102: Pytest: compatible with ver 7 / DeprecationWarnings don't error warnings
#103: fix a bug in _compose_queries
#104: Additional logging message for non-interactive use
#106: Add timeout parameter for data export
#107: Future warning
#108: get_indicator_data: make timeout arg keyword-only; make test run fast
#109: Handle FutureWarning for pytest | log our upload warning
#110: Bump pillow from 9.0.0 to 9.0.1
#111: Officially support Python 3.10
Changes
1.7.1...1.8.0
Published by sailor-ci almost 3 years ago
List of closed pull-requests since last release
#98: add workaround for empty csv files in iot response
Changes
1.7.0...1.7.1
Published by sailor-ci almost 3 years ago
New feature: Read Functional Locations from Assetcentral.
Reading functional locations from Assetcentral is now supported.
This is realized by the new find_functional_locations
function that uses the existing filter language.
upload_indicator_data
now supports writing empty values
TimeseriesDataset: removed model_id from DataFrame as announced in warnings
Assetcentral: adapt to rate limiting of remote APIs
Alerts: add overview plot. Reorder properties shown in DataFrame
List of closed pull-requests since last release
#74: Fetch pagination feature
#80: implement fetching iot aggregates
#86: Feature/functional locations
#91: FLOC: make certain public fields private
#92: Allow upload of TimeseriesDataset with NaN values
#93: Fix failing test on windows machines
#94: Fix/ac rate limiting
#95: Small improvements on Alerts / remove model from TimeseriesDataset
#97: Remove model_id FutureWarning completely
List of closed issues since last release
#42: Support reading aggregates from SAP IoT
Changes
1.6.0...1.7.0
Published by sailor-ci almost 3 years ago
New feature: Create Alerts.
Creating alerts in Predictive Asset Insights (PAI) / Assetcentral (AC) is now supported. Alerts support the use case of automated machine created events for an equipment.
A single alert can be created using the sailor.pai.create_alert
function.
The create_alert function uses the same syntax and semantics as the create_notification function. See the tutorial on "Writing Master Data".
Specifying and reading custom fields on alerts is supported, too. Please refer to create_alert for more information.
You need PAI and AC credentials to use this feature. Please check the documentation for a configuration example.
Bugfix: find_alerts: numeric and timestamp fields could not be queried correctly
Removed deprecated features as announced in warnings
List of closed pull-requests since last release
#68: Introduce new MasterDataEntity and MasterDataField as new base classes.
#70: simplify patching in iot tests
#71: Configure In Solidarity app to ignore "masterdata"
#72: Docs: add inherited functions of classes
#73: Introduce query transformer to support TS offset for PAI Alert
#75: Bump pillow from 8.2.0 to 8.3.2
#76: find functions: make query transformer default for supported fields
#77: Refactor common AC utils into _base
#78: Create pull request template with checklist
#79: Fix post request filtering
#81: Add query transformer for numeric fields on Alerts.
#82: pandas 1.3.0 for timestamp enhancement
#83: Bump versions of dependencies
#84: Make MasterDataEntity magic functions only work on id property
#85: Remove deprecated features
#88: PAI/AC: Support creating Alerts.
#89: Test setup hardening: Warnings and latest dependency versions
Changes
1.5.0...1.6.0
Published by sailor-ci about 3 years ago
New feature: Read Alerts.
Reading alerts from Predictive Asset Insights (PAI) is now possible using function find_alerts.
You need a PAI account to use this feature. Please check the documentation for a configuration example.
IoT extension API endpoints are now determined dynamically.
If you want to use the (still BETA) upload feature for timeseries data, you now need to specify the extension_url
parameter in the configuration.
Timeseries is now retrieved without model information.
Equipment is uniquely identified by its ID, hence including model information in the TimeseriesDataset is redundant. In order to reduce memory usage timeseries data is now stored without model information. Using TimeseriesDataset.as_df still returns model information by default, but if you would like to reduce the memory used by the returned dataframe you can pass include_model=False
.
List of closed pull-requests since last release
#45: Read Alerts from Predictive Asset Insights (PAI)
#49: test with SonarCloud and github actions
#50: Code quality: add SonarCloud to validation jobs
#51: new field objects for Equipment + adapt is_exposed (private fields)
#52: set python version to 3 in sonar config
#53: new field objects for FailureMode
#54: new field objects for Group
#55: new field objects for Indicator
#56: new field objects for Location
#57: new field objects for Model
#58: new field objects for System and Workorder
#59: adapt the endpoint for the funky non-abstract abstract SAP IoT API
#60: use is_exposed in tests for public attributes
#61: migrate Alert to use new field structure
#62: small fix to Notification.plot_overview
#63: remove unused functions
#64: remove legacy mapping
#65: improved progress updates for reading bulk timeseries data
#66: Refactor/timeseries without modelid
#67: implement dynamic determination of extension endpoints
#69: fix too many prints...
Changes
1.4.0...1.5.0
Published by sailor-ci over 3 years ago
New BETA feature: Timeseries write support.
You can now write timeseries data to SAP IoT. This feature is considered BETA.
We will attempt to keep all interfaces stable but do not give guarantees yet. Feedback for this feature is particularly appreciated.
Please check out the API documentation for more information.
New feature: Support for creating and editing Notifications in Assetcentral.
You can now create or edit notification objects.
Please check out our new tutorial section on Writing Master Data.
Retrieve indicator data for every indicator in a System or SystemSet.
get_indicator_data
now returns indicator data for all pieces of equipment belonging to a system (instead of only first-level pieces of equipment).
List of closed pull-requests since last release
#27: Assetcentral: create and edit Notification objects
#38: Feature/system hierarchies2
#47: Timeseries write support, first implementation, now with tests
#48: Update documentation (tutorial and related pages)
List of closed issues since last release
#41: Support writing time-series data to SAP IoT
Changes
1.3.0...1.4.0
Published by sailor-ci over 3 years ago
Group
objects, supporting equipment, location and model elements in groupsTimeseriesDataset
improved: now supports filtering by EquipmentSet
and IndicatorSet
List of closed pull-requests since last release
#25: Add "Sailor" logo to documentation
#26: README: fix reuse link / add logo
#28: Bump urllib3 from 1.26.4 to 1.26.5 in /.ci/docs
#29: Bump urllib3 from 1.26.4 to 1.26.5
#30: Update dependencies
#31: Cleanup CI/CD related code
#33: fix bug when using as_df on TimeseriesDataset without indicators
#34: Fix OAuth2Client http response handling of request method
#35: Feature/groups support
#36: remove overriden init in System
#37: Update issue templates
#39: expose content returned by token fetch
#43: implement EquipmentSet and IndicatorSet filters on TimeseriesDataset
#44: Docs: add new apidoc pages automatically
#46: Fix release build automation
List of closed issues since last release
#22: [rl-contributor_file-1] Contributor information file could not be found!
#32: [Feature Request] Group functionality
Changes
1.2.0...1.3.0
Published by sailor-ci over 3 years ago
TimeseriesDataset
will have equidistant points in the half-open interval between the start and end point of the dataset.List of closed pull-requests since last release
#10: Prepare support of time series data for system hierarchies
#21: Feature/equidistant timeseries
#23: Improve client handling and refactor OAuth client
#24: Refactor OAuthFlow: offer full functionality for requests
Changes
1.1.0...1.2.0
Published by sailor-ci over 3 years ago
List of closed pull-requests since last release
#5: Add pre-push githook to prevent accidental pushes to main
#6: Update codeql-analysis.yml
#7: Implement AggregatedIndicator class
#8: Improve API documentation navigation and function listing
#9: Time-Aggregate TimeseriesDatasets
#11: fix short scope extensions for IoT
#12: Add more tests for sailor.assetcentral.utils / small fixes
#13: Bump pillow from 8.1.0 to 8.1.1
#14: Fix _fetch_data remote call without filters
#15: Bump urllib3 from 1.26.3 to 1.26.4 in /.ci/docs
#16: Bump urllib3 from 1.26.3 to 1.26.4
#17: update to pyjwt == 2.0.1
#18: Support Python 3.9 by adding automated tests
#19: Fix circular import problems
#20: always return str data type for key columns in _process_one_file
Changes
1.0.1...1.1.0
Published by sailor-ci over 3 years ago
This makes the uaa configurable. Unfortunately it requires users to provide an additional field access_token_url
in the configuration for sailor.
List of closed pull-requests since last release
#3: Various documentation fixes
#4: make uaa location configurable
Changes
1.0.0...1.0.1