Ecosyste.ms: OpenCollective

An open API service for software projects hosted on Open Collective.

github.com/sopel-irc/sopel

:robot::speech_balloon: An easy-to-use and highly extensible IRC Bot framework. Formerly Willie.
https://github.com/sopel-irc/sopel

calc: cover missing lines with `plugin.example` tests

Oops! All Error Cases!

...were not covered by the test suite. That was the easiest 100% ever.

c66731f623e190aa9198dca7cc99a96151ff4d4e authored about 1 year ago by dgw <[email protected]>
Merge pull request #2504 from sopel-irc/modules-builtins

modules: rename built-in plugins to "builtins"

26d57faaf97bbda5baad3a7ad9b43d95310f94de authored about 1 year ago by dgw <[email protected]>
modules: rename built-in plugins to "builtins"

Updated relevant plugin handling, documentation/examples, & test files.

d4a0efde1a4bdea03be265d5e23591b553a0ce76 authored about 1 year ago by dgw <[email protected]>
doc, test: update pytest requirement, drop py.test references

This bump to `pytest` is primarily to eliminate some deprecation
warnings from inside of `pytest...

a4b36fb77686a043f86b11ebe06a4ce2ab31c45e authored about 1 year ago by James Gerity <[email protected]>
ci, contrib, meta: add Python 3.12

86d67b2b05585b88e96006f5b72351e3458dc055 authored about 1 year ago by James Gerity <[email protected]>
build: update setuptools pin

Versions of setuptools before 66.1 used deprecated portions of `pkgutil`
that were removed in Py...

fb0efb33aa87e1d824b3f5f9c19631eeee7aea2d authored about 1 year ago by James Gerity <[email protected]>
Merge pull request #2519 from sopel-irc/upgrade-to-vcrpy-5

build, test: upgrade to vcrpy>=5 & refresh broken cassettes

eb5e029528060acbb045c543c81ad4c0ed17804e authored about 1 year ago by dgw <[email protected]>
build, test: upgrade to vcrpy>=5 & refresh broken cassettes

This is *probably* the ideal solution to my issues with certain VCR
cassettes failing locally, s...

3288fe777c08aaff18de015846801e9e89f91cf2 authored about 1 year ago by dgw <[email protected]>
Merge pull request #2523 from SnoopJ/feature/use-external-iplookup

ip: remove plugin extracted to external package

166de9f3d5f89778f804ecf4689c199748a256d4 authored about 1 year ago by dgw <[email protected]>
Merge pull request #2495 from Exirel/docs-tutorials-basic

docs: basic tutorials

ef0a202d6caac97d4f9d70d64512e3ef5c47dba1 authored about 1 year ago by dgw <[email protected]>
Merge pull request #2535 from SnoopJ/bugfix/pin-packaging-version

Pin `packaging` version

ae222ad4ef337c1ba6adb09666c6774a14e20777 authored about 1 year ago by dgw <[email protected]>
build: pin packaging version

This version of `packaging` is chosen to resolve `mypy` failures with
older versions. It may be ...

40c811822c9041d6d939812767d077ea457e315f authored about 1 year ago by James Gerity <[email protected]>
Merge pull request #2534 from sopel-irc/codeql-action-paths

CodeQL: restrict paths on which action should run

abc9322d993d53c5fa050552a0fb33a3681894a4 authored about 1 year ago by dgw <[email protected]>
CodeQL: restrict paths on which action should run

Saves us from burning GHA minutes (4-5 min/run) on CodeQL analysis when
no files in the `sopel/`...

de1254ce5bd7edaa52b058c711cd7a6d88b4007b authored about 1 year ago by dgw <[email protected]>
docs: basic tutorials

This starts a new set of tutorials for Plugin Author:

* "Your first plugin" introduce the very ...

32a3b4a13975169887ccb0af61df4eafdc9a7b73 authored about 1 year ago by Florian Strzelecki <[email protected]>
ip: remove ip plugin in favor of external package

e4c516695f7dccb4b99fed71b8de71bef82fcfe4 authored about 1 year ago by James Gerity <[email protected]>
Merge pull request #2528 from sopel-irc/specify-codeql-scan-path

CodeQL: only scan `sopel` directory

96891bf37d4f1a877e57a9d43d5bf189ca600526 authored about 1 year ago by dgw <[email protected]>
CodeQL: only scan `sopel` directory

No more false security warnings in test files.

979e42d05eb658f3d2959e2ecd5776edc2fcad6a authored about 1 year ago by dgw <[email protected]>
Merge pull request #2496 from Exirel/docs-upgrade-and-type-fix-or-so-i-wish

docs, dev-requirements: upgrade sphinx and try to fix some type issues with documentation

8a60980e989695126e187593e6f79c272add2c7f authored about 1 year ago by dgw <[email protected]>
Merge pull request #2522 from SnoopJ/bugfix/prerelease-deprecation-notices

lifecycle: issue deprecation notices in pre-releases

a91ed843f86aa812565c75bac52fc69db77f30d5 authored about 1 year ago by dgw <[email protected]>
Merge pull request #2521 from SnoopJ/doc/warn-sopelwrapper-deprecated

bot: add deprecation notice to SopelWrapper

981ceea0c0b01bdd77308edc519499be41e8b435 authored about 1 year ago by dgw <[email protected]>
bot: add deprecation notice to SopelWrapper

8060ab7121ff8dbddeac20ed595056fa448c137d authored about 1 year ago by James Gerity <[email protected]>
lifecycle: use release version only for deprecation warning

586202311c4cb3a38bd91c5c99e1ae9d43471fd1 authored about 1 year ago by James Gerity <[email protected]>
lifecycle: simplify deprecation warning version check

0c6f63c3126e050fc1213fcd5ee85b5a7f204728 authored about 1 year ago by James Gerity <[email protected]>
Merge pull request #2520 from SnoopJ/contrib/tox-drop-py37

contrib: drop Python 3.7 from tox config

ec9691b3bf3c00ade012b89335193181ace819e2 authored about 1 year ago by dgw <[email protected]>
contrib: drop Python 3.7 from tox config

278213fb53e7a28a2f5bd0431501d529b88adf15 authored about 1 year ago by James Gerity <[email protected]>
Merge pull request #2512 from sopel-irc/currency-api-changes

currency: replace `exchangerate.host` -> `open.er-api.com`

4c7b507d27fca5fb1396a40d406611b5544d6e27 authored about 1 year ago by dgw <[email protected]>
Merge pull request #2514 from sopel-irc/memories-obsolete-lgtm-tricks

tools.memories: remove obsolete LGTM tricks

f2e1366db6185d00d67f23b38742da761c587af2 authored over 1 year ago by dgw <[email protected]>
Merge pull request #2518 from sopel-irc/readme-source-archive-fix

README: fix link to *latest source* archive

116ce4a3f77698661ae9fe246f5383da7b5aaff3 authored over 1 year ago by dgw <[email protected]>
README: fix link to *latest source* archive

The old link went to the latest *release*, not master.

0358b04e1048a5f4323bef2f15daaaa75cbc36ea authored over 1 year ago by dgw <[email protected]>
Merge pull request #2513 from sopel-irc/search-suggest-single

search: fix cases where `.suggest` gets only one item back

df2009e2ad5f084c71d9017ee8f3f71b359c5a3d authored over 1 year ago by dgw <[email protected]>
tools.memories: remove obsolete LGTM tricks

We aren't using LGTM any more, and thus don't need to trick it into
suppressing a warning about ...

fc40b2794cb9f060afa2b9c573ac1f84f5d2968c authored over 1 year ago by dgw <[email protected]>
search, test: update `.suggest` tests & help

Tests now cover a case where the suggestion endpoint returns only one
value (`.suggest sopel irc...

