nedviga-cli
CLI и Python SDK для подбора и анализа жилой недвижимости Москвы. Рабочий цикл: поиск, карточка решения, сравнение, торг, проверка новостроек/застройщиков, инфраструктура, мониторинг изменений, отчёт. Для ИИ-агентов: MCP-сервер, JSON-конверты, роли, аудит.
Русский · English
Установка
pip install git+https://github.com/lnfnt/nedviga-cli.git
nedviga-cli wizard doctor
На PyPI пакет не опубликован. Checkout: python3.11 -m venv .venv && source .venv/bin/activate && pip install -e ".[cli,dev]". Python >= 3.11.
Один раз подготовить браузерный рантайм для live-адаптеров:
XDG_CACHE_HOME="$HOME/.cache/nedviga-py" python3 -m camoufox fetch
Возможности
- Источники: ЦИАН, Авито, Домклик (только через ваш egress
NEDVIGA_EGRESS_PROXY), открытые данные Москвы (досья домов, ЖКХ, реестр новостроек, застройщики по ИНН с банками и судами, шум-мониторинг). ЕГРН не используется — модуль приёма и проверки выписки от собственника. - Аналитика решения: семейная карта объекта, сравнительная матрица, медианы торга по
комплексу (
insufficient_sampleпри малой выборке), антиприманочные флаги, risk-скоринг, юридические триаж-маркеры (11 флагов). - Цикл сделки: пайплайн статусов (shortlist→offer→…), watch цены/снятия/перевыставления, дайджесты, автоподбор по профилю, цепочки альтернатив, скоринг соответствия.
- Артефакты: PDF/HTML-каталог, PPTX-презентации (
deck), план показов, прозвон-листы, чек-листы передачи юристу. - Инфраструктура: POI в пешей доступности, загруженность дорог и почасовой прогноз (web-оценка, помечена как таковая), замеры шума с датами и дистанциями.
- Безопасность: fail-closed сетевой страж, spotlighting внешнего текста
<external_untrusted_data>, роли и per-record аудит, ПДн-минимизация (контакты — только по явному флагу с указанной целью), идемпотентный purge.
Быстрый старт
nedviga-cli wizard init --profile family --out ./kit
nedviga-cli search --source cian --rooms 2 --price-max 20000000 \
--geo-districts "ЮАО,ЮЗАО" --out cards.json
nedviga-cli compare --file cards.json --format telegram
nedviga-cli card cards.json --format all --out ./out
nedviga-cli watch add --file cards.json
nedviga-cli watch check --offline fresh.json
nedviga-cli noise sync && nedviga-cli noise --lat 55.72 --lon 37.61
nedviga-cli dossier match --address "улица Эталонная, дом 4"
nedviga-cli source
Примеры по каждой команде — в --help.
Конфигурация
| Переменная | Назначение |
|---|---|
NEDVIGA_EGRESS_PROXY |
HTTP-выход для браузерных адаптеров; без него живые источники = source_disabled |
NEDVIGA_MOS_TOKEN_FILE |
файл ключа api.mos.ru (не значение в env) |
NEDVIGA_STATE_DIR |
каталог состояния |
NEDVIGA_FEED_URL |
опциональный сервер манифестов свежести адаптеров |
Контракт вывода
Один JSON-конверт в stdout (ok/status/reason/source/data/metadata), логи в stderr.
| Код | Значение |
|---|---|
| 0 | данные получены, контракт валиден |
| 1 | критично для окружения (нет браузерного рантайма/кэша) |
| 2 | деградация источника (WAF, капча, rate-limit) |
| 3 | ошибка источника/парсера (изменение DOM, source_disabled, source_blocked) |
| 4 | невалидные аргументы CLI |
Ограничения
- Данные московские; для других городов адаптеров нет.
- Прогноза цен нет: медианы и watch-дельты — факты с датой.
- Прогноз транспорта — web-оценка, помечается как негарантийная.
- Контакты ПДн извлекаются только по явному флагу.
Python API
from nedviga.sources_avito import parse_livetext
from nedviga.deck import deck_from_cards
cards = parse_livetext(open("avito_text.txt").read())
deck_from_cards(cards, "подборка.pptx", title="ЮАО, двушки")
Лицензия и проверка релиза
AGPL-3.0-only; сетевой сервис на этом коде обязан предоставить исходники (§13,
nedviga-cli source). Артефакты: sha256sum -c SHA256SUMS, gpg --verify *.asc (ключ в релизе).
Автор и правообладатель: lnfnt.
Metadata
Release files for nedviga-cli 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| nedviga_cli-0.1.0.tar.gz | 247.1 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| nedviga_cli-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 462.6 kB
Release files / nedviga_cli-0.1.0.tar.gz
| Download URL | nedviga_cli-0.1.0.tar.gz |
|---|---|
| Size | 247.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c2ba58923556947bb7227c77b1a281d16b1b93c1ad7b7f5e7b78e4fddd424bd0
|
|
BLAKE2b-256 checksum How to use checksums |
c0b25054548c776d2a83b7b625d54994e45b7d30912c01432729125d382ae3b0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.16
|
Release files / nedviga_cli-0.1.0-py3-none-any.whl
| Download URL | nedviga_cli-0.1.0-py3-none-any.whl |
|---|---|
| Size | 215.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0579ed0fea440131bb5a899e07b97b06db9043b644b3fc3614b51d7c883da770
|
|
BLAKE2b-256 checksum How to use checksums |
9e43b67ab4b595a5f60f1ece21c8e578c6aad8f324b780fd991c964614496030
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.16
|
Security for nedviga-cli 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.