Recent Releases of api

api - v0.6.4

๐Ÿš€ Enhancements

  • [MNT] Update diagnosis terms to SNOMED v20250227 and standardize vocab file format #427 (@alyssadai)

Authors: 1

- Python
Published by neurobagel-bot[bot] 11 months ago

api - v0.6.3

๐Ÿ› Bug Fixes

  • [FIX] update assessments to SNOMED v20250227 and exclude non-standard terms #421 (@alyssadai)

Authors: 1

- Python
Published by neurobagel-bot[bot] 12 months ago

api - v0.6.2

:tada: This release contains work from a new contributor! :tada:

Thank you, Khushi Jitendra Rajurkar (@KhushiRajurkar), for all your work!

๐Ÿ› Bug Fixes

  • [FIX] Ensure defaults are correctly applied for environment variables set to empty strings #418 (@alyssadai)

๐Ÿ  Internal

๐Ÿ”ฉ Dependency Updates

Authors: 2

- Python
Published by neurobagel-bot[bot] 12 months ago

api - v0.6.1

๐Ÿš€ Enhancements

  • [MNT] Remove trailing slashes from all paths + rename NB_NAPI_ROOT_PATH #408 (@alyssadai)
  • [ENH] Make root_path for app configurable #400 (@alyssadai)

Authors: 1

- Python
Published by neurobagel-bot[bot] about 1 year ago

api - v0.6.0

๐Ÿ’ฅ Breaking Changes

  • [MNT] Replaced Cognitive Atlas with SNOMED #397 (@rmanaem)

Authors: 1

- Python
Published by neurobagel-bot[bot] about 1 year ago

api - v0.5.1

๐Ÿ“ Documentation

Authors: 1

- Python
Published by neurobagel-bot[bot] about 1 year ago

api - v0.5.0

๐Ÿš€ Enhancements

๐Ÿ  Internal

Authors: 1

- Python
Published by neurobagel-bot[bot] about 1 year ago

api - v0.4.3

๐Ÿ  Internal

  • [REF] Manually verify ID token using PyJWT instead of google_auth #386 (@alyssadai)

Authors: 1

- Python
Published by neurobagel-bot[bot] about 1 year ago

api - v0.4.2

๐Ÿš€ Enhancements

  • [FIX] Filter for only ImagingSessions or PhenotypicSessions in SPARQL query #375 (@alyssadai)

Authors: 1

- Python
Published by neurobagel-bot[bot] over 1 year ago

api - v0.4.1

๐Ÿ› Bug Fixes

  • [FIX] Ensure non-agg API doesn't error out when all matches lack pipeline data #369 (@alyssadai)

๐Ÿงช Tests

  • [TST] Remove unneeded env file mount from test docker-compose.yml #366 (@alyssadai)

Authors: 1

- Python
Published by neurobagel-bot[bot] over 1 year ago

api - v0.4.0

๐Ÿ’ฅ Breaking Changes

  • [REF] Split generic /attributes endpoints into attribute-specific routers #358 (@alyssadai)
  • [ENH] Implemented pipeline_version and pipeline_name query fields #345 (@rmanaem)

๐Ÿš€ Enhancements

  • [ENH] Add /pipelines router & route for fetching available pipeline versions #350 (@alyssadai)
  • [REF] Update README links and simplify Docker Compose instructions #340 (@alyssadai)

๐Ÿ› Bug Fixes

  • [FIX] Allow only "true" or None for is_control query parameter #364 (@alyssadai)
  • [FIX] Fixed a typo in filtering pipeline name #351 (@rmanaem)
  • [FIX] Ensure pipeline variables are returned from the graph in an aggregate query #349 (@alyssadai)

๐Ÿ  Internal

  • [MNT] Updated default_neurobagel_query #347 (@rmanaem)
  • [MNT] Removed build docker nightly workflow file #342 (@rmanaem)

๐Ÿ“ Documentation

  • [MNT] Update default Neurobagel SPARQL query file and turn into PR checkbox #359 (@alyssadai)

๐Ÿงช Tests

Authors: 3

- Python
Published by neurobagel-bot[bot] over 1 year ago

api - v0.3.1

๐Ÿ› Bug Fixes

  • [FIX] Ensure subjects without imaging sessions are considered in main query #333 (@alyssadai)

๐Ÿ  Internal

  • [CI] Fix reference for DOCKERHUB_REPO in builddockeron_release.yml #337 (@alyssadai)

Authors: 1

- Python
Published by neurobagel-bot[bot] over 1 year ago

api - v0.3.0

๐Ÿ’ฅ Breaking Changes

  • [FIX] Disable redirect slashes globally and remove trailing / from /query #328 (@alyssadai)
  • [ENH] Add authentication to /query route #323 (@alyssadai)

๐Ÿ› Bug Fixes

  • [FIX] Exclude sessions missing a queried property from matches #326 (@alyssadai)

Authors: 1

- Python
Published by neurobagel-bot[bot] over 1 year ago

api - v0.2.1

