Latest Threat Research:SANDWORM_MODE: Shai-Hulud-Style npm Worm Hijacks CI Workflows and Poisons AI Toolchains.Details
Socket
Book a DemoInstallSign in
Socket

chrisbase

Package Overview
Dependencies
Maintainers
1
Versions
45
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

chrisbase - npm Package Compare versions

Comparing version
0.5.5
to
0.5.6
+1
-1
PKG-INFO
Metadata-Version: 2.1
Name: chrisbase
Version: 0.5.5
Version: 0.5.6
Summary: Base library for python coding

@@ -5,0 +5,0 @@ Home-page: https://github.com/chrisjihee/chrisbase

[metadata]
name = chrisbase
version = 0.5.5
version = 0.5.6
author = Jihee Ryu

@@ -5,0 +5,0 @@ author_email = chrisjihee@naver.com

Metadata-Version: 2.1
Name: chrisbase
Version: 0.5.5
Version: 0.5.6
Summary: Base library for python coding

@@ -5,0 +5,0 @@ Home-page: https://github.com/chrisjihee/chrisbase

@@ -22,2 +22,3 @@ import json

from more_itertools import ichunked
from pydantic import BaseModel
from pymongo import MongoClient

@@ -93,3 +94,15 @@

@staticmethod
def from_path(path: str | Path, name: str | Path | None = None, mode: str = "rb", encoding: str = "utf-8", reset: bool = False, required: bool = False) -> "FileOption":
path = Path(path)
return FileOption(
home=path.parent,
name=name if name else path.name,
mode=mode,
encoding=encoding,
reset=reset,
required=required,
)
@dataclass

@@ -101,3 +114,20 @@ class TableOption(StreamOption):

@staticmethod
def from_path(path: str | Path, user: str | None = None, pswd: str | None = None,
sort: str | List[Tuple[str, int] | str] = "_id", find: dict | None = None, timeout: int = 30 * 1000,
reset: bool = False, required: bool = False) -> "TableOption":
path = Path(path)
return TableOption(
home=path.parent,
name=path.name,
user=user,
pswd=pswd,
sort=sort,
find=find if find else {},
timeout=timeout,
reset=reset,
required=required,
)
@dataclass

@@ -390,3 +420,3 @@ class IndexOption(StreamOption):

inter: int = field(default=10000)
total: int = field(default=-1)
# total: int = field(default=-1)
data: Iterable | None = field(default=None)

@@ -600,3 +630,3 @@ file: FileOption | None = field(default=None)

output: OutputOption = field()
option: OptionData | None = field(default=None)
option: BaseModel | None = None

@@ -603,0 +633,0 @@ def __post_init__(self):

@@ -20,2 +20,3 @@ from __future__ import annotations

import tqdm.std as tqdm_std
from pydantic import BaseModel
from sqlalchemy.util import OrderedSet

@@ -154,6 +155,12 @@

def to_dataframe(raw, index=None, exclude=None, columns=None, data_exclude=None, data_prefix=None):
if dataclasses.is_dataclass(raw):
if isinstance(raw, BaseModel):
if not columns:
columns = ["key", "value"]
raw = {(f"{data_prefix}.{k}" if data_prefix else k): v
for k, v in raw.model_dump(exclude=data_exclude).items()}
return to_dataframe(raw, index=index, exclude=exclude, columns=columns)
elif dataclasses.is_dataclass(raw):
if not columns:
columns = ["key", "value"]
raw = {(f"{data_prefix}.{k}" if data_prefix else k): v
for k, v in asdict(raw).items()

@@ -160,0 +167,0 @@ if not data_exclude or k not in data_exclude}