{"id":188950,"name":"msc_pygeoapi","description":"The Meteorological Service of Canada Python API provides up-to-date information on past, present and future weather conditions, climate, water and environmental information over Canada and the world.","url":"https://github.com/eccc-msc/msc-pygeoapi","last_synced_at":"2026-04-10T04:03:51.900Z","repository":{"id":37085726,"uuid":"257332933","full_name":"ECCC-MSC/msc-pygeoapi","owner":"ECCC-MSC","description":"MSC OGC API pygeoapi deployment","archived":false,"fork":false,"pushed_at":"2026-03-05T13:02:43.000Z","size":1971,"stargazers_count":22,"open_issues_count":1,"forks_count":28,"subscribers_count":10,"default_branch":"master","last_synced_at":"2026-03-19T05:13:43.354Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ECCC-MSC.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-04-20T16:00:52.000Z","updated_at":"2026-03-05T13:02:47.000Z","dependencies_parsed_at":"2023-10-11T20:49:32.035Z","dependency_job_id":"5e32338a-f371-4a36-b605-d1fd74ea9af4","html_url":"https://github.com/ECCC-MSC/msc-pygeoapi","commit_stats":{"total_commits":576,"total_committers":25,"mean_commits":23.04,"dds":0.4913194444444444,"last_synced_commit":"ab4615b4a27bb8c563b5407d2b9152d582a0f7b7"},"previous_names":[],"tags_count":89,"template":false,"template_full_name":null,"purl":"pkg:github/ECCC-MSC/msc-pygeoapi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ECCC-MSC%2Fmsc-pygeoapi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ECCC-MSC%2Fmsc-pygeoapi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ECCC-MSC%2Fmsc-pygeoapi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ECCC-MSC%2Fmsc-pygeoapi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ECCC-MSC","download_url":"https://codeload.github.com/ECCC-MSC/msc-pygeoapi/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ECCC-MSC%2Fmsc-pygeoapi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30995162,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-26T18:07:05.776Z","status":"ssl_error","status_checked_at":"2026-03-26T18:07:05.331Z","response_time":114,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"ECCC-MSC","name":"Meteorological Service of Canada","uuid":"18532679","kind":"organization","description":"","email":null,"website":"https://www.ec.gc.ca/meteo-weather","location":"Canada","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/18532679?v=4","repositories_count":12,"last_synced_at":"2023-03-01T04:15:20.833Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ECCC-MSC","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-12T03:46:54.396Z","updated_at":"2023-03-01T04:15:20.859Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ECCC-MSC","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ECCC-MSC/repositories"},"packages":[],"commits":{"id":1543512,"full_name":"eccc-msc/msc-pygeoapi","default_branch":"master","total_commits":723,"total_committers":28,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":25.821428571428573,"dds":0.5463347164591978,"past_year_total_commits":109,"past_year_total_committers":7,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":15.571428571428571,"past_year_dds":0.7155963302752293,"last_synced_at":"2026-03-20T18:09:11.573Z","last_synced_commit":"cd281b743cf5ecf299ff81dfe9524cb9754d008f","created_at":"2024-03-05T00:17:40.942Z","updated_at":"2026-03-20T18:04:54.736Z","committers":[{"name":"Tom Kralidis","email":"tomkralidis@gmail.com","login":"tomkralidis","count":328},{"name":"Louis-Philippe Rousseau Lambert","email":"11634764+RousseauLambertLP","login":"RousseauLambertLP","count":125},{"name":"Etienne Pelletier","email":"etienne.pelletier@canada.ca","login":"Dukestep","count":92},{"name":"Kevin Ngai","email":"kngai","login":"kngai","count":51},{"name":"Louis-Philippe Rousseau Lambert","email":"louis-philippe.rousseaulambert@canada.ca","login":null,"count":23},{"name":"JustAProjectacc","email":"116204472+JustAProjectacc","login":"JustAProjectacc","count":14},{"name":"adanb13","email":"83403825+adanb13","login":"adanb13","count":14},{"name":"Alex Hurka","email":"alexander.hurka@canada.ca","login":null,"count":12},{"name":"Bob Du","email":"dub@geomet-dev-02.cmc.ec.gc.ca","login":null,"count":10},{"name":"BrunoFang","email":"bruno.fang@ec.gc.ca","login":"BrunoFang","count":6},{"name":"kngai","email":"asptken@geomet-dev-03.cmc.ec.gc.ca","login":null,"count":5},{"name":"felixlaframboise","email":"felix.laframboise@canada.ca","login":null,"count":5},{"name":"Geomet user for nightly docker builds","email":"geomet-nightly@geomet-dev-31.edc-mtl.ec.gc.ca","login":null,"count":4},{"name":"Pelletier","email":"Etienne.Pelletier@ec.gc.ca","login":null,"count":4},{"name":"Ines Bosch-Alfonso","email":"62808732+InesBosch","login":"InesBosch","count":4},{"name":"westhav3","email":"39276715+rjwest","login":"rjwest","count":4},{"name":"PhilippeTh","email":"90930345+PhilippeTh","login":"PhilippeTh","count":4},{"name":"cpomer10","email":"48334425+cpomer10","login":"cpomer10","count":3},{"name":"Adam Capparelli","email":"capparellia@geomet-dev-02.cmc.ec.gc.ca","login":null,"count":3},{"name":"tom-cooney","email":"31870330+tom-cooney","login":"tom-cooney","count":2},{"name":"Mzafar2","email":"mustafa.zafar@ec.gc.ca","login":"Mzafar2","count":2},{"name":"Alexandre Leroux","email":"alexandre.leroux@canada.ca","login":null,"count":2},{"name":"Samanta-A. Emes-Lapointe","email":"samanta-alondra.emes-lapointe@ec.gc.ca","login":"saemeslapointe","count":1},{"name":"Bob Du","email":"bob.du@canada.ca","login":null,"count":1},{"name":"Kevin Ngai","email":"kngai@users.noreply.github","login":null,"count":1},{"name":"Kevin Ngai","email":"ngaik@geomet-dev-22.cmc.ec.gc.ca","login":null,"count":1},{"name":"Munim Adil","email":"adilm@infopool-dev1.cmc.ec.gc.ca","login":null,"count":1},{"name":"Alexandre Leroux","email":"alexandre.leroux@ec.gc.ca","login":"alexandreleroux","count":1}],"past_year_committers":[{"name":"Louis-Philippe Rousseau Lambert","email":"11634764+RousseauLambertLP","login":"RousseauLambertLP","count":31},{"name":"Tom Kralidis","email":"tomkralidis@gmail.com","login":"tomkralidis","count":26},{"name":"Etienne Pelletier","email":"etienne.pelletier@canada.ca","login":"Dukestep","count":24},{"name":"JustAProjectacc","email":"116204472+JustAProjectacc","login":"JustAProjectacc","count":14},{"name":"Kevin Ngai","email":"kngai","login":"kngai","count":8},{"name":"BrunoFang","email":"bruno.fang@ec.gc.ca","login":"BrunoFang","count":5},{"name":"Kevin Ngai","email":"kngai@users.noreply.github","login":null,"count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/eccc-msc%2Fmsc-pygeoapi/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-03-22T00:00:10.023Z","repositories_count":6200908,"commits_count":935560976,"contributors_count":36110639,"owners_count":1144395,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"eccc-msc/msc-pygeoapi","html_url":"https://github.com/eccc-msc/msc-pygeoapi","last_synced_at":"2026-03-20T18:03:05.055Z","status":"active","issues_count":8,"pull_requests_count":325,"avg_time_to_close_issue":28409117.14285714,"avg_time_to_close_pull_request":1010867.5358361775,"issues_closed_count":7,"pull_requests_closed_count":293,"pull_request_authors_count":13,"issue_authors_count":7,"avg_comments_per_issue":1.625,"avg_comments_per_pull_request":0.16,"merged_pull_requests_count":286,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":1,"past_year_pull_requests_count":86,"past_year_avg_time_to_close_issue":1050.0,"past_year_avg_time_to_close_pull_request":353655.884057971,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":69,"past_year_pull_request_authors_count":6,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":0.11627906976744186,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":69,"created_at":"2024-03-05T00:17:58.104Z","updated_at":"2026-03-20T18:03:05.055Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/eccc-msc%2Fmsc-pygeoapi","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/eccc-msc%2Fmsc-pygeoapi/issues","issue_labels_count":{"enhancement":1,"questions":1},"pull_request_labels_count":{"backport required":6,"on hold":4,"bug":1},"issue_author_associations_count":{"NONE":6,"MEMBER":1,"CONTRIBUTOR":1},"pull_request_author_associations_count":{"CONTRIBUTOR":272,"MEMBER":43,"NONE":10},"issue_authors":{"BrunoFang":2,"MagikEh":1,"julemai":1,"tristan-morris":1,"RousseauLambertLP":1,"tomkralidis":1,"bo-lu":1},"pull_request_authors":{"RousseauLambertLP":105,"Dukestep":93,"tomkralidis":43,"kngai":36,"JustAProjectacc":15,"adanb13":13,"BrunoFang":8,"Mzafar2":4,"gdecourval":2,"saemeslapointe":2,"moonscape09":2,"ndiondegodez":1,"PhilippeTh":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-03-22T00:00:10.760Z","repositories_count":13871301,"issues_count":34658133,"pull_requests_count":113192313,"authors_count":11208379,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{"on hold":4,"backport required":4},"past_year_issue_author_associations_count":{"NONE":1},"past_year_pull_request_author_associations_count":{"CONTRIBUTOR":74,"MEMBER":11,"NONE":1},"past_year_issue_authors":{"MagikEh":1},"past_year_pull_request_authors":{"RousseauLambertLP":30,"Dukestep":19,"JustAProjectacc":15,"tomkralidis":11,"kngai":7,"BrunoFang":4},"maintainers":[{"login":"tomkralidis","count":44,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/tomkralidis"}],"active_maintainers":[{"login":"tomkralidis","count":11,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/tomkralidis"}]},"events":{"total":{"DeleteEvent":18,"PullRequestEvent":159,"ForkEvent":2,"IssuesEvent":3,"WatchEvent":5,"IssueCommentEvent":18,"PushEvent":135,"PullRequestReviewEvent":42,"PullRequestReviewCommentEvent":47,"CreateEvent":32},"last_year":{"DeleteEvent":9,"PullRequestEvent":90,"IssuesEvent":3,"WatchEvent":2,"IssueCommentEvent":9,"PushEvent":88,"PullRequestReviewEvent":31,"PullRequestReviewCommentEvent":39,"CreateEvent":19}},"keywords":[],"dependencies":[{"ecosystem":"pypi","filepath":"requirements-dev.txt","sha":null,"kind":"manifest","created_at":"2022-06-24T15:29:59.998Z","updated_at":"2022-06-24T15:29:59.998Z","repository_link":"https://github.com/ECCC-MSC/msc-pygeoapi/blob/master/requirements-dev.txt","dependencies":[{"id":47581574,"package_name":"flake8","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":47581575,"package_name":"pytest","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"requirements-oracle.txt","sha":null,"kind":"manifest","created_at":"2022-06-24T15:30:00.685Z","updated_at":"2022-06-24T15:30:00.685Z","repository_link":"https://github.com/ECCC-MSC/msc-pygeoapi/blob/master/requirements-oracle.txt","dependencies":[{"id":47581624,"package_name":"cx_Oracle","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"requirements.txt","sha":null,"kind":"manifest","created_at":"2022-06-24T15:30:01.823Z","updated_at":"2022-06-24T15:30:01.823Z","repository_link":"https://github.com/ECCC-MSC/msc-pygeoapi/blob/master/requirements.txt","dependencies":[{"id":47581971,"package_name":"click","ecosystem":"pypi","requirements":"\u003c8","direct":true,"kind":"runtime","optional":false},{"id":47581972,"package_name":"elasticsearch","ecosystem":"pypi","requirements":"\u003c8","direct":true,"kind":"runtime","optional":false},{"id":47581973,"package_name":"gdal","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":47581974,"package_name":"lxml","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":47581975,"package_name":"parse","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":47581976,"package_name":"pyproj","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":47581977,"package_name":"python-slugify","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":47581978,"package_name":"pyyaml","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":47581979,"package_name":"rasterio","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":47581980,"package_name":"requests","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":47581981,"package_name":"sqlalchemy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":47581982,"package_name":"unicodecsv","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":47581983,"package_name":"xarray","ecosystem":"pypi","requirements":"==0.10.2","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/flake8.yml","sha":null,"kind":"manifest","created_at":"2023-02-18T10:45:53.729Z","updated_at":"2023-02-18T10:45:53.729Z","repository_link":"https://github.com/ECCC-MSC/msc-pygeoapi/blob/master/.github/workflows/flake8.yml","dependencies":[{"id":7759981722,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7759981724,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/main.yml","sha":null,"kind":"manifest","created_at":"2023-02-18T10:45:55.531Z","updated_at":"2023-02-18T10:45:55.531Z","repository_link":"https://github.com/ECCC-MSC/msc-pygeoapi/blob/master/.github/workflows/main.yml","dependencies":[{"id":7759981820,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7759981821,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"docker","filepath":"Dockerfile","sha":null,"kind":"manifest","created_at":"2023-10-11T20:49:31.964Z","updated_at":"2023-10-11T20:49:31.964Z","repository_link":"https://github.com/ECCC-MSC/msc-pygeoapi/blob/master/Dockerfile","dependencies":[{"id":14157718239,"package_name":"ubuntu","ecosystem":"docker","requirements":"focal","direct":true,"kind":"build","optional":false}]},{"ecosystem":"docker","filepath":"docker/docker-compose.override.yml","sha":null,"kind":"manifest","created_at":"2023-10-11T20:49:31.987Z","updated_at":"2023-10-11T20:49:31.987Z","repository_link":"https://github.com/ECCC-MSC/msc-pygeoapi/blob/master/docker/docker-compose.override.yml","dependencies":[]},{"ecosystem":"docker","filepath":"docker/docker-compose.yml","sha":null,"kind":"manifest","created_at":"2023-10-11T20:49:31.999Z","updated_at":"2023-10-11T20:49:31.999Z","repository_link":"https://github.com/ECCC-MSC/msc-pygeoapi/blob/master/docker/docker-compose.yml","dependencies":[{"id":14157718240,"package_name":"eccc-msc/msc-pygeoapi","ecosystem":"docker","requirements":"nightly","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"setup.py","sha":null,"kind":"manifest","created_at":"2023-10-11T20:49:32.026Z","updated_at":"2023-10-11T20:49:32.026Z","repository_link":"https://github.com/ECCC-MSC/msc-pygeoapi/blob/master/setup.py","dependencies":[]}],"score":6.467698726104354,"created_at":"2024-03-05T00:17:40.025Z","updated_at":"2026-04-10T04:03:51.961Z","avatar_url":"https://github.com/ECCC-MSC.png","language":"Python","category":"Sustainable Development","sub_category":"Data Catalogs and Interfaces","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"[![Build Status](https://github.com/ECCC-MSC/msc-pygeoapi/workflows/build%20%E2%9A%99%EF%B8%8F/badge.svg)](https://github.com/ECCC-MSC/msc-pygeoapi/actions)\n[![Build Status](https://github.com/ECCC-MSC/msc-pygeoapi/workflows/flake8%20%E2%9A%99%EF%B8%8F/badge.svg)](https://github.com/ECCC-MSC/msc-pygeoapi/actions)\n\n# msc_pygeoapi\n\n## Overview\n\nMSC GeoMet pygeoapi server configuration and utilities\n\n## Installation\n\n### Requirements\n- Python 3\n- [virtualenv](https://virtualenv.pypa.io/)\n\n### Dependencies\nDependencies are listed in [requirements.txt](requirements.txt). Dependencies\nare automatically installed during msc-pygeoapi installation.\n\nDependencies of note:\n- [Elasticsearch](https://elastic.co) (5 or above)\n - i.e. `sudo echo `deb https://artifacts.elastic.co/packages/5.x/apt stable main` \u003e /etc/apt/sources.list.d/elastic.list`\n - [pygeoapi](https://github.com/geopython/pygeoapi)\n\n### Installing msc-pygeoapi\n```bash\n# setup virtualenv\npython3 -m venv --system-site-packages msc-pygeoapi\ncd msc-pygeoapi\nsource bin/activate\n\n# clone codebase\ngit clone https://github.com/ECCC-MSC/msc-pygeoapi.git\ncd msc-pygeoapi\n\n# add GCWeb theme files\ncurl -L https://github.com/wet-boew/GCWeb/releases/download/v14.6.0/themes-dist-14.6.0-gcweb.1.zip -o ./themes-gcweb.zip \nunzip -o ./themes-gcweb.zip \"*/GCWeb/*\" -d theme/static\nunzip -o ./themes-gcweb.zip \"*/wet-boew/*\" -d theme/static\nmv ./theme/static/themes-dist-14.6.0-gcweb ./theme/static/themes-gcweb\nrm -f ./themes-gcweb.zip\n\n# compile translation files (generate locale/*/LC_MESSAGES/message.mo)\npybabel compile -d locale -l fr\n\n# install codebase\npython setup.py build\npython setup.py install\n\n# configure environment\ncp msc-pygeoapi.env dev.env\nvi dev.env # edit paths accordingly\n. dev.env\n\n# serve API\npygeoapi serve\n```\n\n## Running\n\n```bash\nmsc-pygeoapi --version\n```\n\nServer will be located at http://localhost/features\n\n# Sample Queries\n\n## Hydrometric features (Water Level and Flow)\n\n```bash\n\n# all collections\nhttp://localhost/features/collections\n\n# hydrometric daily mean\nhttp://localhost/features/collections/hydrometric-daily-mean\n\n# filter by time\nhttp://localhost/features/collections/hydrometric-daily-mean/items?time=2011-11-11/2012-11-11\n\n# filter by bbox\nhttp://localhost/features/collections/hydrometric-daily-mean/items?bbox=-80,45,-50,55\n\n# filter by station number\nhttp://localhost/features/collections/hydrometric-daily-mean/items?STATION_NUMBER=02RH066\n\n# filter by bbox\nhttp://localhost/features/collections/hydrometric-daily-mean/items?bbox=-80,40,-50,54\n\n# filter by station number and time\nhttp://localhost/features/collections/hydrometric-daily-mean/items?STATION_NUMBER=02RH066\u0026time=2011-01-01/2012-12-31\n\n# filter by station number and time, limit results\nhttp://localhost/features/collections/hydrometric-daily-mean/items?STATION_NUMBER=02RH066\u0026time=2011-01-01/2012-12-31\u0026limit=100\n\n# filter by station number and time, limit and page results\nhttp://localhost/features/collections/hydrometric-daily-mean/items?STATION_NUMBER=02RH066\u0026time=2011-01-01/2012-12-31\u0026limit=100\u0026offset=100\n\n# HTML respsonses\n# filter by active stations in Nunavut\nhttp://localhost/features/collections/hydrometric-stations/items?STATUS_EN=Active\u0026limit=5000\u0026f=html\u0026PROV_TERR_STATE_LOC=NU\n```\n\n## Running the loaders\n\n```bash\npip install -r requirements-oracle.txt\n\n# view all data loaders available\nmsc-pygeoapi data\n\n# examples for some loaders\nmsc-pygeoapi data hydat \u003crest of flags/parameters\u003e\nmsc-pygeoapi data climate-archive \u003crest of flags/parameters\u003e\nmsc-pygeoapi data ahccd_cmip5 \u003crest of flags/parameters\u003e\nmsc-pygeoapi data marine-weather add -d \u003cpath_to_directory of XML files\u003e\n\n# bulletins - delete index\nmsc-pygeoapi data bulletins_realtime delete-index  # use --yes flag to bypass prompt\n\n# realtime - standard workflow\nmsc-pygeoapi data hydrometric-realtime cache-stations  # download stations list to $MSC_PYGEOAPI_CACHEDIR location\n\nsr_subscribe start deploy/default/sarracenia/hydrometric_realtime.conf  # begin realtime update process\n\nmsc-pygeoapi data hydrometric-realtime clean-indexes --days 30  # use --yes flag to bypass prompt (usually in crontab)\n```\n\n## Running processes\n```bash\n\n# run the CCCS Raster drill process (returns GeoJSON by default)\nmsc-pygeoapi process cccs execute raster-drill --y=45 --x=-75 --layer=CMIP5.SFCWIND.HISTO.WINTER.ABS_PCTL95\n\n# run the CCCS Raster drill process returning CSV\nmsc-pygeoapi process cccs execute raster-drill --y=45 --x=-75 --layer=CMIP5.SFCWIND.HISTO.WINTER.ABS_PCTL95 --format=CSV\n```\n\n## Development\n\n### Running Tests\n\n```bash\n# install dev requirements\npip install -r requirements-dev.txt\n\n# API tests run against http://localhost:5000\n# use --url to override\n\n# run all tests\npytest\n\n# run one test file\npytest test/test_hydat.py\n\n# override endpoint\npytest test/test_hydat.py --url https://example.org/dev\n\n# skip API tests (run only unit tests)\npytest -k 'not api'\n```\n\n### Multilingual Updates\n\n```bash\n# Extract from latest code the keys to be translated\npybabel extract -F babel-mapping.ini -o locale/messages.pot ./\n\n# Update the existing .po language file with new/updated keys:\npybabel update -d locale -l fr -i locale/messages.pot\n\n# Open the relevant .po file and contribute your translations\nvi locale/fr/LC_MESSAGES/messages.po\n\n# Then compile a .mo file to be used by the application\npybabel compile -d locale -l fr\n```\n\n## Releasing\n\n```bash\npython setup.py sdist bdist_wheel --universal\ntwine upload dist/*\n```\n\n### Code Conventions\n\n* [PEP8](https://www.python.org/dev/peps/pep-0008)\n\n### Bugs and Issues\n\nAll bugs, enhancements and issues are managed on [GitHub](https://github.com/ECCC-MSC/msc-pygeoapi/issues).\n\n## Contact\n\n* [Tom Kralidis](https://github.com/tomkralidis)\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["downscale","weather","wms","ahccd","cangrd","cansips","climate","cmip5","mapserver","ogc"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/188950","html_url":"https://ost.ecosyste.ms/projects/188950"}