{"id":356679,"name":"Open Traceability","description":"Open source Seafood traceability libraries.","url":"https://github.com/ift-gftc/opentraceability","last_synced_at":"2026-06-08T01:00:29.710Z","repository":{"id":166320456,"uuid":"596573260","full_name":"ift-gftc/opentraceability","owner":"ift-gftc","description":"A repository for storing code for the open source traceability libraries developed by IFT.","archived":false,"fork":false,"pushed_at":"2026-05-15T18:46:24.000Z","size":38226,"stargazers_count":7,"open_issues_count":9,"forks_count":5,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-06-02T21:24:35.193Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","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/ift-gftc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2023-02-02T13:36:16.000Z","updated_at":"2026-05-19T19:41:31.000Z","dependencies_parsed_at":"2025-03-19T17:39:04.126Z","dependency_job_id":"eba40eba-9405-4b1a-b29b-dd8d23155f47","html_url":"https://github.com/ift-gftc/opentraceability","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ift-gftc/opentraceability","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ift-gftc%2Fopentraceability","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ift-gftc%2Fopentraceability/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ift-gftc%2Fopentraceability/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ift-gftc%2Fopentraceability/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ift-gftc","download_url":"https://codeload.github.com/ift-gftc/opentraceability/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ift-gftc%2Fopentraceability/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34043822,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-07T02:00:07.652Z","response_time":124,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":"ift-gftc","name":"Institute of Food Technologists, Global Food Traceability Center","uuid":"46349747","kind":"organization","description":"","email":"traceability@ift.org","website":"ift.org","location":"Chicago, IL","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/46349747?v=4","repositories_count":10,"last_synced_at":"2024-04-16T09:21:13.822Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ift-gftc","funding_links":[],"total_stars":12,"followers":3,"following":0,"created_at":"2023-05-17T09:14:55.650Z","updated_at":"2024-04-16T09:21:15.679Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ift-gftc","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ift-gftc/repositories"},"packages":[{"id":8938663,"name":"opentraceability.gdst","ecosystem":"nuget","description":"Open source libraries for working with EPCIS in C# with extensions for GDST.","homepage":"https://github.com/ift-gftc/opentraceability","licenses":"mit","normalized_licenses":["MIT"],"repository_url":"https://github.com/ift-gftc/opentraceability","keywords_array":["epcis","open","traceability","ift","gdst"],"namespace":null,"versions_count":142,"first_release_published_at":"2023-04-20T21:52:07.117Z","latest_release_published_at":"2026-04-16T21:51:35.890Z","latest_release_number":"1.5.84","last_synced_at":"2026-06-04T01:33:40.723Z","created_at":"2024-02-26T02:51:49.323Z","updated_at":"2026-06-04T01:33:58.496Z","registry_url":"https://www.nuget.org/packages/opentraceability.gdst/","install_command":"Install-Package opentraceability.gdst","documentation_url":null,"metadata":{"copyright":"MIT","require_license_acceptance":false,"readme":"GDST_README.md","repository":{"type":"git","url":"https://github.com/ift-gftc/opentraceability","branch":null,"commit":"da7b02d6c745121f1b445e3c1b9c247a081334c9"},"development_dependency":false,"serviceable":false,"framework_assemblies":[],"package_types":[],"dependency_summary":{"total_dependency_groups":1,"target_frameworks":[".NETStandard2.0"],"total_dependencies":1}},"repo_metadata":{"id":166320456,"uuid":"596573260","full_name":"ift-gftc/opentraceability","owner":"ift-gftc","description":"A repository for storing code for the open source traceability libraries developed by IFT.","archived":false,"fork":false,"pushed_at":"2026-05-14T21:32:23.000Z","size":38219,"stargazers_count":6,"open_issues_count":9,"forks_count":5,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-05-14T23:04:56.416Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","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/ift-gftc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2023-02-02T13:36:16.000Z","updated_at":"2026-05-11T10:49:31.000Z","dependencies_parsed_at":"2025-03-19T17:39:04.126Z","dependency_job_id":"eba40eba-9405-4b1a-b29b-dd8d23155f47","html_url":"https://github.com/ift-gftc/opentraceability","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ift-gftc/opentraceability","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ift-gftc%2Fopentraceability","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ift-gftc%2Fopentraceability/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ift-gftc%2Fopentraceability/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ift-gftc%2Fopentraceability/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ift-gftc","download_url":"https://codeload.github.com/ift-gftc/opentraceability/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ift-gftc%2Fopentraceability/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33075284,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-15T11:35:32.926Z","status":"ssl_error","status_checked_at":"2026-05-15T11:35:31.362Z","response_time":103,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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_record":{"login":"ift-gftc","name":"Institute of Food Technologists, Global Food Traceability Center","uuid":"46349747","kind":"organization","description":"","email":"traceability@ift.org","website":"ift.org","location":"Chicago, IL","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/46349747?v=4","repositories_count":10,"last_synced_at":"2024-04-16T09:21:13.822Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ift-gftc","funding_links":[],"total_stars":12,"followers":3,"following":0,"created_at":"2023-05-17T09:14:55.650Z","updated_at":"2024-04-16T09:21:15.679Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ift-gftc","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ift-gftc/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-06-04T01:33:58.476Z","dependent_packages_count":1,"downloads":49842,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":14.867391095003645,"dependent_repos_count":14.97801439290325,"dependent_packages_count":20.3376452392213,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":16.727683575709396},"purl":"pkg:nuget/opentraceability.gdst","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nuget/opentraceability.gdst","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nuget/opentraceability.gdst","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nuget/opentraceability.gdst/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-03-24T21:18:34.512Z","issues_count":10,"pull_requests_count":72,"avg_time_to_close_issue":876173.0,"avg_time_to_close_pull_request":833361.768115942,"issues_closed_count":2,"pull_requests_closed_count":69,"pull_request_authors_count":6,"issue_authors_count":5,"avg_comments_per_issue":0.2,"avg_comments_per_pull_request":0.05555555555555555,"merged_pull_requests_count":65,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":2,"past_year_pull_requests_count":10,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":548.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":9,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":9,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ift-gftc%2Fopentraceability/issues","maintainers":[{"login":"Get-Rect","count":27,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Get-Rect"},{"login":"philip-pandoscape","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/philip-pandoscape"},{"login":"pandojohn","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/pandojohn"}],"active_maintainers":[{"login":"philip-pandoscape","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/philip-pandoscape"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/packages/opentraceability.gdst/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/packages/opentraceability.gdst/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/packages/opentraceability.gdst/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/packages/opentraceability.gdst/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/packages/opentraceability.gdst/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/packages/opentraceability.gdst/codemeta","maintainers":[{"uuid":"philip_tsc","login":"philip_tsc","name":null,"email":null,"url":null,"packages_count":4,"html_url":"https://www.nuget.org/profiles/philip_tsc","role":null,"created_at":"2024-02-26T03:05:11.437Z","updated_at":"2024-02-26T03:05:11.437Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/maintainers/philip_tsc/packages"},{"uuid":"pandojohn","login":"pandojohn","name":null,"email":null,"url":null,"packages_count":4,"html_url":"https://www.nuget.org/profiles/pandojohn","role":null,"created_at":"2026-05-15T19:06:03.243Z","updated_at":"2026-05-15T19:06:03.243Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/maintainers/pandojohn/packages"}],"registry":{"name":"nuget.org","url":"https://www.nuget.org","ecosystem":"nuget","default":true,"packages_count":812994,"maintainers_count":111712,"namespaces_count":0,"keywords_count":164966,"github":"nuget","metadata":{"funded_packages_count":27638},"icon_url":"https://github.com/nuget.png","created_at":"2022-04-04T15:19:23.147Z","updated_at":"2026-06-01T05:07:56.859Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/namespaces"}},{"id":8938664,"name":"opentraceability","ecosystem":"nuget","description":"Open source libraries for working with EPCIS in C#.","homepage":"https://github.com/ift-gftc/opentraceability","licenses":"mit","normalized_licenses":["MIT"],"repository_url":"https://github.com/ift-gftc/opentraceability","keywords_array":["epcis","open","traceability","ift","gdst"],"namespace":null,"versions_count":141,"first_release_published_at":"2023-04-20T21:52:06.817Z","latest_release_published_at":"2026-04-16T21:51:36.530Z","latest_release_number":"1.5.84","last_synced_at":"2026-06-04T01:33:40.710Z","created_at":"2024-02-26T02:51:49.324Z","updated_at":"2026-06-04T01:33:58.490Z","registry_url":"https://www.nuget.org/packages/opentraceability/","install_command":"Install-Package opentraceability","documentation_url":null,"metadata":{"copyright":"MIT","require_license_acceptance":false,"readme":"README.md","repository":{"type":"git","url":"https://github.com/ift-gftc/opentraceability","branch":null,"commit":"da7b02d6c745121f1b445e3c1b9c247a081334c9"},"development_dependency":false,"serviceable":false,"framework_assemblies":[],"package_types":[],"dependency_summary":{"total_dependency_groups":1,"target_frameworks":[".NETStandard2.0"],"total_dependencies":5}},"repo_metadata":{"id":166320456,"uuid":"596573260","full_name":"ift-gftc/opentraceability","owner":"ift-gftc","description":"A repository for storing code for the open source traceability libraries developed by IFT.","archived":false,"fork":false,"pushed_at":"2026-05-14T21:32:23.000Z","size":38219,"stargazers_count":6,"open_issues_count":9,"forks_count":5,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-05-14T23:04:56.416Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","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/ift-gftc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2023-02-02T13:36:16.000Z","updated_at":"2026-05-11T10:49:31.000Z","dependencies_parsed_at":"2025-03-19T17:39:04.126Z","dependency_job_id":"eba40eba-9405-4b1a-b29b-dd8d23155f47","html_url":"https://github.com/ift-gftc/opentraceability","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ift-gftc/opentraceability","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ift-gftc%2Fopentraceability","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ift-gftc%2Fopentraceability/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ift-gftc%2Fopentraceability/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ift-gftc%2Fopentraceability/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ift-gftc","download_url":"https://codeload.github.com/ift-gftc/opentraceability/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ift-gftc%2Fopentraceability/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33075284,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-15T11:35:32.926Z","status":"ssl_error","status_checked_at":"2026-05-15T11:35:31.362Z","response_time":103,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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_record":{"login":"ift-gftc","name":"Institute of Food Technologists, Global Food Traceability Center","uuid":"46349747","kind":"organization","description":"","email":"traceability@ift.org","website":"ift.org","location":"Chicago, IL","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/46349747?v=4","repositories_count":10,"last_synced_at":"2024-04-16T09:21:13.822Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ift-gftc","funding_links":[],"total_stars":12,"followers":3,"following":0,"created_at":"2023-05-17T09:14:55.650Z","updated_at":"2024-04-16T09:21:15.679Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ift-gftc","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ift-gftc/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-06-04T01:33:58.470Z","dependent_packages_count":3,"downloads":101923,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":8.436803079100667,"dependent_repos_count":14.97801439290325,"dependent_packages_count":20.3376452392213,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":14.58415423707507},"purl":"pkg:nuget/opentraceability","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nuget/opentraceability","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nuget/opentraceability","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nuget/opentraceability/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-03-24T21:18:34.512Z","issues_count":10,"pull_requests_count":72,"avg_time_to_close_issue":876173.0,"avg_time_to_close_pull_request":833361.768115942,"issues_closed_count":2,"pull_requests_closed_count":69,"pull_request_authors_count":6,"issue_authors_count":5,"avg_comments_per_issue":0.2,"avg_comments_per_pull_request":0.05555555555555555,"merged_pull_requests_count":65,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":2,"past_year_pull_requests_count":10,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":548.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":9,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":9,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ift-gftc%2Fopentraceability/issues","maintainers":[{"login":"Get-Rect","count":27,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Get-Rect"},{"login":"philip-pandoscape","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/philip-pandoscape"},{"login":"pandojohn","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/pandojohn"}],"active_maintainers":[{"login":"philip-pandoscape","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/philip-pandoscape"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/packages/opentraceability/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/packages/opentraceability/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/packages/opentraceability/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/packages/opentraceability/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/packages/opentraceability/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/packages/opentraceability/codemeta","maintainers":[{"uuid":"philip_tsc","login":"philip_tsc","name":null,"email":null,"url":null,"packages_count":4,"html_url":"https://www.nuget.org/profiles/philip_tsc","role":null,"created_at":"2024-02-26T03:05:11.626Z","updated_at":"2024-02-26T03:05:11.626Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/maintainers/philip_tsc/packages"},{"uuid":"pandojohn","login":"pandojohn","name":null,"email":null,"url":null,"packages_count":4,"html_url":"https://www.nuget.org/profiles/pandojohn","role":null,"created_at":"2026-05-15T19:06:03.492Z","updated_at":"2026-05-15T19:06:03.492Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/maintainers/pandojohn/packages"}],"registry":{"name":"nuget.org","url":"https://www.nuget.org","ecosystem":"nuget","default":true,"packages_count":812994,"maintainers_count":111712,"namespaces_count":0,"keywords_count":164966,"github":"nuget","metadata":{"funded_packages_count":27638},"icon_url":"https://github.com/nuget.png","created_at":"2022-04-04T15:19:23.147Z","updated_at":"2026-06-01T05:07:56.859Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/namespaces"}},{"id":8938661,"name":"opentraceability.testserverpackage","ecosystem":"nuget","description":"A packaged version of a test server that can be deployed and used prop up a dummy EPCIS/Digital Link resolver..","homepage":"https://github.com/ift-gftc/opentraceability","licenses":"mit","normalized_licenses":["MIT"],"repository_url":"https://github.com/ift-gftc/opentraceability","keywords_array":["epcis","open","traceability","ift"],"namespace":null,"versions_count":120,"first_release_published_at":"2023-05-04T15:53:31.693Z","latest_release_published_at":"2026-04-16T21:51:36.183Z","latest_release_number":"1.5.84","last_synced_at":"2026-06-04T01:33:40.183Z","created_at":"2024-02-26T02:51:49.266Z","updated_at":"2026-06-04T01:33:58.492Z","registry_url":"https://www.nuget.org/packages/opentraceability.testserverpackage/","install_command":"Install-Package opentraceability.testserverpackage","documentation_url":null,"metadata":{"copyright":"MIT","require_license_acceptance":false,"readme":"README_TESTSERVER.md","repository":{"type":"git","url":"https://github.com/ift-gftc/opentraceability","branch":null,"commit":"da7b02d6c745121f1b445e3c1b9c247a081334c9"},"development_dependency":false,"serviceable":false,"framework_assemblies":[],"package_types":[],"dependency_summary":{"total_dependency_groups":1,"target_frameworks":["net9.0"],"total_dependencies":1}},"repo_metadata":{"id":166320456,"uuid":"596573260","full_name":"ift-gftc/opentraceability","owner":"ift-gftc","description":"A repository for storing code for the open source traceability libraries developed by IFT.","archived":false,"fork":false,"pushed_at":"2026-05-14T21:32:23.000Z","size":38219,"stargazers_count":6,"open_issues_count":9,"forks_count":5,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-05-14T23:04:56.416Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","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/ift-gftc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2023-02-02T13:36:16.000Z","updated_at":"2026-05-11T10:49:31.000Z","dependencies_parsed_at":"2025-03-19T17:39:04.126Z","dependency_job_id":"eba40eba-9405-4b1a-b29b-dd8d23155f47","html_url":"https://github.com/ift-gftc/opentraceability","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ift-gftc/opentraceability","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ift-gftc%2Fopentraceability","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ift-gftc%2Fopentraceability/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ift-gftc%2Fopentraceability/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ift-gftc%2Fopentraceability/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ift-gftc","download_url":"https://codeload.github.com/ift-gftc/opentraceability/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ift-gftc%2Fopentraceability/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33075284,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-15T11:35:32.926Z","status":"ssl_error","status_checked_at":"2026-05-15T11:35:31.362Z","response_time":103,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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_record":{"login":"ift-gftc","name":"Institute of Food Technologists, Global Food Traceability Center","uuid":"46349747","kind":"organization","description":"","email":"traceability@ift.org","website":"ift.org","location":"Chicago, IL","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/46349747?v=4","repositories_count":10,"last_synced_at":"2024-04-16T09:21:13.822Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ift-gftc","funding_links":[],"total_stars":12,"followers":3,"following":0,"created_at":"2023-05-17T09:14:55.650Z","updated_at":"2024-04-16T09:21:15.679Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ift-gftc","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ift-gftc/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-06-04T01:33:58.471Z","dependent_packages_count":0,"downloads":32323,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":16.029390859607744,"dependent_repos_count":14.97801439290325,"dependent_packages_count":20.3376452392213,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":17.11501683057743},"purl":"pkg:nuget/opentraceability.testserverpackage","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nuget/opentraceability.testserverpackage","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nuget/opentraceability.testserverpackage","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nuget/opentraceability.testserverpackage/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-03-24T21:18:34.512Z","issues_count":10,"pull_requests_count":72,"avg_time_to_close_issue":876173.0,"avg_time_to_close_pull_request":833361.768115942,"issues_closed_count":2,"pull_requests_closed_count":69,"pull_request_authors_count":6,"issue_authors_count":5,"avg_comments_per_issue":0.2,"avg_comments_per_pull_request":0.05555555555555555,"merged_pull_requests_count":65,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":2,"past_year_pull_requests_count":10,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":548.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":9,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":9,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ift-gftc%2Fopentraceability/issues","maintainers":[{"login":"Get-Rect","count":27,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Get-Rect"},{"login":"philip-pandoscape","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/philip-pandoscape"},{"login":"pandojohn","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/pandojohn"}],"active_maintainers":[{"login":"philip-pandoscape","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/philip-pandoscape"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/packages/opentraceability.testserverpackage/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/packages/opentraceability.testserverpackage/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/packages/opentraceability.testserverpackage/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/packages/opentraceability.testserverpackage/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/packages/opentraceability.testserverpackage/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/packages/opentraceability.testserverpackage/codemeta","maintainers":[{"uuid":"philip_tsc","login":"philip_tsc","name":null,"email":null,"url":null,"packages_count":4,"html_url":"https://www.nuget.org/profiles/philip_tsc","role":null,"created_at":"2024-02-26T03:05:12.682Z","updated_at":"2024-02-26T03:05:12.682Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/maintainers/philip_tsc/packages"},{"uuid":"pandojohn","login":"pandojohn","name":null,"email":null,"url":null,"packages_count":4,"html_url":"https://www.nuget.org/profiles/pandojohn","role":null,"created_at":"2026-05-15T19:06:02.252Z","updated_at":"2026-05-15T19:06:02.252Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/maintainers/pandojohn/packages"}],"registry":{"name":"nuget.org","url":"https://www.nuget.org","ecosystem":"nuget","default":true,"packages_count":812994,"maintainers_count":111712,"namespaces_count":0,"keywords_count":164966,"github":"nuget","metadata":{"funded_packages_count":27638},"icon_url":"https://github.com/nuget.png","created_at":"2022-04-04T15:19:23.147Z","updated_at":"2026-06-01T05:07:56.859Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/namespaces"}},{"id":9022906,"name":"opentraceability.msc","ecosystem":"nuget","description":"Open source libraries for working with EPCIS in C# with extensions for MSC.","homepage":"https://github.com/ift-gftc/opentraceability","licenses":"mit","normalized_licenses":["MIT"],"repository_url":"https://github.com/ift-gftc/opentraceability","keywords_array":["epcis","open","traceability","ift","gdst"],"namespace":null,"versions_count":112,"first_release_published_at":"1900-01-01T00:00:00.000Z","latest_release_published_at":"2026-04-16T21:51:36.817Z","latest_release_number":"1.5.84","last_synced_at":"2026-06-04T01:33:39.992Z","created_at":"2024-02-27T02:27:09.908Z","updated_at":"2026-06-04T01:33:58.500Z","registry_url":"https://www.nuget.org/packages/opentraceability.msc/","install_command":"Install-Package opentraceability.msc","documentation_url":null,"metadata":{"copyright":"MIT","require_license_acceptance":false,"readme":"README_MSC.md","repository":{"type":"git","url":"https://github.com/ift-gftc/opentraceability","branch":null,"commit":"da7b02d6c745121f1b445e3c1b9c247a081334c9"},"development_dependency":false,"serviceable":false,"framework_assemblies":[],"package_types":[],"dependency_summary":{"total_dependency_groups":1,"target_frameworks":["net8.0"],"total_dependencies":1}},"repo_metadata":{"id":166320456,"uuid":"596573260","full_name":"ift-gftc/opentraceability","owner":"ift-gftc","description":"A repository for storing code for the open source traceability libraries developed by IFT.","archived":false,"fork":false,"pushed_at":"2026-05-14T21:32:23.000Z","size":38219,"stargazers_count":6,"open_issues_count":9,"forks_count":5,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-05-14T23:04:56.416Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","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/ift-gftc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2023-02-02T13:36:16.000Z","updated_at":"2026-05-11T10:49:31.000Z","dependencies_parsed_at":"2025-03-19T17:39:04.126Z","dependency_job_id":"eba40eba-9405-4b1a-b29b-dd8d23155f47","html_url":"https://github.com/ift-gftc/opentraceability","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ift-gftc/opentraceability","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ift-gftc%2Fopentraceability","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ift-gftc%2Fopentraceability/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ift-gftc%2Fopentraceability/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ift-gftc%2Fopentraceability/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ift-gftc","download_url":"https://codeload.github.com/ift-gftc/opentraceability/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ift-gftc%2Fopentraceability/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33075284,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-15T11:35:32.926Z","status":"ssl_error","status_checked_at":"2026-05-15T11:35:31.362Z","response_time":103,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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_record":{"login":"ift-gftc","name":"Institute of Food Technologists, Global Food Traceability Center","uuid":"46349747","kind":"organization","description":"","email":"traceability@ift.org","website":"ift.org","location":"Chicago, IL","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/46349747?v=4","repositories_count":10,"last_synced_at":"2024-04-16T09:21:13.822Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ift-gftc","funding_links":[],"total_stars":12,"followers":3,"following":0,"created_at":"2023-05-17T09:14:55.650Z","updated_at":"2024-04-16T09:21:15.679Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ift-gftc","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ift-gftc/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-06-04T01:33:58.479Z","dependent_packages_count":0,"downloads":35357,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":13.819348826338206,"dependent_packages_count":18.835372714592,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":16.327360770465106},"purl":"pkg:nuget/opentraceability.msc","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nuget/opentraceability.msc","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nuget/opentraceability.msc","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nuget/opentraceability.msc/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-03-24T21:18:34.512Z","issues_count":10,"pull_requests_count":72,"avg_time_to_close_issue":876173.0,"avg_time_to_close_pull_request":833361.768115942,"issues_closed_count":2,"pull_requests_closed_count":69,"pull_request_authors_count":6,"issue_authors_count":5,"avg_comments_per_issue":0.2,"avg_comments_per_pull_request":0.05555555555555555,"merged_pull_requests_count":65,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":2,"past_year_pull_requests_count":10,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":548.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":9,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":9,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ift-gftc%2Fopentraceability/issues","maintainers":[{"login":"Get-Rect","count":27,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Get-Rect"},{"login":"philip-pandoscape","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/philip-pandoscape"},{"login":"pandojohn","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/pandojohn"}],"active_maintainers":[{"login":"philip-pandoscape","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/philip-pandoscape"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/packages/opentraceability.msc/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/packages/opentraceability.msc/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/packages/opentraceability.msc/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/packages/opentraceability.msc/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/packages/opentraceability.msc/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/packages/opentraceability.msc/codemeta","maintainers":[{"uuid":"philip_tsc","login":"philip_tsc","name":null,"email":null,"url":null,"packages_count":4,"html_url":"https://www.nuget.org/profiles/philip_tsc","role":null,"created_at":"2025-04-14T16:02:17.032Z","updated_at":"2025-04-14T16:02:17.032Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/maintainers/philip_tsc/packages"},{"uuid":"pandojohn","login":"pandojohn","name":null,"email":null,"url":null,"packages_count":4,"html_url":"https://www.nuget.org/profiles/pandojohn","role":null,"created_at":"2026-05-15T19:06:03.956Z","updated_at":"2026-05-15T19:06:03.956Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/maintainers/pandojohn/packages"}],"registry":{"name":"nuget.org","url":"https://www.nuget.org","ecosystem":"nuget","default":true,"packages_count":812994,"maintainers_count":111712,"namespaces_count":0,"keywords_count":164966,"github":"nuget","metadata":{"funded_packages_count":27638},"icon_url":"https://github.com/nuget.png","created_at":"2022-04-04T15:19:23.147Z","updated_at":"2026-06-01T05:07:56.859Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/nuget.org/namespaces"}}],"commits":{"id":10883776,"full_name":"ift-gftc/opentraceability","default_branch":"master","total_commits":276,"total_committers":9,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":30.666666666666668,"dds":0.3876811594202898,"past_year_total_commits":21,"past_year_total_committers":3,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":7.0,"past_year_dds":0.6190476190476191,"last_synced_at":"2026-06-02T21:19:42.007Z","last_synced_commit":"05a392128730367424b0c26048d6199de9cfa71f","created_at":"2025-09-03T18:44:48.960Z","updated_at":"2026-06-02T21:19:34.835Z","committers":[{"name":"Philip Heggelund","email":"59456945+DuckScapePhilip","login":"DuckScapePhilip","count":169},{"name":"Tiago Filipe Gomes Bernardes","email":"tiago.bernardes@gmail.com","login":"tiagobernardes","count":40},{"name":"John Heggelund","email":"heggelund.john@gmail.com","login":"Get-Rect","count":25},{"name":"Philip Heggelund","email":"philip@pandoscape.com","login":"philip-pandoscape","count":22},{"name":"John Heggelund","email":"john@pandoscape.com","login":"pandojohn","count":9},{"name":"Philip","email":"founder@quorva.ai","login":"quorva-ai","count":6},{"name":"Marcelo Nascimento","email":"marcelo@wholechain.com","login":"MarceloWholechain","count":2},{"name":"John Heggelund","email":"metalmanjohn@gmail.com","login":null,"count":2},{"name":"Bruno Sampaio Camba","email":"brunocamba@gmail.com","login":"bCamba","count":1}],"past_year_committers":[{"name":"John Heggelund","email":"john@pandoscape.com","login":"pandojohn","count":8},{"name":"Philip","email":"162835516+philip-pandoscape","login":"philip-pandoscape","count":7},{"name":"Philip","email":"founder@quorva.ai","login":"quorva-ai","count":6}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/ift-gftc%2Fopentraceability/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-06-08T00:00:07.762Z","repositories_count":6254015,"commits_count":884185143,"contributors_count":35048021,"owners_count":1163430,"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":"ift-gftc/opentraceability","html_url":"https://github.com/ift-gftc/opentraceability","last_synced_at":"2026-03-24T21:18:34.512Z","status":"error","issues_count":10,"pull_requests_count":72,"avg_time_to_close_issue":876173.0,"avg_time_to_close_pull_request":833361.768115942,"issues_closed_count":2,"pull_requests_closed_count":69,"pull_request_authors_count":6,"issue_authors_count":5,"avg_comments_per_issue":0.2,"avg_comments_per_pull_request":0.05555555555555555,"merged_pull_requests_count":65,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":2,"past_year_pull_requests_count":10,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":548.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":9,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":9,"created_at":"2024-04-16T08:39:48.606Z","updated_at":"2026-03-24T21:18:34.512Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ift-gftc%2Fopentraceability","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ift-gftc%2Fopentraceability/issues","issue_labels_count":{},"pull_request_labels_count":{},"issue_author_associations_count":{"CONTRIBUTOR":5,"NONE":3,"COLLABORATOR":2},"pull_request_author_associations_count":{"CONTRIBUTOR":35,"COLLABORATOR":34,"NONE":3},"issue_authors":{"DuckScapePhilip":5,"philip-pandoscape":2,"bCamba":1,"megunemre":1,"campbellsoupbs":1},"pull_request_authors":{"DuckScapePhilip":31,"Get-Rect":27,"pandojohn":4,"MarceloWholechain":4,"bCamba":3,"philip-pandoscape":3},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-06-08T00:00:18.161Z","repositories_count":14781893,"issues_count":33508407,"pull_requests_count":110211148,"authors_count":11295212,"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":{},"past_year_issue_author_associations_count":{"COLLABORATOR":2},"past_year_pull_request_author_associations_count":{"COLLABORATOR":2},"past_year_issue_authors":{"philip-pandoscape":2},"past_year_pull_request_authors":{"philip-pandoscape":2},"maintainers":[{"login":"Get-Rect","count":27,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Get-Rect"},{"login":"philip-pandoscape","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/philip-pandoscape"},{"login":"pandojohn","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/pandojohn"}],"active_maintainers":[{"login":"philip-pandoscape","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/philip-pandoscape"}]},"events":{"total":{"DeleteEvent":5,"MemberEvent":1,"PullRequestEvent":17,"ForkEvent":3,"IssuesEvent":3,"WatchEvent":2,"IssueCommentEvent":3,"PushEvent":15,"PullRequestReviewEvent":3,"CreateEvent":8},"last_year":{"PullRequestEvent":1,"ForkEvent":1,"IssuesEvent":2,"PushEvent":4,"CreateEvent":2}},"keywords":[],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/prerelease-nuget.yml","sha":null,"kind":"manifest","created_at":"2023-06-09T03:30:32.670Z","updated_at":"2023-06-09T03:30:32.670Z","repository_link":"https://github.com/ift-gftc/opentraceability/blob/main/.github/workflows/prerelease-nuget.yml","dependencies":[{"id":10515628618,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":10515628619,"package_name":"actions/setup-dotnet","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/release-nuget.yml","sha":null,"kind":"manifest","created_at":"2023-06-09T03:30:33.021Z","updated_at":"2023-06-09T03:30:33.021Z","repository_link":"https://github.com/ift-gftc/opentraceability/blob/main/.github/workflows/release-nuget.yml","dependencies":[{"id":10515632598,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":10515632599,"package_name":"actions/setup-dotnet","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"nuget","filepath":"CSharp/OpenTraceability/OpenTraceability.csproj","sha":null,"kind":"manifest","created_at":"2023-06-09T03:30:33.215Z","updated_at":"2023-06-09T03:30:33.215Z","repository_link":"https://github.com/ift-gftc/opentraceability/blob/main/CSharp/OpenTraceability/OpenTraceability.csproj","dependencies":[{"id":10515633546,"package_name":"Crc32.NET","ecosystem":"nuget","requirements":"1.2.0","direct":true,"kind":"runtime","optional":false},{"id":10515633547,"package_name":"JsonSchema.Net","ecosystem":"nuget","requirements":"4.1.0","direct":true,"kind":"runtime","optional":false},{"id":10515633548,"package_name":"Newtonsoft.Json","ecosystem":"nuget","requirements":"13.0.2","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"nuget","filepath":"CSharp/OpenTraceability.TestServer/OpenTraceability.TestServer.csproj","sha":null,"kind":"manifest","created_at":"2023-06-09T03:30:33.457Z","updated_at":"2023-06-09T03:30:33.457Z","repository_link":"https://github.com/ift-gftc/opentraceability/blob/main/CSharp/OpenTraceability.TestServer/OpenTraceability.TestServer.csproj","dependencies":[{"id":10515634700,"package_name":"Microsoft.AspNetCore.OpenApi","ecosystem":"nuget","requirements":"7.0.3","direct":true,"kind":"runtime","optional":false},{"id":10515634703,"package_name":"Microsoft.Data.Sqlite","ecosystem":"nuget","requirements":"7.0.4","direct":true,"kind":"runtime","optional":false},{"id":10515634705,"package_name":"Swashbuckle.AspNetCore","ecosystem":"nuget","requirements":"6.4.0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"nuget","filepath":"CSharp/OpenTraceability.Tests/OpenTraceability.Tests.csproj","sha":null,"kind":"manifest","created_at":"2023-06-09T03:30:33.533Z","updated_at":"2023-06-09T03:30:33.533Z","repository_link":"https://github.com/ift-gftc/opentraceability/blob/main/CSharp/OpenTraceability.Tests/OpenTraceability.Tests.csproj","dependencies":[{"id":10515635726,"package_name":"Microsoft.NET.Test.Sdk","ecosystem":"nuget","requirements":"17.3.2","direct":true,"kind":"runtime","optional":false},{"id":10515635727,"package_name":"NUnit","ecosystem":"nuget","requirements":"3.13.3","direct":true,"kind":"runtime","optional":false},{"id":10515635728,"package_name":"NUnit3TestAdapter","ecosystem":"nuget","requirements":"4.2.1","direct":true,"kind":"runtime","optional":false},{"id":10515635729,"package_name":"NUnit.Analyzers","ecosystem":"nuget","requirements":"3.3.0","direct":true,"kind":"runtime","optional":false},{"id":10515635730,"package_name":"coverlet.collector","ecosystem":"nuget","requirements":"3.1.2","direct":true,"kind":"runtime","optional":false},{"id":10515635731,"package_name":"Microsoft.Data.Sqlite","ecosystem":"nuget","requirements":"7.0.4","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/java-actions-prerelease.yaml","sha":null,"kind":"manifest","created_at":"2024-02-02T12:40:48.900Z","updated_at":"2024-02-02T12:40:48.900Z","repository_link":"https://github.com/ift-gftc/opentraceability/blob/main/.github/workflows/java-actions-prerelease.yaml","dependencies":[{"id":15986349895,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":15986349896,"package_name":"actions/setup-java","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/java-actions-release.yaml","sha":null,"kind":"manifest","created_at":"2024-02-02T12:40:49.353Z","updated_at":"2024-02-02T12:40:49.353Z","repository_link":"https://github.com/ift-gftc/opentraceability/blob/main/.github/workflows/java-actions-release.yaml","dependencies":[{"id":15986350137,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":15986350138,"package_name":"actions/setup-java","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"maven","filepath":"Java/opentraceability/pom.xml","sha":null,"kind":"manifest","created_at":"2024-02-02T12:40:50.337Z","updated_at":"2024-02-02T12:40:50.337Z","repository_link":"https://github.com/ift-gftc/opentraceability/blob/main/Java/opentraceability/pom.xml","dependencies":[{"id":15986350175,"package_name":"org.json:json","ecosystem":"maven","requirements":"20230227","direct":true,"kind":"runtime","optional":false},{"id":15986350176,"package_name":"org.apache.karaf.http:org.apache.karaf.http.core","ecosystem":"maven","requirements":"4.4.3","direct":true,"kind":"runtime","optional":false},{"id":15986350188,"package_name":"com.networknt:json-schema-validator","ecosystem":"maven","requirements":"1.0.72","direct":true,"kind":"runtime","optional":false},{"id":15986350309,"package_name":"com.squareup.okhttp:okhttp","ecosystem":"maven","requirements":"2.7.5","direct":true,"kind":"runtime","optional":false},{"id":15986350310,"package_name":"com.google.code.gson:gson","ecosystem":"maven","requirements":"2.10.1","direct":true,"kind":"runtime","optional":false},{"id":15986350311,"package_name":"junit:junit","ecosystem":"maven","requirements":"4.13.2","direct":true,"kind":"runtime","optional":false},{"id":15986350312,"package_name":"org.junit.jupiter:junit-jupiter","ecosystem":"maven","requirements":"RELEASE","direct":true,"kind":"test","optional":false},{"id":15986350313,"package_name":"com.fasterxml.jackson:jackson-base","ecosystem":"maven","requirements":"2.15.2","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"maven","filepath":"Kotlin/OpenTraceability/build.gradle.kts","sha":null,"kind":"manifest","created_at":"2024-02-02T12:40:53.897Z","updated_at":"2024-02-02T12:40:53.897Z","repository_link":"https://github.com/ift-gftc/opentraceability/blob/main/Kotlin/OpenTraceability/build.gradle.kts","dependencies":[{"id":15986350412,"package_name":"com.google.code.gson:gson","ecosystem":"maven","requirements":"2.7","direct":true,"kind":"implementation","optional":false},{"id":15986350413,"package_name":"org.json:json","ecosystem":"maven","requirements":"20211205","direct":true,"kind":"implementation","optional":false},{"id":15986350414,"package_name":"org.wso2.orbit.org.everit.json:org.everit.json.schema","ecosystem":"maven","requirements":"1.5.0.wso2.v2","direct":true,"kind":"implementation","optional":false},{"id":15986350862,"package_name":"org.jetbrains.kotlin:kotlin-reflect","ecosystem":"maven","requirements":"1.4.21","direct":true,"kind":"implementation","optional":false},{"id":15986350863,"package_name":"org.apache.httpcomponents:httpclient","ecosystem":"maven","requirements":"4.5.13","direct":true,"kind":"implementation","optional":false},{"id":15986350864,"package_name":"com.squareup.okhttp3:okhttp","ecosystem":"maven","requirements":"4.9.0","direct":true,"kind":"implementation","optional":false},{"id":15986350865,"package_name":"org.jetbrains.kotlinx:kotlinx-coroutines-core","ecosystem":"maven","requirements":"1.5.2","direct":true,"kind":"implementation","optional":false},{"id":15986350866,"package_name":"org.jetbrains.kotlinx:kotlinx-serialization-json","ecosystem":"maven","requirements":"1.5.0","direct":true,"kind":"implementation","optional":false},{"id":15986350867,"package_name":"com.worldturner.medeia:medeia-validator-jackson","ecosystem":"maven","requirements":"1.1.1","direct":true,"kind":"implementation","optional":false},{"id":15986350878,"package_name":"com.liferay:com.github.fge.json.schema.validator","ecosystem":"maven","requirements":"2.2.3.LIFERAY-PATCHED-2","direct":true,"kind":"implementation","optional":false},{"id":15986350924,"package_name":"com.networknt:json-schema-validator","ecosystem":"maven","requirements":"1.0.83","direct":true,"kind":"implementation","optional":false},{"id":15986350925,"package_name":"com.fasterxml.jackson.core:jackson-databind","ecosystem":"maven","requirements":"2.14.2","direct":true,"kind":"implementation","optional":false},{"id":15986350926,"package_name":"ch.qos.logback:logback-classic","ecosystem":"maven","requirements":"1.2.3","direct":true,"kind":"implementation","optional":false},{"id":15986350927,"package_name":"org.junit.jupiter:junit-jupiter","ecosystem":"maven","requirements":"5.7.2","direct":true,"kind":"testImplementation","optional":false},{"id":15986350928,"package_name":"org.junit.jupiter:junit-jupiter-api","ecosystem":"maven","requirements":"5.7.2","direct":true,"kind":"testImplementation","optional":false},{"id":15986350929,"package_name":"org.junit.jupiter:junit-jupiter-params","ecosystem":"maven","requirements":"5.7.2","direct":true,"kind":"testImplementation","optional":false},{"id":15986350930,"package_name":"org.junit.jupiter:junit-jupiter-engine","ecosystem":"maven","requirements":"5.7.2","direct":true,"kind":"testRuntimeOnly","optional":false}]},{"ecosystem":"nuget","filepath":"CSharp/OpenTraceability.GDST/OpenTraceability.GDST.csproj","sha":null,"kind":"manifest","created_at":"2024-02-02T12:40:57.279Z","updated_at":"2024-02-02T12:40:57.279Z","repository_link":"https://github.com/ift-gftc/opentraceability/blob/main/CSharp/OpenTraceability.GDST/OpenTraceability.GDST.csproj","dependencies":[]},{"ecosystem":"nuget","filepath":"CSharp/OpenTraceability.TestServerPackage/OpenTraceability.TestServerPackage.csproj","sha":null,"kind":"manifest","created_at":"2024-02-02T12:40:57.318Z","updated_at":"2024-02-02T12:40:57.318Z","repository_link":"https://github.com/ift-gftc/opentraceability/blob/main/CSharp/OpenTraceability.TestServerPackage/OpenTraceability.TestServerPackage.csproj","dependencies":[]},{"ecosystem":"nuget","filepath":"CSharp/OpenTraceability.Tools/OpenTraceability.Tools.csproj","sha":null,"kind":"manifest","created_at":"2024-02-02T12:40:57.681Z","updated_at":"2024-02-02T12:40:57.681Z","repository_link":"https://github.com/ift-gftc/opentraceability/blob/main/CSharp/OpenTraceability.Tools/OpenTraceability.Tools.csproj","dependencies":[{"id":15986350995,"package_name":"Microsoft.AspNetCore.Components.WebAssembly","ecosystem":"nuget","requirements":"7.0.5","direct":true,"kind":"runtime","optional":false},{"id":15986350996,"package_name":"Microsoft.AspNetCore.Components.WebAssembly.DevServer","ecosystem":"nuget","requirements":"7.0.5","direct":true,"kind":"runtime","optional":false}]}],"score":17.26869755152866,"created_at":"2026-06-02T21:12:26.132Z","updated_at":"2026-06-08T01:00:29.783Z","avatar_url":"https://github.com/ift-gftc.png","language":"C#","category":"Consumption","sub_category":"Agriculture and Nutrition","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":4,"readme":"# Open Traceability\r\nA repository for storing code for the open-source traceability libraries.\r\n\r\n## Funded By\r\nThese open-source libraries would not be possible without great organizations who took the initiative to fund this project. We want to give a special thanks to:\r\n\r\n- Gordon and Betty Moore Foundation\r\n- Walton Family Foundation\r\n\r\n## Release Notes\r\n### Version 1.4\r\nIn version 1.4, the OpenTraceability C# project was updated to target the .Net Standard 2.0 framework. This update provides support for .NET Framework versions 4.6.1 and greater while maintaining support for .NET and .NET Core 2.0+. This allows .NET framework projects to consume the OpenTraceability nuget package while preserving support for later versions of .NET such as .NET 5 and greater.\r\n- Added support for .Net Standard 2.0\r\n\r\n### Version 1.5\r\nIn version 1.5, the OpenTraceability C# project was updated to have the Diagnostics support in the C# SDK as well as the DiagnosticsTool as a deployable docker container to be used for debugging the interoperable exchange of traceability data. Additionally, a new JSON schema support has been added.\r\n- Added in diagnostics support into the `OpenTraceability` C# package.\r\n- Added in the `DiagnosticsTool` that is a deployable ASP.NET docker container with minor server-sided blazor UI support.\r\n- Added in the GDST JSON schema with support to call this JSON schema from both Java and C# packages.\r\n- Added in the Digital Link JSON schema with support call this package from the C# packages (Java support coming soon).\r\n- Added in deployment of diagnostics tool to docker hub.\r\n\r\n## Current Supported Programming Languages / Frameworks\r\nWe currently support the following:\r\n- C#\r\n    - .NET and .NET Core 2.0 to 8.0 (supported)\r\n    - .NET Framework 4.6.1 to 4.8.1 (supported)\r\n\r\n- Java (actively being translated and coming soon)\r\n- TypeScript (coming soon)\r\n\r\n*If you want us to support your language, please reach out to us so we can put on our to-do list.*\r\n\r\n## Accessing the Packages\r\nYou can access the packges for the various languages like so:\r\n- **C#** - Nuget Feed\r\n  - https://www.nuget.org/packages/OpenTraceability\r\n  - https://www.nuget.org/packages/OpenTraceability.GDST\r\n \r\n- **Java**\r\n  - https://mvnrepository.com/artifact/io.github.ift-gftc/opentraceability \r\n \r\n## Not happy?\r\nIf you find any issues, please contact me directly at pheggelund@ift.org and we will fix the problem the best we can.\r\n\r\n## Help?\r\nThis ReadMe file should contain documentation on how to use the libraries in C# and Java, please just keep scrolling. If you find it lacking, please let us know.\r\n\r\n# Open Traceability (C#)\r\nThis is an open-source library for handling traceability data in .NET using C#.\r\n\r\n## Setup\r\nBefore you can use the library, you need to make sure to call the correct Setup method. The Setup method defines the event and master data profiles that are used to map from C# objects to EPCIS documents and vice versa.\r\n\r\nBecause the setup method controls how objects are mapped, you must call Setup method associated with the library you are using.\r\n\r\nTo use the core library, call:\r\n- `OpenTraceability.Setup.Initialize();`\r\n\r\nTo use an extension library such as the GDST extension library:\r\n- OpenTraceability.GDST\r\n\r\nCall the setup method in the extension library you wish to use:\r\n- `OpenTraceability.GDST.Setup.Initialize();`\r\n\r\nAnd that will initialize everything you need.\r\n\r\n## Models\r\nWe have C# models that represent the various data objects in EPCIS including events, documents, and master data. Feel free \r\nto explore them.\r\n\r\n\u003e This library was designed so that it could easily be extended to support many new CTEs/KDEs. It was also designed so that\r\neven without an extension library, the core library can still receive CTEs/KDEs from unknown extensions and namespaces and\r\nserialize/deserialize the data without losing any information.\r\n\r\n\u003e More information on extensions can be found in the documentation later on.\r\n\r\n### EPCIS Query Document / EPCIS Document\r\nThese two objects inherit from the same base class `EPCISBaseDocument` and represent the two types of documents in EPCIS. They are \r\nused to represent the XML and JSON-LD versions of the documents. The Events and Master Data are stored in the `EPCISBaseDocument.Events` \r\nand `EPCISBaseDocument.MasterData` properties respectively.\r\n\r\nIt's important to note that the `EPCISBaseDocument.EPCISVersion` property is used to determine the version of the document. This is important \r\nbecause when mapping from the models into the XML or JSON-LD formats, the version is used to determine which format to use. If you are\r\ntrying to map into EPCIS XML 2.0 and not EPCIS XML 1.2, then you need to make sure that the `EPCISBaseDocument.Version` property is set to `EPCISVersion.V2`.\r\n\r\n#### EPCIS Document Header\r\nThe XML format for EPCIS 1.2 and 2.0 require a Standard Business Document Header (SBDH). This is represented by the `StandardBusinessDocumentHeader` class.\r\nWhen converting from EPCIS JSON-LD into XML, you need to make sure to set this if the check schema is enabled. Otherwise, you will fail the schema validation.\r\n\r\n\u003e You can use `StandardBusinessDocumentHeader.DummyHeader` to get a dummy header that you can use to pass schema validation for the XML formats.\r\n\r\n## Mapping\r\nWe support mapping between EPCIS 1.2 XML, EPCIS 2.0 XML, and EPCIS 2.0 JSON-LD. Our mappers are thread-safe and are accessible from the `OpenTraceability.Mappers.OpenTraceabilityMappers` static object.\r\n\r\n### Reading EPCIS 1.2 XML\r\nIn order to read an EPCIS Query Document from an XML string in the EPCIS 1.2 xml format you can do the following:\r\n```csharp\r\n// You can read an XML string representing an EPCIS 1.2 Query Document in XML format.\r\nEPCISQueryDocument doc = OpenTraceabilityMappers.EPCISQueryDocument.XML.Map(queryDocXmlStr);\r\n```\r\n\r\nIn order to read an EPCIS Document from an XML string in the EPCIS 1.2 xml format you can do the following:\r\n```csharp\r\n// You can read an XML string representing an EPCIS 1.2 Document in XML format.\r\nEPCISDocument doc = OpenTraceabilityMappers.EPCISDocument.XML.Map(docXmlStr);\r\n```\r\n\r\n### Reading EPCIS 2.0 XML\r\nThis is done the same way as the 1.2 XML above. It auto-detects the version and maps it to the correct object.\r\n\r\nIn order to read an EPCIS Query Document from an XML string in the EPCIS 2.0 xml format you can do the following:\r\n```csharp\r\n// You can read an XML string representing an EPCIS 2.0 Query Document in XML format.\r\nEPCISQueryDocument doc = OpenTraceabilityMappers.EPCISQueryDocument.XML.Map(queryDocXmlStr);\r\n```\r\n\r\nIn order to read an EPCIS Document from an XML string in the EPCIS 2.0 xml format you can do the following:\r\n```csharp\r\n// You can read an XML string representing an EPCIS 2.0 Document in XML format.\r\nEPCISDocument doc = OpenTraceabilityMappers.EPCISDocument.XML.Map(docXmlStr);\r\n```\r\n\r\n### Reading EPCIS 2.0 JSON-LD\r\nIn order to read an EPCIS Query Document from a JSON string in the EPCIS 2.0 JSON-LD format you can do the following:\r\n```csharp\r\n// You can read an XML string representing an EPCIS 2.0 Query Document in JSON-LD format.\r\nEPCISQueryDocument doc = OpenTraceabilityMappers.EPCISQueryDocument.JSON.Map(queryDocXmlStr);\r\n```\r\n\r\nIn order to read an EPCIS Document from a JSON string in the EPCIS 2.0 JSON-LD format you can do the following:\r\n```csharp\r\n// You can read an XML string representing an EPCIS 2.0 Document in JSON-LD format.\r\nEPCISDocument doc = OpenTraceabilityMappers.EPCISDocument.JSON.Map(docXmlStr);\r\n```\r\n\r\n### Convert EPCIS 1.2 XML to EPCIS 2.0 XML\r\nThis example is for reading an EPCIS Query Document, but it would work the same with EPCIS Document as well.\r\n```csharp\r\n// read the EPCIS 1.2 XML string \r\nEPCISQueryDocument doc = OpenTraceabilityMappers.EPCISQueryDocument.XML.Map(queryDocXmlStr_1_2);\r\n\r\n// set the EPCIS version\r\ndoc.EPCISVersion = EPCISVersion.V2;\r\n\r\n// write it back out now\r\nstring queryDocXmlStr_2_0 = OpenTraceabilityMappers.EPCISQueryDocument.XML.Map(doc);\r\n```\r\n\r\n### Convert EPCIS 1.2 XML to EPCIS 2.0 JSON-LD\r\nThis example is for reading an EPCIS Query Document, but it would work the same with EPCIS Document as well.\r\n```csharp\r\n// read the EPCIS 1.2 XML string \r\nEPCISQueryDocument doc = OpenTraceabilityMappers.EPCISQueryDocument.XML.Map(queryDocXmlStr_1_2);\r\n\r\n// set the EPCIS version\r\ndoc.EPCISVersion = EPCISVersion.V2;\r\n\r\n// write it back out now\r\nstring queryDocJsonStr_2_0 = OpenTraceabilityMappers.EPCISQueryDocument.JSON.Map(doc);\r\n```\r\n\r\n## Querying for Data\r\nWe support querying traceability and master data using a very specific flavor of communication protocols from GS1.\r\n\r\n- We support querying for event data using the `GET - /events` endpoint on the EPCIS 2.0 Query Interface.\r\n- We support resolving master data from a GS1 Digital Link Resolver using the GS1 Web Vocab JSON-LD format.\r\n\r\n### EPCIS Query Interface\r\nThe first interface that can be queried is for events from an EPCIS 2.0 Query Interface at the `GET - /events` endpoint. \r\nThis is done using the `EPCISTraceabilityResolver` class.\r\n\r\nIn order to use this, you need:\r\n- `EPCISQueryInterfaceOptions`\r\n\t- URL\r\n\t- Version\r\n\t- Format\r\n\r\n- `EPCISQueryParameters`\r\n\t- Here you can define one or more parameters for filtering the desired results.\r\n\r\n```csharp\r\nusing HttpClient = new HttpClient();\r\n\r\nEPCISQueryInterfaceOptions options = new EPCISQueryInterfaceOptions()\r\n{\r\n    URL = new Uri(url),\r\n    Format = _format,\r\n    Version = _version,\r\n    EnableStackTrace = true\r\n};\r\n\r\nEPC epc = new EPC(\"urn:epc:id:sgtin:0614141.107346.2019\");\r\nEPCISQueryParameters parameters = new EPCISQueryParameters(epc);\r\n\r\nreturn await EPCISTraceabilityResolver.QueryEvents(options, parameters, client);\r\n```\r\n\r\nYou can also use the trace-back feature to automatically trace-back the EPC.\r\n\r\n```csharp\r\nusing HttpClient = new HttpClient();\r\n\r\nEPCISQueryInterfaceOptions options = new EPCISQueryInterfaceOptions()\r\n{\r\n    URL = new Uri(url),\r\n    Format = _format,\r\n    Version = _version,\r\n    EnableStackTrace = true\r\n};\r\n\r\nEPC epc = new EPC(\"urn:epc:id:sgtin:0614141.107346.2019\");\r\n\r\nreturn await EPCISTraceabilityResolver.Traceback(options, epc, client);\r\n```\r\n\r\n### GS1 Digital Link Resolver\r\nYou can also resolve master data from a GS1 Digital Link resolver with the `MasterDataResolver` class. This class\r\ntakes in a `DigitalLinkQueryOptions` object that contains the URL of the resolver and also an EPCISBaseDocument\r\nand will search the EPCISBaseDocument for any master data that is not in the document but referenced in the events,\r\nand try and resolve it and add it to the document.\r\n\r\n```csharp\t\r\nDigitalLinkQueryOptions options = new DigitalLinkQueryOptions()\r\n{\r\n\tURL = new Uri(url),\r\n\tEnableStackTrace = true\r\n};\r\n\r\nawait MasterDataResolver.ResolveMasterData(options, doc, client);\r\n```\r\n\r\nIf you are using an extension library, make sure to call the Master Data Resolver implemented in that library. For example, when using the GDST Extension library, call the GDSTMasterDataResolver:\r\n\r\n```csharp\t\r\nDigitalLinkQueryOptions options = new DigitalLinkQueryOptions()\r\n{\r\n\tURL = new Uri(url),\r\n\tEnableStackTrace = true\r\n};\r\n\r\nawait GDSTMasterDataResolver.ResolveGDSTMasterData(options, doc, client);\r\n```\r\n\r\n\r\n## Finally\r\nYou can always look in our unit tests for more examples of how to use the library.\r\n\r\n# OpenTraceability for Java\r\nThese are libraries that can be used for working with EPCIS data in Java. These libraries were built using JDK11 and are written in pure Java. \r\n\r\nThe follow dependencies were used:\r\n- org.json\r\n- org.apache.karaf.http.core\r\n- com.network.json-schema-validator\r\n- gson\r\n- junit\r\n- org.junit.jupiter\r\n- com.squareup.okhttp\r\n\r\n\u003e This documentation assumes you are familiar with EPCIS and GS1 Digital Link. Being familiar with the GDST 1.2 communication protocol is a plus as well.\r\n\r\n\u003e This documentation is constantly being updated. If you cannot find information that you are looking for, please post an issue on GitHub.\r\n\r\n## EPCIS\r\nThis library can work with both EPCIS 1.2 (XML), and EPCIS 2.0 (XML/JSON-LD) and only partially implements the communication protocol from EPCIS.\r\n\r\n## Extensibility\r\nThese libraries were designed with EXTENSIBILITY at heart. It was designed so that adding new CTEs / KDEs would be as simple as defining models that extend the existing ones. \r\n\r\nCurrent Extensions\r\n- GDST\r\n\r\n## Models\r\nThis library provides model support for working with EPCIS data. The models can be found in the `opentraceability.models` and `opentraceability.interfaces` packages.\r\n\r\nThe core document models are:\r\n- EPCISDocument\r\n- EPCISQueryDocument\r\n\r\nThese represent documents that act as a collection of events and master data.\r\n\r\nNext we have the event models which are:\r\n- ObjectEvent\r\n- TransformationEvent\r\n- TransactionEvent\r\n- AggregationEvent\r\n- AssociationEvent\r\n\r\nWhich represent the core events from EPCIS.\r\n\r\nFinally, we have the master data models which are:\r\n- IVocabularyEvent (abstract)\r\n- VocabularyEvent (unknown)\r\n- TradeItem \r\n- Location\r\n- TradingParty\r\n\r\n## Initialization\r\nIt is important that you always initialize the libraries prior to using them or you could have unexpected behavior.\r\n\r\nIn order to initialize the core libraries you need to call:\r\n```agsl\r\nopentraceability.Setup.Initialize();\r\n```\r\n\r\n\u003e This call uses locking and also will not execute more than once. If you call it a second time, it will do nothing.\r\n\r\n## Mapping\r\nWe provide mappings for:\r\n- Mapping an EPCISDocument/EPCISQueryDocument to/from XML for both EPCIS 1.2 and EPCIS 2.0.\r\n- Mapping an EPCISDocument/EPCISQueryDocument to/from JSON-LD for EPCIS 2.0.\r\n- Mapping a master data object (IVocabularyElement) to/from GS1 Web Vocab JSON-LD.\r\n\r\nAll of the mappers are accessed via a static object at `opentraceability.mappers.OpenTraceabilityMappers`.\r\n\r\n### Mapping EPCIS XML 1.2/2.0\r\nYou can map an XML string to/from an EPCIS Query Document like so:\r\n```\r\nEPCISQueryDocument doc = OpenTraceabilityMappers.EPCISQueryDocument.XML.map(xmlStr, true);\r\nString xmlStrAfter = OpenTraceabilityMappers.EPCISQueryDocument.XML.map(doc);\r\n```\r\n\r\nYou can map an XML string to/from an EPCIS Document like so:\r\n```\r\nEPCISDocument doc = OpenTraceabilityMappers.EPCISDocument.XML.map(xmlStr, true);\r\nString xmlStrAfter = OpenTraceabilityMappers.EPCISDocument.XML.map(doc);\r\n```\r\n\r\n\u003e The version of the XML is controlled via the *version* property on the EPCISDocument/EPCISQueryDocument. When mapping from XML, it is detected by the namespace that is used.\r\n\r\n### Mapping EPCIS JSON-LD 2.0\r\nYou can map an JSON-LD string to/from an EPCIS Document like so:\r\n```\r\nEPCISDocument doc = OpenTraceabilityMappers.EPCISDocument.JSON.map(jsonStr, true);\r\nString jsonStrAfter = OpenTraceabilityMappers.EPCISDocument.JSON.map(doc);\r\n```\r\n\r\nYou can map a JSON-LD string to/from an EPCIS Query Document like so:\r\n```\r\nEPCISQueryDocument doc = OpenTraceabilityMappers.EPCISQueryDocument.JSON.map(jsonStr, true);\r\nString jsonStrAfter = OpenTraceabilityMappers.EPCISQueryDocument.JSON.map(doc);\r\n```\r\n\r\n### Mapping Master Data to/from GS1 Web Vocab JSON-LD\r\nBelow is how you would map a Trade Item in the GS1 Web Vocab JSON-LD format into a Trade Item object and back into the JSON-LD.\r\n```agsl\r\n// map into a trade item\r\nTradeItem tradeitem = (TradeItem)OpenTraceabilityMappers.MasterData.GS1WebVocab.map(TradeItem.class, jsonStr);\r\n\r\n// map back into json\r\nString jsonStrAfter = OpenTraceabilityMappers.MasterData.GS1WebVocab.map(tradeitem);\r\n```\r\n\r\nBelow is how you would map a Location in the GS1 Web Vocab JSON-LD format into a Location object and back into the JSON-LD.\r\n```agsl\r\n// map into a location\r\nLocation loc = (Location)OpenTraceabilityMappers.MasterData.GS1WebVocab.map(Location.class, jsonStr);\r\n\r\n// map back into json\r\nString jsonStrAfter = OpenTraceabilityMappers.MasterData.GS1WebVocab.map(loc);\r\n```\r\n\r\nBelow is how you would map a Trading Party in the GS1 Web Vocab JSON-LD format into a Trading Party object and back into the JSON-LD.\r\n```agsl\r\n// map into a trading party\r\nTradingParty tradingParty = (TradingParty)OpenTraceabilityMappers.MasterData.GS1WebVocab.map(TradingParty.class, jsonStr);\r\n\r\n// map back into json\r\nString jsonStrAfter = OpenTraceabilityMappers.MasterData.GS1WebVocab.map(tradingParty);\r\n```\r\n\r\n## Querying for Data\r\nOur libraries also support the ability to query for data using our clients. The communication protocol is based on the communication protocol from GDST that utilizes the EPCIS 2.0 Query Interface and GS1 Digital Link to query for events and then resolve master data.\r\n\r\n### EPCIS Query Interface\r\nOur libraries only support querying the EPCIS Query Interface **GET - /events** end point which allows you to submit filters via query paramters in the URL.\r\n\r\nYou can query for events using the `EPCISTraceabilityResolver` class which is static. This class will allow you to perform two functions:\r\n- Query for Events\r\n- Traceback\r\n\r\nThe query for events will only perform the query you specify, where the traceback will attempt to traceback the history of the product through it's source-products.\r\n\r\n#### Querying Events\r\nThey `EPCISTraceabilityResolver.queryEvents` will only execute a query using the specified paramters.\r\n\r\n\u003e If you are not familiar with the parameters, please read about them in the EPCIS 2.0 standard.\r\n\r\n```agsl\r\n// load our EPCIS document\r\nString data = ReadTestData(filename);\r\nEPCISDocument doc = OpenTraceabilityMappers.EPCISDocument.JSON.map(data);\r\nString blob_id = client.postEPCISDocument(doc);\r\n\r\nEPCISQueryInterfaceOptions options = new EPCISQueryInterfaceOptions();\r\noptions.version = EPCISVersion.V2;\r\noptions.format = EPCISDataFormat.JSON;\r\noptions.url = URI.create(\"\u003center EPCIS query interface endpoint here...\u003e\");\r\noptions.enableStackTrace = true; // this can help with debugging...\r\n\r\nOkHttpClient client = new OkHttpClient();\r\n\r\n// for each product in the document, query for all events relating to that product\r\nfor (IEvent e : doc.events) {\r\n    for (EventProduct p : e.getProducts()) {\r\n        \r\n        // shortcut for creating query paramters with the EPC set to either MATCH_anyEPC or MATCH_anyEPCClass\r\n        EPCISQueryParameters parameters = new EPCISQueryParameters(p.EPC);\r\n        \r\n        // query for all events related to this EPC\r\n        EPCISQueryResults results = EPCISTraceabilityResolver.queryEvents(options, parameters, client);\r\n        \r\n        // we can access our results with results.Document. This is null in the event of an error.\r\n        EPCISQueryDocument resultsDoc = results.Document;\r\n        \r\n        // we can access errors with results.Errors\r\n        Boolean hasErrors = results.Errors.size() \u003e 0;\r\n    }\r\n}\r\n```\r\n\r\n\r\n#### Tracebacks\r\nTraceback is a common querying pattern in traceability data querying. This documentation will not explain the concept, however the high level is that you will query for all events relating to Product A, then scan for any inputs/children in the returned traceability data and repeat until no more unknown inputs/children remain.\r\n\r\nThis can be accessed using `EPCISTraceabilityResolver.traceback` method.\r\n\r\n```agsl\r\n// load our EPCIS document\r\nString data = ReadTestData(filename);\r\nEPCISDocument doc = OpenTraceabilityMappers.EPCISDocument.JSON.map(data);\r\nString blob_id = client.postEPCISDocument(doc);\r\n\r\nEPCISQueryInterfaceOptions options = new EPCISQueryInterfaceOptions();\r\noptions.version = EPCISVersion.V2;\r\noptions.format = EPCISDataFormat.JSON;\r\noptions.url = URI.create(\"\u003center EPCIS query interface endpoint here...\u003e\");\r\noptions.enableStackTrace = true; // this can help with debugging...\r\n\r\nOkHttpClient client = new OkHttpClient();\r\n\r\n// for each product in the document, query for all events relating to that product\r\nfor (IEvent e : doc.events) {\r\n    for (EventProduct p : e.getProducts()) {\r\n        \r\n        // do a traceback on a specific EPC. on top of specifying the EPC, you can also specify additional EPCIS query\r\n        // parameters, however in this case, we do not.\r\n        EPCISQueryResults results = EPCISTraceabilityResolver.traceback(options, p.EPC, client, null);\r\n\r\n        // we can access our results with results.Document. This is null in the event of an error.\r\n        EPCISQueryDocument resultsDoc = results.Document;\r\n\r\n        // we can access errors with results.Errors\r\n        Boolean hasErrors = results.Errors.size() \u003e 0;\r\n    }\r\n}\r\n```\r\n\r\n# Global Dialogue on Seafood Traceability (GDST)\r\nModel extensions as well as a GDST Master Data Resolver have been added to the OpenTraceability libraries to support the CTE/KDE matrix from GDST.\r\n\r\nThis includes the following model extensions:\r\n\r\n\u003e These examples are for Java, but will apply for the other libraries as well.\r\n\r\n- Events\r\n  - GDST Fishing Event\r\n  - GDST Transshipment Event\r\n  - GDST Landing Event\r\n  - GDST Hatching Event\r\n  - GDST Feed Mill Event (Object - ADD / Transformation)\r\n  - GDST Farm Harvest Event\r\n  - GDST Shipping Event\r\n  - GDST Receiving Event\r\n  - GDST Processing Event\r\n- ILMD\r\n  - The base `EventILMD` was extended as `GDSTILMD` to support ILMD extensions in GDST.\r\n- KDEs\r\n  - The KDE `VesselCatchInformation` was created to support this KDE for fishing events.\r\n- Master Data\r\n  - The `GDSTLocation` extends the base `Location` and supports additional master data KDEs defined in GDST.\r\n- Querying\r\n  - The `GDSTMasterDataResolver` was added to support resolving master data for the `information provider` and `product owner` KDEs on each event.\r\n\r\nIn order to use the extension you need to call:\r\n\r\n```agsl\r\n// this will also call the core initlaization if you did not already\r\nopentraceability.gdst.Setup.Initialize();\r\n```\r\n\r\nAfter this, as you deserialize EPCIS data into EPCIS Document and EPCIS Query Documents, you will find the objects in the `events` field are now instances of the GDST event models providing they match the event profile specified by the GDST standard.\r\n\r\nFor the master data, you will now receive back locations as an instance of `GDSTLocation` instead of `Location` even if you request `Location` in the mapper like:\r\n\r\n```agsl\r\n// map into a location\r\nLocation loc = (Location)OpenTraceabilityMappers.MasterData.GS1WebVocab.map(Location.class, jsonStr);\r\n```\r\n\r\nIf you look in the source code at `opentraceability.gdst.Setup.Initialize()` you will find where we define the profiles.\r\n```agsl\r\nopentraceability.Setup.registerEventProfile(new OpenTraceabilityEventProfile(GDSTFishingEvent.class, EventType.ObjectEvent, \"urn:gdst:bizStep:fishingEvent\", EventAction.ADD));\r\nopentraceability.Setup.registerEventProfile(new OpenTraceabilityEventProfile(GDSTTransshipmentEvent.class, EventType.ObjectEvent, \"urn:gdst:bizStep:transshipment\", EventAction.OBSERVE));\r\nopentraceability.Setup.registerEventProfile(new OpenTraceabilityEventProfile(GDSTLandingEvent.class, EventType.ObjectEvent, \"urn:gdst:bizstep:landing\", EventAction.OBSERVE));\r\nopentraceability.Setup.registerEventProfile(new OpenTraceabilityEventProfile(GDSTHatchingEvent.class, EventType.ObjectEvent, \"urn:gdst:bizstep:hatching\", EventAction.ADD));\r\nopentraceability.Setup.registerEventProfile(new OpenTraceabilityEventProfile(GDSTFarmHarvestEvent.class, EventType.TransformationEvent, \"urn:gdst:bizstep:farmharvest\"));\r\nopentraceability.Setup.registerEventProfile(new OpenTraceabilityEventProfile(GDSTProcessingEvent.class, EventType.TransformationEvent, \"urn:epcglobal:cbv:bizstep:commissioning\"));\r\nopentraceability.Setup.registerEventProfile(new OpenTraceabilityEventProfile(GDSTProcessingEvent.class, EventType.TransformationEvent, \"https://ref.gs1.org/cbv/BizStep-commissioning\"));\r\nopentraceability.Setup.registerEventProfile(new OpenTraceabilityEventProfile(GDSTReceiveEvent.class, EventType.ObjectEvent, \"urn:epcglobal:cbv:bizstep:receiving\", EventAction.OBSERVE));\r\nopentraceability.Setup.registerEventProfile(new OpenTraceabilityEventProfile(GDSTReceiveEvent.class, EventType.ObjectEvent, \"https://ref.gs1.org/cbv/BizStep-receiving\", EventAction.OBSERVE));\r\nopentraceability.Setup.registerEventProfile(new OpenTraceabilityEventProfile(GDSTShippingEvent.class, EventType.ObjectEvent, \"urn:epcglobal:cbv:bizstep:shipping\", EventAction.OBSERVE));\r\nopentraceability.Setup.registerEventProfile(new OpenTraceabilityEventProfile(GDSTShippingEvent.class, EventType.ObjectEvent, \"https://ref.gs1.org/cbv/BizStep-shipping\", EventAction.OBSERVE));\r\nopentraceability.Setup.registerEventProfile(new OpenTraceabilityEventProfile(GDSTAggregationEvent.class, EventType.AggregationEvent, \"urn:epcglobal:cbv:bizstep:packing\", EventAction.ADD));\r\nopentraceability.Setup.registerEventProfile(new OpenTraceabilityEventProfile(GDSTAggregationEvent.class, EventType.AggregationEvent, \"https://ref.gs1.org/cbv/BizStep-packing\", EventAction.ADD));\r\nopentraceability.Setup.registerEventProfile(new OpenTraceabilityEventProfile(GDSTDisaggregationEvent.class, EventType.AggregationEvent, \"urn:epcglobal:cbv:bizstep:unpacking\", EventAction.DELETE));\r\nopentraceability.Setup.registerEventProfile(new OpenTraceabilityEventProfile(GDSTDisaggregationEvent.class, EventType.AggregationEvent, \"https://ref.gs1.org/cbv/BizStep-unpacking\", EventAction.DELETE));\r\n\r\n// The feedmill event is special in the sense that it requires a KDE profile to detect.\r\n// We know it is a feedmill event when it has the proteinSource KDE in the ILMD.\r\nList\u003cOpenTraceabilityEventKDEProfile\u003e feedmillKDEProfile = new ArrayList\u003c\u003e();\r\nfeedmillKDEProfile.add(new OpenTraceabilityEventKDEProfile(\"extension/ilmd/\" + (Constants.GDST_XNAMESPACE + \"proteinSource\"), \"ilmd/\" + (Constants.GDST_XNAMESPACE + \"proteinSource\"), \"ilmd.gdst:proteinSource\"));\r\n\r\nopentraceability.Setup.registerEventProfile(new OpenTraceabilityEventProfile(GDSTFeedmillTransformationEvent.class, EventType.TransformationEvent, \"urn:epcglobal:cbv:bizstep:commissioning\", feedmillKDEProfile));\r\nopentraceability.Setup.registerEventProfile(new OpenTraceabilityEventProfile(GDSTFeedmillTransformationEvent.class, EventType.TransformationEvent, \"https://ref.gs1.org/cbv/BizStep-commissioning\", feedmillKDEProfile));\r\nopentraceability.Setup.registerEventProfile(new OpenTraceabilityEventProfile(GDSTFeedmillObjectEvent.class, EventType.ObjectEvent, \"urn:epcglobal:cbv:bizstep:commissioning\", EventAction.ADD, feedmillKDEProfile));\r\nopentraceability.Setup.registerEventProfile(new OpenTraceabilityEventProfile(GDSTFeedmillObjectEvent.class, EventType.ObjectEvent, \"https://ref.gs1.org/cbv/BizStep-commissioning\", EventAction.ADD, feedmillKDEProfile));\r\n\r\nopentraceability.Setup.registerMasterDataType(GDSTLocation.class, Location.class);\r\n```\r\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://ost.ecosyste.ms/api/v1/projects/356679","html_url":"https://ost.ecosyste.ms/projects/356679"}