Simple PyTorch hierarchical models.

Overview

hierarchy network

simple-hierarchy

Simple PyTorch hierarchical models.

most recent docs tests status codecov of simple-hierarchy

pypi version supported python versions Code style: black Downloads License: MIT



Hierarchical Classification Networks

When looking at the task for classifying something where hierarchies were intrinsic to the classes, I searched for any libraries that might do very simple classification using grouped classes with hierarchies. However, I did not find any libraries that were suited for this relatively simple task. So I sought to create a more general solution that others can hopefully benefit from.

The concept is quite simple: create general architecture for groupings of classes dependent on each other. So starting with a basic concept of model, I looked to make something in PyTorch that represented my idea.

Example Use Case

Let us take an image geolocation problem where we want the location for city, county, and district. We will call these groupings a,b,c respectively. Given an image input, we want to predict all 3 classes but also need an architecture in which these relationships are properly represented. The network architecture below illustrates a possible solution (that this package will attempt to implement with a degree of adaptability). The architecture can be visualized as so with an input image: Network Architecture

where the class hierarchy is like so

Class Heirarchy

The class hierarchy is a similar structure to an example within this package. Each node has a tuple of a named grouping and the number of classes within that grouping. This the reason for the sizes in the final outputs in the network architecture. The large green plus signs within circles are used to indicate concatenation of the two input (green arrowed lines) leading into them. This is why the sections for class b and c have input size 4096 + 1024 = 5120.

Installation

The required version of Python for this package is >= 3.7.

To install this package, first, install PyTorch. You can use requirements.txt to install PyTorch 1.7, however, the best way to install is to go to PyTorch's website and follow the instructions there. This package may work with versions less than 1.7, but it was only tested on PyTorch 1.7. This package will allow for versions of PyTorch >= 1.0, but please know only 1.7 is tested. Using pip makes this installation easy and simple once PyTorch is installed. This can be installed through

pip install simple-hierarchy

The repository can also be cloned and then built from source using poetry.

Finally, this repository can simply be downloaded and imported as python code since there are essentially only two required classes here.

Getting Started

This architecture allows for simple yet adaptable hierarchal classifications for basic tasks that involve finite hierarchies. The package was targeted towards image classifications where there are multiple groups to classify something as but may serve other purposes equally well. Below is an example of how to use the package along with the defined class:

from simple_hierarchy.hierarchal_model import HierarchalModel
hierarchy = {
    ('A', 2) : [('B', 5)],
    ('B', 5) : [('C', 7)]
}
model_base = nn.Sequential(
  nn.Conv2d(in_channels=3, out_channels=6, kernel_size=5),
  nn.ReLU(),
  nn.MaxPool2d(kernel_size=2, stride=2),
  nn.Conv2d(in_channels=6, out_channels=16, kernel_size=5),
  nn.ReLU(),
  nn.MaxPool2d(kernel_size=2, stride=2),
  nn.Flatten(start_dim=1),
  nn.Linear(in_features=1296, out_features=120),
  nn.ReLU(),
  nn.Linear(in_features=120, out_features=84),
  nn.ReLU()
)
model = HierarchalModel(hierarchy, (84, 32, 32),base_model=model_base)
# Example input
a = torch.rand(3,50,50).unsqueeze(0)
model(a)

Then the model can be trained on an image dataset like any other model.

Additionally, there is a Jupyter notebook or colab notebook within this repository that illustrates some examples of how to use and run these classes. These notebooks each contain 2 examples of how to use this package with some short explanations on what each parameter means.

The formulation is quite simple, so it should not be too much additional work to incorporate the HierarchalModel into your networks. However, the solution given here is quite simple and therefore can be implemented easily for specific cases. The HierarchalModel class just provides a general solution for more use cases and gave me chance to test and build some architectural ideas.

Authors

