diff --git a/libp2p/__init__.py b/libp2p/__init__.py index 32fa008c..110aba49 100644 --- a/libp2p/__init__.py +++ b/libp2p/__init__.py @@ -70,7 +70,6 @@ def initialize_default_swarm( :param disc_opt: optional discovery :return: return a default swarm instance """ - # pylint: disable=too-many-arguments, unused-argument if not id_opt: id_opt = generate_id() @@ -112,7 +111,6 @@ async def new_node( :param disc_opt: optional discovery :return: return a host instance """ - # pylint: disable=too-many-arguments if not id_opt: id_opt = generate_id() diff --git a/libp2p/kademlia/crawling.py b/libp2p/kademlia/crawling.py index 0e43a9b9..97a4855d 100644 --- a/libp2p/kademlia/crawling.py +++ b/libp2p/kademlia/crawling.py @@ -5,17 +5,15 @@ from .kad_peerinfo import KadPeerHeap, create_kad_peerinfo from .utils import gather_dict -log = logging.getLogger(__name__) # pylint: disable=invalid-name +log = logging.getLogger(__name__) -# pylint: disable=too-few-public-methods class SpiderCrawl: """ Crawl the network and look for given 160-bit keys. """ def __init__(self, protocol, node, peers, ksize, alpha): - # pylint: disable=too-many-arguments """ Create a new C{SpiderCrawl}er. @@ -72,7 +70,6 @@ class SpiderCrawl: class ValueSpiderCrawl(SpiderCrawl): def __init__(self, protocol, node, peers, ksize, alpha): - # pylint: disable=too-many-arguments SpiderCrawl.__init__(self, protocol, node, peers, ksize, alpha) # keep track of the single nearest node without value - per # section 2.3 so we can set the key there if found diff --git a/libp2p/kademlia/kad_peerinfo.py b/libp2p/kademlia/kad_peerinfo.py index 0805e2d7..ea05aeb2 100644 --- a/libp2p/kademlia/kad_peerinfo.py +++ b/libp2p/kademlia/kad_peerinfo.py @@ -21,7 +21,6 @@ class KadPeerInfo(PeerInfo): self.addrs = peer_data.get_addrs() if peer_data else None - # pylint: disable=invalid-name self.ip = self.addrs[0].value_for_protocol(P_IP) if peer_data else None self.port = int(self.addrs[0].value_for_protocol(P_UDP)) if peer_data else None @@ -143,7 +142,7 @@ def create_kad_peerinfo(node_id_bytes=None, sender_ip=None, sender_port=None): ) peer_data = None if sender_ip and sender_port: - peer_data = PeerData() # pylint: disable=no-value-for-parameter + peer_data = PeerData() addr = [ Multiaddr( "/" + P_IP + "/" + str(sender_ip) + "/" + P_UDP + "/" + str(sender_port) diff --git a/libp2p/kademlia/network.py b/libp2p/kademlia/network.py index ed8457e2..27cfe32b 100644 --- a/libp2p/kademlia/network.py +++ b/libp2p/kademlia/network.py @@ -12,10 +12,9 @@ from .kad_peerinfo import create_kad_peerinfo from .crawling import ValueSpiderCrawl from .crawling import NodeSpiderCrawl -log = logging.getLogger(__name__) # pylint: disable=invalid-name +log = logging.getLogger(__name__) -# pylint: disable=too-many-instance-attributes class KademliaServer: """ High level view of a node instance. This is the object that should be @@ -260,4 +259,4 @@ def check_dht_value_type(value): placing in the dht. """ typeset = [int, float, bool, str, bytes] - return type(value) in typeset # pylint: disable=unidiomatic-typecheck + return type(value) in typeset diff --git a/libp2p/kademlia/protocol.py b/libp2p/kademlia/protocol.py index afbef44b..eade292e 100644 --- a/libp2p/kademlia/protocol.py +++ b/libp2p/kademlia/protocol.py @@ -7,7 +7,7 @@ from .kad_peerinfo import create_kad_peerinfo from .routing import RoutingTable -log = logging.getLogger(__name__) # pylint: disable=invalid-name +log = logging.getLogger(__name__) class KademliaProtocol(RPCProtocol): @@ -37,7 +37,7 @@ class KademliaProtocol(RPCProtocol): ids.append(rid) return ids - def rpc_stun(self, sender): # pylint: disable=no-self-use + def rpc_stun(self, sender): return sender def rpc_ping(self, sender, nodeid): @@ -75,7 +75,6 @@ class KademliaProtocol(RPCProtocol): return {"value": value} def rpc_add_provider(self, sender, nodeid, key, provider_id): - # pylint: disable=unused-argument """ rpc when receiving an add_provider call should validate received PeerInfo matches sender nodeid @@ -91,7 +90,6 @@ class KademliaProtocol(RPCProtocol): return False def rpc_get_providers(self, sender, key): - # pylint: disable=unused-argument """ rpc when receiving a get_providers call should look up key in data store and respond with records diff --git a/libp2p/network/connection/raw_connection.py b/libp2p/network/connection/raw_connection.py index 034298e9..abde0066 100644 --- a/libp2p/network/connection/raw_connection.py +++ b/libp2p/network/connection/raw_connection.py @@ -20,7 +20,6 @@ class RawConnection(IRawConnection): writer: asyncio.StreamWriter, initiator: bool, ) -> None: - # pylint: disable=too-many-arguments self.conn_ip = ip self.conn_port = port self.reader = reader diff --git a/libp2p/network/connection/raw_connection_interface.py b/libp2p/network/connection/raw_connection_interface.py index 5814c44e..ace31f4f 100644 --- a/libp2p/network/connection/raw_connection_interface.py +++ b/libp2p/network/connection/raw_connection_interface.py @@ -1,6 +1,5 @@ from abc import ABC, abstractmethod -# pylint: disable=too-few-public-methods class IRawConnection(ABC): diff --git a/libp2p/network/swarm.py b/libp2p/network/swarm.py index d25b7fe7..ce6b67c1 100644 --- a/libp2p/network/swarm.py +++ b/libp2p/network/swarm.py @@ -26,7 +26,6 @@ StreamHandlerFn = Callable[[INetStream], Awaitable[None]] class Swarm(INetwork): - # pylint: disable=too-many-instance-attributes,cell-var-from-loop,too-many-arguments self_id: ID peerstore: PeerStore @@ -249,7 +248,6 @@ class Swarm(INetwork): # TODO: `tear_down` async def tear_down(self) -> None: - # pylint: disable=line-too-long # Reference: https://github.com/libp2p/go-libp2p-swarm/blob/8be680aef8dea0a4497283f2f98470c2aeae6b65/swarm.go#L118 # noqa: E501 pass diff --git a/libp2p/peer/id.py b/libp2p/peer/id.py index 48b48929..7a3f9190 100644 --- a/libp2p/peer/id.py +++ b/libp2p/peer/id.py @@ -45,7 +45,6 @@ class ID: __repr__ = __str__ = pretty = to_string = to_base58 def __eq__(self, other: object) -> bool: - # pylint: disable=protected-access, no-else-return if isinstance(other, str): return self.to_base58() == other elif isinstance(other, bytes): diff --git a/libp2p/peer/peerinfo.py b/libp2p/peer/peerinfo.py index ed4eed0c..a2f08424 100644 --- a/libp2p/peer/peerinfo.py +++ b/libp2p/peer/peerinfo.py @@ -7,7 +7,6 @@ from .peerdata import PeerData class PeerInfo: - # pylint: disable=too-few-public-methods peer_id: ID addrs: List[multiaddr.Multiaddr] diff --git a/libp2p/pubsub/floodsub.py b/libp2p/pubsub/floodsub.py index 757a4fa1..198d2fa9 100644 --- a/libp2p/pubsub/floodsub.py +++ b/libp2p/pubsub/floodsub.py @@ -8,7 +8,6 @@ from .pubsub_router_interface import IPubsubRouter class FloodSub(IPubsubRouter): - # pylint: disable=no-member protocols: List[str] diff --git a/libp2p/pubsub/gossipsub.py b/libp2p/pubsub/gossipsub.py index 5a3c91d4..9ffa743e 100644 --- a/libp2p/pubsub/gossipsub.py +++ b/libp2p/pubsub/gossipsub.py @@ -12,9 +12,6 @@ from .pubsub_router_interface import IPubsubRouter class GossipSub(IPubsubRouter): - # pylint: disable=no-member - # pylint: disable=too-many-instance-attributes - # pylint: disable=too-many-public-methods protocols: List[str] pubsub: Pubsub @@ -50,7 +47,6 @@ class GossipSub(IPubsubRouter): gossip_history: int = 5, heartbeat_interval: int = 120, ) -> None: - # pylint: disable=too-many-arguments self.protocols = list(protocols) self.pubsub = None @@ -154,7 +150,6 @@ class GossipSub(IPubsubRouter): await self.handle_prune(prune, sender_peer_id) async def publish(self, msg_forwarder: ID, pubsub_msg: rpc_pb2.Message) -> None: - # pylint: disable=too-many-locals """ Invoked to forward a new message that has been validated. """ @@ -182,7 +177,6 @@ class GossipSub(IPubsubRouter): :param origin: peer id of the peer the message originate from. :return: a generator of the peer ids who we send data to. """ - # pylint: disable=len-as-condition send_to: Set[ID] = set() for topic in topic_ids: if topic not in self.pubsub.peer_topics: @@ -367,7 +361,6 @@ class GossipSub(IPubsubRouter): self.fanout[topic].extend(selected_peers) async def gossip_heartbeat(self) -> None: - # pylint: disable=too-many-nested-blocks for topic in self.mesh: msg_ids = self.mcache.window(topic) if msg_ids: diff --git a/libp2p/pubsub/mcache.py b/libp2p/pubsub/mcache.py index 08390b71..159047b9 100644 --- a/libp2p/pubsub/mcache.py +++ b/libp2p/pubsub/mcache.py @@ -4,7 +4,6 @@ from .pb import rpc_pb2 class CacheEntry: - # pylint: disable=too-few-public-methods mid: Tuple[bytes, bytes] topics: List[str] diff --git a/libp2p/pubsub/pubsub.py b/libp2p/pubsub/pubsub.py index 71102f51..262f26bb 100644 --- a/libp2p/pubsub/pubsub.py +++ b/libp2p/pubsub/pubsub.py @@ -1,4 +1,3 @@ -# pylint: disable=no-name-in-module import asyncio import time from typing import Any, Dict, List, Tuple, TYPE_CHECKING @@ -23,7 +22,6 @@ def get_msg_id(msg: rpc_pb2.Message) -> Tuple[bytes, bytes]: class Pubsub: - # pylint: disable=too-many-instance-attributes, no-member, unsubscriptable-object host: IHost my_id: ID @@ -144,7 +142,6 @@ class Pubsub: for message in rpc_incoming.subscriptions: self.handle_subscription(peer_id, message) - # pylint: disable=line-too-long # NOTE: Check if `rpc_incoming.control` is set through `HasField`. # This is necessary because `control` is an optional field in pb2. # Ref: https://developers.google.com/protocol-buffers/docs/reference/python-generated#singular-fields-proto2 @@ -201,7 +198,6 @@ class Pubsub: hello: bytes = self.get_hello_packet() await stream.write(hello) - # pylint: disable=line-too-long # TODO: Investigate whether this should be replaced by `handlePeerEOF` # Ref: https://github.com/libp2p/go-libp2p-pubsub/blob/49274b0e8aecdf6cad59d768e5702ff00aa48488/comm.go#L80 # noqa: E501 # Pass stream off to stream reader diff --git a/libp2p/pubsub/pubsub_notifee.py b/libp2p/pubsub/pubsub_notifee.py index e73bd170..bc7197e7 100644 --- a/libp2p/pubsub/pubsub_notifee.py +++ b/libp2p/pubsub/pubsub_notifee.py @@ -14,7 +14,6 @@ if TYPE_CHECKING: class PubsubNotifee(INotifee): - # pylint: disable=too-many-instance-attributes, cell-var-from-loop, unsubscriptable-object initiator_peers_queue: "asyncio.Queue[ID]" diff --git a/libp2p/routing/interfaces.py b/libp2p/routing/interfaces.py index d040e717..1947072b 100644 --- a/libp2p/routing/interfaces.py +++ b/libp2p/routing/interfaces.py @@ -4,7 +4,6 @@ from typing import Iterable from libp2p.peer.id import ID from libp2p.peer.peerinfo import PeerInfo -# pylint: disable=too-few-public-methods class IContentRouting(ABC): diff --git a/libp2p/routing/kademlia/kademlia_peer_router.py b/libp2p/routing/kademlia/kademlia_peer_router.py index e8413cf3..061bdda3 100644 --- a/libp2p/routing/kademlia/kademlia_peer_router.py +++ b/libp2p/routing/kademlia/kademlia_peer_router.py @@ -8,7 +8,6 @@ from libp2p.routing.interfaces import IPeerRouting class KadmeliaPeerRouter(IPeerRouting): - # pylint: disable=too-few-public-methods server: KademliaServer @@ -34,7 +33,7 @@ def decode_peerinfo(encoded: Union[bytes, str]) -> KadPeerInfo: lines = ast.literal_eval(encoded) except SyntaxError: return None - ip = lines[1] # pylint: disable=invalid-name + ip = lines[1] port = lines[2] peer_id = lines[3] peer_info = create_kad_peerinfo(peer_id, ip, port) diff --git a/libp2p/security/secure_conn_interface.py b/libp2p/security/secure_conn_interface.py index f5de4cd3..e39d853c 100644 --- a/libp2p/security/secure_conn_interface.py +++ b/libp2p/security/secure_conn_interface.py @@ -6,7 +6,6 @@ if TYPE_CHECKING: from libp2p.network.connection.raw_connection_interface import IRawConnection from .typing import TSecurityDetails -# pylint: disable=W0105 """ Represents a secured connection object, which includes a connection and details about the security diff --git a/libp2p/security/secure_transport_interface.py b/libp2p/security/secure_transport_interface.py index 99a3936d..865d5ea8 100644 --- a/libp2p/security/secure_transport_interface.py +++ b/libp2p/security/secure_transport_interface.py @@ -7,7 +7,6 @@ if TYPE_CHECKING: from libp2p.network.connection.raw_connection_interface import IRawConnection from libp2p.peer.id import ID -# pylint: disable=W0105 """ Transport that is used to secure a connection. This transport is diff --git a/libp2p/security/security_multistream.py b/libp2p/security/security_multistream.py index 2f5648ba..d81824aa 100644 --- a/libp2p/security/security_multistream.py +++ b/libp2p/security/security_multistream.py @@ -14,7 +14,6 @@ if TYPE_CHECKING: TProtocol = NewType("TProtocol", str) -# pylint: disable=W0105 """ Represents a secured connection object, which includes a connection and details about the security diff --git a/libp2p/stream_muxer/mplex/mplex.py b/libp2p/stream_muxer/mplex/mplex.py index ecbb6c7d..12a2a550 100644 --- a/libp2p/stream_muxer/mplex/mplex.py +++ b/libp2p/stream_muxer/mplex/mplex.py @@ -6,7 +6,6 @@ from ..muxed_connection_interface import IMuxedConn class Mplex(IMuxedConn): - # pylint: disable=too-many-instance-attributes """ reference: https://github.com/libp2p/go-mplex/blob/master/multiplex.go """ diff --git a/libp2p/stream_muxer/mplex/mplex_stream.py b/libp2p/stream_muxer/mplex/mplex_stream.py index c7ebb541..0f7b0fa4 100644 --- a/libp2p/stream_muxer/mplex/mplex_stream.py +++ b/libp2p/stream_muxer/mplex/mplex_stream.py @@ -6,7 +6,6 @@ from .utils import get_flag class MplexStream(IMuxedStream): - # pylint: disable=too-many-instance-attributes """ reference: https://github.com/libp2p/go-mplex/blob/master/stream.go """ diff --git a/libp2p/transport/upgrader.py b/libp2p/transport/upgrader.py index 2ccce244..29e6a527 100644 --- a/libp2p/transport/upgrader.py +++ b/libp2p/transport/upgrader.py @@ -3,7 +3,6 @@ from libp2p.security.security_multistream import SecurityMultistream class TransportUpgrader: - # pylint: disable=no-self-use def __init__(self, secOpt, muxerOpt): # Store security option diff --git a/setup.py b/setup.py index b24d0cf2..6cb4e3d1 100644 --- a/setup.py +++ b/setup.py @@ -4,7 +4,6 @@ import setuptools classifiers = [f"Programming Language :: Python :: {version}" for version in ["3.7"]] -# pylint: disable=invalid-name extras_require = { "test": [ "codecov>=2.0.15,<3.0.0", diff --git a/tests/libp2p/test_libp2p.py b/tests/libp2p/test_libp2p.py index b98738f1..9e669e04 100644 --- a/tests/libp2p/test_libp2p.py +++ b/tests/libp2p/test_libp2p.py @@ -5,7 +5,6 @@ from tests.utils import cleanup, set_up_nodes_by_transport_opt from libp2p.peer.peerinfo import info_from_p2p_addr -# pylint: disable=too-many-locals @pytest.mark.asyncio async def test_simple_messages(): transport_opt_list = [["/ip4/127.0.0.1/tcp/0"], ["/ip4/127.0.0.1/tcp/0"]] diff --git a/tests/libp2p/test_notify.py b/tests/libp2p/test_notify.py index 4dfd8805..c7ca52dc 100644 --- a/tests/libp2p/test_notify.py +++ b/tests/libp2p/test_notify.py @@ -22,11 +22,9 @@ from libp2p import new_node, initialize_default_swarm from libp2p.network.notifee_interface import INotifee from libp2p.host.basic_host import BasicHost -# pylint: disable=too-many-locals class MyNotifee(INotifee): - # pylint: disable=too-many-instance-attributes, cell-var-from-loop def __init__(self, events, val_to_append_to_event): self.events = events @@ -52,7 +50,6 @@ class MyNotifee(INotifee): class InvalidNotifee: - # pylint: disable=too-many-instance-attributes, cell-var-from-loop def __init__(self): pass diff --git a/tests/peer/test_peerid.py b/tests/peer/test_peerid.py index aac06e45..692a8e71 100644 --- a/tests/peer/test_peerid.py +++ b/tests/peer/test_peerid.py @@ -14,13 +14,11 @@ def test_init(): for _ in range(10): random_id_string += random.SystemRandom().choice(ALPHABETS) peer_id = ID(random_id_string.encode()) - # pylint: disable=protected-access assert peer_id == random_id_string.encode() def test_no_init_value(): with pytest.raises(Exception) as _: - # pylint: disable=no-value-for-parameter ID() diff --git a/tests/peer/test_peerinfo.py b/tests/peer/test_peerinfo.py index 7c8c8050..e98a8777 100644 --- a/tests/peer/test_peerinfo.py +++ b/tests/peer/test_peerinfo.py @@ -28,7 +28,6 @@ def test_init_(): def test_init_no_value(): with pytest.raises(Exception) as _: - # pylint: disable=no-value-for-parameter PeerInfo() @@ -50,7 +49,6 @@ def test_info_from_p2p_addr_invalid(addr): def test_info_from_p2p_addr_valid(): - # pylint: disable=line-too-long m_addr = multiaddr.Multiaddr( "/ip4/127.0.0.1/tcp/8000/p2p/3YgLAeMKSAPcGqZkAt8mREqhQXmJT8SN8VCMN4T6ih4GNX9wvK8mWJnWZ1qA2mLdCQ" ) diff --git a/tests/pubsub/conftest.py b/tests/pubsub/conftest.py index a531175f..a052fb0c 100644 --- a/tests/pubsub/conftest.py +++ b/tests/pubsub/conftest.py @@ -8,7 +8,6 @@ from .configs import GOSSIPSUB_PARAMS from .factories import FloodsubFactory, GossipsubFactory, HostFactory, PubsubFactory -# pylint: disable=redefined-outer-name @pytest.fixture diff --git a/tests/pubsub/floodsub_integration_test_settings.py b/tests/pubsub/floodsub_integration_test_settings.py index 7b1c20ff..dabcd89b 100644 --- a/tests/pubsub/floodsub_integration_test_settings.py +++ b/tests/pubsub/floodsub_integration_test_settings.py @@ -137,14 +137,12 @@ FLOODSUB_PROTOCOL_TEST_CASES = [ }, ] -# pylint: disable=invalid-name floodsub_protocol_pytest_params = [ pytest.param(test_case, id=test_case["name"]) for test_case in FLOODSUB_PROTOCOL_TEST_CASES ] -# pylint: disable=too-many-locals async def perform_test_from_obj(obj, router_factory): """ Perform pubsub tests from a test obj. diff --git a/tests/pubsub/test_dummyaccount_demo.py b/tests/pubsub/test_dummyaccount_demo.py index e92bd38e..2aa12987 100644 --- a/tests/pubsub/test_dummyaccount_demo.py +++ b/tests/pubsub/test_dummyaccount_demo.py @@ -7,7 +7,6 @@ from tests.utils import cleanup, connect from .dummy_account_node import DummyAccountNode -# pylint: disable=too-many-locals def create_setup_in_new_thread_func(dummy_node): diff --git a/tests/pubsub/test_floodsub.py b/tests/pubsub/test_floodsub.py index 3dc6645f..97439238 100644 --- a/tests/pubsub/test_floodsub.py +++ b/tests/pubsub/test_floodsub.py @@ -13,7 +13,6 @@ from .floodsub_integration_test_settings import ( ) -# pylint: disable=too-many-locals @pytest.mark.parametrize("num_hosts", (2,)) diff --git a/tests/pubsub/test_gossipsub_backward_compatibility.py b/tests/pubsub/test_gossipsub_backward_compatibility.py index 8f7469c1..2fef3546 100644 --- a/tests/pubsub/test_gossipsub_backward_compatibility.py +++ b/tests/pubsub/test_gossipsub_backward_compatibility.py @@ -10,7 +10,6 @@ from .floodsub_integration_test_settings import ( ) -# pylint: disable=too-many-locals @pytest.mark.asyncio async def test_gossipsub_initialize_with_floodsub_protocol(): GossipsubFactory(protocols=[FLOODSUB_PROTOCOL_ID]) diff --git a/tests/pubsub/test_mcache.py b/tests/pubsub/test_mcache.py index 7ef0c918..b6d0a4cb 100644 --- a/tests/pubsub/test_mcache.py +++ b/tests/pubsub/test_mcache.py @@ -3,10 +3,8 @@ import pytest from libp2p.pubsub.mcache import MessageCache -# pylint: disable=too-few-public-methods class Msg: def __init__(self, topicIDs, seqno, from_id): - # pylint: disable=invalid-name self.topicIDs = topicIDs self.seqno = seqno self.from_id = from_id diff --git a/tests/pubsub/test_pubsub.py b/tests/pubsub/test_pubsub.py index b02445e5..bd21c9a7 100644 --- a/tests/pubsub/test_pubsub.py +++ b/tests/pubsub/test_pubsub.py @@ -75,7 +75,6 @@ async def test_get_hello_packet(pubsubs_fsub): packet.ParseFromString(pubsubs_fsub[0].get_hello_packet()) return tuple(sub.topicid for sub in packet.subscriptions) - # pylint: disable=len-as-condition # Test: No subscription, so there should not be any topic ids in the hello packet. assert len(_get_hello_packet_topic_ids()) == 0 @@ -295,7 +294,6 @@ async def test_publish(pubsubs_fsub, monkeypatch): @pytest.mark.parametrize("num_hosts", (1,)) @pytest.mark.asyncio async def test_push_msg(pubsubs_fsub, monkeypatch): - # pylint: disable=protected-access msg_0 = make_pubsub_msg( origin_id=pubsubs_fsub[0].my_id, topic_ids=[TESTING_TOPIC], diff --git a/tests/test_example.py b/tests/test_example.py index a31fa64e..a05bdd9f 100644 --- a/tests/test_example.py +++ b/tests/test_example.py @@ -1,6 +1,5 @@ import pytest -# pylint: disable=eval-used @pytest.mark.parametrize("test_input,expected", [("3+5", 8), ("2+4", 6), ("6*9", 54)])