AnalyzeRe.Client 1.38.6915.29545

Analyze Re Client Library

A client library for Analyze Re high performance analytics services

Install-Package AnalyzeRe.Client -Version 1.38.6915.29545
dotnet add package AnalyzeRe.Client --version 1.38.6915.29545
paket add AnalyzeRe.Client --version 1.38.6915.29545
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

This Client Library wraps the AnalyzeRe REST API.
1.38
- Removed deprecated implicit operators for Reference instances to remove ambiguity when constructing objects that require resource references.
- If you previously had code using the implicit operators like "myNestedLayer.sink = someOtherLayer", you may need to change it to ".sink = someOtherLayer.ToReference()"
- Surface the API's new metrics_functions and projection_functions endpoints used to manage custom optimization functions.
- Surfaced the event_catalogs/GUID/profile endpoint, which gives information on the columns contained in the uploaded catalog.

1.37
- Surfaced the new optional "policy" property on all layers, which allows users to change the default behaviour of which losses are transformed and/or forwarded by the layer.

1.36
- Nested layers "sink" and "sources" types changed from being ILayer references to a new base interface called `ILayerSource` which allows either reference to Layers or to LayerViews!
- As such, nested layer_views can now be built by referencing previously posted layer_view ids rather than requiring each level of nesting to fully inline (duplicate) the previous layer definition.
- As the property types have changed, this may result in some code breakage. Backwards compatibility was of the utmost concern, but any reflection-based access to the sources collection may need to be adjusted.
- Property-reflection utilities (like the GetUserFacingProperties type extension method) behave a little differently, so if you use these you may wish to check the latest documentation on those methods.

1.35
- Disabled support for TLSv1.0 and explicitly selected TLSv1.2.
- Added RecordTypeAnyOfFilter loss filter which can filter losses by their record type
- Added AdditionalColumn options to YELTOptions, allowing for the download of occurrence information

1.34
- Revised the AggregateQuotaShare class to enable its use as a nested layer sink that applies aggregate terms while simultaneously accumulating pro-rated reinstatement premiums and brokerages.

1.33
- User settings moved to the Registry by default.
- This version adds the ability to toggle between storing configured settings in the native local files (the old default) and the HKCU registry (new default).
- An application can reverted to the old behaviour using `AnalyzeRe.Properties.SharedSettingsProvider.GlobalSettingsLocation = SharedSettingsProvider.SettingsLocation.NativeLocalFile;`
- When settings are externally modified, the static client library can be updated by invoking `API.LoadSettings`
- The `API.UserAgent` header can now be modified to allow applications to provide custom identities to the Analyze Re sever.
- Added the ability to download a specific trial range of a YELT through use of the `start_trial` and `end_trial` properties in `AnalyzeRe.Metrics.YELTOptions`.
- New Fee structures which can be added to TermsLayer classes to include expenses in trial losses

1.32
- Surfaced Window Metrics (window_metrics) - a new feature on the server to support getting metrics on a range of trials without including the full tail.
- Window metrics overloads and extension methods added to match the functionality of tail_metrics, co_metrics, and exceedance_probabilities functions.
- New ProbabilityWindow class to support window metrics, which builds a probability range from a min and max.
- ProbabilityWindow has some static factory methods like "All" and "Tail" for quickly querying standard probabilities.
- For the time being, doubles can be implicitly converted to a "Tail" probability window for backwards-compatibility. This will go away in the future.
- Co-Metrics methods were all updated to support a probability window.
- Co-Metrics overloads that only take a single double probability (or list of probabilities) were soft deprecated, and redirect to use `ProbabilityWindow.Tail(p)` internally.
- All deprecation warning messages were updated to more clearly indicate what the preferred usage is.
- Requests for batch-requesting multiple points in metrics requests has been made more flexible by accepting any IEnumerable of values instead of a List.
- Fixed a bug where the 16th and 17th significant digits of probabilities/thresholds could change during a metrics request.

