revenue-kun v0.4.2 — Docker-ready CLI and optional income support
出力される金額は「収益試算値」であり、鑑定評価による「収益価格」ではありません。
正式な価格判断・投資判断には不動産鑑定士等の専門家に確認してください。
Highlights
- Docker support for reproducible CLI execution
- Optional income support for rent-roll-derived ancillary income (water / parking / other)
- Improved header-row detection and summary-row filtering for text-based PDFs
- Version string corrected to match VERSION file
What changed (since v0.4.1)
Docker
- Added
Dockerfile(python:3.12-slim, WORKDIR /app, default CMD --help) - Added
.dockerignore - README: added Docker usage section (bash + PowerShell examples)
Optional income
assumptions.yaml: newoptional_incomesection (include_in_gpi: falseby default)- PDF extraction: added header tokens for water / parking / other_income columns
RentRollUnit: 3 new optional income fields (月額水道代_円,月額駐車場収入_円,月額その他収入_円)- GPI: includes optional income only when explicitly opted in via
include_in_gpi: true+columns - 読み取りレントロール: always displays extracted optional income values (display ≠ GPI inclusion)
- 直接還元法_OER:
=0+(算入対象外)label when opt-out; cross-sheet ref when opt-in - Column label:「水道代収入」(income side) — not「水道光熱費」(expense side)
PDF extraction
- Header rows beyond row 1 now recognized
- 月額・年額 summary rows filtered as non-data rows
Tests
- 246 passed (host Python 3.11 + Docker python:3.12-slim)
- 32+ new tests for optional income (A–F categories + display/GPI separation)
Docker verification
| Step | Result |
|---|---|
docker build -t revenue-kun . |
✅ |
docker run --rm revenue-kun (help) |
✅ |
docker run --rm revenue-kun python src/main.py --version |
✅ revenue-kun 0.4.2 |
| PDF dry-run inside container | ✅ 5 units, 0 missing cells |
docker run --rm revenue-kun python -m pytest -q |
✅ 246 passed |
--excel-output with bind-mounted output dir |
✅ direct_cap.xlsx written to host |
Scope
This is a revenue-estimation CLI tool (収益試算ツール).
It is not:
- a SaaS product
- an OCR tool or scanned-PDF parser
- a smartphone capture workflow
- an appraisal tool(鑑定評価ではありません)
- investment, legal, or tax advice
OCR / scanned PDF / smartphone capture are out of scope (future consideration).
Issue status
#19 remains open#21 remains open— qualifying real-world text-based PDF evaluation not complete#48 remains open