{"id":15348407,"url":"https://github.com/stain/signposting","last_synced_at":"2025-04-15T02:37:01.359Z","repository":{"id":38838951,"uuid":"476670284","full_name":"stain/signposting","owner":"stain","description":"Python library for parsing FAIR Signposting links","archived":false,"fork":false,"pushed_at":"2024-08-29T10:27:04.000Z","size":551,"stargazers_count":7,"open_issues_count":1,"forks_count":5,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-11T21:53:32.065Z","etag":null,"topics":["fair","http","links","linkset","rfc8288","rfc9264","signposting"],"latest_commit_sha":null,"homepage":"https://signposting.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stain.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":"docs/CONTRIBUTING.rst","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":"codemeta.json","zenodo":null}},"created_at":"2022-04-01T10:12:21.000Z","updated_at":"2025-03-21T11:02:51.000Z","dependencies_parsed_at":"2024-01-08T18:02:43.790Z","dependency_job_id":"b6862086-b44a-4571-8a13-6f7dd076471e","html_url":"https://github.com/stain/signposting","commit_stats":null,"previous_names":[],"tags_count":53,"template":false,"template_full_name":"joaomcteixeira/python-project-skeleton","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stain%2Fsignposting","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stain%2Fsignposting/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stain%2Fsignposting/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stain%2Fsignposting/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stain","download_url":"https://codeload.github.com/stain/signposting/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248995101,"owners_count":21195497,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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"}},"keywords":["fair","http","links","linkset","rfc8288","rfc9264","signposting"],"created_at":"2024-10-01T11:47:51.244Z","updated_at":"2025-04-15T02:37:00.977Z","avatar_url":"https://github.com/stain.png","language":"Python","readme":"===============================\nSignposting link parser library\n===============================\n*Finding signposting in FAIR resources*\n\n.. image:: https://img.shields.io/pypi/v/signposting\n    :target: https://pypi.org/project/signposting/\n    :alt: pypi install signposting\n\n.. image:: https://img.shields.io/pypi/pyversions/signposting\n    :target: https://pypi.org/project/signposting/\n    :alt: Python\n\n.. image:: https://img.shields.io/github/license/stain/signposting\n    :target: https://www.apache.org/licenses/LICENSE-2.0\n    :alt: Apache License v.2.0\n\n.. image:: https://github.com/stain/signposting/workflows/Tests/badge.svg?branch=main\n    :target: https://github.com/stain/signposting/actions?workflow=Tests\n    :alt: Test Status\n\n.. image:: https://github.com/stain/signposting/workflows/Package%20Build/badge.svg?branch=main\n    :target: https://github.com/stain/signposting/actions?workflow=Package%20Build\n    :alt: Package Build\n\n.. image:: https://codecov.io/gh/stain/signposting/branch/main/graph/badge.svg\n    :target: https://codecov.io/gh/stain/signposting\n    :alt: Codecov\n\n.. image:: https://img.shields.io/readthedocs/signposting/latest?label=Read%20the%20Docs\n    :target: https://signposting.readthedocs.io/en/latest/index.html\n    :alt: Read the Docs\n\n.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.6815412.svg\n   :target: https://doi.org/10.5281/zenodo.6815412\n   :alt: DOI 10.5281/zenodo.6815412\n\n\n\nSummary\n=======\nThis library helps client to discover links that follow the \n`signposting`_ conventions, most notably `FAIR Signposting`_.\n\nThis can then be used to navigate between:\n\n* Persistent identifiers\n* HTML landing pages\n* File downloads/items\n* Structured metadata\n\nMethod\n=======\n\nThe library works by inspecting the HTTP messages for\n``Link`` headers from a given URI with `find_signposting_http`, which\nwhich categorize them by their `rel` `Link relation`_ into a \n`Signposting` object with absolute URIs.\n\nIt is up to the clients of this library to decide how to further\nnavigate or retrieve the associated resources, e.g. using a \nRDF library like `rdflib`_ or retrieving resources using `urllib`_.\n\nFuture versions of this library may also provide ways to discover\nFAIR signposting in HTML ``\u003clink\u003e`` annotations and in \n`linkset`_ documents.\n\n\nMotivation\n==========\n\n`FAIR Signposting`_ has been proposed as a mechanism for automated clients to find \nmetadata and persistent identifiers for FAIR data residing in repositories that follow\nthe traditional PID-to-landing-page metaphor. \n\nThis avoids the need for client guesswork with content-negotiation, and allows structured \nmetadata to be provided by the repository rather than just PID providers like DataCite. \n\nThe main idea of FAIR Signposting is to re-use the existing HTTP mechanism for links, using\nexisting relations like ``describedby``, ``cite-as`` and ``item``.\n\nThe aim of this library is to assist such clients to find and consume FAIR resources\nfor further processing. It is out of scope for this code to handle parsing of the \nstructured metadata files.\n\n\nCopyright and license\n=====================\n\n© Copyright 2022 The University of Manchester, UK.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\nSPDX-License-Identifier: Apache-2.0\n\nSee the `authors`_ page for a full list of contributors.\n\n\nHow to use this repository\n==========================\n\nThe `documentation`_ pages explain briefly how to use this library including a listing of modules and methods.\n\n\nIssues and Discussions\n======================\n\nAs usual in any GitHub based project, raise an `issue`_ if you find any bug or have other suggestions; or open a `discussion`_  if you want to discuss or talk :-)\n\nVersion\n=======\n\nv0.9.9\n\n.. _GitHub Actions: https://github.com/features/actions\n.. _PyPI: https://pypi.org\n.. _bump2version: https://github.com/c4urself/bump2version\n.. _discussion: https://github.com/stain/signposting/discussions\n.. _documentation: https://signposting.readthedocs.io/\n.. _issue: https://github.com/stain/signposting/issues\n.. _main branch: https://github.com/stain/signposting/tree/main\n.. _pdb-tools: https://github.com/haddocking/pdb-tools\n.. _project's documentation: https://signposting.readthedocs.io/en/latest/index.html\n.. _pytest: https://docs.pytest.org/en/stable/git\n.. _test.pypi.org: https://test.pypi.org\n.. _ReadTheDocs: https://readthedocs.org/\n.. _signposting: https://signposting.org/conventions/\n.. _FAIR Signposting: https://signposting.org/FAIR/\n.. _Link Relation: https://www.iana.org/assignments/link-relations/\n.. _rdflib: https://rdflib.readthedocs.io/en/stable/\n.. _urllib: https://docs.python.org/3/library/urllib.html\n.. _linkset: https://signposting.org/FAIR/#linksetrec\n.. _authors: https://signposting.readthedocs.io/en/latest/authors.html","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstain%2Fsignposting","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstain%2Fsignposting","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstain%2Fsignposting/lists"}