1.31
- Added the ability to supply Query parameters during POST requests and have them be respected.
- This means you can now do things like `ILayerView response = someLayerView.Post(API.Parameters.Fields(new[]{"id"}))` to speed up the request by having the server only send back the posted resource's new id.
- Added a singleton for the AnalyzeReJsonConverter to make one-off serialization tasks easier. You can now go `string serialized = AnalyzeReJsonConverter.Default.Serialize(layerView)` to get a resource's JSON representation.
- This update removes the redundant Analyze Re copies of RestSharp classes introduced in 1.9 in an attempt to simplify references.
- Users of low-level request methods may need to update their source using statements to reference the RestSharp namespace.
- History: In version 1.9, an attempt was made to internalize any RestSharp and Newtonsoft 3rd party dependencies by reimplementing those classes.
- History: In version 1.26, it was discovered that this led to issues and the formal NuGet package references needed to be restored.
- In this version (1.31) the deprecated wrapper classes are being removed in favour of the original RestSharp classes. This will facilitate adoption of future versions of RestSharp.
- Added correlation property to ConditionalDistributionMetrics
- Fixed a subtle bug whereby using ShallowCopy on a resource might invalidate its SubResource endpoints.

1.30
- Surfaced the ability to batch-retrieve a list of items by id using the new `API.Parameters.Ids` `RequestParameters`.
- You can easily access this using the new collection extension method `GetItems`, e.g. `API.Layers.GetItems(...)`
- You can also access this using the new static API method `BatchGet`, e.g. `API.BatchGet<ELTLossSet>(...)`
- Surfaced the ability to create marginal PortfolioViews server-side by referencing an existing PortfolioView and LayerViews to add and remove.
- You can easily access this feature using the new `portfolioView.PostMarginalPortfolioView(...)` instance method.
- You can also access this using the new static `API.PortfolioViewMarginals.Post(...)` method.
- Surfaced the new optimization `constraints` and `feasible` results on optimization candidates, which report on constraint metrics and whether the candidate meets all constraints.
- Surfaced the new optimization endpoint for retrieving initial portfolio results, which reports on all metrics for the portfolio of all initial layer shares.
- The OptimizationView class has new functions that make it easier to get results. (`GetInitialPortfolioMetrics`, `GetCandidateResult`, `GetCandidatePortfolioView`, `GetCandidateResultsCount`)
- Soft-Deprecated the old endpoints/attributes for retrieving candidate and initial portfolio results.
- Modified the CoMetrics response class to better reflect the results being returned, including renaming the "component_metrics.variance" property to "covariance".

1.29
- Fixed a bug in compression for large files that get split across multiple patch requests - which was preventing using this option in production.
- Improved compression performance, but made the decision to have compression turned off by default (was enabled by default in 1.28).
- In practice, compression increases client CPU usage significantly, and is not very beneficial unless upload speeds are under 5 MiBps.
- Fixed a bug which gave LargeFileUpload.Parameters instances the appearance that they could be cloned using extension methods.
- Formally deprecated the binary YELT format to warn against future use.
-- Performance improvements are being made to the CSV YELT format's upload, processing, and validation, removing the need for the binary variation.
- An "Advanced" search option has been added for using the API.SearchResource list command. This surfaces new API capabilities surrounding querying resources by metadata using a new Parameters.AdvancedSearch RequestParameter.

1.28
- Support for transparent compression during file upload (enabled by default)
- Overall improvements file/stream upload performance.
- Added an option to disable automatic binary YELT conversion.

1.27
- `target_currency` field added to OptimizationView
- The `Reference.Value` property was deprecated, due to it's behaviour of making network requests being potentially unexpected.
- Added explicit Reference `GetValue()` and `Resolve()` methods for retrieving the resource associated with a reference.
- New `API.PollUntil()` functionality added to allow any request to benefit from exponential back-off polling logic built into status and metrics request polling.
- `IAPIResourceWithStatus.PollUntilReady()` implementation now only polls the status property to improve polling performance with complex resources.
 - If after polling you wish to see an updated property of the resource that isn't the status property (e.g. the `LossSet.profile` property), you must perform a subsequent `Get()` of the resource yourself.