08238524e7a7f31bf15076403d22c148dddea093 authored over 1 year ago by dgw <[email protected]>
search: fix cases where `.suggest` gets only one item back

`xmltodict` presents a response with only one `<CompleteSuggestion>`
element as just a plain Ord...

9bd18339022571aadd88ab5b85b4bb65b78403ad authored over 1 year ago by dgw <[email protected]>
currency: replace `exchangerate.host` -> `open.er-api.com`

exchangerate.host was bought and changed to require an API key. The new
owner also allegedly bro...

d4686ff7d56e01ffea961e4c293aa658367ae4b4 authored over 1 year ago by dgw <[email protected]>
docs: set maximum signature line length

73cf3a3d3c3f65f60711c7924c8aec2ae44c9a1a authored over 1 year ago by Florian Strzelecki <[email protected]>
docs, db, tools, trigger: another attempt at better types for documentation

Co-authored-by: dgw <[email protected]>

09ee6538f513b929f0e93b1d1f67ee15c3a57f99 authored over 1 year ago by Florian Strzelecki <[email protected]>
docs, plugin: better handling of type checking features

72a071d390a9fbe92427456a1ce25da1f17c71f4 authored over 1 year ago by Florian Strzelecki <[email protected]>
docs: upgrade to sphinx 7.1+ and furo 2023.9.10