๐Ÿ› Bug Fixes

  • [FIX] Address performance issues in SPARQL query #308 (@surchs)
  • [FIX] Disable timeout for request to graph #305 (@alyssadai)

Authors: 2

- Python
Published by surchs almost 2 years ago

api - v0.2.0

:tada: This release contains work from a new contributor! :tada:

Thank you, Abdul Samad Siddiqui (@samadpls), for all your work!

Release Notes

[MNT] Release new data model (#300)

We have updated the Neurobagel data model to allow users to specify phenotypic information at the session level (https://github.com/neurobagel/planning/issues/83). This release updates the node API so it can understand the new graph data.


๐Ÿ’ฅ Breaking Changes

  • [REF] Make session count names clearer in query response #282 (@alyssadai)
  • [ENH] Support queries of session-level phenotypic attributes #264 (@alyssadai)

๐Ÿš€ Enhancements

  • [ENH] Added root endpoint with welcome message and API docs link #286 (@samadpls)
  • [MNT] Release new data model #300 (@surchs)
  • Delete .github/workflows/add_pr2project.yml #244 (@surchs)

๐Ÿ“ Documentation

  • [DOC] Added warning about quoting in .env file for Docker commands #284 (@samadpls)
  • [DOC] Add sample default SPARQL query to repo #277 (@alyssadai)

๐Ÿงช Tests

๐Ÿ”ฉ Dependency Updates

  • Bumped fastapi, starlette, and typing_extensions #295 (@rmanaem)

Authors: 4

- Python
Published by surchs almost 2 years ago

api - v0.1.1

Summary

This release introduces new API endpoints which return: - queryable Neurobagel variables/attributes - available instances of a specific Neurobagel attribute in the linked graph - all term IDs and associated human-readable labels of concepts from the vocabulary used for a given Neurobagel attribute

The release also introduces: - greater configurability of API and graph server parameters via environment variables - a helper shell script for automatically uploading graph-ready data (JSONLD/TTL) to an existing graph database - returning sizes of matching datasets in the API response for a subject query

What's Changed

New or improved features โœจ

  • [ENH] Increase configurability of API/graph server parameters by @alyssadai in https://github.com/neurobagel/api/pull/146
  • [ENH] Add environment variable for allowed origins for CORS by @alyssadai in https://github.com/neurobagel/api/pull/151
  • [ENH] Add query tool to docker compose by @surchs in https://github.com/neurobagel/api/pull/154
  • [FEAT] Add script to upload data to graph by @alyssadai in https://github.com/neurobagel/api/pull/156
  • [ENH] Implemented endpoint for returning available termURLs by @rmanaem in https://github.com/neurobagel/api/pull/183
  • [ENH] Add Neurobagel vocab graph file by @alyssadai in https://github.com/neurobagel/api/pull/184
  • [ENH] Update aggregate response body by @alyssadai in https://github.com/neurobagel/api/pull/193
  • [ENH] Add endpoint returning queryable attributes + refine existing endpoint for attribute instances by @alyssadai in https://github.com/neurobagel/api/pull/194
  • [ENH] Update add_data_to_graph.sh to also upload TTL files by @alyssadai in https://github.com/neurobagel/api/pull/196
  • [ENH] Add endpoint that returns term ID-label mappings for vocab of a given attribute (nb:Assessment) by @alyssadai in https://github.com/neurobagel/api/pull/201
  • [ENH] Make data upload script backend responsive by @alyssadai in https://github.com/neurobagel/api/pull/205
  • [ENH] Return human-readable labels (if available) as well as term IDs from /attributes/{data_element_URI} by @alyssadai in https://github.com/neurobagel/api/pull/218
  • [ENH] Changed the favicon to neurobagel logo by @rmanaem in https://github.com/neurobagel/api/pull/222
  • [ENH] Return dataset sizes in query response by @alyssadai in https://github.com/neurobagel/api/pull/223
  • [ENH] Add support for endpoint that will return nb:Diagnosis options from SNOMED by @alyssadai in https://github.com/neurobagel/api/pull/228

Data model-related updates :gear:

  • [MNT] Add NCIT namespace and update healthy control term by @alyssadai in https://github.com/neurobagel/api/pull/181
  • [FIX] Make session optional in SPARQL query template by @alyssadai in https://github.com/neurobagel/api/pull/229

Documentation updates ๐Ÿ“œ

  • [REF] Remove environment variable table from README by @alyssadai in https://github.com/neurobagel/api/pull/168
  • [DOC] Generalized environment variables' table by @rmanaem in https://github.com/neurobagel/api/pull/198
  • [DOC] Add link to official docs by @surchs in https://github.com/neurobagel/api/pull/219

Bug fixes ๐Ÿ› ๏ธ

  • [FIX] Fix typo in .template-env by @alyssadai in https://github.com/neurobagel/api/pull/149
  • [FIX] Remove yaml list key for APIQUERYURL by @surchs in https://github.com/neurobagel/api/pull/164
  • [FIX] Properly expose NB_GRAPH_PORT_HOST to API container by @alyssadai in https://github.com/neurobagel/api/pull/167
  • [FIX] Removed the nested variable for API_QUERY_URL env var by @rmanaem in https://github.com/neurobagel/api/pull/177
  • [FIX] Properly expose NB_GRAPH_PORT to API container by @rmanaem in https://github.com/neurobagel/api/pull/191
  • [FIX] Remove --no-progress-meter by @surchs in https://github.com/neurobagel/api/pull/227
  • [FIX] Copy vocab/ directory into container filesystem in Dockerfile by @alyssadai in https://github.com/neurobagel/api/pull/231
  • [FIX] Filtered out null imaging modalities by @rmanaem in https://github.com/neurobagel/api/pull/233
  • [FIX] Remove query tool config by @surchs in https://github.com/neurobagel/api/pull/238

Other changes ๐Ÿงน

  • [MNT] Added docker-pre-commit pre-commit hook by @rmanaem in https://github.com/neurobagel/api/pull/178
  • [REF] Refactor httpx.post call to Stardog and context creation by @alyssadai in https://github.com/neurobagel/api/pull/195
  • [MNT] Removed session_file_path from aggregate results by @rmanaem in https://github.com/neurobagel/api/pull/214
  • [REF] Organize related tests into modules and refactor setting of toy credentials by @alyssadai in https://github.com/neurobagel/api/pull/220
  • [REF] Refactor dataset size request into separate function by @alyssadai in https://github.com/neurobagel/api/pull/235
  • [CI] Renamed ci workflow to build_docker and image tag from latest to nightly by @rmanaem in https://github.com/neurobagel/api/pull/242
  • [CI] Add workflow for building image on release by @alyssadai in https://github.com/neurobagel/api/pull/243

New Contributors

  • @surchs made their first contribution in https://github.com/neurobagel/api/pull/144

Full Changelog: https://github.com/neurobagel/api/compare/v0.1.0...v0.1.1

- Python
Published by alyssadai about 2 years ago

api - v0.1.0

Initial release of the Neurobagel API, which interfaces with Stardog graph stores containing Neurobagel-harmonized data via SPARQL queries.

Overview

This release brings major additions to API functionality as well as automated testing setup including: * A query endpoint for GET operations that formulate a SPARQL query to the graph based on query parameters * Processing, validation, and tests of basic query parameters for: * Age * Sex * Diagnosis * Healthy control status * Assessment tool * Number of sessions * Image modality * A pydantic data model for responses to queries from the linked graph * Modes for returning dataset-aggregated vs subject-level query results * Environment variable configurability in terms of the graph the API communicates with and the query result mode * Dockerfile + docker-compose spec and usage instructions

What's new

  • Setting up bagelapi + adding GET route by @alyssadai in https://github.com/neurobagel/api/pull/17
  • Set up test workflow by @rmanaem in https://github.com/neurobagel/api/pull/24
  • Implement query parameters for age by @alyssadai in https://github.com/neurobagel/api/pull/28
  • Implemented image modality query parameter by @rmanaem in https://github.com/neurobagel/api/pull/39
  • Implement query parameters for diagnosis and is_control by @alyssadai in https://github.com/neurobagel/api/pull/41
  • Implemented minimum number of imaging sessions query parameter by @rmanaem in https://github.com/neurobagel/api/pull/46
  • Implement query parameter for assessment by @alyssadai in https://github.com/neurobagel/api/pull/57
  • Updated the API to return subject file paths and modalities and updated test workflow file by @rmanaem in https://github.com/neurobagel/api/pull/61
  • Change variable storing graph DB IP address to an environment variable by @alyssadai in https://github.com/neurobagel/api/pull/71
  • Implement error catching for httpx.ConnectTimeout when not connected to McGill network by @alyssadai in https://github.com/neurobagel/api/pull/77
  • Add Dockerfile and instructions for deploying API using official Docker image by @alyssadai in https://github.com/neurobagel/api/pull/79
  • Add docker-compose specification and instructions by @alyssadai in https://github.com/neurobagel/api/pull/90
  • Make graph database name configurable as an environment variable by @alyssadai in https://github.com/neurobagel/api/pull/93
  • Return (or not) subject-level attributes in query results based on env var by @alyssadai in https://github.com/neurobagel/api/pull/99
  • [ENH] Updated API to return new subject level results by @rmanaem in https://github.com/neurobagel/api/pull/125
  • [FIX] Return list instead of only first term for subject-level assessment by @alyssadai in https://github.com/neurobagel/api/pull/133

New Contributors

  • @alyssadai made their first contribution in https://github.com/neurobagel/api/pull/17
  • @rmanaem made their first contribution in https://github.com/neurobagel/api/pull/24
  • @yarikoptic made their first contribution in https://github.com/neurobagel/api/pull/95
  • @dependabot made their first contribution in https://github.com/neurobagel/api/pull/105
  • @Remi-Gau made their first contribution in https://github.com/neurobagel/api/pull/103

Full Changelog: https://github.com/neurobagel/api/commits/v0.1.0

- Python
Published by alyssadai over 2 years ago