Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: CI

on:
push:
branches: [main]
pull_request:

jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: actions/setup-python@v5
with:
python-version: "3.10"

- name: Install
run: pip install urllib3 python-dateutil flake8

- name: Compile
run: python -m compileall -q sdk/aqualink_sdk

- name: Import
run: |
PYTHONPATH=sdk python -c "import aqualink_sdk; c = aqualink_sdk.Configuration(); print(aqualink_sdk.__version__, c.host)"

- name: Lint custom files
run: flake8 --max-line-length=99 sdk/aqualink_sdk/api/aggregate_api.py sdk/test_aqualink_sdk.py
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@

.DS_Store
test_aggregate_data.csv
node_modules/

22 changes: 20 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@ SHELL := /bin/bash

# Generate using openapi-generator
generate:
openapi-generator-cli generate -i https://ocean-systems.uc.r.appspot.com/api/docs-json -o ./sdk -c config.json -g python --skip-validate-spec
npx openapi-generator-cli generate -i https://production-dot-ocean-systems.uc.r.appspot.com/api/docs-json -o ./sdk -c config.json -g python --skip-validate-spec
python3 -c "$$POST_GENERATE"

build:
build:
cd sdk && rm -rf dist/* && python3 -m build

push_testpypi:
Expand All @@ -16,3 +17,20 @@ push_pypi:
# Perform sdk test
test:
python3 ./sdk/test_aqualink_sdk.py

define POST_GENERATE
from pathlib import Path

apis = Path("sdk/aqualink_sdk/apis/__init__.py")
text = apis.read_text()
line = "from aqualink_sdk.api.aggregate_api import AggregateApi\n"
marker = "# Import APIs into API package:\n"
if line not in text and marker in text:
apis.write_text(text.replace(marker, marker + line, 1))

req = Path("sdk/requirements.txt")
rt = req.read_text()
if "pandas" not in rt:
req.write_text("pandas == 1.4.2\n" + rt)
endef
export POST_GENERATE
2 changes: 1 addition & 1 deletion config.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@
"projectName": "aqualink-api",
"pythonAttrNoneIfUnset": true,
"packageUrl": "https://pypi.org/project/aqualink-api/",
"packageVersion": "1.0.8"
"packageVersion": "1.1.0"
}
4 changes: 4 additions & 0 deletions sdk/.openapi-generator-ignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,7 @@
#docs/*.md
# Then explicitly reverse the ignore rule for a single file:
#!docs/README.md

# Custom (not generated from OpenAPI)
aqualink_sdk/api/aggregate_api.py
test_aqualink_sdk.py
84 changes: 60 additions & 24 deletions sdk/.openapi-generator/FILES
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,26 @@
README.md
aqualink_sdk/__init__.py
aqualink_sdk/api/__init__.py
aqualink_sdk/api/ai_chat_api.py
aqualink_sdk/api/collections_api.py
aqualink_sdk/api/data_uploads_api.py
aqualink_sdk/api/google_cloud_storage_api.py
aqualink_sdk/api/health_check_api.py
aqualink_sdk/api/monitoring___ai_prompts_api.py
aqualink_sdk/api/monitoring_api.py
aqualink_sdk/api/reef_check_sites_api.py
aqualink_sdk/api/reef_check_surveys_api.py
aqualink_sdk/api/regions_api.py
aqualink_sdk/api/sensor_data_api.py
aqualink_sdk/api/sensors_api.py
aqualink_sdk/api/site_applications_api.py
aqualink_sdk/api/site_points_of_interest_api.py
aqualink_sdk/api/site_sketchfab_api.py
aqualink_sdk/api/sites_api.py
aqualink_sdk/api/surveys_api.py
aqualink_sdk/api/time_series_api.py
aqualink_sdk/api/users_api.py
aqualink_sdk/api/wind_wave_data_api.py
aqualink_sdk/api_client.py
aqualink_sdk/apis/__init__.py
aqualink_sdk/configuration.py
Expand All @@ -36,6 +44,7 @@ aqualink_sdk/model/create_user_dto.py
aqualink_sdk/model/daily_data.py
aqualink_sdk/model/data_uploads.py
aqualink_sdk/model/data_uploads_delete_dto.py
aqualink_sdk/model/data_uploads_sites.py
aqualink_sdk/model/deploy_spotter_dto.py
aqualink_sdk/model/edit_survey_dto.py
aqualink_sdk/model/edit_survey_media_dto.py
Expand All @@ -46,44 +55,44 @@ aqualink_sdk/model/inline_object.py
aqualink_sdk/model/inline_object1.py
aqualink_sdk/model/inline_response200.py
aqualink_sdk/model/inline_response2001.py
aqualink_sdk/model/inline_response2001_sofar_wave_model.py
aqualink_sdk/model/inline_response2001_sofar_wave_model_wind_gust_speed.py
aqualink_sdk/model/inline_response200_sofar_wave_model.py
aqualink_sdk/model/inline_response200_sofar_wave_model_wind_gust_speed.py
aqualink_sdk/model/inline_response2001_open_meteo.py
aqualink_sdk/model/inline_response2001_open_meteo_relative_humidity.py
aqualink_sdk/model/inline_response200_open_meteo.py
aqualink_sdk/model/inline_response200_open_meteo_relative_humidity.py
aqualink_sdk/model/inline_response400.py
aqualink_sdk/model/inline_response401.py
aqualink_sdk/model/inline_response404.py
aqualink_sdk/model/latest_data.py
aqualink_sdk/model/post_monitoring_metric_dto.py
aqualink_sdk/model/reef_check_organism.py
aqualink_sdk/model/reef_check_site.py
aqualink_sdk/model/reef_check_substrate.py
aqualink_sdk/model/reef_check_survey.py
aqualink_sdk/model/region.py
aqualink_sdk/model/set_admin_level_dto.py
aqualink_sdk/model/site.py
aqualink_sdk/model/site_application.py
aqualink_sdk/model/site_survey_point.py
aqualink_sdk/model/sofar_latest_data_dto.py
aqualink_sdk/model/sofar_live_data_dto.py
aqualink_sdk/model/sofar_live_data_dto_site.py
aqualink_sdk/model/sofar_live_data_dto_spotter_position.py
aqualink_sdk/model/spotter_data_dto.py
aqualink_sdk/model/sketch_fab.py
aqualink_sdk/model/survey.py
aqualink_sdk/model/survey_media.py
aqualink_sdk/model/survey_media_sensor_data.py
aqualink_sdk/model/survey_media_sensor_data_hobo.py
aqualink_sdk/model/survey_media_sensor_data_noaa.py
aqualink_sdk/model/survey_media_sensor_data_spotter.py
aqualink_sdk/model/time_series_point.py
aqualink_sdk/model/time_series_value_dto.py
aqualink_sdk/model/update_collection_dto.py
aqualink_sdk/model/update_region_dto.py
aqualink_sdk/model/update_site_application_dto.py
aqualink_sdk/model/update_site_dto.py
aqualink_sdk/model/update_site_survey_point_dto.py
aqualink_sdk/model/update_site_with_application_dto.py
aqualink_sdk/model/upload_time_series_data_dto.py
aqualink_sdk/model/user.py
aqualink_sdk/model/user_location.py
aqualink_sdk/model/video_stream.py
aqualink_sdk/model_utils.py
aqualink_sdk/models/__init__.py
aqualink_sdk/rest.py
docs/AiChatApi.md
docs/Collection.md
docs/CollectionDataDto.md
docs/CollectionsApi.md
Expand All @@ -101,6 +110,7 @@ docs/DailyData.md
docs/DataUploads.md
docs/DataUploadsApi.md
docs/DataUploadsDeleteDto.md
docs/DataUploadsSites.md
docs/DeploySpotterDto.md
docs/EditSurveyDto.md
docs/EditSurveyMediaDto.md
Expand All @@ -113,29 +123,35 @@ docs/InlineObject.md
docs/InlineObject1.md
docs/InlineResponse200.md
docs/InlineResponse2001.md
docs/InlineResponse2001SofarWaveModel.md
docs/InlineResponse2001SofarWaveModelWindGustSpeed.md
docs/InlineResponse200SofarWaveModel.md
docs/InlineResponse200SofarWaveModelWindGustSpeed.md
docs/InlineResponse2001OpenMeteo.md
docs/InlineResponse2001OpenMeteoRelativeHumidity.md
docs/InlineResponse200OpenMeteo.md
docs/InlineResponse200OpenMeteoRelativeHumidity.md
docs/InlineResponse400.md
docs/InlineResponse401.md
docs/InlineResponse404.md
docs/LatestData.md
docs/MonitoringAIPromptsApi.md
docs/MonitoringApi.md
docs/PostMonitoringMetricDto.md
docs/ReefCheckOrganism.md
docs/ReefCheckSite.md
docs/ReefCheckSitesApi.md
docs/ReefCheckSubstrate.md
docs/ReefCheckSurvey.md
docs/ReefCheckSurveysApi.md
docs/Region.md
docs/RegionsApi.md
docs/SensorDataApi.md
docs/SensorsApi.md
docs/SetAdminLevelDto.md
docs/Site.md
docs/SiteApplication.md
docs/SiteApplicationsApi.md
docs/SitePointsOfInterestApi.md
docs/SiteSketchfabApi.md
docs/SiteSurveyPoint.md
docs/SitesApi.md
docs/SofarLatestDataDto.md
docs/SofarLiveDataDto.md
docs/SofarLiveDataDtoSite.md
docs/SofarLiveDataDtoSpotterPosition.md
docs/SpotterDataDto.md
docs/SketchFab.md
docs/Survey.md
docs/SurveyMedia.md
docs/SurveyMediaSensorData.md
Expand All @@ -145,21 +161,41 @@ docs/SurveyMediaSensorDataSpotter.md
docs/SurveysApi.md
docs/TimeSeriesApi.md
docs/TimeSeriesPoint.md
docs/TimeSeriesValueDto.md
docs/UpdateCollectionDto.md
docs/UpdateRegionDto.md
docs/UpdateSiteApplicationDto.md
docs/UpdateSiteDto.md
docs/UpdateSiteSurveyPointDto.md
docs/UpdateSiteWithApplicationDto.md
docs/UploadTimeSeriesDataDto.md
docs/User.md
docs/UserLocation.md
docs/UsersApi.md
docs/VideoStream.md
docs/WindWaveDataApi.md
git_push.sh
requirements.txt
setup.cfg
setup.py
test-requirements.txt
test/__init__.py
test/test_ai_chat_api.py
test/test_data_uploads_sites.py
test/test_inline_response2001_open_meteo.py
test/test_inline_response2001_open_meteo_relative_humidity.py
test/test_inline_response200_open_meteo.py
test/test_inline_response200_open_meteo_relative_humidity.py
test/test_monitoring___ai_prompts_api.py
test/test_monitoring_api.py
test/test_post_monitoring_metric_dto.py
test/test_reef_check_organism.py
test/test_reef_check_site.py
test/test_reef_check_sites_api.py
test/test_reef_check_substrate.py
test/test_reef_check_survey.py
test/test_reef_check_surveys_api.py
test/test_sensor_data_api.py
test/test_site_sketchfab_api.py
test/test_sketch_fab.py
test/test_upload_time_series_data_dto.py
test/test_wind_wave_data_api.py
tox.ini
Loading
Loading