Comments
  • Bump black from 21.6b0 to 21.9b0

    Bump black from 21.6b0 to 21.9b0

    Bumps black from 21.6b0 to 21.9b0.

    Release notes

    Sourced from black's releases.

    21.9b0

    Packaging

    • Fix missing modules in self-contained binaries (#2466)
    • Fix missing toml extra used during installation (#2475)

    21.8b0

    Black

    • Add support for formatting Jupyter Notebook files (#2357)
    • Move from appdirs dependency to platformdirs (#2375)
    • Present a more user-friendly error if .gitignore is invalid (#2414)
    • The failsafe for accidentally added backslashes in f-string expressions has been hardened to handle more edge cases during quote normalization (#2437)
    • Avoid changing a function return type annotation's type to a tuple by adding a trailing comma (#2384)
    • Parsing support has been added for unparenthesized walruses in set literals, set comprehensions, and indices (#2447).
    • Pin setuptools-scm build-time dependency version (#2457)
    • Exclude typing-extensions version 3.10.0.1 due to it being broken on Python 3.10 (#2460)

    Blackd

    • Replace sys.exit(-1) with raise ImportError as it plays more nicely with tools that scan installed packages (#2440)

    Integrations

    • The provided pre-commit hooks no longer specify language_version to avoid overriding default_language_version (#2430)

    21.7b0

    Black

    • Configuration files using TOML features higher than spec v0.5.0 are now supported (#2301)
    • Add primer support and test for code piped into black via STDIN (#2315)
    • Fix internal error when FORCE_OPTIONAL_PARENTHESES feature is enabled (#2332)
    • Accept empty stdin (#2346)
    • Provide a more useful error when parsing fails during AST safety checks (#2304)

    Docker

    • Add new latest_release tag automation to follow latest black release on docker images (#2374)

    Integrations

    • The vim plugin now searches upwards from the directory containing the current buffer instead of the current working directory for pyproject.toml. (#1871)
    • The vim plugin now reads the correct string normalization option in pyproject.toml (#1869)
    • The vim plugin no longer crashes Black when there's boolean values in pyproject.toml (#1869)
    Changelog

    Sourced from black's changelog.

    21.9b0

    Packaging

    • Fix missing modules in self-contained binaries (#2466)
    • Fix missing toml extra used during installation (#2475)

    21.8b0

    Black

    • Add support for formatting Jupyter Notebook files (#2357)
    • Move from appdirs dependency to platformdirs (#2375)
    • Present a more user-friendly error if .gitignore is invalid (#2414)
    • The failsafe for accidentally added backslashes in f-string expressions has been hardened to handle more edge cases during quote normalization (#2437)
    • Avoid changing a function return type annotation's type to a tuple by adding a trailing comma (#2384)
    • Parsing support has been added for unparenthesized walruses in set literals, set comprehensions, and indices (#2447).
    • Pin setuptools-scm build-time dependency version (#2457)
    • Exclude typing-extensions version 3.10.0.1 due to it being broken on Python 3.10 (#2460)

    Blackd

    • Replace sys.exit(-1) with raise ImportError as it plays more nicely with tools that scan installed packages (#2440)

    Integrations

    • The provided pre-commit hooks no longer specify language_version to avoid overriding default_language_version (#2430)

    21.7b0

    Black

    • Configuration files using TOML features higher than spec v0.5.0 are now supported (#2301)
    • Add primer support and test for code piped into black via STDIN (#2315)
    • Fix internal error when FORCE_OPTIONAL_PARENTHESES feature is enabled (#2332)
    • Accept empty stdin (#2346)
    • Provide a more useful error when parsing fails during AST safety checks (#2304)

    Docker

    • Add new latest_release tag automation to follow latest black release on docker images (#2374)

    ... (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] 3
  • Bump numpy from 1.19.3 to 1.19.4

    Bump numpy from 1.19.3 to 1.19.4

    Bumps numpy from 1.19.3 to 1.19.4.

    Release notes

    Sourced from numpy's releases.

    v1.19.4

    NumPy 1.19.4 Release Notes

    NumPy 1.19.4 is a quick release to revert the OpenBLAS library version. It was hoped that the 0.3.12 OpenBLAS version used in 1.19.3 would work around the Microsoft fmod bug, but problems in some docker environments turned up. Instead, 1.19.4 will use the older library and run a sanity check on import, raising an error if the problem is detected. Microsoft is aware of the problem and has promised a fix, users should upgrade when it becomes available.

    This release supports Python 3.6-3.9

    Contributors

    A total of 1 people contributed to this release. People with a "+" by their names contributed a patch for the first time.

    • Charles Harris

    Pull requests merged

    A total of 2 pull requests were merged for this release.

    • #17679: MAINT: Add check for Windows 10 version 2004 bug.
    • #17680: REV: Revert OpenBLAS to 1.19.2 version for 1.19.4

    Checksums

    MD5

    09b6f7f17ca61f0f3b943d4107ea6a6c  numpy-1.19.4-cp36-cp36m-macosx_10_9_x86_64.whl
    bfb801672e0d9916407352f7158b5584  numpy-1.19.4-cp36-cp36m-manylinux1_i686.whl
    2469be359c8c383509eaded8e758488a  numpy-1.19.4-cp36-cp36m-manylinux1_x86_64.whl
    4af398903b0957ad3a40ec17631879ed  numpy-1.19.4-cp36-cp36m-manylinux2010_i686.whl
    bb3f911ba616d36a2daff5b8e1402b1b  numpy-1.19.4-cp36-cp36m-manylinux2010_x86_64.whl
    3b754c1135f7aa3e6a7c1f46af6a84c9  numpy-1.19.4-cp36-cp36m-manylinux2014_aarch64.whl
    9db8749b90405780614f126c77eef3bb  numpy-1.19.4-cp36-cp36m-win32.whl
    25bc59391b8b4f06eb28e74e97afc488  numpy-1.19.4-cp36-cp36m-win_amd64.whl
    355d7f49b9e442f9e73580e64c8bf2c2  numpy-1.19.4-cp37-cp37m-macosx_10_9_x86_64.whl
    3c1ce8ca6f6f11ea9d49859b2ffb70cf  numpy-1.19.4-cp37-cp37m-manylinux1_i686.whl
    5524143ee95cc7e3400dbbff709de7cd  numpy-1.19.4-cp37-cp37m-manylinux1_x86_64.whl
    c40206040b8ddb62309cbef1cdf0fa82  numpy-1.19.4-cp37-cp37m-manylinux2010_i686.whl
    552839ea3bc2dfc98611254f8188feb8  numpy-1.19.4-cp37-cp37m-manylinux2010_x86_64.whl
    2e5c50e57cff5085ffb32185591e49ed  numpy-1.19.4-cp37-cp37m-manylinux2014_aarch64.whl
    ce6c1cd93d5fc56d0de608b84cc14a7e  numpy-1.19.4-cp37-cp37m-win32.whl
    

    ... (truncated)

    Commits
    • 6d7b8aa REL: NumPy 1.19.4 release.
    • cbec015 Merge pull request #17683 from charris/prepare-for-1.19.4-release
    • caa4c09 REL: Prepare for the NumPy 1.19.4 release.
    • 1acc498 Merge pull request #17679 from charris/backport-17553
    • fe59218 Merge pull request #17680 from charris/revert-openblas-for-1.19.4
    • 2239912 REV: Revert OpenBLAS to 1.19.2 version for 1.19.4
    • 13ea468 MAINT: Add check for Windows 10 version 2004 bug.
    • 72c01b6 REL: prepare 1.19.x for further development
    • 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] 3
  • Bump importlib-metadata from 4.8.1 to 5.1.0

    Bump importlib-metadata from 4.8.1 to 5.1.0

    Bumps importlib-metadata from 4.8.1 to 5.1.0.

    Changelog

    Sourced from importlib-metadata's changelog.

    v5.1.0

    • #415: Instrument SimplePath with generic support.

    v5.0.0

    • #97, #284, #300: Removed compatibility shims for deprecated entry point interfaces.

    v4.13.0

    • #396: Added compatibility for PathDistributions originating from Python 3.8 and 3.9.

    v4.12.0

    • py-93259: Now raise ValueError when None or an empty string are passed to Distribution.from_name (and other callers).

    v4.11.4

    • #379: In PathDistribution._name_from_stem, avoid including parts of the extension in the result.
    • #381: In PathDistribution._normalized_name, ensure names loaded from the stem of the filename are also normalized, ensuring duplicate entry points by packages varying only by non-normalized name are hidden.

    v4.11.3

    • #372: Removed cast of path items in FastPath, not needed.

    v4.11.2

    • #369: Fixed bug where EntryPoint.extras was returning match objects and not the extras strings.

    v4.11.1

    • #367: In Distribution.requires for egg-info, if requires.txt is empty, return an empty list.

    ... (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] 2
  • Bump importlib-metadata from 4.8.1 to 5.0.0

    Bump importlib-metadata from 4.8.1 to 5.0.0

    Bumps importlib-metadata from 4.8.1 to 5.0.0.

    Changelog

    Sourced from importlib-metadata's changelog.

    v5.0.0

    • #97, #284, #300: Removed compatibility shims for deprecated entry point interfaces.

    v4.13.0

    • #396: Added compatibility for PathDistributions originating from Python 3.8 and 3.9.

    v4.12.0

    • py-93259: Now raise ValueError when None or an empty string are passed to Distribution.from_name (and other callers).

    v4.11.4

    • #379: In PathDistribution._name_from_stem, avoid including parts of the extension in the result.
    • #381: In PathDistribution._normalized_name, ensure names loaded from the stem of the filename are also normalized, ensuring duplicate entry points by packages varying only by non-normalized name are hidden.

    v4.11.3

    • #372: Removed cast of path items in FastPath, not needed.

    v4.11.2

    • #369: Fixed bug where EntryPoint.extras was returning match objects and not the extras strings.

    v4.11.1

    • #367: In Distribution.requires for egg-info, if requires.txt is empty, return an empty list.

    v4.11.0

    • bpo-46246: Added __slots__ to EntryPoints.

    ... (truncated)

    Commits
    • 009ace3 Merge pull request #405 from python/feature/clean-entry-points
    • ac9ff95 Update documentation around removal of SelectableGroups.
    • 117d1b4 Disable flake8 due to incompatibility.
    • 2135490 Update changelog
    • 6ed01ae Merge removal commits into feature/clean-entry-points
    • dde2b9d Remove support for cast of iterable of entry points to dict. Ref #97.
    • 0c81964 Remove compatibility for EntryPoints.getitem by index.
    • 47544ce Remove DeprecatedList
    • 7e5bae4 Remove SelectableGroups
    • 9a6641b Merge pull request #401 from CAM-Gerlach/add-note-api-docs
    • 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] 2
  • Bump mypy from 0.812 to 0.971

    Bump mypy from 0.812 to 0.971

    Bumps mypy from 0.812 to 0.971.

    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] 2
  • Bump flake8-bugbear from 20.11.1 to 22.7.1

    Bump flake8-bugbear from 20.11.1 to 22.7.1

    Bumps flake8-bugbear from 20.11.1 to 22.7.1.

    Release notes

    Sourced from flake8-bugbear's releases.

    22.7.1

    22.6.22

    • Don't crash when select / extend_select are None (#261)
    • Ignore lambda arguments for B020 (#259)
    • Fix missing space typos in B021, B022 error messages (#257)

    22.4.25

    • Ignore black formatting for b013 test case (#251)
    • B010 Fix lambda false positive (#246)
    • B008 Fix edge case with lambda functions (#243)

    22.3.23

    • B006 and B008: Detect function calls at any level of the default expression (#239)
    • B020: Fix comprehension false postives (#238)
    • Tweak B019 desc (#237)

    22.3.20

    • B022: No arguments passed to contextlib.suppress (#231)
    • B021: f-string used as docstring. (#230)
    • B020: ensure loop control variable doesn't overrides iterable it iterates (#220)
    • B019: check to find cache decorators on class methods (#218)
    • Fix crash on long empty string (#223)

    22.1.11

    • B018: Ignore JoinedStr (#216)
    • Build universal Python 3 wheels (#214)
    • B950: Add same special cases as E501 (#213)

    21.11.29

    • B018: Disable strings from check for now (#209)

    21.11.28

    • B904: ensure the raise is in the same context with the except (#191)
    • Add Option to extend the list of immutable calls (#204)
    • Update B014: binascii.Error is now treated as a subclass of ValueError (#206)
    • add simple pre-commit config (#205)
    • Test with 3.10 official
    • Add B018 check to find useless declarations (#196, #202)

    21.9.2

    • Fix crash on call in except statement in _to_name_str (#187)
    • Update B006: list, dictionary, and set comprehensions are now also disallowed (#186)

    21.9.1

    • Update B008: Whitelist more immutable function calls (#173)
    • Remove Python Compatibility Warnings (#182)

    ... (truncated)

    Commits
    • f68a235 Update version + Change Log for 22.7.1 release (#268)
    • aaad1d6 Implement late-binding loop check (#265)
    • 88bb957 Update version + Change Log for 22.6.22 release (#264)
    • 437c9d2 don't crash when select / extend_select are None (#261)
    • b1e4ef2 Ignore lambda arguments for B020 (#259)
    • 0d54ee6 Fix missing space typos in B021, B022 error messages (#257)
    • bab0965 Update version + Change Log for 22.4.25 release
    • f2bf7f8 [pre-commit.ci] pre-commit autoupdate (#247)
    • 4338842 Ignore black formatting for b013 test case (#251)
    • d4afd14 Fix B010 lambda flase positive (#246)
    • 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] 2
  • Bump importlib-metadata from 4.8.1 to 4.11.4

    Bump importlib-metadata from 4.8.1 to 4.11.4

    Bumps importlib-metadata from 4.8.1 to 4.11.4.

    Changelog

    Sourced from importlib-metadata's changelog.

    v4.11.4

    • #379: In PathDistribution._name_from_stem, avoid including parts of the extension in the result.
    • #381: In PathDistribution._normalized_name, ensure names loaded from the stem of the filename are also normalized, ensuring duplicate entry points by packages varying only by non-normalized name are hidden.

    v4.11.3

    • #372: Removed cast of path items in FastPath, not needed.

    v4.11.2

    • #369: Fixed bug where EntryPoint.extras was returning match objects and not the extras strings.

    v4.11.1

    • #367: In Distribution.requires for egg-info, if requires.txt is empty, return an empty list.

    v4.11.0

    • bpo-46246: Added __slots__ to EntryPoints.

    v4.10.2

    • #365 and bpo-46546: Avoid leaking method_name in DeprecatedList.

    v4.10.1

    v2.1.3

    • #361: Avoid potential REDoS in EntryPoint.pattern.

    v4.10.0

    • #354: Removed Distribution._local factory. This

    ... (truncated)

    Commits
    • afdb973 Merge pull request #382 from python/feature/unique-distributions-function
    • da98092 Add test for _unique.
    • a3ad5f7 Extract '_unique' for identifying unique distributions.
    • 2df8b5a Consolidate logic for generating minimal metadata.
    • 9c80e09 Use build_files for rendering fixtures in test_main.
    • 1d840cb Reference the main PR where the change occurred.
    • 2ee86fc Merge pull request #381 from python/bugfix/entry-points-unique-normalized
    • 21bacb9 Update changelog.
    • 45b8841 fix PathDistribution._normalized_name implementation
    • 6eb6f71 Add test expanding expectation on unique packages to include normalization. R...
    • 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] 2
  • Bump mypy from 0.812 to 0.960

    Bump mypy from 0.812 to 0.960

    Bumps mypy from 0.812 to 0.960.

    Commits
    • 0a4a190 Update version to 0.960
    • 128661c Friendlier errors for PEP 612 (#12832)
    • a54c84d Bring back type annotation support of dunder methods in stub generator (#12828)
    • 290f013 FindModuleCache: optionally leverage BuildSourceSet (#12616)
    • aa7c21a Typeshed cherry-pick: Ignore mypy errors in Python 2 builtins and typing (#78...
    • 644d5f6 checkexpr: cache type of container literals when possible (#12707)
    • b673366 speedup typechecking of nested if expressions (#12700)
    • 6db3d96 Avoid crashing on invalid python executables (#12812)
    • cb2c07b Fix crash on type alias definition inside dataclass declaration (#12792)
    • 3cd1e2c Fix namedtuple crash in unannotated function (#12804)
    • 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] 2
  • Bump flake8-bugbear from 20.11.1 to 22.4.25

    Bump flake8-bugbear from 20.11.1 to 22.4.25

    Bumps flake8-bugbear from 20.11.1 to 22.4.25.

    Release notes

    Sourced from flake8-bugbear's releases.

    22.4.25

    • Ignore black formatting for b013 test case (#251)
    • B010 Fix lambda false positive (#246)
    • B008 Fix edge case with lambda functions (#243)

    22.3.23

    • B006 and B008: Detect function calls at any level of the default expression (#239)
    • B020: Fix comprehension false postives (#238)
    • Tweak B019 desc (#237)

    22.3.20

    • B022: No arguments passed to contextlib.suppress (#231)
    • B021: f-string used as docstring. (#230)
    • B020: ensure loop control variable doesn't overrides iterable it iterates (#220)
    • B019: check to find cache decorators on class methods (#218)
    • Fix crash on long empty string (#223)

    22.1.11

    • B018: Ignore JoinedStr (#216)
    • Build universal Python 3 wheels (#214)
    • B950: Add same special cases as E501 (#213)

    21.11.29

    • B018: Disable strings from check for now (#209)

    21.11.28

    • B904: ensure the raise is in the same context with the except (#191)
    • Add Option to extend the list of immutable calls (#204)
    • Update B014: binascii.Error is now treated as a subclass of ValueError (#206)
    • add simple pre-commit config (#205)
    • Test with 3.10 official
    • Add B018 check to find useless declarations (#196, #202)

    21.9.2

    • Fix crash on call in except statement in _to_name_str (#187)
    • Update B006: list, dictionary, and set comprehensions are now also disallowed (#186)

    21.9.1

    • Update B008: Whitelist more immutable function calls (#173)
    • Remove Python Compatibility Warnings (#182)
    • Add B904: check for raise without from in an except clause (#181)
    • Add Python 3.10 tests to ensure we pass (#183)

    21.4.3

    Verify the element in item_context.args is of type ast.Name for b017

    21.4.2

    • Add another hasattr() check to b017 visit for .func

    21.4.1

    ... (truncated)

    Commits
    • bab0965 Update version + Change Log for 22.4.25 release
    • f2bf7f8 [pre-commit.ci] pre-commit autoupdate (#247)
    • 4338842 Ignore black formatting for b013 test case (#251)
    • d4afd14 Fix B010 lambda flase positive (#246)
    • e24eb10 Black: replace --experimental-string-processing with --preview (#245)
    • 40a9381 Fix B008 edge case with lambda functions (#243)
    • c255c1b Update version + Change Log for 22.3.23 release
    • f9e0f77 B006 and B008: Cover additional test cases (#239)
    • ea0bd48 Remove long dead Travis Badge with Actions badge (#241)
    • 0e30194 Add Pre-Commit Badge
    • 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] 2
  • Bump mypy from 0.812 to 0.950

    Bump mypy from 0.812 to 0.950

    Bumps mypy from 0.812 to 0.950.

    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] 2
  • Bump pytest from 6.2.5 to 7.1.2

    Bump pytest from 6.2.5 to 7.1.2

    Bumps pytest from 6.2.5 to 7.1.2.

    Release notes

    Sourced from pytest's releases.

    7.1.2

    pytest 7.1.2 (2022-04-23)

    Bug Fixes

    • #9726: An unnecessary numpy import inside pytest.approx{.interpreted-text role="func"} was removed.
    • #9820: Fix comparison of dataclasses with InitVar.
    • #9869: Increase stacklevel for the NODE_CTOR_FSPATH_ARG deprecation to point to the user's code, not pytest.
    • #9871: Fix a bizarre (and fortunately rare) bug where the [temp_path]{.title-ref} fixture could raise an internal error while attempting to get the current user's username.

    7.1.1

    pytest 7.1.1 (2022-03-17)

    Bug Fixes

    • #9767: Fixed a regression in pytest 7.1.0 where some conftest.py files outside of the source tree (e.g. in the [site-packages]{.title-ref} directory) were not picked up.

    7.1.0

    pytest 7.1.0 (2022-03-13)

    Breaking Changes

    • #8838: As per our policy, the following features have been deprecated in the 6.X series and are now removed:

      • pytest._fillfuncargs function.
      • pytest_warning_captured hook - use pytest_warning_recorded instead.
      • -k -foobar syntax - use -k 'not foobar' instead.
      • -k foobar: syntax.
      • pytest.collect module - import from pytest directly.

      For more information consult Deprecations and Removals in the docs.

    • #9437: Dropped support for Python 3.6, which reached end-of-life at 2021-12-23.

    Improvements

    • #5192: Fixed test output for some data types where -v would show less information.

      Also, when showing diffs for sequences, -q would produce full diffs instead of the expected diff.

    ... (truncated)

    Commits
    • 2f2f1a6 Prepare release version 7.1.2
    • 5c04f3a [7.1.x] Fix wrong log_file docs (#9879)
    • 078733c Merge pull request #9872 from pytest-dev/backport-9871-to-7.1.x
    • 3a7ead6 [7.1.x] fix: move 'import getpass' statement to try-clause
    • 6d75333 [7.1.x] Increase stacklevel to point at user's code (#9870)
    • ddbb998 [7.1.x] Increase stacklevel to point at user's code
    • 0ec5886 Merge pull request #9855 from pytest-dev/backport-9854-to-7.1.x
    • f2469fc [7.1.x] Docs: link to easy issues in contributing guide
    • 94ec0f8 Merge pull request #9846 from pytest-dev/backport-9842-to-7.1.x
    • 5ef96fd [7.1.x] fix comparison of dataclasses with InitVar
    • 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] 2
  • Bump importlib-metadata from 4.8.1 to 5.2.0

    Bump importlib-metadata from 4.8.1 to 5.2.0

    Bumps importlib-metadata from 4.8.1 to 5.2.0.

    Changelog

    Sourced from importlib-metadata's changelog.

    v5.2.0

    • #371: Deprecated expectation that PackageMetadata.__getitem__ will return None for missing keys. In the future, it will raise a KeyError.

    v5.1.0

    • #415: Instrument SimplePath with generic support.

    v5.0.0

    • #97, #284, #300: Removed compatibility shims for deprecated entry point interfaces.

    v4.13.0

    • #396: Added compatibility for PathDistributions originating from Python 3.8 and 3.9.

    v4.12.0

    • py-93259: Now raise ValueError when None or an empty string are passed to Distribution.from_name (and other callers).

    v4.11.4

    • #379: In PathDistribution._name_from_stem, avoid including parts of the extension in the result.
    • #381: In PathDistribution._normalized_name, ensure names loaded from the stem of the filename are also normalized, ensuring duplicate entry points by packages varying only by non-normalized name are hidden.

    v4.11.3

    • #372: Removed cast of path items in FastPath, not needed.

    v4.11.2

    • #369: Fixed bug where EntryPoint.extras was returning

    ... (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 mypy from 0.812 to 0.981

    Bump mypy from 0.812 to 0.981

    Bumps mypy from 0.812 to 0.981.

    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 flake8-bugbear from 20.11.1 to 22.9.23

    Bump flake8-bugbear from 20.11.1 to 22.9.23

    Bumps flake8-bugbear from 20.11.1 to 22.9.23.

    Release notes

    Sourced from flake8-bugbear's releases.

    22.9.23

    • add B026: find argument unpacking after keyword argument (#287)
    • Move to setup.cfg like flake8 (#288)

    22.9.11

    • Add B025: Find duplicate except clauses (#284)

    22.8.23

    • Add B024 error code to message for B024 (#276)

    22.8.22

    • Add B024: abstract base class with no abstract methods (#273)

    22.7.1

    22.6.22

    • Don't crash when select / extend_select are None (#261)
    • Ignore lambda arguments for B020 (#259)
    • Fix missing space typos in B021, B022 error messages (#257)

    22.4.25

    • Ignore black formatting for b013 test case (#251)
    • B010 Fix lambda false positive (#246)
    • B008 Fix edge case with lambda functions (#243)

    22.3.23

    • B006 and B008: Detect function calls at any level of the default expression (#239)
    • B020: Fix comprehension false postives (#238)
    • Tweak B019 desc (#237)

    22.3.20

    • B022: No arguments passed to contextlib.suppress (#231)
    • B021: f-string used as docstring. (#230)
    • B020: ensure loop control variable doesn't overrides iterable it iterates (#220)
    • B019: check to find cache decorators on class methods (#218)
    • Fix crash on long empty string (#223)

    22.1.11

    • B018: Ignore JoinedStr (#216)
    • Build universal Python 3 wheels (#214)
    • B950: Add same special cases as E501 (#213)

    21.11.29

    • B018: Disable strings from check for now (#209)

    21.11.28

    • B904: ensure the raise is in the same context with the except (#191)

    ... (truncated)

    Commits
    • 8d9c457 Update version + Change Log for 22.9.23 release
    • 87e4d66 Migrate metadata from setup.py to setup.cfg (#288)
    • 2b4c163 B026 - Argument unpacking after keyword argument (#287)
    • 3f3fd33 Update version + Change Log for 22.9.11 release
    • 651ed80 Add new check which finds duplicate except clauses (#284)
    • 4c34177 [pre-commit.ci] pre-commit autoupdate (#283)
    • bc46cb5 Update version + Change Log for 22.8.23 release
    • 7d1adf9 Add missing error code to message for B024 (#276)
    • 1007f5c Update version + Change Log for 22.8.22 release
    • 881f054 Merge pull request #274 from jakkdl/abstract_class_no_abstract_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 pytest from 6.2.5 to 7.1.3

    Bump pytest from 6.2.5 to 7.1.3

    Bumps pytest from 6.2.5 to 7.1.3.

    Release notes

    Sourced from pytest's releases.

    7.1.3

    pytest 7.1.3 (2022-08-31)

    Bug Fixes

    • #10060: When running with --pdb, TestCase.tearDown is no longer called for tests when the class has been skipped via unittest.skip or pytest.mark.skip.
    • #10190: Invalid XML characters in setup or teardown error messages are now properly escaped for JUnit XML reports.
    • #10230: Ignore .py files created by pyproject.toml-based editable builds introduced in pip 21.3.
    • #3396: Doctests now respect the --import-mode flag.
    • #9514: Type-annotate FixtureRequest.param as Any as a stop gap measure until 8073{.interpreted-text role="issue"} is fixed.
    • #9791: Fixed a path handling code in rewrite.py that seems to work fine, but was incorrect and fails in some systems.
    • #9917: Fixed string representation for pytest.approx{.interpreted-text role="func"} when used to compare tuples.

    Improved Documentation

    • #9937: Explicit note that tmpdir{.interpreted-text role="fixture"} fixture is discouraged in favour of tmp_path{.interpreted-text role="fixture"}.

    Trivial/Internal Changes

    7.1.2

    pytest 7.1.2 (2022-04-23)

    Bug Fixes

    • #9726: An unnecessary numpy import inside pytest.approx{.interpreted-text role="func"} was removed.
    • #9820: Fix comparison of dataclasses with InitVar.
    • #9869: Increase stacklevel for the NODE_CTOR_FSPATH_ARG deprecation to point to the user's code, not pytest.
    • #9871: Fix a bizarre (and fortunately rare) bug where the [temp_path]{.title-ref} fixture could raise an internal error while attempting to get the current user's username.

    7.1.1

    pytest 7.1.1 (2022-03-17)

    Bug Fixes

    • #9767: Fixed a regression in pytest 7.1.0 where some conftest.py files outside of the source tree (e.g. in the [site-packages]{.title-ref} directory) were not picked up.

    7.1.0

    pytest 7.1.0 (2022-03-13)

    ... (truncated)

    Commits
    • 4645bcd Remove incorrect output in how-to/fixtures.rst
    • fadfb4f Prepare release version 7.1.3
    • ab96ea8 Merge pull request #10258 from pytest-dev/backport-10252-to-7.1.x
    • fc0e024 [7.1.x] Fix regendoc
    • 8f5088f Merge pull request #10249 from pytest-dev/backport-10231-to-7.1.x
    • aae93d6 Ignore type-errors related to attr.asdict
    • 71b79fc [7.1.x] Ignore editable installation modules
    • 89f7518 Merge pull request #10222 from pytest-dev/backport-10171-to-7.1.x
    • 88fc45b [7.1.x] Update fixtures.rst w/ finalizer order
    • d0b53d6 Merge pull request #10221 from pytest-dev/backport-10217-to-7.1.x
    • 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 black from 21.9b0 to 22.8.0

    Bump black from 21.9b0 to 22.8.0

    Bumps black from 21.9b0 to 22.8.0.

    Release notes

    Sourced from black's releases.

    22.8.0

    Highlights

    • Python 3.11 is now supported, except for blackd as aiohttp does not support 3.11 as of publishing (#3234)
    • This is the last release that supports running Black on Python 3.6 (formatting 3.6 code will continue to be supported until further notice)
    • Reword the stability policy to say that we may, in rare cases, make changes that affect code that was not previously formatted by Black (#3155)

    Stable style

    • Fix an infinite loop when using # fmt: on/off in the middle of an expression or code block (#3158)
    • Fix incorrect handling of # fmt: skip on colon (:) lines (#3148)
    • Comments are no longer deleted when a line had spaces removed around power operators (#2874)

    Preview style

    • Single-character closing docstring quotes are no longer moved to their own line as this is invalid. This was a bug introduced in version 22.6.0. (#3166)
    • --skip-string-normalization / -S now prevents docstring prefixes from being normalized as expected (#3168)
    • When using --skip-magic-trailing-comma or -C, trailing commas are stripped from subscript expressions with more than 1 element (#3209)
    • Implicitly concatenated strings inside a list, set, or tuple are now wrapped inside parentheses (#3162)
    • Fix a string merging/split issue when a comment is present in the middle of implicitly concatenated strings on its own line (#3227)

    Blackd

    • blackd now supports enabling the preview style via the X-Preview header (#3217)

    Configuration

    • Black now uses the presence of debug f-strings to detect target version (#3215)
    • Fix misdetection of project root and verbose logging of sources in cases involving --stdin-filename (#3216)
    • Immediate .gitignore files in source directories given on the command line are now also respected, previously only .gitignore files in the project root and automatically discovered directories were respected (#3237)

    Documentation

    • Recommend using BlackConnect in IntelliJ IDEs (#3150)

    Integrations

    • Vim plugin: prefix messages with Black: so it's clear they come from Black (#3194)
    • Docker: changed to a /opt/venv installation + added to PATH to be available to non-root users (#3202)

    Output

    • Change from deprecated asyncio.get_event_loop() to create our event loop which removes DeprecationWarning (#3164)
    • Remove logging from internal blib2to3 library since it regularly emits error logs about failed caching that can and should be ignored (#3193)

    Parser

    • Type comments are now included in the AST equivalence check consistently so accidental deletion raises an error. Though type comments can't be tracked when running on PyPy 3.7 due to standard library limitations. (#2874)

    Performance

    ... (truncated)

    Changelog

    Sourced from black's changelog.

    22.8.0

    Highlights

    • Python 3.11 is now supported, except for blackd as aiohttp does not support 3.11 as of publishing (#3234)
    • This is the last release that supports running Black on Python 3.6 (formatting 3.6 code will continue to be supported until further notice)
    • Reword the stability policy to say that we may, in rare cases, make changes that affect code that was not previously formatted by Black (#3155)

    Stable style

    • Fix an infinite loop when using # fmt: on/off in the middle of an expression or code block (#3158)
    • Fix incorrect handling of # fmt: skip on colon (:) lines (#3148)
    • Comments are no longer deleted when a line had spaces removed around power operators (#2874)

    Preview style

    • Single-character closing docstring quotes are no longer moved to their own line as this is invalid. This was a bug introduced in version 22.6.0. (#3166)
    • --skip-string-normalization / -S now prevents docstring prefixes from being normalized as expected (#3168)
    • When using --skip-magic-trailing-comma or -C, trailing commas are stripped from subscript expressions with more than 1 element (#3209)
    • Implicitly concatenated strings inside a list, set, or tuple are now wrapped inside parentheses (#3162)
    • Fix a string merging/split issue when a comment is present in the middle of implicitly concatenated strings on its own line (#3227)

    Blackd

    • blackd now supports enabling the preview style via the X-Preview header (#3217)

    Configuration

    • Black now uses the presence of debug f-strings to detect target version (#3215)
    • Fix misdetection of project root and verbose logging of sources in cases involving --stdin-filename (#3216)
    • Immediate .gitignore files in source directories given on the command line are now also respected, previously only .gitignore files in the project root and automatically discovered directories were respected (#3237)

    Documentation

    • Recommend using BlackConnect in IntelliJ IDEs (#3150)

    Integrations

    ... (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
Releases(v1.0.2)
  • v1.0.2(Apr 18, 2021)

    What’s Changed

    Added a class for simpler cases. Worked to improve documentation.

    📦 Build System

    • Bump isort from 5.6.4 to 5.7.0 (#1) @dependabot
    • Bump safety from 1.10.0 to 1.10.1 (#4) @dependabot
    • Bump sphinx-autodoc-typehints from 1.10.3 to 1.11.1 (#2) @dependabot

    :rocket: Features

    • Add class for simpler cases (#16) @rajivsarvepalli
    Source code(tar.gz)
    Source code(zip)
  • v1.0.1(Dec 28, 2020)

  • v1.0.0(Dec 27, 2020)

    Added new feature of choosing the index to forward parent output into child input. Added documentation and improved testing. Added badges for testing, PyPI, Documentation, and code coverage.

    Source code(tar.gz)
    Source code(zip)
  • v0.0.1(Nov 27, 2020)

Owner
Rajiv Sarvepalli
computer science @ uva '21
Rajiv Sarvepalli
Dirty Pixels: Towards End-to-End Image Processing and Perception

Dirty Pixels: Towards End-to-End Image Processing and Perception This repository contains the code for the paper Dirty Pixels: Towards End-to-End Imag

50 Nov 18, 2022
A library of scripts that interact with the PythonTurtle module to create games, drawings, and more

TurtleLib TurtleLib is a library of scripts that interact with the PythonTurtle module to create games, drawings, and more! Using the Scripts Copy or

1 Jan 15, 2022
Efficient Deep Learning Systems course

Efficient Deep Learning Systems This repository contains materials for the Efficient Deep Learning Systems course taught at the Faculty of Computer Sc

Max Ryabinin 173 Dec 29, 2022
Code for "Sparse Steerable Convolutions: An Efficient Learning of SE(3)-Equivariant Features for Estimation and Tracking of Object Poses in 3D Space"

Sparse Steerable Convolution (SS-Conv) Code for "Sparse Steerable Convolutions: An Efficient Learning of SE(3)-Equivariant Features for Estimation and

25 Dec 21, 2022
Official pytorch implementation of "Scaling-up Disentanglement for Image Translation", ICCV 2021.

Official pytorch implementation of "Scaling-up Disentanglement for Image Translation", ICCV 2021.

Aviv Gabbay 41 Nov 29, 2022
SkipGNN: Predicting Molecular Interactions with Skip-Graph Networks (Scientific Reports)

SkipGNN: Predicting Molecular Interactions with Skip-Graph Networks Molecular interaction networks are powerful resources for the discovery. While dee

Kexin Huang 49 Oct 15, 2022
This script runs neural style transfer against the provided content image.

Neural Style Transfer Content Style Output Description: This script runs neural style transfer against the provided content image. The content image m

Martynas Subonis 0 Nov 25, 2021
Procedural 3D data generation pipeline for architecture

Synthetic Dataset Generator Authors: Stanislava Fedorova Alberto Tono Meher Shashwat Nigam Jiayao Zhang Amirhossein Ahmadnia Cecilia bolognesi Dominik

Computational Design Institute 49 Nov 25, 2022
Convolutional Neural Networks

Darknet Darknet is an open source neural network framework written in C and CUDA. It is fast, easy to install, and supports CPU and GPU computation. D

Joseph Redmon 23.7k Jan 05, 2023
OHLC Average Prediction of Apple Inc. Using LSTM Recurrent Neural Network

Stock Price Prediction of Apple Inc. Using Recurrent Neural Network OHLC Average Prediction of Apple Inc. Using LSTM Recurrent Neural Network Dataset:

Nouroz Rahman 410 Jan 05, 2023
The official implementation of ELSA: Enhanced Local Self-Attention for Vision Transformer

ELSA: Enhanced Local Self-Attention for Vision Transformer By Jingkai Zhou, Pich

DamoCV 87 Dec 19, 2022
Implementations of CNNs, RNNs, GANs, etc

Tensorflow Programs and Tutorials This repository will contain Tensorflow tutorials on a lot of the most popular deep learning concepts. It'll also co

Adit Deshpande 1k Dec 30, 2022
Library of various Few-Shot Learning frameworks for text classification

FewShotText This repository contains code for the paper A Neural Few-Shot Text Classification Reality Check Environment setup # Create environment pyt

Thomas Dopierre 47 Jan 03, 2023
YourTTS: Towards Zero-Shot Multi-Speaker TTS and Zero-Shot Voice Conversion for everyone

YourTTS: Towards Zero-Shot Multi-Speaker TTS and Zero-Shot Voice Conversion for everyone In our recent paper we propose the YourTTS model. YourTTS bri

Edresson Casanova 390 Dec 29, 2022
3D-Reconstruction 基于深度学习方法的单目多视图三维重建

基于深度学习方法的单目多视图三维重建 Part I 三维重建 代码:Part1 技术文档:[Markdown] [PDF] 原始图像:Original Images 点云结果:Point Cloud Results-1

HMT_Curo 19 Dec 26, 2022
A library for answering questions using data you cannot see

A library for computing on data you do not own and cannot see PySyft is a Python library for secure and private Deep Learning. PySyft decouples privat

OpenMined 8.5k Jan 02, 2023
SAAVN - Sound Adversarial Audio-Visual Navigation,ICLR2022 (In PyTorch)

SAAVN SAAVN Code release for paper "Sound Adversarial Audio-Visual Navigation,IC

YinfengYu 10 Aug 30, 2022
salabim - discrete event simulation in Python

Object oriented discrete event simulation and animation in Python. Includes process control features, resources, queues, monitors. statistical distrib

181 Dec 21, 2022
An Api for Emotion recognition.

PLAYEMO Playemo was built from the ground-up with Flask, a python tool that makes it easy for developers to build APIs. Use Cases Is Python your langu

greek geek 2 Jul 16, 2022
Python/Rust implementations and notes from Proofs Arguments and Zero Knowledge

What is this? This is where I'll be collecting resources related to the Study Group on Dr. Justin Thaler's Proofs Arguments And Zero Knowledge Book. T

Thor 66 Jan 04, 2023