- The `Utilities.SimulationStatusMonitor` class was deprecated.
- Minor performance enhancements by circumventing unnecessary RestSharp logic, reducing request overhead.
- Source updated to take advantage of modern C#7 language features and their associated performance improvements.
- Suppressed issues when saving static client library settings from concurrent instances of the same process, and the new `AnalyzeRe.API.ManagedSettingsEnabled` property can be set to false to disable automatic settings caching and management entirely.
- All resources now inherit optional description and metadata properties.
- Queue-Position added to NotWaitingException for reporting the final current queue position of a request that was being polled.

1.26
- New event_id parameter in ParametricLossSet lets you control what event_id you see associated with Parametric losses on YELT download.
- New extension methods for categorization of property types.
- New LossRank layer structure which allows selecting a subset of losses in a year based on the relative size (rank) of losses.
- New NoClaimsBonus layer structure which can be used to apply a payout to trials which contain no losses.
- Restored Newtonsoft.Json and RestSharpSigned as formal NuGet dependencies in light of Json.NET 10 assembly static resource interference issues.

1.25
- OptimizationView now contains a collection of candidates, and candidates now have a `portfolio_view` sub-resource.
- OptimizationView now contains a server-generated `initial_portfolio_metrics` property.
- As per server-side changes, the portfolio_views must now be retrieved from the candidates. The results no longer reference pre-generated portfolio_views.
- Added support for automatically handling redirection responses, which are used for candidate portfolio_view responses.
- Added the `IResourceCollection` interface, which supports the optimization_view's candidates sub-collection.
- Added static `ResourceCollection` instances to the static API, which support a simplified method of performing collection operations on all root collections on the API.
- Added the ability to order collection get results by certain properties using the "API.Parameters.Order" request parameters.

1.24
- Added the QCLS Loss Set (Quantile-Based Correlated Loss Sampling loss set) - a simulated parametric loss set based on Cholesky decomposition.
- Improved the parametric distribution object model to include interfaces for stricter type definitions.

1.23
- Removed the Obsolete Inuring Terms from ELTLossSets. Inuring terms are now modelled by applying an AggXL layer to the loss set, then using it as the source to a nested layer.
- Added Nth event argument to ILW layers, and fixed/improved documentation around this layer type.
- Added is_optimization_enabled helper property to OPTIONS responses object.

1.22
- Adds an optional CancellationToken parameter to PollingOptions, which anything that takes PollingOptions should respect and monitor for cancellation.
- Updated the API.PollUntilReady helper function, as well as the IStoredAPIResource_WithStatus PollUntilReady extension method to monitor the cancellation token if supplied.
- Restored functionality to the AsyncRequestMonitor by making use of the existing polling methods.
- Gave the AsyncRequestMonitor the ability to poll either by monitoring RetryAfter responses, or by monitoring the status of a supported resource.

1.21
- OptimizationViews now implement the new IStoredAPIResource_WithStatus interface, following a change on the server. They are now polled using their status instead of 503 responses on the results.
- Added the ability to request only certain object properties using the "API.Parameters.Fields" request parameters. This speeds up status polling.
- Renamed the "WaitForStatusToBeReady" extension method from the previous commit to "PollUntilReady" to be consistent with existing RetryAfter based polling method available in the API namespace.
- Added the "Queued" TaskStatus enum value which is used in some cases and is a special distinction of "Processing" indicating that the resource has not yet begun processing, but will.

1.20
- Add the ability to set the data_file property to commit an existing file against a new resource.
- New polling options parameters changed from double (seconds) to integer (milliseconds) parameters to improve consistency with other timeouts in .NET.
- IStoredAPIResource_WithStatus interface added to describe resources that have a status indicating their validation progress.
- WaitForStatusToBeReady extension method added which will poll resources of the above type (includes resources with data and AnalysisProfiles).
- Exponential back-off added to existing RetryAfter polling method and the above status polling method.

