2026년 2월 21일 토요일

SQL 대시보드 shaper

SQL을 입력하면 차트를 그려주는 데이터 시각화 툴 shaper.
C:\Users\Administrator>pip install shaper-bin
Collecting shaper-bin
  Downloading shaper_bin-0.14.0-py3-none-any.whl.metadata (2.3 kB)
Requirement already satisfied: requests>=2.31.0 in c:\users\administrator\appdata\local\programs\python\python314\lib\site-packages (from shaper-bin) (2.32.5)
Requirement already satisfied: charset_normalizer<4,>=2 in c:\users\administrator\appdata\local\programs\python\python314\lib\site-packages (from requests>=2.31.0->shaper-bin) (3.4.4)
Requirement already satisfied: idna<4,>=2.5 in c:\users\administrator\appdata\local\programs\python\python314\lib\site-packages (from requests>=2.31.0->shaper-bin) (3.11)
Requirement already satisfied: urllib3<3,>=1.21.1 in c:\users\administrator\appdata\local\programs\python\python314\lib\site-packages (from requests>=2.31.0->shaper-bin) (1.26.20)
Requirement already satisfied: certifi>=2017.4.17 in c:\users\administrator\appdata\local\programs\python\python314\lib\site-packages (from requests>=2.31.0->shaper-bin) (2025.11.12)
Downloading shaper_bin-0.14.0-py3-none-any.whl (12 kB)
Installing collected packages: shaper-bin
Successfully installed shaper-bin-0.14.0

[notice] A new release of pip is available: 25.3 -> 26.0.1
[notice] To update, run: python.exe -m pip install --upgrade pip

C:\Users\Administrator>shaper
Fetching Shaper binary...
Installation failed: Unsupported platform: windows-x86_64

윈도우는 아직 지원하지 않아서 WSL 우분투에 설치.
root@easyDATA:~# pip install shaper-bin
error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
    python3-xyz, where xyz is the package you are trying to
    install.

    If you wish to install a non-Debian-packaged Python package,
    create a virtual environment using python3 -m venv path/to/venv.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
    sure you have python3-full installed.

    If you wish to install a non-Debian packaged Python application,
    it may be easiest to use pipx install xyz, which will manage a
    virtual environment for you. Make sure you have pipx installed.

    See /usr/share/doc/python3.12/README.venv for more information.

note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.

시스템 안전성을 위해 가상환경을 추천하는 듯. 그냥 강제 설치.
root@easyDATA:~# pip install shaper-bin --break-system-packages
Collecting shaper-bin
  Downloading shaper_bin-0.14.0-py3-none-any.whl.metadata (2.3 kB)
Requirement already satisfied: requests>=2.31.0 in /usr/lib/python3/dist-packages (from shaper-bin) (2.31.0)
Downloading shaper_bin-0.14.0-py3-none-any.whl (12 kB)
Installing collected packages: shaper-bin
Successfully installed shaper-bin-0.14.0
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv

실행하면 localhost:5454 포트로 접속할 수 있는 웹 UI를 제공한다.
root@easyDATA:~# shaper
Fetching Shaper binary...
Loading checksums...
Downloading shaper v0.14.0 for linux-x86_64...
Verifying checksum...
Checksum verified successfully
Installation complete!
time=2026-02-20T15:11:08.349+09:00 level=INFO msg="Starting Shaper" version=0.14.0
time=2026-02-20T15:11:08.349+09:00 level=INFO msg="For configuration options see --help or visit https://taleshape.com/shaper/docs for more"
time=2026-02-20T15:11:08.349+09:00 level=INFO msg="Created data directory" path=/root/.shaper
time=2026-02-20T15:11:08.349+09:00 level=INFO msg="SQLite opened" file=/root/.shaper/shaper_internal.sqlite
time=2026-02-20T15:11:08.361+09:00 level=INFO msg="DuckDB opened" file=/root/.shaper/shaper.duckdb
time=2026-02-20T15:11:08.361+09:00 level=INFO msg="Loading init-sql-file" path=/root/.shaper/init.sql
time=2026-02-20T15:11:08.361+09:00 level=INFO msg="init-sql-file does not exist, skipping" path=/root/.shaper/init.sql
time=2026-02-20T15:11:08.472+09:00 level=WARN msg="No users found. Authentication is disabled until first user is created. Make sure you don't expose sensitive data publicly."
time=2026-02-20T15:11:08.472+09:00 level=INFO msg="nats: Not listening on any network interfaces. Specify a port to make NATS available on the network."
time=2026-02-20T15:11:08.473+09:00 level=INFO msg="nats: Starting nats-server"
time=2026-02-20T15:11:08.473+09:00 level=INFO msg="nats:   Version:  2.12.3"
time=2026-02-20T15:11:08.473+09:00 level=INFO msg="nats:   Git:      [not set]"
time=2026-02-20T15:11:08.473+09:00 level=INFO msg="nats:   Name:     ND3IDHLHXLSNSXSYIMZM6UG5ZXVHKSZZG7RRPD67ETIFFYQDC2BMIVSZ"
time=2026-02-20T15:11:08.473+09:00 level=INFO msg="nats:   Node:     CKVn21lV"
time=2026-02-20T15:11:08.473+09:00 level=INFO msg="nats:   ID:       ND3IDHLHXLSNSXSYIMZM6UG5ZXVHKSZZG7RRPD67ETIFFYQDC2BMIVSZ"
time=2026-02-20T15:11:08.473+09:00 level=INFO msg="nats: Starting JetStream"
time=2026-02-20T15:11:08.473+09:00 level=INFO msg="nats: ---------------- JETSTREAM ----------------"
time=2026-02-20T15:11:08.473+09:00 level=INFO msg="nats:   Strict:          true"
time=2026-02-20T15:11:08.473+09:00 level=INFO msg="nats:   Max Memory:      11.50 GB"
time=2026-02-20T15:11:08.473+09:00 level=INFO msg="nats:   Max Storage:     715.04 GB"
time=2026-02-20T15:11:08.473+09:00 level=INFO msg="nats:   Store Directory: \"/root/.shaper/nats/jetstream\""
time=2026-02-20T15:11:08.473+09:00 level=INFO msg="nats:   API Level:       2"
time=2026-02-20T15:11:08.473+09:00 level=INFO msg="nats: -------------------------------------------"
time=2026-02-20T15:11:08.474+09:00 level=INFO msg="nats: Took 596.612µs to start JetStream"
time=2026-02-20T15:11:08.474+09:00 level=INFO msg="nats: Server is ready"
time=2026-02-20T15:11:08.481+09:00 level=INFO msg="Loaded scheduled tasks"
time=2026-02-20T15:11:08.481+09:00 level=INFO msg="Snapshots disabled"
time=2026-02-20T15:11:08.482+09:00 level=INFO msg="Web server is listening at localhost:5454"
time=2026-02-20T15:11:08.482+09:00 level=INFO msg="Open http://localhost:5454 in your browser"

간단한 데이터 분석 시 주로 사용하는 Logparser는 차트 기능이 단순해서 엑셀 병용이 필수였는데, shaper는 쿼리를 바로바로 차트로 그릴 수 있어서 매우 편하다. 다이렉트로 윈도우 이벤트 접근까지 가능해지면 대박인데 해줄래나(..)


댓글 없음:

댓글 쓰기

크리에이티브 커먼즈 라이선스