Skip to main content

sopel-npm

Sopel plugin to handle NPM links/searches

Installing

Releases are hosted on PyPI, so after installing Sopel, all you need is pip:

$ pip install sopel-npm

Using

sopel-npm offers two main features: link handling, and a search command.

If someone posts a link to a package on npmjs.com, sopel-npm should emit an overview of that package's latest version:

<dgw> https://www.npmjs.com/package/plyr
<Sopel> [npm] plyr@3.7.8 | Published by sam_potts | MIT license | Unpacked
        size: 5.1 MiB in 124 files | A simple, accessible and customizable
        HTML5, YouTube and Vimeo media player

Links directly to a specific package version will show information for that release instead:

<dgw> https://www.npmjs.com/package/plyr/v/2.0.18
<Sopel> [npm] plyr@2.0.18 | Published by sampotts | MIT license | A simple,
        accessible and customizable HTML5, YouTube and Vimeo media player

.npm search command

Use .npm keywords here and sopel-npm will show details for the best match as returned by the NPM registry's search engine:

<dgw> .npm best vue plugin
<Sopel> [npm] eslint-plugin-pinia@0.4.1 | Published by lisilinhart | MIT
        license | Unpacked size: 47.4 KiB in 8 files | ESLint plugin for Pinia
        best practices | https://www.npmjs.com/package/eslint-plugin-pinia

This feature will always show details for the latest version of the matching package, if any.

Robustness

NPM metadata has evolved over time, and the registry doesn't normalize metadata for old releases. sopel-npm does its best to cope with missing data fields and return something useful, even if it's not complete.

Bug reports or pull requests are welcome if you run into a situation that this plugin can't handle gracefully!

Changelog

0.1.0

First release of sopel-npm with:

  • npmjs.com package link handling, with and without a version number
  • .npm command for text search of packages in the registry

Known issues:

  • Packages' publication times are not displayed, because the NPM registry's package-version endpoint inexplicably does not provide a release timestamp.
  • While all of the error-handling code paths should work, in theory, some haven't been verified in real-life testing yet.

Metadata

Release files for sopel-npm 0.1.0

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

Source distribution (sdist)

Source distribution for sopel-npm 0.1.0
File Size Uploaded
sopel_npm-0.1.0.tar.gz 7.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sopel-npm 0.1.0
File Interpreter ABI Platform
sopel_npm-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 14.7 kB

Release files / sopel_npm-0.1.0.tar.gz

Download URL sopel_npm-0.1.0.tar.gz
Size 7.0 kB
Tags Source
SHA-256 checksum
How to use checksums
976a1f0ccddcbc1e4a594887f3463a6d80412d12761b71a94173b78e9d4b1a17
BLAKE2b-256 checksum
How to use checksums
ea1889cf23df1c7f283b45610e012c0a93cfc0eabdacc4c30c878bbc737415d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.0.0 CPython/3.12.6

Release files / sopel_npm-0.1.0-py3-none-any.whl

Download URL sopel_npm-0.1.0-py3-none-any.whl
Size 7.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
94fc31e1675ca527128529516d122c505a77b6a2f820dbf3260715016374185e
BLAKE2b-256 checksum
How to use checksums
47727faf6c41a1a43d1a0abcea392c5bae901492f988357db84c931fecbfb2d9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.0.0 CPython/3.12.6

Release history Release notifications | RSS feed

This release

0.1.0 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