1.19
- CoMetrics requests now support setting the component reporting period.

1.18
- Enhanced the copy constructors of classes that derive from `SimulationOptions` to include (as optional arguments) all parameters that cannot be copied from the base object.

1.17
- Sped up reference deserializer
- Added NotSaveableAttribute to indicate layer types that can be inlined but not persisted to the layers collection.
- Renamed `IsDefinedFast` to `IsAttributeDefinedFast` in the reflection utilities library, to reduce ambiguity.

1.16
- Support for probabilities and thresholds requested using exponential notation.

1.15
- ReportingPeriod parameter added to metrics requests. You can now specify a begin and/or end DateTime to get filter distributions by date.
- Fixed PollUntilReady and all blocking metrics requests not respecting the MaxPollTotalTime (since 1.13)

1.14
- Modified BufferedBytesFromStreamProducer to allow users to limit the number of bytes read from the source stream.

1.13
- API types can now be modified on the fly with property expressions.
 - Example: CatXL layer = someCatXL.ShallowCopy().Change(l ()=> l.participation, 0.25).Post();
- New metrics options classes added, which bundle common request options (filter, perspective, etc.)
 - TailMetrics, CoMetrics, ExceedanceProbabilities, etc. requests now support options objects as parameters.
- Old metrics methods are now marked Obsolete, and will be removed at the next major version.

1.11
- Removed LossNetOfOccurrenceTerms as an input and output perspective.
- Added bindings for the FixedRateCurrencyConverter structure.

1.10
- Warning: Minor Backwards Incompatible Changes
- Simplified code hierarchy in preparation for open sourcing.
- Modified some models to fall under different namespaces.
- Improvements and bug-fixes to documentation after the recent switch to support .NET40

1.9:
- Support for projects targeting either .NET framework 4.0 or 4.5
- Includes source and symbols for debugging.
- Should no longer require projects to also add Json.NET or RestSharp as dependencies.

1.8:
- Support for vectorized metrics requests (batching of probabilities / thresholds)
- No longer caches requests with resource instances - library user must implement their own caching.
- Performance enhancements due to leaner requests, caching reflection-based requests, and improved file upload streaming.
- Compatibility with new server features such as back-allocation, binary upload, and gzipping.
- Automatic handling for temporary network failures such as socket noise and interrupted SSH handshakes.

1.7:
- Now targets .NET Framework 4.5 to make use of improvements to native compression algorithms

1.6 and earlier features:
- Models for all of the resource types defined by the AnalyzeRe API
- Models for Metrics response structures and other custom API objects that appear within various resources
- Extensive error handling and debug logging capabilities via APIRequestException
- REST functionality via resource extension methods that allows:
 - Creation, modification, and retrieval of resources on the server
 - Supplying additional/custom headers and/or parameters to requests
- Additional functionality for specific resources such as:
 - LargeDataUpload functionality for resources with a data upload endpoint
 - Metrics functionality and extension methods for LayerViews and PortfolioViews
- Resource collection GET and Search capability via the API class
- A library of custom Attributes to assist with automated validation of resources and to indicate server constraints on property values.

Version History

