Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
de4106d
Scaffolding
Ezequiel-Valencia Jun 30, 2025
03205e2
Interface For Export Event Creation
Ezequiel-Valencia Jun 30, 2025
dd0be17
Remove Export Constants
Ezequiel-Valencia Jun 30, 2025
2325097
Export Notification System Separated from Implementation
Ezequiel-Valencia Jul 3, 2025
6b0617f
Manual Queue Connection
Ezequiel-Valencia Jul 3, 2025
7770e65
Add AMQP Support
Ezequiel-Valencia Jul 10, 2025
a3b0885
Update Export Notification System
Ezequiel-Valencia Jul 10, 2025
e96f75f
Export Request Tests
Ezequiel-Valencia Jul 10, 2025
5b52c0b
Curve Selection Enums
Ezequiel-Valencia Jul 16, 2025
9db8610
DTO JSON Annotations
Ezequiel-Valencia Jul 16, 2025
7bd635e
Discriminators for Format Specs
Ezequiel-Valencia Jul 16, 2025
8d82478
Update Export Creation and Status
Ezequiel-Valencia Jul 16, 2025
7ebc3dd
Decrease Default Logging Verbosity
Ezequiel-Valencia Jul 16, 2025
b60d0ab
Update Status Endpoint
Ezequiel-Valencia Jul 17, 2025
be29fcc
Separate Classes
Ezequiel-Valencia Jul 17, 2025
c00e592
Annotations to Facilitate DTOs
Ezequiel-Valencia Jul 23, 2025
7a63c2e
Update Dependencies
Ezequiel-Valencia Jul 28, 2025
6570e0e
Update Endpoints
Ezequiel-Valencia Jul 28, 2025
dc62b35
DTO Updates
Ezequiel-Valencia Jul 28, 2025
a3e64a9
Tests for Export
Ezequiel-Valencia Jul 28, 2025
c657252
Generated Clients
Ezequiel-Valencia Jul 28, 2025
dc4700c
Client Uses New Export Endpoint
Ezequiel-Valencia Jul 28, 2025
c677513
Specify Required Objects for Spatial Selection
Ezequiel-Valencia Jul 30, 2025
444563d
Proper Name of Format for Client
Ezequiel-Valencia Jul 30, 2025
8e9bd6c
Separate Image for Export
Ezequiel-Valencia Jul 30, 2025
6bf0fd6
Update Logging Verbosity for Test/Dev
Ezequiel-Valencia Aug 1, 2025
33269ee
Update How Jobs are Handled
Ezequiel-Valencia Aug 1, 2025
1a02940
Manual Test for Queue Overflow
Ezequiel-Valencia Aug 5, 2025
92ef364
Export Queue Error Handling and Jobs
Ezequiel-Valencia Aug 5, 2025
d886f49
Everything Synchronized
Ezequiel-Valencia Aug 5, 2025
1b83de1
Specify Log Categories
Ezequiel-Valencia Aug 5, 2025
429b8bc
Fix Python Client Generation
Ezequiel-Valencia Aug 5, 2025
8b6756d
Required Sim Files
Ezequiel-Valencia Aug 5, 2025
23ebe78
Remove Unused DB Files
Ezequiel-Valencia Aug 6, 2025
e623678
Merge branch 'master' into export-control
Ezequiel-Valencia Aug 6, 2025
32fa6f8
Rename Several Classes
Ezequiel-Valencia Aug 7, 2025
0c945ef
Return Empty Set for Status Update
Ezequiel-Valencia Aug 7, 2025
dcf68d6
Allow Concurrent Export Processing
Ezequiel-Valencia Aug 7, 2025
aa5f834
Update Client
Ezequiel-Valencia Aug 7, 2025
404b2d1
Update Export to Use Topic Instead
Ezequiel-Valencia Aug 13, 2025
309c01d
Refactor Server Export Event Controller
Ezequiel-Valencia Aug 15, 2025
07deeb0
Update Client to Use Epoch Second
Ezequiel-Valencia Aug 15, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
13 changes: 13 additions & 0 deletions docker/build/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -102,13 +102,25 @@ build_api() {
build_rest() {
echo "building $repo/vcell-rest:$tag"
echo "$SUDO_CMD docker buildx build --platform=linux/amd64 -f ../../vcell-rest/src/main/docker/Dockerfile.jvm --tag $repo/vcell-rest:$tag ../../vcell-rest"
mvn clean install -DskipTests -Dvcell.exporter=false -f ../../vcell-rest/pom.xml
$SUDO_CMD docker buildx build --platform=linux/amd64 -f ../../vcell-rest/src/main/docker/Dockerfile.jvm --tag $repo/vcell-rest:$tag ../../vcell-rest
if [[ $? -ne 0 ]]; then echo "docker buildx build --platform=linux/amd64 failed"; exit 1; fi
if [ "$skip_push" == "false" ]; then
$SUDO_CMD docker push $repo/vcell-rest:$tag
fi
}

build_exporter() {
echo "building $repo/vcell-rest:$tag"
echo "$SUDO_CMD docker buildx build --platform=linux/amd64 -f ../../vcell-rest/src/main/docker/Dockerfile.jvm --tag $repo/vcell-exporter:$tag ../../vcell-rest"
mvn clean install -DskipTests -Dvcell.exporter=true -f ../../vcell-rest/pom.xml
$SUDO_CMD docker buildx build --platform=linux/amd64 -f ../../vcell-rest/src/main/docker/Dockerfile.jvm --tag $repo/vcell-exporter:$tag ../../vcell-rest
if [[ $? -ne 0 ]]; then echo "docker buildx build --platform=linux/amd64 failed"; exit 1; fi
if [ "$skip_push" == "false" ]; then
$SUDO_CMD docker push $repo/vcell-exporter:$tag
fi
}


build_webapp_common() {
config=$1
Expand Down Expand Up @@ -251,6 +263,7 @@ case $target in
;;
rest)
build_rest
build_exporter
exit $?
;;
webapp)
Expand Down
54 changes: 54 additions & 0 deletions python-restclient/.openapi-generator/FILES
Original file line number Diff line number Diff line change
Expand Up @@ -3,25 +3,39 @@
README.md
docs/AccesTokenRepresentationRecord.md
docs/AdminResourceApi.md
docs/AnalyticCurve.md
docs/AnnotatedFunctionDTO.md
docs/ApplicationInfo.md
docs/BatchSystemType.md
docs/BioModel.md
docs/BioModelChildSummary.md
docs/BioModelResourceApi.md
docs/BioModelSummary.md
docs/BiomodelRef.md
docs/CompositeCurve.md
docs/ControlPointCurve.md
docs/Coordinate.md
docs/Curve.md
docs/CurveSelectionInfo.md
docs/DataIdentifier.md
docs/DetailedState.md
docs/Domain.md
docs/ExportEvent.md
docs/ExportProgressType.md
docs/ExportResourceApi.md
docs/ExportableDataType.md
docs/Extent.md
docs/ExternalDataIdentifier.md
docs/FieldData.md
docs/FieldDataReference.md
docs/FieldDataResourceApi.md
docs/FieldDataSavedResults.md
docs/FieldDataShape.md
docs/FunctionCategory.md
docs/GIFImage.md
docs/GeometryMode.md
docs/GeometryResourceApi.md
docs/GeometrySpecDTO.md
docs/GeometrySummary.md
docs/GroupAccess.md
docs/GroupAccessAll.md
Expand All @@ -30,6 +44,7 @@ docs/GroupAccessSome.md
docs/HelloWorldApi.md
docs/HelloWorldMessage.md
docs/HtcJobID.md
docs/HumanReadableExportData.md
docs/ISize.md
docs/Identity.md
docs/MathModelChildSummary.md
Expand All @@ -38,11 +53,13 @@ docs/MathModelSummary.md
docs/MathType.md
docs/MathmodelRef.md
docs/ModelType.md
docs/N5ExportRequest.md
docs/Origin.md
docs/Publication.md
docs/PublicationInfo.md
docs/PublicationResourceApi.md
docs/SPECIALCLAIM.md
docs/SampledCurve.md
docs/SchedulerStatus.md
docs/SimulationExecutionStatusRecord.md
docs/SimulationJobStatusRecord.md
Expand All @@ -53,8 +70,16 @@ docs/SimulationResourceApi.md
docs/SimulationStatusPersistentRecord.md
docs/SolverResourceApi.md
docs/SourceModel.md
docs/SpatialSelection.md
docs/SpatialSelectionContour.md
docs/SpatialSelectionMembrane.md
docs/SpatialSelectionVolume.md
docs/Spline.md
docs/StandardExportInfo.md
docs/Status.md
docs/StatusMessage.md
docs/TimeMode.md
docs/TimeSpecs.md
docs/User.md
docs/UserIdentityJSONSafe.md
docs/UserLoginInfoForMapping.md
Expand All @@ -68,6 +93,8 @@ docs/VCellHTTPError.md
docs/VCellSite.md
docs/VCellSoftwareVersion.md
docs/VariableDomain.md
docs/VariableMode.md
docs/VariableSpecs.md
docs/VariableType.md
docs/Version.md
docs/VersionFlag.md
Expand All @@ -77,6 +104,7 @@ vcell_client/__init__.py
vcell_client/api/__init__.py
vcell_client/api/admin_resource_api.py
vcell_client/api/bio_model_resource_api.py
vcell_client/api/export_resource_api.py
vcell_client/api/field_data_resource_api.py
vcell_client/api/geometry_resource_api.py
vcell_client/api/hello_world_api.py
Expand All @@ -92,21 +120,34 @@ vcell_client/configuration.py
vcell_client/exceptions.py
vcell_client/models/__init__.py
vcell_client/models/acces_token_representation_record.py
vcell_client/models/analytic_curve.py
vcell_client/models/annotated_function_dto.py
vcell_client/models/application_info.py
vcell_client/models/batch_system_type.py
vcell_client/models/bio_model.py
vcell_client/models/bio_model_child_summary.py
vcell_client/models/bio_model_summary.py
vcell_client/models/biomodel_ref.py
vcell_client/models/composite_curve.py
vcell_client/models/control_point_curve.py
vcell_client/models/coordinate.py
vcell_client/models/curve.py
vcell_client/models/curve_selection_info.py
vcell_client/models/data_identifier.py
vcell_client/models/detailed_state.py
vcell_client/models/domain.py
vcell_client/models/export_event.py
vcell_client/models/export_progress_type.py
vcell_client/models/exportable_data_type.py
vcell_client/models/extent.py
vcell_client/models/external_data_identifier.py
vcell_client/models/field_data.py
vcell_client/models/field_data_reference.py
vcell_client/models/field_data_saved_results.py
vcell_client/models/field_data_shape.py
vcell_client/models/function_category.py
vcell_client/models/geometry_mode.py
vcell_client/models/geometry_spec_dto.py
vcell_client/models/geometry_summary.py
vcell_client/models/gif_image.py
vcell_client/models/group_access.py
Expand All @@ -115,16 +156,19 @@ vcell_client/models/group_access_none.py
vcell_client/models/group_access_some.py
vcell_client/models/hello_world_message.py
vcell_client/models/htc_job_id.py
vcell_client/models/human_readable_export_data.py
vcell_client/models/i_size.py
vcell_client/models/identity.py
vcell_client/models/math_model_child_summary.py
vcell_client/models/math_model_summary.py
vcell_client/models/math_type.py
vcell_client/models/mathmodel_ref.py
vcell_client/models/model_type.py
vcell_client/models/n5_export_request.py
vcell_client/models/origin.py
vcell_client/models/publication.py
vcell_client/models/publication_info.py
vcell_client/models/sampled_curve.py
vcell_client/models/scheduler_status.py
vcell_client/models/simulation_execution_status_record.py
vcell_client/models/simulation_job_status_record.py
Expand All @@ -133,9 +177,17 @@ vcell_client/models/simulation_queue_entry_status_record.py
vcell_client/models/simulation_queue_id.py
vcell_client/models/simulation_status_persistent_record.py
vcell_client/models/source_model.py
vcell_client/models/spatial_selection.py
vcell_client/models/spatial_selection_contour.py
vcell_client/models/spatial_selection_membrane.py
vcell_client/models/spatial_selection_volume.py
vcell_client/models/specialclaim.py
vcell_client/models/spline.py
vcell_client/models/standard_export_info.py
vcell_client/models/status.py
vcell_client/models/status_message.py
vcell_client/models/time_mode.py
vcell_client/models/time_specs.py
vcell_client/models/user.py
vcell_client/models/user_identity_json_safe.py
vcell_client/models/user_login_info_for_mapping.py
Expand All @@ -144,6 +196,8 @@ vcell_client/models/v_cell_http_error.py
vcell_client/models/v_cell_site.py
vcell_client/models/v_cell_software_version.py
vcell_client/models/variable_domain.py
vcell_client/models/variable_mode.py
vcell_client/models/variable_specs.py
vcell_client/models/variable_type.py
vcell_client/models/vc_document_type.py
vcell_client/models/vc_image_summary.py
Expand Down
28 changes: 28 additions & 0 deletions python-restclient/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,8 @@ Class | Method | HTTP request | Description
*BioModelResourceApi* | [**get_bio_model_summary**](docs/BioModelResourceApi.md#get_bio_model_summary) | **GET** /api/v1/bioModel/{bioModelID}/summary | All of the text based information about a BioModel (summary, version, publication status, etc...), but not the actual BioModel itself.
*BioModelResourceApi* | [**get_bio_model_vcml**](docs/BioModelResourceApi.md#get_bio_model_vcml) | **GET** /api/v1/bioModel/{bioModelID}/vcml_download | Get the BioModel in VCML format.
*BioModelResourceApi* | [**save_bio_model**](docs/BioModelResourceApi.md#save_bio_model) | **POST** /api/v1/bioModel | Save's the given BioModel. Optional parameters of name and simulations to update due to math changes. Returns saved BioModel as VCML.
*ExportResourceApi* | [**export_n5**](docs/ExportResourceApi.md#export_n5) | **POST** /api/v1/export/N5 |
*ExportResourceApi* | [**export_status**](docs/ExportResourceApi.md#export_status) | **GET** /api/v1/export/status |
*FieldDataResourceApi* | [**advanced_create**](docs/FieldDataResourceApi.md#advanced_create) | **POST** /api/v1/fieldData/advancedCreate | Create Field Data with granular detail in one request.The following files are accepted: .tif and .zip.
*FieldDataResourceApi* | [**analyze_file**](docs/FieldDataResourceApi.md#analyze_file) | **POST** /api/v1/fieldData/analyzeFile | Analyze uploaded image file (Tiff, Zip, and Non-GPL BioFormats) and return field data. Color mapped images not supported (the colors in those images will be interpreted as separate channels). Filenames must be lowercase alphanumeric, and can contain underscores.
*FieldDataResourceApi* | [**copy_models_field_data**](docs/FieldDataResourceApi.md#copy_models_field_data) | **POST** /api/v1/fieldData/copyModelsFieldData | Copy all existing field data from a BioModel/MathModel that you have access to, but don't own.
Expand Down Expand Up @@ -146,40 +148,56 @@ Class | Method | HTTP request | Description
## Documentation For Models

- [AccesTokenRepresentationRecord](docs/AccesTokenRepresentationRecord.md)
- [AnalyticCurve](docs/AnalyticCurve.md)
- [AnnotatedFunctionDTO](docs/AnnotatedFunctionDTO.md)
- [ApplicationInfo](docs/ApplicationInfo.md)
- [BatchSystemType](docs/BatchSystemType.md)
- [BioModel](docs/BioModel.md)
- [BioModelChildSummary](docs/BioModelChildSummary.md)
- [BioModelSummary](docs/BioModelSummary.md)
- [BiomodelRef](docs/BiomodelRef.md)
- [CompositeCurve](docs/CompositeCurve.md)
- [ControlPointCurve](docs/ControlPointCurve.md)
- [Coordinate](docs/Coordinate.md)
- [Curve](docs/Curve.md)
- [CurveSelectionInfo](docs/CurveSelectionInfo.md)
- [DataIdentifier](docs/DataIdentifier.md)
- [DetailedState](docs/DetailedState.md)
- [Domain](docs/Domain.md)
- [ExportEvent](docs/ExportEvent.md)
- [ExportProgressType](docs/ExportProgressType.md)
- [ExportableDataType](docs/ExportableDataType.md)
- [Extent](docs/Extent.md)
- [ExternalDataIdentifier](docs/ExternalDataIdentifier.md)
- [FieldData](docs/FieldData.md)
- [FieldDataReference](docs/FieldDataReference.md)
- [FieldDataSavedResults](docs/FieldDataSavedResults.md)
- [FieldDataShape](docs/FieldDataShape.md)
- [FunctionCategory](docs/FunctionCategory.md)
- [GIFImage](docs/GIFImage.md)
- [GeometryMode](docs/GeometryMode.md)
- [GeometrySpecDTO](docs/GeometrySpecDTO.md)
- [GeometrySummary](docs/GeometrySummary.md)
- [GroupAccess](docs/GroupAccess.md)
- [GroupAccessAll](docs/GroupAccessAll.md)
- [GroupAccessNone](docs/GroupAccessNone.md)
- [GroupAccessSome](docs/GroupAccessSome.md)
- [HelloWorldMessage](docs/HelloWorldMessage.md)
- [HtcJobID](docs/HtcJobID.md)
- [HumanReadableExportData](docs/HumanReadableExportData.md)
- [ISize](docs/ISize.md)
- [Identity](docs/Identity.md)
- [MathModelChildSummary](docs/MathModelChildSummary.md)
- [MathModelSummary](docs/MathModelSummary.md)
- [MathType](docs/MathType.md)
- [MathmodelRef](docs/MathmodelRef.md)
- [ModelType](docs/ModelType.md)
- [N5ExportRequest](docs/N5ExportRequest.md)
- [Origin](docs/Origin.md)
- [Publication](docs/Publication.md)
- [PublicationInfo](docs/PublicationInfo.md)
- [SPECIALCLAIM](docs/SPECIALCLAIM.md)
- [SampledCurve](docs/SampledCurve.md)
- [SchedulerStatus](docs/SchedulerStatus.md)
- [SimulationExecutionStatusRecord](docs/SimulationExecutionStatusRecord.md)
- [SimulationJobStatusRecord](docs/SimulationJobStatusRecord.md)
Expand All @@ -188,8 +206,16 @@ Class | Method | HTTP request | Description
- [SimulationQueueID](docs/SimulationQueueID.md)
- [SimulationStatusPersistentRecord](docs/SimulationStatusPersistentRecord.md)
- [SourceModel](docs/SourceModel.md)
- [SpatialSelection](docs/SpatialSelection.md)
- [SpatialSelectionContour](docs/SpatialSelectionContour.md)
- [SpatialSelectionMembrane](docs/SpatialSelectionMembrane.md)
- [SpatialSelectionVolume](docs/SpatialSelectionVolume.md)
- [Spline](docs/Spline.md)
- [StandardExportInfo](docs/StandardExportInfo.md)
- [Status](docs/Status.md)
- [StatusMessage](docs/StatusMessage.md)
- [TimeMode](docs/TimeMode.md)
- [TimeSpecs](docs/TimeSpecs.md)
- [User](docs/User.md)
- [UserIdentityJSONSafe](docs/UserIdentityJSONSafe.md)
- [UserLoginInfoForMapping](docs/UserLoginInfoForMapping.md)
Expand All @@ -201,6 +227,8 @@ Class | Method | HTTP request | Description
- [VCellSite](docs/VCellSite.md)
- [VCellSoftwareVersion](docs/VCellSoftwareVersion.md)
- [VariableDomain](docs/VariableDomain.md)
- [VariableMode](docs/VariableMode.md)
- [VariableSpecs](docs/VariableSpecs.md)
- [VariableType](docs/VariableType.md)
- [Version](docs/Version.md)
- [VersionFlag](docs/VersionFlag.md)
Expand Down
36 changes: 36 additions & 0 deletions python-restclient/docs/AnalyticCurve.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# AnalyticCurve


## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**type** | **str** | | [default to 'AnalyticCurve']
**exp_x** | **str** | | [optional]
**exp_y** | **str** | | [optional]
**exp_z** | **str** | | [optional]
**offset** | [**Coordinate**](Coordinate.md) | | [optional]
**analytic_offset** | [**Coordinate**](Coordinate.md) | | [optional]
**default_num_samples** | **int** | | [optional]
**segment_count** | **int** | | [optional]
**valid** | **bool** | | [optional]

## Example

```python
from vcell_client.models.analytic_curve import AnalyticCurve

# TODO update the JSON string below
json = "{}"
# create an instance of AnalyticCurve from a JSON string
analytic_curve_instance = AnalyticCurve.from_json(json)
# print the JSON string representation of the object
print AnalyticCurve.to_json()

# convert the object into a dict
analytic_curve_dict = analytic_curve_instance.to_dict()
# create an instance of AnalyticCurve from a dict
analytic_curve_form_dict = analytic_curve.from_dict(analytic_curve_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)


33 changes: 33 additions & 0 deletions python-restclient/docs/AnnotatedFunctionDTO.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# AnnotatedFunctionDTO


## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**function_name** | **str** | | [optional]
**function_expression** | **str** | | [optional]
**error** | **str** | | [optional]
**domain** | [**Domain**](Domain.md) | | [optional]
**function_type** | [**VariableType**](VariableType.md) | | [optional]
**category** | [**FunctionCategory**](FunctionCategory.md) | | [optional]

## Example

```python
from vcell_client.models.annotated_function_dto import AnnotatedFunctionDTO

# TODO update the JSON string below
json = "{}"
# create an instance of AnnotatedFunctionDTO from a JSON string
annotated_function_dto_instance = AnnotatedFunctionDTO.from_json(json)
# print the JSON string representation of the object
print AnnotatedFunctionDTO.to_json()

# convert the object into a dict
annotated_function_dto_dict = annotated_function_dto_instance.to_dict()
# create an instance of AnnotatedFunctionDTO from a dict
annotated_function_dto_form_dict = annotated_function_dto.from_dict(annotated_function_dto_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)


Loading