Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Finding signposting in FAIR resources
.. image:: https://img.shields.io/pypi/v/signposting :target: https://pypi.org/project/signposting/ :alt: pypi install signposting
.. image:: https://img.shields.io/pypi/pyversions/signposting :target: https://pypi.org/project/signposting/ :alt: Python
.. image:: https://img.shields.io/github/license/stain/signposting :target: https://www.apache.org/licenses/LICENSE-2.0 :alt: Apache License v.2.0
.. image:: https://github.com/stain/signposting/workflows/Tests/badge.svg?branch=main :target: https://github.com/stain/signposting/actions?workflow=Tests :alt: Test Status
.. image:: https://github.com/stain/signposting/workflows/Package%20Build/badge.svg?branch=main :target: https://github.com/stain/signposting/actions?workflow=Package%20Build :alt: Package Build
.. image:: https://codecov.io/gh/stain/signposting/branch/main/graph/badge.svg :target: https://codecov.io/gh/stain/signposting :alt: Codecov
.. image:: https://img.shields.io/readthedocs/signposting/latest?label=Read%20the%20Docs :target: https://signposting.readthedocs.io/en/latest/index.html :alt: Read the Docs
.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.6815412.svg :target: https://doi.org/10.5281/zenodo.6815412 :alt: DOI 10.5281/zenodo.6815412
This library helps client to discover links that follow the
signposting
_ conventions, most notably FAIR Signposting
_.
This can then be used to navigate between:
The library works by inspecting the HTTP messages for
Link
headers from a given URI with find_signposting_http
, which
which categorize them by their rel
Link relation
_ into a
Signposting
object with absolute URIs.
It is up to the clients of this library to decide how to further
navigate or retrieve the associated resources, e.g. using a
RDF library like rdflib
_ or retrieving resources using urllib
_.
Future versions of this library may also provide ways to discover
FAIR signposting in HTML <link>
annotations and in
linkset
_ documents.
FAIR Signposting
_ has been proposed as a mechanism for automated clients to find
metadata and persistent identifiers for FAIR data residing in repositories that follow
the traditional PID-to-landing-page metaphor.
This avoids the need for client guesswork with content-negotiation, and allows structured metadata to be provided by the repository rather than just PID providers like DataCite.
The main idea of FAIR Signposting is to re-use the existing HTTP mechanism for links, using
existing relations like describedby
, cite-as
and item
.
The aim of this library is to assist such clients to find and consume FAIR resources for further processing. It is out of scope for this code to handle parsing of the structured metadata files.
© Copyright 2022 The University of Manchester, UK.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
SPDX-License-Identifier: Apache-2.0
See the authors
_ page for a full list of contributors.
The documentation
_ pages explain briefly how to use this library including a listing of modules and methods.
As 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 :-)
v0.9.9
.. _GitHub Actions: https://github.com/features/actions .. _PyPI: https://pypi.org .. _bump2version: https://github.com/c4urself/bump2version .. _discussion: https://github.com/stain/signposting/discussions .. _documentation: https://signposting.readthedocs.io/ .. _issue: https://github.com/stain/signposting/issues .. _main branch: https://github.com/stain/signposting/tree/main .. _pdb-tools: https://github.com/haddocking/pdb-tools .. _project's documentation: https://signposting.readthedocs.io/en/latest/index.html .. _pytest: https://docs.pytest.org/en/stable/git .. _test.pypi.org: https://test.pypi.org .. _ReadTheDocs: https://readthedocs.org/ .. _signposting: https://signposting.org/conventions/ .. _FAIR Signposting: https://signposting.org/FAIR/ .. _Link Relation: https://www.iana.org/assignments/link-relations/ .. _rdflib: https://rdflib.readthedocs.io/en/stable/ .. _urllib: https://docs.python.org/3/library/urllib.html .. _linkset: https://signposting.org/FAIR/#linksetrec .. _authors: https://signposting.readthedocs.io/en/latest/authors.html
CITATION.cff
#fragments
in profile URIs (e.g. for JSON-LD)codemeta.json
and contributorsSignposting.context_url
, use Signposting.context
insteadfind_signposting
method, use find_signposting_http_link
Signposting.linksets
now included in iterationwarn_duplicate
option to Signposting
constructorSignposting
now includes Link
from other contextsSignposting
added support for +
(add) and |
(merge) operationsSignpost
and Signposting
support for ==
and hash()
Signpost
correctly shows context as anchor=
Signpost.with_context
to change a signpost's for_contextSignposting
and Signpost
==
and hash()
Signpost.with_context
to change a signpost's for_contextSignposting
-- users of find_signposting_linkset
should take particularly care to look up using for_context
Content-Location
headerfind_signposting_linkset
listed in modulefind_signposting_linkset
find_signposting
, renamed to find_signposting_http_link
signposting.htmllinks
signposting.htmllinks
signposting.htmllinks
modulefind_signposting_html
in public APIhtmllinks
signposting.htmllinks
for now)Signposting
and Signpost
classes. str(s)
return HTTP link headers.Signposting.signposts
propertySignposting
is now iterable__init__.py
public APISignposting
classes
to avoid exposing the ParsedLink
implementation.Signposting
attributes like .authors
are now
sets to indicate order is not (very) important.Signposting
classesfind_landing_page
renamed find_signposting_http
FAQs
Parse and navigate FAIR Signposting Link headers
We found that signposting demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.