Version Downloads Last updated
1.38.6915.29545 20 12/7/2018
1.38.6914.25678 24 12/6/2018
1.38.6914.19226 22 12/6/2018
1.37.6902.39691 43 11/25/2018
1.37.6902.39500-beta 35 11/25/2018
1.36.6901.21662-beta 37 11/23/2018
1.36.6901.17046 39 11/23/2018
1.36.6886.29864 48 11/8/2018
1.36.6884.21973 45 11/6/2018
1.36.6884.20543 48 11/6/2018
1.36.6883.30741 42 11/5/2018
1.35.6836.24274 112 9/19/2018
1.35.6822.18607 68 9/5/2018
1.35.6808.20079 71 8/22/2018
1.34.6774.31614 101 7/19/2018
1.33.6754.18735 96 6/29/2018
1.33.6750.32300 101 6/25/2018
1.32.6744.32000 120 6/19/2018
1.31.6737.22358 118 6/12/2018
1.31.6737.21625 105 6/12/2018
1.29.6610.27907 207 2/5/2018
1.29.6610.18981 142 2/5/2018
1.29.6610.1406 144 2/5/2018
1.29.6609.39372 141 2/5/2018
1.28.6607.18716 142 2/2/2018
1.28.6585.42526 134 1/12/2018
1.28.6579.40706 147 1/6/2018
1.28.6556.33614 144 12/13/2017
1.27.6533.19375 131 11/20/2017
1.27.6502.30667 138 10/20/2017
1.27.6438.30999 155 8/17/2017
1.27.6437.29690 140 8/16/2017
1.27.6431.18119 143 8/10/2017
1.27.6421.28851 153 7/31/2017
1.27.6401.30975 163 7/11/2017
1.27.6338.2267 193 5/9/2017
1.26.6330.28150 169 5/1/2017
1.26.6324.29625 172 4/26/2017
1.26.6318.1-Beta 156 4/24/2017
1.26.6318-Beta 152 4/24/2017
1.26.6317.14519 171 4/18/2017
1.26.6312.34272 177 4/13/2017
1.26.6312.30010 168 4/13/2017
1.26.6312.27505 164 4/13/2017
1.26.6312.25813 163 4/13/2017
1.26.6312.22653 180 4/13/2017
1.26.6312.18247 166 4/13/2017
1.26.6312.17575 163 4/13/2017
1.26.6311.34416 169 4/12/2017
1.25.6290.27879 233 3/22/2017
1.25.6257.30906 192 2/17/2017
1.25.6213.26568 214 1/4/2017
1.25.6198.29365 210 12/20/2016
1.25.6197.23699 193 12/19/2016
1.24.6163.23725 218 11/15/2016
1.24.6157.30538 189 11/9/2016
1.24.6149.25456 198 11/1/2016
1.24.6148.26384 200 10/31/2016
1.23.6145.27797 211 10/28/2016
1.23.6142.23411 216 10/25/2016
1.23.6142.3188 193 10/25/2016
1.22.6130.21053 193 10/13/2016
1.21.6124.20962 194 10/7/2016
1.20.6117.34156 193 9/30/2016
1.20.0-beta1 218 9/27/2016
1.19.6100.28239 199 9/13/2016
1.18.6096.23777 190 9/9/2016
1.17.6087.29126 199 8/31/2016
1.16.6081.21142 195 8/25/2016
1.15.6079.17008 204 8/23/2016
1.14.6078.27132 195 8/22/2016
1.13.6074.23767 197 8/18/2016
1.12.6071.16613 198 8/15/2016
1.12.6054.28859 206 7/29/2016
1.12.6054.15881 197 7/29/2016
1.12.6053.18775 198 7/28/2016
1.11.6051.24736 244 7/26/2016
1.11.6039.27228 395 7/14/2016
1.11.6038.29303 356 7/13/2016
1.11.6036.21375 352 7/11/2016
1.11.6032.22314 205 7/7/2016
1.10.6030.18547 215 7/5/2016
1.10.6029.28584 205 7/4/2016
1.10.6029.25374 207 7/4/2016
1.10.6025.40938 206 7/1/2016
1.9.6024.17072 211 6/29/2016
1.8.6023.27470 231 6/28/2016
1.8.6023.26738 228 6/28/2016
1.8.6022.22378 207 6/27/2016
1.8.6019.33691 215 6/24/2016
1.8.6019.30300 197 6/24/2016
1.8.6016.18890 214 6/21/2016
1.8.6015.37339 211 6/20/2016
1.7.6009.21437 229 6/14/2016
1.7.6008.40048 216 6/14/2016
1.7.6005.31457 212 6/10/2016
1.7.6005.17170 199 6/10/2016
1.7.6004.32310 218 6/9/2016
1.7.6003.26214 217 6/8/2016
1.7.6003.25126 204 6/8/2016
1.7.6003.22267 208 6/8/2016
1.7.5998.32101 217 6/3/2016
1.7.5998.28370 210 6/3/2016
1.7.5995.23412 211 5/31/2016
1.7.5991.25329 209 5/27/2016
1.7.5986.42312 214 5/23/2016
1.7.5986.194 208 5/22/2016
1.7.5985.33028 207 5/21/2016
1.7.5985.31332 202 5/21/2016
1.7.5981.19356 212 5/17/2016
1.7.5978.34425 210 5/14/2016
1.7.5978.23539 222 5/14/2016
1.7.5978.23175 205 5/14/2016
1.7.5977.26061 208 5/13/2016
1.7.5976.42073 219 5/13/2016
1.7.5976.17340 217 5/12/2016
1.7.5974.40614 217 5/11/2016
1.7.5968.407 218 5/4/2016
1.7.5955.36159 230 4/21/2016
1.7.5948.70 238 4/14/2016
1.6.5945.22765 226 4/11/2016
1.6.5945.18201 211 4/11/2016
1.6.5943.9141 215 4/9/2016
1.6.0-beta1 209 3/24/2016
1.5.5926.39996 223 3/24/2016
1.5.5907.31694 217 3/4/2016
1.5.5904.19971 227 3/1/2016
1.5.5903.38644 223 3/1/2016
1.5.0-beta4 199 2/26/2016
1.5.0-beta3 208 2/19/2016
1.5.0-beta 194 2/10/2016
1.5.0-alpha 215 1/20/2016
1.4.5861.6743 270 1/18/2016
1.4.5861.5788 220 1/18/2016
1.4.5861.4185 219 1/18/2016
1.4.2-alpha 234 1/15/2016
1.4.1-alpha 216 12/4/2015
1.4.0-alpha 227 11/17/2015
1.3.5860.42801 225 1/18/2016
1.3.5858.19066 221 1/15/2016
1.3.5855.31882 231 1/12/2016
1.3.5855.29686 215 1/12/2016
1.3.5808.32121 270 11/26/2015
1.3.5781.25862 278 10/30/2015
1.2.5751.18720 290 9/30/2015
1.2.5738.29105 293 9/17/2015
1.1.5735.31445 276 9/14/2015
1.1.5731.28218 266 9/10/2015
1.1.4-alpha 243 9/16/2015
1.1.2-alpha 248 9/8/2015
1.1.1-alpha 250 9/8/2015
1.1.0-alpha 246 9/4/2015
1.0.5731.28016 269 9/10/2015
1.0.5700.21033 284 8/10/2015
1.0.5697.30797 251 8/7/2015
1.0.5697.22963 241 8/7/2015
1.0.5696.32876 263 8/6/2015
1.0.5696.28969 261 8/6/2015
1.0.5694.34849 252 8/4/2015
1.0.5694.33889 247 8/4/2015
1.0.5694.25197 250 8/4/2015
1.0.5694.18350 252 8/4/2015
1.0.5689.31331 263 7/30/2015
1.0.5686.21655 265 7/27/2015
1.0.5680.30452 300 7/21/2015
1.0.5679.17105 264 7/20/2015
1.0.5675.26825 260 7/16/2015
1.0.5675.26110 281 7/16/2015
1.0.5651.29997 304 6/22/2015
1.0.5647.26487 271 6/18/2015
1.0.5639.28670 292 6/10/2015
1.0.5639.16853 291 6/10/2015
1.0.5638.37519 285 6/10/2015
1.0.5632.27111 278 6/3/2015
1.0.5626.31978 288 5/28/2015
1.0.5620.26675 279 5/22/2015
1.0.5619.22900 265 5/21/2015
1.0.5610.17715 280 5/12/2015
1.0.5606.29165 275 5/8/2015
1.0.5605.27666 263 5/7/2015
1.0.5605.23693 268 5/7/2015
1.0.5605.23108 264 5/7/2015
1.0.5603.29763 271 5/5/2015
1.0.5603.28992 268 5/5/2015
1.0.5603.28431 709 5/5/2015