Skip to main content

webmention-tools

CircleCI Vulnerabilities Coverage Maintainability

Some simple tools in python to deal with webmentions.

Note, that this package was formerly known as webmentiontools, but had to be renamed due to PEP-541. (Namely, not classified as abandoned project, because the author was reachable).

Currently:

  • webmentiontools.send implements WebmentionSend that sends webmentions.

  • webmentiontools.urlinfo implements UrlInfo() that will rerurn usefull information about a web page, like title, the existance of an “in-reply-to” link, the author name, the author image, etc.

  • webmentiontoold.webmentionio provides a class to query webmention.io

There is also the corresponting command line tool, webmention-tools (which is also a simple example on how to use the library.

Check bin/demo.py on how to use the library to query webmention.io and present information for all URLs that mentioned http://indiewebcamp.com/webmention

Installation

pip install webmention-tools

Usage

Command line:

webmention-tools send `source` `target`
webmention-tools urlinfo `url`

or

Python code to send a webmention:

from webmentiontools.send import WebmentionSend
source = 'URL of page sending the webmention'
target = 'URL of page to receive the webmention'
mention = WebmentionSend(source, target)
mention.send()

Python code to get info about a webpage.

from webmentiontools.urlinfo import UrlInfo
url = 'a link to a web page'
i = UrlInfo(url)
if i.error:
    print('There was an error getting %s' % url)
else:
    print('in-reply-to link: %s' % i.inReplyTo())
    print('publication date: %s' % i.pubDate())
    print('page title: %s' % i.title())
    print('image link: %s' % i.image())

Development

  1. Create a virtualenv with python3

  2. Change into that directory and clone the repository

  3. Activate the virtualenv by sourceing bin/activate

  4. Change into the cloned repository and install dependencies via `pip install -r requirements.txt’

  5. Run pytest --cov for unit tests with code coverage

Release files for webmention-tools 0.4.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for webmention-tools 0.4.1
File Size Uploaded
webmention-tools-0.4.1.tar.gz 9.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for webmention-tools 0.4.1
File Interpreter ABI Platform
webmention_tools-0.4.1-py3-none-any.whl Python 3 none any Details

Total release size: 18.9 kB

Release files / webmention-tools-0.4.1.tar.gz

Download URL webmention-tools-0.4.1.tar.gz
Size 9.5 kB
Tags Source
SHA-256 checksum
How to use checksums
4ca3529a9f573dcdec7aa9d2421055221e77cf5e2cdab73a37558898dab7c595
BLAKE2b-256 checksum
How to use checksums
9d2fae83c21fb75f7713ec922de61c35c2dd01ecaa7e863029b330b9845dbb29
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.6

Release files / webmention_tools-0.4.1-py3-none-any.whl

Download URL webmention_tools-0.4.1-py3-none-any.whl
Size 9.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f9b5517bbcc3037256699cce4d7fdf75763fc88b0bffb67b416cc7755a75660f
BLAKE2b-256 checksum
How to use checksums
779b5d44df99bd0fe9525b193d9a543e9061f1bc379a26946b4653a6ce7da806
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.6

Release history Release notifications | RSS feed

This release

0.4.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page