vccs
Vue 3용 차트 컴포넌트 모음, Recharts에서 포팅
Causify는 인과 설명이 가능한 AI를 제공해 예측 유지보수, 에너지 최적화, 수요 예측, 포트폴리오 관리 등에 활용 가능
Move beyond correlation. Causify delivers explainable causal AI for predictive maintenance, energy optimization, demand forecasting, and portfolio management.
데이터Python · Jupyter NotebookGitHub @causify-ai온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Causify development system
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
helpers — Causify’s Python Toolkit for High-Leverage Engineering
helpers is a public collection of Python utilities, configuration patterns, and developer tooling extracted from real production work at Causify.
Make engineering repeatable.
Turn "tribal knowledge" into composable primitives: less glue code, fewer one-off scripts, and more reliable systems.
This repo is useful in three common contexts:README 전문 보기 ↗helpers is a public collection of Python utilities, configuration patterns, and developer tooling extracted from real production work at Causify.
It exists for one reason:
Make engineering repeatable.
Turn "tribal knowledge" into composable primitives: less glue code, fewer one-off scripts, and more reliable systems.
This repo is useful in three common contexts:
flowchart LR
subgraph Lib["`**Python Library** (helpers/)`"]
direction TB
Core["Core Helpers<br>(hdbg, hio, hsystem, hgit, hdocker, hdatetime, …)"]
Data["Data Helpers<br>(hpandas and related modules)"]
LLM["LLM & Agentic Helpers<br>(hllm, hllm_cost, hllm_cli, hchatgpt, …)"]
end
subgraph Config["`**Configuration Patterns** (config_root/)`"]
Conf["Env-aware configuration objects<br>and builders"]
end
subgraph Tooling["`**Tooling & Automation**`"]
Scripts@{ label: "Dev Scripts<br/>(dev_scripts_helpers/)" }
Import@{ label: "Import Hygiene<br/>(import_check/)" }
Linters@{ label: "Linting Framework<br/>(linters/, linters2/)" }
Tasks@{ label: "Repo Tasks & Automation<br/>(tasks.py, invoke.yaml)" }
end
subgraph Docs["`**Documentation & Examples**`"]
Human@{ label: "Human Docs<br/>(docs/)" }
Mk@{ label: "MkDocs Site<br/>(docs_mkdocs/)" }
NB@{ label: "Tutorial Notebooks<br/>(helpers/notebooks/)" }
end
subgraph CI["`**Continuous Integration & Hygiene**`"]
GH@{ label: "GitHub Workflows<br/>(.github/)" }
PC@{ label: "Pre-commit & Scanning<br/>(.pre-commit-config.yaml, semgrep, …)" }
end
Core -- provides base utilities to --> Conf
Data -- feeds data into --> Conf
LLM -- adds AI logic to --> Conf
Scripts -- triggers tasks in --> GH
Import -- enforces rules in --> GH
Linters -- runs in --> GH
Tasks -- executes workflows in --> GH
Human -- documented in --> GH
Mk -- deployed via --> GH
NB -- tested in --> GH
PC -- validates via --> GH
Core@{ shape: rounded}
Data@{ shape: rounded}
LLM@{ shape: rounded}
Conf@{ shape: rect}
Scripts@{ shape: rect}
Import@{ shape: rect}
Linters@{ shape: rect}
Tasks@{ shape: rect}
Human@{ shape: doc}
Mk@{ shape: doc}
NB@{ shape: doc}
GH@{ shape: rect}
PC@{ shape: rect}
Core:::lib
Data:::lib
LLM:::lib
Conf:::config
Scripts:::tooling
Import:::tooling
Linters:::tooling
Tasks:::tooling
Human:::docs
Mk:::docs
NB:::docs
GH:::ci
PC:::ci
classDef lib fill:#e0f7fa,stroke:#0097a7,stroke-width:2px,color:#004d40
classDef config fill:#fff9c4,stroke:#fbc02d,stroke-width:2px,color:#795548
classDef tooling fill:#e1bee7,stroke:#7b1fa2,stroke-width:2px,color:#4a148c
classDef docs fill:#c5cae9,stroke:#3949ab,stroke-width:2px,color:#1a237e
classDef ci fill:#c8e6c9,stroke:#2e7d32,stroke-width:2px,color:#1b5e20
Most engineering orgs accumulate dozens of tiny scripts and helper snippets. Over time that becomes:
helpers is the opposite: small, well-scoped primitives that are easy to discover and safe to reuse. The code is intentionally "boring"; because boring tools are what make fast teams.
These examples are deliberately small. The repo is optimized for everyday leverage.
import helpers.hdbg as hdbg
hdbg.dassert_eq(2 + 2, 4)
hdbg.dassert(10 > 3, "Math still works")
import helpers.hsystem as hsystem
out = hsystem.system_to_string("python --version")
print(out)
import helpers.hio as hio
payload = {"hello": "world"}
hio.to_json("tmp.json", payload)
loaded = hio.from_json("tmp.json")
print(loaded)
import pandas as pd
import helpers.hpandas as hpandas
df = pd.DataFrame({"a": [1, 2], "b": [3, 4]})
print(hpandas.convert_df_to_json_string(df))
helpers.hllm supports providers like OpenAI and OpenRouter (via openrouter/<model>). It also supports caching modes and structured output.
from pydantic import BaseModel
import helpers.hllm as hllm
import helpers.hllm_cost as hllmcost
class Summary(BaseModel):
summary: str
risks: list[str]
# Track cost for a specific provider/model.
tracker = hllmcost.LLMCostTracker(provider_name="openai", model="gpt-4o-mini")
result = hllm.get_structured_completion(
"Summarize key risks of shipping without observability.",
response_format=Summary,
system_prompt="Be concise and practical.",
model="gpt-4o-mini",
cache_mode="DISABLE_CACHE",
print_cost=True,
cost_tracker=tracker,
)
print(result.summary)
print("Cost so far ($):", tracker.get_current_cost())
helpers/)The main Python library lives in helpers/. Many modules follow the h<name>.py naming pattern (e.g., hdbg.py, hio.py, hsystem.py) to make discovery fast and avoid collisions.
A few high-signal examples:
helpers/hdbg.py: defensive checks and assertionshelpers/hsystem.py: safe system command executionhelpers/hio.py: practical file I/O helpershelpers/hgit.py: git utilitieshelpers/hdocker.py: docker helpershelpers/henv.py: environment utilitieshelpers/hdatetime.py: date/time utilitieshpandas and friends)helpers/hpandas.py re-exports a suite of pandas helpers implemented across hpandas_* modules (conversion, compare, display, cleaning, assertions, IO, etc.). This makes the most common "pandas hygiene" tasks consistent across projects.
This repo includes lightweight building blocks for LLM workflows:
helpers/hllm.py: completions + structured outputs + caching modeshelpers/hllm_cost.py: cost tracking and provider cost utilities (incl. LLMCostTracker)helpers/hllm_cli.py: CLI-oriented LLM workflowsTutorial notebooks live under helpers/notebooks/ (see hllm.tutorial.py).
config_root/)Reusable configuration patterns: config objects/builders and environment-aware configuration.
This repo also ships "how we keep repos healthy" primitives:
dev_scripts_helpers/: automation scripts for common workflowsimport_check/: import hygiene validationlinters/, linters2/: lint framework and configs.github/: CI workflows and checks.claude/: Claude Code configuration, hooks, and skills (.claude/skills/)
docs/tools/ai/all.ai_workflows.how_to_guide.md for how to run skills.claude/task_instructions.md: Development instructions and task specificationsCLAUDE.md: Architecture overview and development patterns for Claude Codeconftest.py: Pytest configuration and shared test fixturesmain_pytest.py: Main pytest runner and test execution controllertasks.py: Entry point for pyinvoke task automation system.pre-commit-config.yaml, .semgrepignore, etc.)git submodule add https://github.com/causify-ai/helpers.git helpers_root
git submodule update --init --recursive
python -m venv .venv
source .venv/bin/activate
pip install -U pip
pip install -e .
If contributing, enable pre-commit hooks:
pip install pre-commit
pre-commit install
Run tests:
pytest -q
# or
python main_pytest.py
Run pre-commit:
pre-commit run -a
List repo automation tasks (if using invoke):
pip install invoke
invoke -l
Human docs live under docs/. A browsable site is maintained under docs_mkdocs/.
Serve MkDocs locally:
pip install mkdocs mkdocs-material
cd docs_mkdocs
mkdocs serve
This repo includes secret-scanning and standard hygiene. Do not commit secrets. If you suspect a leak: rotate credentials and open an incident.
See LICENSE.