Sphinx 7.2+ for Python 3.9+, 7.1 only for Python 3.8.

b60fff31727d5783b19dc5f254f2c214547f35f7 authored over 1 year ago by Florian Strzelecki <[email protected]>
docs: add general and module index

abf29ab1587d38dd3b1292d2e8a73b91bb81ab04 authored over 1 year ago by Florian Strzelecki <[email protected]>
Merge pull request #2511 from sopel-irc/py/mixed-returns

xkcd: address py/mixed-returns CodeQL alert

03dd79b232e084eb997c7ac9a958995c6b8501a1 authored over 1 year ago by dgw <[email protected]>
xkcd: address py/mixed-returns CodeQL alert

9cba730ae34cb26671ecb5ed543aff44d96c4b56 authored over 1 year ago by dgw <[email protected]>
Merge pull request #2507 from sopel-irc/calc-error-handler

calc: gracefully handle `ExpressionEvaluator.Error`

8c3e533ea39b463441b2d92c6ee57c838b99f195 authored over 1 year ago by dgw <[email protected]>
Merge pull request #2510 from sopel-irc/core.modes=None

coretasks, test: handle `core.modes` setting being `None`

953f2eb2a6deb19ff05e27bccef71d02e7934013 authored over 1 year ago by dgw <[email protected]>
coretasks, test: handle `core.modes` setting being `None`

Add `None` to tested cases, as well, so if it goes back to throwing an
error after future change...

314197e409a6d5e7978ebd45c5561b8f60b72171 authored over 1 year ago by dgw <[email protected]>
calc: gracefully handle `ExpressionEvaluator.Error`

We might consider making this exception a standalone class, for less
wacky-looking error handlin...

a12e799bd326e0b745a50401e0f4d5336d89fb34 authored over 1 year ago by dgw <[email protected]>
Merge pull request #2505 from sopel-irc/cap-trailing-space

test: add capabilities test cases for trailing space handling

274470ec29429a26bd0faed12984ce6ac09cf949 authored over 1 year ago by dgw <[email protected]>
test: fix incorrect capability NAK test names

It's not much, but it's honest work.

I was going to do some type-hint cleanup too, but there ar...

0c868423337efbcb120251b79b71dd28d42ef185 authored over 1 year ago by dgw <[email protected]>
test: add capabilities test cases for trailing space handling

Some IRCds include trailing space in capability lists, and this is not a
spec violation. Default...

495ce9c4f0421f40c0f0748289e09e681d5ab26b authored over 1 year ago by dgw <[email protected]>
Merge pull request #2502 from Exirel/ci-make-lint-mandatory

ci, make: "lint" (flake8 & mypy) replace "quality"

bc688b4eaee25a1be4fef66477f016bc21ea61d8 authored over 1 year ago by dgw <[email protected]>
contrib: update tox config to reflect `quality` action -> `lint`

6fa76f3c83a412c8241fbc7a97ec3d4047df3057 authored over 1 year ago by James Gerity <[email protected]>
Merge pull request #2464 from sopel-irc/rm-ast.Num

tools.calculation: replace deprecated `ast.Num` with `ast.Constant`

7b74964e2de3f2d0964d9f5b0f56b5e9447bb988 authored over 1 year ago by dgw <[email protected]>
ci, make: "lint" (flake8 & mypy) replace "quality"

I know I did that, so I'm owning my mistake, and rename "make quality"
by "make lint". A linter ...

62b439bbf6b1565595771e784b9bda8ed597b066 authored over 1 year ago by Florian Strzelecki <[email protected]>
tools.calculation: more refined handling of unsupported node types

Co-authored-by: SnoopJ <[email protected]>

282948700d5480ae9e9e040542be893a1af57861 authored over 1 year ago by dgw <[email protected]>
tools.calculation: replace deprecated `ast.Num` with `ast.Constant`

`ast.Num` and friends have been deprecated since Python 3.8, but didn't
start generating depreca...

6cae1b694aa4c570f19bc0d0b6c269b4fe1792dc authored over 1 year ago by dgw <[email protected]>
Merge pull request #2500 from sopel-irc/rm-py3.7

build, meta: drop Python 3.7 support, checks, and CI job

d58d6a776214d770f169aba72f60873ec6e10524 authored over 1 year ago by dgw <[email protected]>
test: update `plugins` tests to use importlib.metadata directly

importlib.metadata.EntryPoint *shouldn't* differ from Python 3.8 onward,
unless there's somethin...

