// pypi 패키지
massive
Official Massive (formerly Polygon.io) REST and Websocket client.
버전
15
메인테이너
1
라이선스
MIT
최초 publish
2025-10-20
publisher
massive.com
tarball
50,942 B
AUTO-PUBLISHED·1개 버전 인덱싱됨·최근 publish: 2026-05-26
// offending code· @2.8.0· 2 files flagged
llm: benign · 0.85→ 의심 전송지 없음, 원격 실행 형태 없음 — 1 other host(s).
- @2.8.0··AUTO-PUBLISHED·publisher: massive.comheuristic 75/100static flags 1llm benign (0.85) via ollamapypi-sdist-setup-pynew-publisher:0dmature-packagehas-source-repoosv-flagged:MAL-2026-4795reads-env-vars
→ 의심 전송지 없음, 원격 실행 형태 없음 — 1 other host(s).
// offending code· 2 files flaggedpatterns: 1
--- massive-2.8.0/massive/websocket/__init__.py (excerpt) --- import os from enum import Enum from typing import Optional, Union, List, Set, Callable, Awaitable, Any import logging import json import asyncio import ssl import certifi from .models import * from websockets.asyncio.client import connect, ClientConnection from websockets.exceptions import ConnectionClosedOK, ConnectionClosedError from ..logging import get_logger import logging from ..exceptions import AuthError env_key = "MASSIVE_API_KEY" logger = get_logger("WebSocketClient") class WebSocketClient: def __init__( self, api_key: Optional[str] = os.getenv(env_key), feed: Union[str, Feed] = Feed.RealTime, market: Union[str, Market] = Market.Stocks, raw: bool = False, verbose: bool = False, subscriptions: Optional[List[str]] = None, max_reconnects: Optional[int] = 5, secure: bool = True, custom_json: Optional[Any] = None, **kwargs, ): """ Initialize a Massive WebSocketClient. :param api_key: Your API key. :param feed: The feed to subscribe to. :param raw: Whether to pass raw Union[str, bytes] to user callback. :param verbose: Whether to log client and server status messages. :param subscriptions: List of subscription parameters. :param max_reconnects: How many times to reconnect on network outage before ending .connect event loop. :param custom_json: Optional module exposing loads/dumps functions (similar to --- massive-2.8.0/massive/rest/__init__.py (excerpt) --- from .aggs import AggsClient from .futures import FuturesClient from .financials import FinancialsClient from .benzinga import BenzingaClient from .economy import EconomyClient from .etf_global import EtfGlobalClient from .tmx import TmxClient from .trades import TradesClient from .quotes import QuotesClient from .snapshot import SnapshotClient from .indicators import IndicatorsClient from .summaries import SummariesClient from .reference import ( MarketsClient, TickersClient, SplitsClient, DividendsClient, ConditionsClient, ExchangesClient, ContractsClient, ) from .vX import VXClient from typing import Optional, Any import os BASE = "https://api.massive.com" ENV_KEY = "MASSIVE_API_KEY" class RESTClient( AggsClient, FuturesClient, FinancialsClient, BenzingaClient, EconomyClient, EtfGlobalClient, TmxClient, TradesClient, QuotesClient, SnapshotClient, MarketsClient, TickersClient, SplitsClient, DividendsClient, ConditionsClient, ExchangesClient, ContractsClient, IndicatorsClient, SummariesClient, ): def __init__( self, api_key: Optional[str] = os.getenv(ENV_KEY), connect_timeout: float = 10.0, read_timeout: float = 10.0, num_pools: int = 10, retries: int = 3, base: str = BASE, pagination: bool = True, verbose: bool = False, trace: bool = False, custom_json: Optional[Any] = None,
