A simple, lightweight Discord bot running with only 512 MB memory on Heroku

Overview

Haruka

Discord Bots Discord Bots Discord Bots

This used to be a music bot, but people keep using it for NSFW content. Can't everyone be less horny?

Bot commands

See the built-in help command for more details.

General

about, avatar, emoji, help, info, invite, prefix, remind, say, source, svinfo

Fun

8ball, card, fact, hangman, ping, quote, rickroll, roll, snipe

Searching tool

anime, manga, nhentai, pixiv, sauce, urban, youtube

Images

nsfw, sfw

Music

add, dashboard, myplaylist, pause, play, playlist, publish, queue, remove, resume, shuffle, skip, stop, stopafter, unpublish, vping

Moderation

ban, kick, mute, unmute

Report errors

If you find an error, or want to request a feature, open a GitHub issue or send me via DM: Serious-senpai#6929

Comments
  • Bump multidict from 5.2.0 to 6.0.3

    Bump multidict from 5.2.0 to 6.0.3

    Bumps multidict from 5.2.0 to 6.0.3.

    Release notes

    Sourced from multidict's releases.

    6.0.3

    Features

    • Declared the official support for Python 3.11 — by :user:mlegner. ((#872))

    v6.0.2

    Bugfixes

    • Revert (#644), restore type annotations to as-of 5.2.0 version. ((#688))

    v6.0.1

    Bugfixes

    • Restored back MultiDict, CIMultiDict, MultiDictProxy, and CIMutiDictProxy generic type arguments; they are parameterized by value type, but the key type is fixed by container class.

      MultiDict[int] means MutableMultiMapping[str, int]. The key type of MultiDict is always str, while all str-like keys are accepted by API and converted to str internally.

      The same is true for CIMultiDict[int] which means MutableMultiMapping[istr, int]. str-like keys are accepted but converted to istr internally. ((#682))

    v6.0.0

    Features

    • Use METH_FASTCALL where it makes sense.

      MultiDict.add() is 2.2 times faster now, CIMultiDict.add() is 1.5 times faster. The same boost is applied to get*(), setdefault(), and pop*() methods. ((#681))

    Bugfixes

    • Fixed type annotations for keys of multidict mapping classes. ((#644))
    • Support Multidict[int] for pure-python version. __class_getitem__ is already provided by C Extension, making it work with the pure-extension too. ((#678))

    Deprecations and Removals

    • Dropped Python 3.6 support ((#680))

    ... (truncated)

    Changelog

    Sourced from multidict's changelog.

    6.0.3 (2022-12-03)

    Features

    • Declared the official support for Python 3.11 — by :user:mlegner. (:issue:872)

    6.0.2 (2022-01-24)

    Bugfixes

    • Revert :issue:644, restore type annotations to as-of 5.2.0 version. (:issue:688)

    6.0.1 (2022-01-23)

    Bugfixes

    • Restored back MultiDict, CIMultiDict, MultiDictProxy, and CIMutiDictProxy generic type arguments; they are parameterized by value type, but the key type is fixed by container class.

      MultiDict[int] means MutableMultiMapping[str, int]. The key type of MultiDict is always str, while all str-like keys are accepted by API and converted to str internally.

      The same is true for CIMultiDict[int] which means MutableMultiMapping[istr, int]. str-like keys are accepted but converted to istr internally. (:issue:682)

    6.0.0 (2022-01-22)

    Features

    • Use METH_FASTCALL where it makes sense.

      MultiDict.add() is 2.2 times faster now, CIMultiDict.add() is 1.5 times faster. The same boost is applied to get*(), setdefault(), and pop*() methods. (:issue:681)

    Bugfixes

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump attrs from 21.2.0 to 22.1.0

    Bump attrs from 21.2.0 to 22.1.0

    Bumps attrs from 21.2.0 to 22.1.0.

    Release notes

    Sourced from attrs's releases.

    22.1.0

    Highlights

    The main features of this release are:

    • The departure of Python 2.7 (enjoy your retirement!),
    • and the arrival of Python 3.11.

    We had loftier goals feature-wise, but didn't want to block others embracing Python 3.11.

    ❤️ Huge thanks to my GitHub sponsors, Tidelift subscribers, and Ko-fi buyers! ❤️

    None of my projects would exist in their current form without you!

    Full Changelog

    Backwards-incompatible Changes

    • Python 2.7 is not supported anymore.

      Dealing with Python 2.7 tooling has become too difficult for a volunteer-run project.

      We have supported Python 2 more than 2 years after it was officially discontinued and feel that we have paid our dues. All version up to 21.4.0 from December 2021 remain fully functional, of course. #936

    • The deprecated cmp attribute of attrs.Attribute has been removed. This does not affect the cmp argument to attr.s that can be used as a shortcut to set eq and order at the same time. #939

    Changes

    • Instantiation of frozen slotted classes is now faster. #898
    • If an eq key is defined, it is also used before hashing the attribute. #909
    • Added attrs.validators.min_len(). #916
    • attrs.validators.deep_iterable()'s member_validator argument now also accepts a list of validators and wraps them in an attrs.validators.and_(). #925
    • Added missing type stub re-imports for attrs.converters and attrs.filters. #931
    • Added missing stub for attr(s).cmp_using(). #949
    • attrs.validators._in()'s ValueError is not missing the attribute, expected options, and the value it got anymore. #951
    • Python 3.11 is now officially supported. #969

    21.4.0

    This is a quick bug fix release for a regression that causes coverage report fail under certain circumstances.

    Full Changelog

    Changes

    • Fixed the test suite on PyPy3.8 where cloudpickle does not work. #892
    • Fixed coverage report for projects that use attrs and don't set a --source. #895, #896

    21.3.0

    This is a big release in the history of attrs and finishes an arc that took way too long and also delayed this very overdue release. But it's done: import attrs that has been talked about for years[^issue], but fell victim to “just this one more thing” has finally landed.

    ... (truncated)

    Changelog

    Sourced from attrs's changelog.

    22.1.0 (2022-07-28)

    Backwards-incompatible Changes ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    • Python 2.7 is not supported anymore.

      Dealing with Python 2.7 tooling has become too difficult for a volunteer-run project.

      We have supported Python 2 more than 2 years after it was officially discontinued and feel that we have paid our dues. All version up to 21.4.0 from December 2021 remain fully functional, of course. [#936](https://github.com/python-attrs/attrs/issues/936) <https://github.com/python-attrs/attrs/issues/936>_

    • The deprecated cmp attribute of attrs.Attribute has been removed. This does not affect the cmp argument to attr.s that can be used as a shortcut to set eq and order at the same time. [#939](https://github.com/python-attrs/attrs/issues/939) <https://github.com/python-attrs/attrs/issues/939>_

    Changes ^^^^^^^

    • Instantiation of frozen slotted classes is now faster. [#898](https://github.com/python-attrs/attrs/issues/898) <https://github.com/python-attrs/attrs/issues/898>_
    • If an eq key is defined, it is also used before hashing the attribute. [#909](https://github.com/python-attrs/attrs/issues/909) <https://github.com/python-attrs/attrs/issues/909>_
    • Added attrs.validators.min_len(). [#916](https://github.com/python-attrs/attrs/issues/916) <https://github.com/python-attrs/attrs/issues/916>_
    • attrs.validators.deep_iterable()'s member_validator argument now also accepts a list of validators and wraps them in an attrs.validators.and_(). [#925](https://github.com/python-attrs/attrs/issues/925) <https://github.com/python-attrs/attrs/issues/925>_
    • Added missing type stub re-imports for attrs.converters and attrs.filters. [#931](https://github.com/python-attrs/attrs/issues/931) <https://github.com/python-attrs/attrs/issues/931>_
    • Added missing stub for attr(s).cmp_using(). [#949](https://github.com/python-attrs/attrs/issues/949) <https://github.com/python-attrs/attrs/issues/949>_
    • attrs.validators._in()'s ValueError is not missing the attribute, expected options, and the value it got anymore. [#951](https://github.com/python-attrs/attrs/issues/951) <https://github.com/python-attrs/attrs/issues/951>_
    • Python 3.11 is now officially supported. [#969](https://github.com/python-attrs/attrs/issues/969) <https://github.com/python-attrs/attrs/issues/969>_

    21.4.0 (2021-12-29)

    Changes ^^^^^^^

    • Fixed the test suite on PyPy3.8 where cloudpickle does not work. [#892](https://github.com/python-attrs/attrs/issues/892) <https://github.com/python-attrs/attrs/issues/892>_

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump pillow from 9.0.1 to 9.2.0

    Bump pillow from 9.0.1 to 9.2.0

    Bumps pillow from 9.0.1 to 9.2.0.

    Release notes

    Sourced from pillow's releases.

    9.2.0

    https://pillow.readthedocs.io/en/stable/releasenotes/9.2.0.html

    Changes

    Dependencies

    ... (truncated)

    Changelog

    Sourced from pillow's changelog.

    9.2.0 (2022-07-01)

    • Deprecate ImageFont.getsize and related functions #6381 [nulano, radarhere]

    • Fixed null check for fribidi_version_info in FriBiDi shim #6376 [nulano]

    • Added GIF decompression bomb check #6402 [radarhere]

    • Handle PCF fonts files with less than 256 characters #6386 [dawidcrivelli, radarhere]

    • Improved GIF optimize condition #6378 [raygard, radarhere]

    • Reverted to array_interface with the release of NumPy 1.23 #6394 [radarhere]

    • Pad PCX palette to 768 bytes when saving #6391 [radarhere]

    • Fixed bug with rounding pixels to palette colors #6377 [btrekkie, radarhere]

    • Use gnome-screenshot on Linux if available #6361 [radarhere, nulano]

    • Fixed loading L mode BMP RLE8 images #6384 [radarhere]

    • Fixed incorrect operator in ImageCms error #6370 [LostBenjamin, hugovk, radarhere]

    • Limit FPX tile size to avoid extending outside image #6368 [radarhere]

    • Added support for decoding plain PPM formats #5242 [Piolie, radarhere]

    • Added apply_transparency() #6352 [radarhere]

    • Fixed behaviour change from endian fix #6197 [radarhere]

    • Allow remapping P images with RGBA palettes #6350 [radarhere]

    ... (truncated)

    Commits
    • 58acec3 Update CHANGES.rst [ci skip]
    • dc518ac 9.2.0 version bump
    • 488589b Merge pull request #6381 from nulano/deprecate-getsize
    • 8a6050e Replaced internal argument with warning filters
    • 79329fb Merge pull request #6408 from radarhere/furo
    • 4ca99f7 Install furo if it is not available
    • 729fe6f Updated indentation
    • 74e0b95 test {ImageFont,TransposedFont}.getsize() deprecation
    • a37c21e document planned removal date for ImageFont deprecations and release notes
    • ad5271d Document replacements for individual deprecated font methods
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump pillow from 9.0.1 to 9.1.1

    Bump pillow from 9.0.1 to 9.1.1

    Bumps pillow from 9.0.1 to 9.1.1.

    Release notes

    Sourced from pillow's releases.

    9.1.1

    This release addresses several security problems.

    CVE-2022-30595: When reading a TGA file with RLE packets that cross scan lines, Pillow reads the information past the end of the first line without deducting that from the length of the remaining file data. This vulnerability was introduced in Pillow 9.1.0, and can cause a heap buffer overflow.

    Opening an image with a zero or negative height has been found to bypass a decompression bomb check. This will now raise a SyntaxError instead, in turn raising a PIL.UnidentifiedImageError.

    9.1.0

    https://pillow.readthedocs.io/en/stable/releasenotes/9.1.0.html

    Changes

    ... (truncated)

    Changelog

    Sourced from pillow's changelog.

    9.1.1 (2022-05-17)

    • When reading past the end of a TGA scan line, reduce bytes left. CVE-2022-30595 [radarhere]

    • Do not open images with zero or negative height #6269 [radarhere]

    9.1.0 (2022-04-01)

    • Add support for multiple component transformation to JPEG2000 #5500 [scaramallion, radarhere, hugovk]

    • Fix loading FriBiDi on Alpine #6165 [nulano]

    • Added setting for converting GIF P frames to RGB #6150 [radarhere]

    • Allow 1 mode images to be inverted #6034 [radarhere]

    • Raise ValueError when trying to save empty JPEG #6159 [radarhere]

    • Always save TIFF with contiguous planar configuration #5973 [radarhere]

    • Connected discontiguous polygon corners #5980 [radarhere]

    • Ensure Tkinter hook is activated for getimage() #6032 [radarhere]

    • Use screencapture arguments to crop on macOS #6152 [radarhere]

    • Do not mark L mode JPEG as 1 bit in PDF #6151 [radarhere]

    • Added support for reading I;16R TIFF images #6132 [radarhere]

    • If an error occurs after creating a file, remove the file #6134 [radarhere]

    • Fixed calling DisplayViewer or XVViewer without a title #6136 [radarhere]

    ... (truncated)

    Commits
    • 0f44136 9.1.1 version bump
    • f66f5e1 pre-commit: update Black to fix Click
    • 0153b37 Skip test_realloc_overflow unless libtiff 4.0.4 or higher
    • 6fcd31b Added release notes for 9.1.1
    • c846cc8 When reading past the end of a scan line, reduce bytes left
    • 184b73e Do not open images with zero or negative height
    • 5d07022 Update CHANGES.rst [ci skip]
    • 1e0bc4a 9.1.0 version bump
    • 0606f02 Merge pull request #6168 from hugovk/release-notes
    • 703f54c Merge pull request #5500 from scaramallion/dev-j2k
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump soupsieve from 2.3.1 to 2.3.2

    Bump soupsieve from 2.3.1 to 2.3.2

    Bumps soupsieve from 2.3.1 to 2.3.2.

    Release notes

    Sourced from soupsieve's releases.

    2.3.2

    • FIX: Fix some typos in error messages.
    Commits
    • e79f532 Merge pull request #240 from facelessuser/chore/hatch-backend
    • 741e0c6 No more testing on PY36
    • 9da2de8 Use hatch as the build backend
    • 094d265 Should use HTML comments in test placeholder text
    • 0baf35b Merge pull request #238 from kianmeng/fix-typos
    • df1cf19 Fix typos
    • a8640aa Merge pull request #237 from facelessuser/bug/lxml-test
    • 361fc44 Fix lint and spelling issues
    • 64748a2 Update tests to account for latest lxml and libxml2 versions
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump pillow from 9.0.1 to 9.1.0

    Bump pillow from 9.0.1 to 9.1.0

    Bumps pillow from 9.0.1 to 9.1.0.

    Release notes

    Sourced from pillow's releases.

    9.1.0

    https://pillow.readthedocs.io/en/stable/releasenotes/9.1.0.html

    Changes

    ... (truncated)

    Changelog

    Sourced from pillow's changelog.

    9.1.0 (2022-04-01)

    • Add support for multiple component transformation to JPEG2000 #5500 [scaramallion, radarhere, hugovk]

    • Fix loading FriBiDi on Alpine #6165 [nulano]

    • Added setting for converting GIF P frames to RGB #6150 [radarhere]

    • Allow 1 mode images to be inverted #6034 [radarhere]

    • Raise ValueError when trying to save empty JPEG #6159 [radarhere]

    • Always save TIFF with contiguous planar configuration #5973 [radarhere]

    • Connected discontiguous polygon corners #5980 [radarhere]

    • Ensure Tkinter hook is activated for getimage() #6032 [radarhere]

    • Use screencapture arguments to crop on macOS #6152 [radarhere]

    • Do not mark L mode JPEG as 1 bit in PDF #6151 [radarhere]

    • Added support for reading I;16R TIFF images #6132 [radarhere]

    • If an error occurs after creating a file, remove the file #6134 [radarhere]

    • Fixed calling DisplayViewer or XVViewer without a title #6136 [radarhere]

    • Retain RGBA transparency when saving multiple GIF frames #6128 [radarhere]

    • Save additional ICO frames with other bit depths if supplied #6122 [radarhere]

    • Handle EXIF data truncated to just the header #6124 [radarhere]

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump multidict from 5.2.0 to 6.0.2

    Bump multidict from 5.2.0 to 6.0.2

    Bumps multidict from 5.2.0 to 6.0.2.

    Release notes

    Sourced from multidict's releases.

    v6.0.2

    Bugfixes

    • Revert (#644), restore type annotations to as-of 5.2.0 version. ((#688))

    v6.0.1

    Bugfixes

    • Restored back MultiDict, CIMultiDict, MultiDictProxy, and CIMutiDictProxy generic type arguments; they are parameterized by value type, but the key type is fixed by container class.

      MultiDict[int] means MutableMultiMapping[str, int]. The key type of MultiDict is always str, while all str-like keys are accepted by API and converted to str internally.

      The same is true for CIMultiDict[int] which means MutableMultiMapping[istr, int]. str-like keys are accepted but converted to istr internally. ((#682))

    v6.0.0

    Features

    • Use METH_FASTCALL where it makes sense.

      MultiDict.add() is 2.2 times faster now, CIMultiDict.add() is 1.5 times faster. The same boost is applied to get*(), setdefault(), and pop*() methods. ((#681))

    Bugfixes

    • Fixed type annotations for keys of multidict mapping classes. ((#644))
    • Support Multidict[int] for pure-python version. __class_getitem__ is already provided by C Extension, making it work with the pure-extension too. ((#678))

    Deprecations and Removals

    • Dropped Python 3.6 support ((#680))

    Misc

    Changelog

    Sourced from multidict's changelog.

    6.0.2 (2022-01-24)

    Bugfixes

    • Revert :issue:644, restore type annotations to as-of 5.2.0 version. (:issue:688)

    6.0.1 (2022-01-23)

    Bugfixes

    • Restored back MultiDict, CIMultiDict, MultiDictProxy, and CIMutiDictProxy generic type arguments; they are parameterized by value type, but the key type is fixed by container class.

      MultiDict[int] means MutableMultiMapping[str, int]. The key type of MultiDict is always str, while all str-like keys are accepted by API and converted to str internally.

      The same is true for CIMultiDict[int] which means MutableMultiMapping[istr, int]. str-like keys are accepted but converted to istr internally. (:issue:682)

    6.0.0 (2022-01-22)

    Features

    • Use METH_FASTCALL where it makes sense.

      MultiDict.add() is 2.2 times faster now, CIMultiDict.add() is 1.5 times faster. The same boost is applied to get*(), setdefault(), and pop*() methods. (:issue:681)

    Bugfixes

    • Fixed type annotations for keys of multidict mapping classes. (:issue:644)
    • Support Multidict[int] for pure-python version. __class_getitem__ is already provided by C Extension, making it work with the pure-extension too. (:issue:678)

    Deprecations and Removals

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump typing-extensions from 4.0.0 to 4.1.0

    Bump typing-extensions from 4.0.0 to 4.1.0

    Bumps typing-extensions from 4.0.0 to 4.1.0.

    Changelog

    Sourced from typing-extensions's changelog.

    Release 4.1.0 (February 12, 2022)

    • Runtime support for PEP 646, adding typing_extensions.TypeVarTuple and typing_extensions.Unpack.
    • Add interaction of Required and NotRequired with __required_keys__, __optional_keys__ and get_type_hints(). Patch by David Cabot (@​d-k-bo).
    • Runtime support for PEP 675 and typing_extensions.LiteralString.
    • Add Never and assert_never. Backport from bpo-46475.
    • ParamSpec args and kwargs are now equal to themselves. Backport from bpo-46676. Patch by Gregory Beauregard (@​GBeauregard).
    • Add reveal_type. Backport from bpo-46414.
    • Runtime support for PEP 681 and typing_extensions.dataclass_transform.
    • Annotated can now wrap ClassVar and Final. Backport from bpo-46491. Patch by Gregory Beauregard (@​GBeauregard).
    • Add missed Required and NotRequired to __all__. Patch by Yuri Karabas (@​uriyyo).
    • The @final decorator now sets the __final__ attribute on the decorated object to allow runtime introspection. Backport from bpo-46342.
    • Add is_typeddict. Patch by Chris Moradi (@​chrismoradi) and James Hilton-Balfe (@​Gobot1234).

    Release 4.0.1 (November 30, 2021)

    • Fix broken sdist in release 4.0.0. Patch by Adam Turner (@​AA-Turner).
    • Fix equality comparison for Required and NotRequired. Patch by Jelle Zijlstra (@​jellezijlstra).
    • Fix usage of Self as a type argument. Patch by Chris Wesseling (@​CharString) and James Hilton-Balfe (@​Gobot1234).
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump attrs from 21.2.0 to 21.4.0

    Bump attrs from 21.2.0 to 21.4.0

    Bumps attrs from 21.2.0 to 21.4.0.

    Release notes

    Sourced from attrs's releases.

    21.4.0

    This is a quick bug fix release for a regression that causes coverage report fail under certain circumstances.

    Full Changelog

    Changes

    • Fixed the test suite on PyPy3.8 where cloudpickle does not work. #892
    • Fixed coverage report for projects that use attrs and don't set a --source. #895, #896

    21.3.0

    This is a big release in the history of attrs and finishes an arc that took way too long and also delayed this very overdue release. But it's done: import attrs that has been talked about for years[^issue], but fell victim to “just this one more thing” has finally landed.

    From now on, modern attrs code looks like this:

    from attrs import define
    

    @​define class HelloWorld: modern: bool = True

    The define/field APIs have been around for over a year and were very popular, now the rest of the package followed suit. I'm very excited that attrs remains relevant and keeps evolving over now more than half a decade. If you're curious about some of the background, the docs now contain a short explanation and history lesson. As long as our users keep pushing us, we will keep pushing forward class generation in Python!

    Big thanks to my GitHub Sponsors, Tidelift subscribers, and Ko-fi buyers that help me mustering the motivation for such long-running project!


    Since the release took so long, there's more highlights than we can enumerate here, we'd just like to point out a breaking change in the new APIs: converters now run on setting attributes by default. If this is causing problems to you, you can disable that behavior by setting @define(on_setattr=[]).

    [^issue]: I have an issue from 2018 that I wanted to "come back the moment this lands".

    Full Changelog

    Backward-incompatible Changes

    • When using @define, converters are now run by default when setting an attribute on an instance -- additionally to validators. I.e. the new default is on_setattr=[attrs.setters.convert, attrs.setters.validate].

      This is unfortunately a breaking change, but it was an oversight, impossible to raise a DeprecationWarning about, and it's better to fix it now while the APIs are very fresh with few users. #835, #886

    • import attrs has finally landed! As of this release, you can finally import attrs using its proper name.

      Not all names from the attr namespace have been transferred; most notably attr.s and attr.ib are missing. See attrs.define and attrs.field if you haven't seen our next-generation APIs yet. A more elaborate explanation can be found On The Core API Names

      This feature is at least for one release provisional. We don't plan on changing anything, but such a big change is unlikely to go perfectly on the first strike.

      The API docs have been mostly updated, but it will be an ongoing effort to change everything to the new APIs. Please note that we have not moved -- or even removed -- anything from attr!

    ... (truncated)

    Changelog

    Sourced from attrs's changelog.

    21.4.0 (2021-12-29)

    Changes ^^^^^^^

    • Fixed the test suite on PyPy3.8 where cloudpickle does not work. [#892](https://github.com/python-attrs/attrs/issues/892) <https://github.com/python-attrs/attrs/issues/892>_
    • Fixed coverage report for projects that use attrs and don't set a --source. [#895](https://github.com/python-attrs/attrs/issues/895) <https://github.com/python-attrs/attrs/issues/895>, [#896](https://github.com/python-attrs/attrs/issues/896) <https://github.com/python-attrs/attrs/issues/896>

    21.3.0 (2021-12-28)

    Backward-incompatible Changes ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    • When using @define, converters are now run by default when setting an attribute on an instance -- additionally to validators. I.e. the new default is on_setattr=[attrs.setters.convert, attrs.setters.validate].

      This is unfortunately a breaking change, but it was an oversight, impossible to raise a DeprecationWarning about, and it's better to fix it now while the APIs are very fresh with few users. [#835](https://github.com/python-attrs/attrs/issues/835) <https://github.com/python-attrs/attrs/issues/835>, [#886](https://github.com/python-attrs/attrs/issues/886) <https://github.com/python-attrs/attrs/issues/886>

    • import attrs has finally landed! As of this release, you can finally import attrs using its proper name.

      Not all names from the attr namespace have been transferred; most notably attr.s and attr.ib are missing. See attrs.define and attrs.field if you haven't seen our next-generation APIs yet. A more elaborate explanation can be found On The Core API Names <https://www.attrs.org/en/latest/names.html>_

      This feature is at least for one release provisional. We don't plan on changing anything, but such a big change is unlikely to go perfectly on the first strike.

      The API docs have been mostly updated, but it will be an ongoing effort to change everything to the new APIs. Please note that we have not moved -- or even removed -- anything from attr!

      Please do report any bugs or documentation inconsistencies! [#887](https://github.com/python-attrs/attrs/issues/887) <https://github.com/python-attrs/attrs/issues/887>_

    Changes ^^^^^^^

    • attr.asdict(retain_collection_types=False) (default) dumps collection-esque keys as tuples. [#646](https://github.com/python-attrs/attrs/issues/646) <https://github.com/python-attrs/attrs/issues/646>_,

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump attrs from 21.2.0 to 21.3.0

    Bump attrs from 21.2.0 to 21.3.0

    Bumps attrs from 21.2.0 to 21.3.0.

    Release notes

    Sourced from attrs's releases.

    21.3.0

    This is a big release in the history of attrs and finishes an arc that took way too long and also delayed this very overdue release. But it's done: import attrs that has been talked about for years[^issue], but fell victim to “just this one more thing” has finally landed.

    From now on, modern attrs code looks like this:

    from attrs import define
    

    @​define class HelloWorld: modern: bool = True

    The define/field APIs have been around for over a year and were very popular, now the rest of the package followed suit. I'm very excited that attrs remains relevant and keeps evolving over now more than half a decade. If you're curious about some of the background, the docs now contain a short explanation and history lesson. As long as our users keep pushing us, we will keep pushing forward class generation in Python!

    Big thanks to my GitHub Sponsors, Tidelift subscribers, and Ko-fi buyers that help me mustering the motivation for such long-running project!


    Since the release took so long, there's more highlights than we can enumerate here, we'd just like to point out a breaking change in the new APIs: converters now run on setting attributes by default. If this is causing problems to you, you can disable that behavior by setting @define(on_setattr=[]).

    [^issue]: I have an issue from 2018 that I wanted to "come back the moment this lands".

    Full Changelog

    Backward-incompatible Changes

    • When using @define, converters are now run by default when setting an attribute on an instance -- additionally to validators. I.e. the new default is on_setattr=[attrs.setters.convert, attrs.setters.validate].

      This is unfortunately a breaking change, but it was an oversight, impossible to raise a DeprecationWarning about, and it's better to fix it now while the APIs are very fresh with few users. #835, #886

    • import attrs has finally landed! As of this release, you can finally import attrs using its proper name.

      Not all names from the attr namespace have been transferred; most notably attr.s and attr.ib are missing. See attrs.define and attrs.field if you haven't seen our next-generation APIs yet. A more elaborate explanation can be found On The Core API Names

      This feature is at least for one release provisional. We don't plan on changing anything, but such a big change is unlikely to go perfectly on the first strike.

      The API docs have been mostly updated, but it will be an ongoing effort to change everything to the new APIs. Please note that we have not moved -- or even removed -- anything from attr!

      Please do report any bugs or documentation inconsistencies! #887

    Changes

    • attr.asdict(retain_collection_types=False) (default) dumps collection-esque keys as tuples. #646, #888
    • __match_args__ are now generated to support Python 3.10's Structural Pattern Matching. This can be controlled by the match_args argument to the class decorators on Python 3.10 and later. On older versions, it is never added and the argument is ignored. #815
    • If the class-level on_setattr is set to attrs.setters.validate (default in @define and @mutable) but no field defines a validator, pretend that it's not set. #817
    • The generated __repr__ is significantly faster on Pythons with f-strings. #819
    • Attributes transformed via field_transformer are wrapped with AttrsClass again. #824
    • Generated source code is now cached more efficiently for identical classes. #828
    • Added attrs.converters.to_bool(). #830

    ... (truncated)

    Changelog

    Sourced from attrs's changelog.

    21.3.0 (2021-12-28)

    Backward-incompatible Changes ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    • When using @define, converters are now run by default when setting an attribute on an instance -- additionally to validators. I.e. the new default is on_setattr=[attrs.setters.convert, attrs.setters.validate].

      This is unfortunately a breaking change, but it was an oversight, impossible to raise a DeprecationWarning about, and it's better to fix it now while the APIs are very fresh with few users. [#835](https://github.com/python-attrs/attrs/issues/835) <https://github.com/python-attrs/attrs/issues/835>, [#886](https://github.com/python-attrs/attrs/issues/886) <https://github.com/python-attrs/attrs/issues/886>

    • import attrs has finally landed! As of this release, you can finally import attrs using its proper name.

      Not all names from the attr namespace have been transferred; most notably attr.s and attr.ib are missing. See attrs.define and attrs.field if you haven't seen our next-generation APIs yet. A more elaborate explanation can be found On The Core API Names <https://www.attrs.org/en/latest/names.html>_

      This feature is at least for one release provisional. We don't plan on changing anything, but such a big change is unlikely to go perfectly on the first strike.

      The API docs have been mostly updated, but it will be an ongoing effort to change everything to the new APIs. Please note that we have not moved -- or even removed -- anything from attr!

      Please do report any bugs or documentation inconsistencies! [#887](https://github.com/python-attrs/attrs/issues/887) <https://github.com/python-attrs/attrs/issues/887>_

    Changes ^^^^^^^

    • attr.asdict(retain_collection_types=False) (default) dumps collection-esque keys as tuples. [#646](https://github.com/python-attrs/attrs/issues/646) <https://github.com/python-attrs/attrs/issues/646>, [#888](https://github.com/python-attrs/attrs/issues/888) <https://github.com/python-attrs/attrs/issues/888>
    • __match_args__ are now generated to support Python 3.10's Structural Pattern Matching <https://docs.python.org/3.10/whatsnew/3.10.html#pep-634-structural-pattern-matching>. This can be controlled by the match_args argument to the class decorators on Python 3.10 and later. On older versions, it is never added and the argument is ignored. [#815](https://github.com/python-attrs/attrs/issues/815) <https://github.com/python-attrs/attrs/issues/815>
    • If the class-level on_setattr is set to attrs.setters.validate (default in @define and @mutable) but no field defines a validator, pretend that it's not set. [#817](https://github.com/python-attrs/attrs/issues/817) <https://github.com/python-attrs/attrs/issues/817>_
    • The generated __repr__ is significantly faster on Pythons with f-strings. [#819](https://github.com/python-attrs/attrs/issues/819) <https://github.com/python-attrs/attrs/issues/819>_
    • Attributes transformed via field_transformer are wrapped with AttrsClass again. [#824](https://github.com/python-attrs/attrs/issues/824) <https://github.com/python-attrs/attrs/issues/824>_
    • Generated source code is now cached more efficiently for identical classes. [#828](https://github.com/python-attrs/attrs/issues/828) <https://github.com/python-attrs/attrs/issues/828>_
    • Added attrs.converters.to_bool(). [#830](https://github.com/python-attrs/attrs/issues/830) <https://github.com/python-attrs/attrs/issues/830>_

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump typing-extensions from 4.0.0 to 4.0.1

    Bump typing-extensions from 4.0.0 to 4.0.1

    Bumps typing-extensions from 4.0.0 to 4.0.1.

    Changelog

    Sourced from typing-extensions's changelog.

    Release 4.0.1 (November 30, 2021)

    • Fix broken sdist in release 4.0.0. Patch by Adam Turner (@​AA-Turner).
    • Fix equality comparison for Required and NotRequired. Patch by Jelle Zijlstra (@​jellezijlstra).
    • Fix usage of Self as a type argument. Patch by Chris Wesseling (@​CharString) and James Hilton-Balfe (@​Gobot1234).
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump multidict from 5.2.0 to 6.0.4

    Bump multidict from 5.2.0 to 6.0.4

    Bumps multidict from 5.2.0 to 6.0.4.

    Release notes

    Sourced from multidict's releases.

    6.0.4

    Bugfixes

    • Fixed a type annotations regression introduced in v6.0.2 under Python versions <3.10. It was caused by importing certain types only available in newer versions. ((#798))

    6.0.3

    Features

    • Declared the official support for Python 3.11 — by :user:mlegner. ((#872))

    v6.0.2

    Bugfixes

    • Revert (#644), restore type annotations to as-of 5.2.0 version. ((#688))

    v6.0.1

    Bugfixes

    • Restored back MultiDict, CIMultiDict, MultiDictProxy, and CIMutiDictProxy generic type arguments; they are parameterized by value type, but the key type is fixed by container class.

      MultiDict[int] means MutableMultiMapping[str, int]. The key type of MultiDict is always str, while all str-like keys are accepted by API and converted to str internally.

      The same is true for CIMultiDict[int] which means MutableMultiMapping[istr, int]. str-like keys are accepted but converted to istr internally. ((#682))

    v6.0.0

    Features

    • Use METH_FASTCALL where it makes sense.

      MultiDict.add() is 2.2 times faster now, CIMultiDict.add() is 1.5 times faster. The same boost is applied to get*(), setdefault(), and pop*() methods. ((#681))

    Bugfixes

    • Fixed type annotations for keys of multidict mapping classes. ((#644))
    • Support Multidict[int] for pure-python version. __class_getitem__ is already provided by C Extension, making it work with the pure-extension too. ((#678))

    ... (truncated)

    Changelog

    Sourced from multidict's changelog.

    6.0.4 (2022-12-24)

    Bugfixes

    • Fixed a type annotations regression introduced in v6.0.2 under Python versions <3.10. It was caused by importing certain types only available in newer versions. (:issue:798)

    6.0.3 (2022-12-03)

    Features

    • Declared the official support for Python 3.11 — by :user:mlegner. (:issue:872)

    6.0.2 (2022-01-24)

    Bugfixes

    • Revert :issue:644, restore type annotations to as-of 5.2.0 version. (:issue:688)

    6.0.1 (2022-01-23)

    Bugfixes

    • Restored back MultiDict, CIMultiDict, MultiDictProxy, and CIMutiDictProxy generic type arguments; they are parameterized by value type, but the key type is fixed by container class.

      MultiDict[int] means MutableMultiMapping[str, int]. The key type of MultiDict is always str, while all str-like keys are accepted by API and converted to str internally.

      The same is true for CIMultiDict[int] which means MutableMultiMapping[istr, int]. str-like keys are accepted but converted to istr internally. (:issue:682)

    6.0.0 (2022-01-22)

    Features

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump attrs from 21.2.0 to 22.2.0

    Bump attrs from 21.2.0 to 22.2.0

    Bumps attrs from 21.2.0 to 22.2.0.

    Release notes

    Sourced from attrs's releases.

    22.2.0

    Highlights

    It's been a lot busier than the changelog indicates, but a lot of the work happened under the hood (like some impressive performance improvements). But we've got still one big new feature that's are worthy the holidays:

    Fields now have an alias argument that allows you to set the field's name in the generated __init__ method. This is especially useful for those who aren't fans of attrs's behavior of stripping underscores from private attribute names.

    Special Thanks

    This release would not be possible without my generous sponsors! Thank you to all of you making sustainable maintenance possible! If you would like to join them, go to https://github.com/sponsors/hynek and check out the sweet perks!

    Above and Beyond

    Variomedia AG (@​variomedia), Tidelift (@​tidelift), Sentry (@​getsentry), HiredScore (@​HiredScore), FilePreviews (@​filepreviews), and Daniel Fortunov (@​asqui).

    Maintenance Sustainers

    @​rzijp, Adam Hill (@​adamghill), Dan Groshev (@​si14), Tamir Bahar (@​tmr232), Adi Roiban (@​adiroiban), Magnus Watn (@​magnuswatn), David Cramer (@​dcramer), Moving Content AG (@​moving-content), Stein Magnus Jodal (@​jodal), Iwan Aucamp (@​aucampia), ProteinQure (@​ProteinQure), Jesse Snyder (@​jessesnyder), Rivo Laks (@​rivol), Thomas Ballinger (@​thomasballinger), @​medecau, Ionel Cristian Mărieș (@​ionelmc), The Westervelt Company (@​westerveltco), Philippe Galvan (@​PhilippeGalvan), Birk Jernström (@​birkjernstrom), Jannis Leidel (@​jezdez), Tim Schilling (@​tim-schilling), Chris Withers (@​cjw296), and Christopher Dignam (@​chdsbd).

    Not to forget 2 more amazing humans who chose to be generous but anonymous!

    Full Changelog

    Backwards-incompatible Changes

    • Python 3.5 is not supported anymore. #988

    Deprecations

    • Python 3.6 is now deprecated and support will be removed in the next release. #1017

    Changes

    • attrs.field() now supports an alias option for explicit __init__ argument names.

      Get __init__ signatures matching any taste, peculiar or plain! The PEP 681 compatible alias option can be use to override private attribute name mangling, or add other arbitrary field argument name overrides. #950

    • attrs.NOTHING is now an enum value, making it possible to use with e.g. typing.Literal. #983

    • Added missing re-import of attr.AttrsInstance to the attrs namespace. #987

    • Fix slight performance regression in classes with custom __setattr__ and speedup even more. #991

    • Class-creation performance improvements by switching performance-sensitive templating operations to f-strings.

      You can expect an improvement of about 5% -- even for very simple classes. #995

    ... (truncated)

    Changelog

    Sourced from attrs's changelog.

    22.2.0 - 2022-12-21

    Backwards-incompatible Changes

    • Python 3.5 is not supported anymore. #988

    Deprecations

    • Python 3.6 is now deprecated and support will be removed in the next release. #1017

    Changes

    • attrs.field() now supports an alias option for explicit __init__ argument names.

      Get __init__ signatures matching any taste, peculiar or plain! The PEP 681 compatible alias option can be use to override private attribute name mangling, or add other arbitrary field argument name overrides. #950

    • attrs.NOTHING is now an enum value, making it possible to use with e.g. typing.Literal. #983

    • Added missing re-import of attr.AttrsInstance to the attrs namespace. #987

    • Fix slight performance regression in classes with custom __setattr__ and speedup even more. #991

    • Class-creation performance improvements by switching performance-sensitive templating operations to f-strings.

      You can expect an improvement of about 5% -- even for very simple classes. #995

    • attrs.has() is now a TypeGuard for AttrsInstance. That means that type checkers know a class is an instance of an attrs class if you check it using attrs.has() (or attr.has()) first. #997

    • Made attrs.AttrsInstance stub available at runtime and fixed type errors related to the usage of attrs.AttrsInstance in Pyright. #999

    • On Python 3.10 and later, call abc.update_abstractmethods() on dict classes after creation. This improves the detection of abstractness. #1001

    • attrs's pickling methods now use dicts instead of tuples. That is safer and more robust across different versions of a class. #1009

    • Added attrs.validators.not_(wrapped_validator) to logically invert wrapped_validator by accepting only values where wrapped_validator rejects the value with a ValueError or TypeError (by default, exception types configurable). #1010

    • The type stubs for attrs.cmp_using() now have default values. #1027

    • To conform with PEP 681, attr.s() and attrs.define() now accept unsafe_hash in addition to hash. #1065

    ... (truncated)

    Commits
    • a9960de Prepare 22.2.0
    • 566248a Don't linkcheck tree links
    • 0f62805 Make towncrier marker independent from warning
    • b9f35eb Fix minor stub issues (#1072)
    • 4ad4ea0 Use MyST-native include
    • 519423d Use MyST-native doctest blocks in all MD
    • 403adab Remove stray file
    • 6957e4a Use new typographic branding in the last rst file, too
    • 1bb2864 Convert examples.rst to md
    • c1c24cc Convert glossary.rst to md
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump typing-extensions from 4.1.1 to 4.4.0

    Bump typing-extensions from 4.1.1 to 4.4.0

    Bumps typing-extensions from 4.1.1 to 4.4.0.

    Changelog

    Sourced from typing-extensions's changelog.

    Release 4.4.0 (October 6, 2022)

    • Add typing_extensions.Any a backport of python 3.11's Any class which is subclassable at runtime. (backport from python/cpython#31841, by Shantanu and Jelle Zijlstra). Patch by James Hilton-Balfe (@​Gobot1234).
    • Add initial support for TypeVarLike default parameter, PEP 696. Patch by Marc Mueller (@​cdce8p).
    • Runtime support for PEP 698, adding typing_extensions.override. Patch by Jelle Zijlstra.
    • Add the infer_variance parameter to TypeVar, as specified in PEP 695. Patch by Jelle Zijlstra.

    Release 4.3.0 (July 1, 2022)

    • Add typing_extensions.NamedTuple, allowing for generic NamedTuples on Python <3.11 (backport from python/cpython#92027, by Serhiy Storchaka). Patch by Alex Waygood (@​AlexWaygood).
    • Adjust typing_extensions.TypedDict to allow for generic TypedDicts on Python <3.11 (backport from python/cpython#27663, by Samodya Abey). Patch by Alex Waygood (@​AlexWaygood).

    Release 4.2.0 (April 17, 2022)

    • Re-export typing.Unpack and typing.TypeVarTuple on Python 3.11.
    • Add ParamSpecArgs and ParamSpecKwargs to __all__.
    • Improve "accepts only single type" error messages.
    • Improve the distributed package. Patch by Marc Mueller (@​cdce8p).
    • Update typing_extensions.dataclass_transform to rename the field_descriptors parameter to field_specifiers and accept arbitrary keyword arguments.
    • Add typing_extensions.get_overloads and typing_extensions.clear_overloads, and add registry support to typing_extensions.overload. Backport from python/cpython#89263.
    • Add typing_extensions.assert_type. Backport from bpo-46480.
    • Drop support for Python 3.6. Original patch by Adam Turner (@​AA-Turner).
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump idna from 3.3 to 3.4

    Bump idna from 3.3 to 3.4

    Bumps idna from 3.3 to 3.4.

    Changelog

    Sourced from idna's changelog.

    3.4 (2022-09-14) ++++++++++++++++

    • Update to Unicode 15.0.0
    • Migrate to pyproject.toml for build information (PEP 621)
    • Correct another instance where generic exception was raised instead of IDNAError for malformed input
    • Source distribution uses zeroized file ownership for improved reproducibility

    Thanks to Seth Michael Larson for contributions to this release.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump pynacl from 1.4.0 to 1.5.0

    Bump pynacl from 1.4.0 to 1.5.0

    Bumps pynacl from 1.4.0 to 1.5.0.

    Changelog

    Sourced from pynacl's changelog.

    1.5.0 (2022-01-07)

    • BACKWARDS INCOMPATIBLE: Removed support for Python 2.7 and Python 3.5.
    • BACKWARDS INCOMPATIBLE: We no longer distribute manylinux1 wheels.
    • Added manylinux2014, manylinux_2_24, musllinux, and macOS universal2 wheels (the latter supports macOS arm64).
    • Update libsodium to 1.0.18-stable (July 25, 2021 release).
    • Add inline type hints.
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
Discord bot for name verifying. Created for TinkerHubGCEK discord server. Tinky is now deployed in heroku

Custom Discord bot This custom discord-python bot assigns roles to members joined at discord server. It looks and compares a list before verifying the

Edwin Jose George 2 Dec 16, 2021
Kevin L. 3 Jul 14, 2022
DeKrypt 24 Sep 21, 2022
A simple, fast, and awesome discord nuke bot! The only thing you need to add is your bot token.

SimpleNukeBot A simple, fast, and awesome discord nuke bot! The only thing you need to add is your bot token. Instructions: All you need to do is crea

Bisc 1 Apr 18, 2022
This is a simple Telegram bot to Delete User Messages based on Groupmembers Votes. Heroku deployable

ibCleaner Bot This is a simple Telegram bot to Delete User Messages based on Groupmembers Votes. Deploy to Heroku Deploy locally Edit config.py and ad

null 8 Oct 21, 2022
(@Tablada32BOT is my bot in twitter) This is a simple bot, its main and only function is to reply to tweets where they mention their bot with their @

Remember If you are going to host your twitter bot on a page where they can read your code, I recommend that you create an .env file and put your twit

null 3 Jun 4, 2021
Discord-Token-Formatter - A simple script to convert discord tokens from email token to token only format

Discord-Token-Formatter A simple script to convert discord tokens from email:pas

null 2 Oct 23, 2022
This is a simple bot for running Python code through Discord

Python Code Runner Discord Bot This is a simple bot for running Python code through Discord. It was originally developed for the Beginner.Codes Discor

beginner.py 1 Feb 14, 2022
Opasium AI was specifically designed for the Opasium Games discord only. It is a bot that covers the basic functions of any other bot.

OpasiumAI Opasium AI was specifically designed for the Opasium Games discord only. It is a bot that covers the basic functions of any other bot. Insta

Dan 3 Oct 15, 2021
Satoshi is a discord bot template in python using discord.py that allow you to track some live crypto prices with your own discord bot.

Satoshi ~ DiscordCryptoBot Satoshi is a simple python discord bot using discord.py that allow you to track your favorites cryptos prices with your own

Théo 2 Sep 15, 2022
A python script to download twitter space, only works on running spaces (for now).

A python script to download twitter space, only works on running spaces (for now).

null 279 Jan 2, 2023
A Telegram mirror bot which can be deployed using Heroku.

Slam Mirror Bot This is a telegram bot writen in python for mirroring files on the internet to our beloved Google Drive. Getting Google OAuth API cred

Hafitz Setya 1.2k Jan 1, 2023
Telegram bot for making Heroku app.json by @AbirHasan2005

Heroku-app.json A Telegram bot for making Heroku app.json by @AbirHasan2005. Demo Bot Host Bot Deploy to Heroku Click Below Button to Deploy to Heroku

Abir Hasan 46 Nov 13, 2022
Droplink URL Shortener Bot, deployable to Heroku and Railway.

Droplink-bot Make short link by using Droplink API key. Made by @dakshy. Installation The Easy Way Required Variables BOT_TOKEN: Create a bot using @B

ToonsHub 5 Jun 25, 2022
A collection of scripts to steal BTC from Lightning Network enabled custodial services. Only for educational purpose! Share your findings only when design flaws are fixed.

Lightning Network Fee Siphoning Attack LN-fee-siphoning is a collection of scripts to subtract BTC from Lightning Network enabled custodial services b

Reckless_Satoshi 14 Oct 15, 2022
A collection of scripts to steal BTC from Lightning Network enabled custodial services. Only for educational purpose! Share your findings only when design flaws are fixed.

Lightning Network Fee Siphoning Attack LN-fee-siphoning is a collection of scripts to subtract BTC from Lightning Network enabled custodial services b

Reckless_Satoshi 14 Oct 15, 2022
This is a simple bot that can be used to upload images to a third-party cloud (image hosting). Currently, only the imgbb.com website supports the bot. I Will do future updates

TGImageHosting This is a simple bot that can be used to upload images to a third party cloud (image hosting). Currently, only the imgbb.com website su

Abhijith N T 0 Dec 26, 2021
A community made discord bot coded in Python and running on AWS.

Pogbot Project Open Group Discord This is an open source community ran project. Join the discord for more information on how to participate. Coded in

Project Open Group 2 Jul 27, 2022
null 5 Oct 19, 2022