2a6d14678d4ea94f54dc8d19d409bf01e7dad873 authored over 1 year ago by dgw <[email protected]>
tld: be more specific about JSONDecodeError instead of ValueError

As of Python 3.5, we can do this. It's overdue.

c743861400e8a5d680104c61218f93d16790b11e authored over 1 year ago by dgw <[email protected]>
plugins.handlers: use stdlib for `EntryPointPlugin.get_version()`

`importlib.metadata` officially starts existing in Python 3.8, and we
are removing support for P...

57b692c7475d34579169138ded518371aff4295a authored over 1 year ago by dgw <[email protected]>
plugins.rules: fix newly detected case of F811 in pyflakes 3.1.0+

314c8a2d637f48a301658bf5d515f32b6c859f4a authored over 1 year ago by dgw <[email protected]>
plugins.rules: clean up forgotten py2 list-copy holdover

Not doing exactly as the comment says because different Rule subclasses
pass aliases as either t...

2bcddffaa7e90bafea558b8fe127b563edaf2960 authored over 1 year ago by dgw <[email protected]>
irc.isupport: simplify `OrderedDict` -> `dict`

Regular `dict` is promised to maintain insertion order as of Python 3.7
(which means this could ...

8ad45b733dd395a07c59a55047070a51b352a28a authored over 1 year ago by dgw <[email protected]>
announce: simplify chunking loop to use walrus operator

The test covering `_chunks()` still passes, so hooray!

451a36e030f2feb5da50d78b0c1ff3878252b940 authored over 1 year ago by dgw <[email protected]>
plugins.handlers: use `TypedDict` for `get_meta_description()` returns

Played with using intentionally wrong types in the definition of a
`PluginMetaDescription` and r...

de572cd075357e3c4a36938b0c1dfcde77498d76 authored over 1 year ago by dgw <[email protected]>
sopel: `importlib_metadata` backport -> stdlib `importlib.metadata`

Can't drop the `importlib_metadata` requirement yet, though. We use some
stuff elsewhere that is...

a903e5d3f265c742788afa65a3e3001f5e61dcd9 authored over 1 year ago by dgw <[email protected]>
docs/docstrings: replace links to Python 3.7 docs w/links to 3.11 pages

Linking to just `/3/` is admittedly risky, because item/anchor locations
can change across Pytho...

4d2f19c87edf52dbf0f1a5e6ca8573ef7ef6545e authored over 1 year ago by dgw <[email protected]>
build, meta: drop Python 3.7 support, checks, and CI job

45ce17c8a99af8669511fa067044a06b3615985c authored over 1 year ago by dgw <[email protected]>
Merge pull request #2494 from SnoopJ/doc/add-root-docstring

docs: add docstring to library root module

271b306ac328ccea32da333787c00b739021bb39 authored over 1 year ago by dgw <[email protected]>
Merge pull request #2491 from sopel-irc/tld-oopsies

tld: fix regressions from type-hint cleanup

37e6249ce41a826689482d756db8b27912284d28 authored over 1 year ago by dgw <[email protected]>
Merge pull request #2489 from SnoopJ/doc/gh2488-warn-about-plugin-unboxing

docs: add example of plugin re-use

a620c14e468e4f854cc3d607b1c46c097453354a authored over 1 year ago by dgw <[email protected]>
docs: add example of (and warnings about) plugin re-use

Co-authored-by: dgw <[email protected]>
Co-authored-by: Florian Strzelecki <florian.strzelecki@...

1cb9654c860ec36357ad1793f52eac08fb7dc54b authored over 1 year ago by James Gerity <[email protected]>
docs: remove outdated remarks about LC_ALL

393a22d506f1d6614ad86955eba09b01560f3bf8 authored over 1 year ago by James Gerity <[email protected]>
Merge pull request #2481 from sopel-irc/rm-bugzilla

bugzilla: remove module extracted to separate package

85f19c7d1a991adccf6ff86a25ee88873d54a6ba authored over 1 year ago by dgw <[email protected]>
docs: add docstring to library root module

db051a192af5a6b54725639cf7d131a8e53d53d9 authored over 1 year ago by James Gerity <[email protected]>
Merge pull request #2469 from SnoopJ/contrib/tox

Add optional tox configuration

c26914b68913bc25bdd1f5fed9c5942a87fdfee6 authored over 1 year ago by dgw <[email protected]>
contrib: rename README → README.md, add tox information

56ff790a810d4469ad342b37b615053709529ef7 authored over 1 year ago by James Gerity <[email protected]>
contrib: add tox config

Co-authored-by: dgw <[email protected]>

d06c975592187c8feadc02044e240a14997e613d authored over 1 year ago by James Gerity <[email protected]>
Merge pull request #2477 from sopel-irc/rm-meetbot

meetbot: remove in favor of external package

4fe14cc43e6a742897b10bf7d6f3f723368147d7 authored over 1 year ago by dgw <[email protected]>
tld: fix building parameters for Wikipedia request

dict.update() returns None, not the updated dict, so the requests.get()
call was passed params=N...

1125d87b969a875cc15e6bb8f6c08e2f3c9a8d41 authored over 1 year ago by dgw <[email protected]>
tld: fix retval of WikipediaTLDListParser.get_processed_data()

Can't return an attribute that's been deleted, can we? Indeed not.

8be93b89ab80a9e8d5ca270f48171099d204ebc5 authored over 1 year ago by dgw <[email protected]>
Merge pull request #2478 from sopel-irc/rm-remind

remind: remove plugin reimplemented as external package w/better tests

6af4f23d2ea011aa1e5fc9ce5449b2f2bce1bd1c authored over 1 year ago by dgw <[email protected]>
bugzilla: remove module extracted to separate package

Moved to https://github.com/sopel-irc/sopel-bugzilla

0e4d080aeb0a5dc08c0f80568a4db1ccaddb3bd0 authored over 1 year ago by dgw <[email protected]>
Merge pull request #2480 from sopel-irc/dgw/typing-generics

mypy: use generic types instead of `typing` aliases where possible

79b6bce73f4de083a5019443a1cc45896c3ec7f5 authored over 1 year ago by dgw <[email protected]>
irc.modes: use collections.abc.Iterator instead of typing alias

91dd723c03c3c01a895521da3c8fe04fd1f039a7 authored over 1 year ago by dgw <[email protected]>
url: use collections.abc.Generator, not typing alias

b78511097e4b87ba9d3058b375b7ab9a1d43abee authored over 1 year ago by dgw <[email protected]>
plugins.rules: use collections.abc.Generator, not typing alias

97403d943c922a1d5dcd3711cfec196e53fa7f0b authored over 1 year ago by dgw <[email protected]>
plugins.capabilities: use collections.abc.Generator, not typing alias

59fafb8cf1d8a8157f7046882e778b38f37cb87e authored over 1 year ago by dgw <[email protected]>
bot: use generic collections.abc.Mapping instead of typing alias, too

45f8cc6481eb016424a165479ce0e6e1871f979b authored over 1 year ago by dgw <[email protected]>
Merge pull request #2471 from sopel-irc/mypy-untyped-defs

Clean up errors in `mypy --check-untyped-defs`

3185eed0263307dcba851bf09aa1ea96840e7fec authored over 1 year ago by dgw <[email protected]>
url: use generics instead of `typing` aliases

957c6e2464ab93e42a25da1bf9e813b05173591c authored over 1 year ago by dgw <[email protected]>
safety: use generics instead of `typing` aliases

f96878ef023cbfcd42091d3c87070c416217f377 authored over 1 year ago by dgw <[email protected]>
meetbot: use generics instead of `typing` aliases

54c91a471b49bd5b34b7f5a3ff024e5c3858b02a authored over 1 year ago by dgw <[email protected]>
tld: use generics instead of `typing` aliases

aeacb67479df3f2e9c06d11ba57743119ad68874 authored over 1 year ago by dgw <[email protected]>
currency: use generics instead of `typing` aliases

1495121c808b8778eff6402da7173a54e893275d authored over 1 year ago by dgw <[email protected]>
tests.factories: use generics instead of `typing` aliases

c4aadd981ddc03d4f1b02cbeeb9c0f9bab776fd0 authored over 1 year ago by dgw <[email protected]>
irc: use generics instead of `typing` aliases

67a6e70b726b929fbc83699c7373fe123914038c authored over 1 year ago by dgw <[email protected]>
tools.target: use generics instead of `typing` aliases

b9784e2368fa261eb063d3bd75a09a136666de65 authored over 1 year ago by dgw <[email protected]>
irc.capabilities: use generics instead of `typing` aliases

e562df2df17fa8a4d017a4a6e39374c9ff7d9650 authored over 1 year ago by dgw <[email protected]>
config.types: use generics instead of `typing` aliases

d47d2d2d5cc7819a0400a218dcbfd38a480e005b authored over 1 year ago by dgw <[email protected]>
tools.time: use generics instead of `typing` aliases

b23c506909ab2311d514f0541bc335d002457246 authored over 1 year ago by dgw <[email protected]>