https://github.com/vakudo/market_parser
· scanned 2026-06-16 00:47 UTC (2 months, 1 week ago)
23 raw signals (0 security + 23 graph)
Last scanned 2 months, 1 week ago · v1 · 19 actionable findings from 1 signal source. 4 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 287 nodes from the latest scan, grouped by kind. Each node is a unit the engine identified (file, function, endpoint, table…). Most users won't need this view — it's primarily for debugging the engine's graph extraction or for AI agents that want to enumerate the project structure.
| Label | Layer | Status | Path |
|---|---|---|---|
test_parse_vprok_cards_uses_product_title_not_rating |
software | healthy | tests/test_vprok_parser.py:4 |
test_wildberries_api_item_to_product |
software | healthy | tests/test_wildberries_adapter.py:9 |
test_wildberries_uses_catalog_subject_endpoint |
software | healthy | tests/test_wildberries_adapter.py:30 |
test_wildberries_payload_products_from_root_or_data |
software | healthy | tests/test_wildberries_adapter.py:45 |
test_wildberries_filters_noisy_food_items |
software | healthy | tests/test_wildberries_adapter.py:53 |
_result |
software | healthy | tests/test_telegram.py:5 |
test_summary_lists_ok_and_failed_stores |
software | healthy | tests/test_telegram.py:15 |
test_summary_flags_missing_xlsx_and_google_failure |
software | healthy | tests/test_telegram.py:28 |
test_summary_truncates_long_errors_and_fits_limit |
software | healthy | tests/test_telegram.py:36 |
test_generic_parser_handles_ruble_symbol_near_product_link |
software | healthy | tests/test_retail_sources.py:5 |
test_markdown_parser_extracts_compilation_item |
software | healthy | tests/test_retail_sources.py:32 |
test_parse_detmir_cards_regular_and_promo |
software | healthy | tests/test_detmir_parser.py:4 |
test_guess_brand_skips_category_words |
software | healthy | tests/test_brand_guess.py:4 |
test_parse_price_to_kopecks_handles_russian_spaces |
software | healthy | tests/test_normalize.py:11 |
test_extract_multiple_prices |
software | healthy | tests/test_normalize.py:17 |
test_choose_price_fields_discount |
software | healthy | tests/test_normalize.py:21 |
test_choose_price_fields_loyalty_context |
software | healthy | tests/test_normalize.py:28 |
test_product_key_prefers_store_product_id |
software | healthy | tests/test_normalize.py:35 |
test_parse_metro_cards_regular_and_promo |
software | healthy | tests/test_metro_parser.py:4 |
test_storage_upserts_observation_for_same_day |
software | healthy | tests/test_storage_exporter.py:10 |
test_export_monthly_xlsx_creates_date_blocks |
software | healthy | tests/test_storage_exporter.py:49 |
test_export_has_rating_column_and_single_sheet |
software | healthy | tests/test_storage_exporter.py:85 |
test_build_sheet_values_includes_date_row |
software | healthy | tests/test_storage_exporter.py:134 |
test_parse_magnit_cards_regular_and_loyalty |
software | healthy | tests/test_magnit_parser.py:4 |
test_parse_yandex_market_cards_uses_embedded_widget_json |
software | healthy | tests/test_yandex_market_parser.py:4 |
test_parse_yandex_market_cards_scans_multiple_widget_json_b… |
software | healthy | tests/test_yandex_market_parser.py:30 |
__init__ |
software | healthy | market_parser/storage.py:69 |
connect |
software | healthy | market_parser/storage.py:73 |
init_db |
software | healthy | market_parser/storage.py:87 |
_migrate |
software | healthy | market_parser/storage.py:92 |
start_run |
software | healthy | market_parser/storage.py:100 |
finish_run |
software | healthy | market_parser/storage.py:116 |
save_prices |
software | healthy | market_parser/storage.py:140 |
_delete_store_day_observations |
software | healthy | market_parser/storage.py:159 |
_upsert_product |
software | healthy | market_parser/storage.py:179 |
_upsert_observation |
software | healthy | market_parser/storage.py:221 |
fetch_observed_dates |
software | healthy | market_parser/storage.py:270 |
fetch_price_rows |
software | healthy | market_parser/storage.py:284 |
fetch_latest_runs |
software | healthy | market_parser/storage.py:302 |
group_observations |
software | healthy | market_parser/storage.py:317 |
__init__ |
software | healthy | market_parser/google_sheets.py:28 |
sync_matrix |
software | healthy | market_parser/google_sheets.py:32 |
_build_service |
software | healthy | market_parser/google_sheets.py:39 |
_ensure_sheet |
software | healthy | market_parser/google_sheets.py:65 |
_clear_sheet |
software | healthy | market_parser/google_sheets.py:100 |
_write_values |
software | healthy | market_parser/google_sheets.py:107 |
_apply_formatting |
software | healthy | market_parser/google_sheets.py:121 |
telegram_configured |
software | healthy | market_parser/config.py:63 |
google_configured |
software | healthy | market_parser/config.py:67 |
_call |
software | healthy | market_parser/telegram.py:24 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
README.md |
software | healthy | README.md |
Dockerfile |
software | healthy | Dockerfile |
.env.example |
software | healthy | .env.example |
pyproject.toml |
software | healthy | pyproject.toml |
railway.json |
software | healthy | railway.json |
test_vprok_parser.py |
software | healthy | tests/test_vprok_parser.py |
test_wildberries_adapter.py |
software | healthy | tests/test_wildberries_adapter.py |
test_telegram.py |
software | healthy | tests/test_telegram.py |
test_retail_sources.py |
software | healthy | tests/test_retail_sources.py |
test_detmir_parser.py |
software | healthy | tests/test_detmir_parser.py |
test_brand_guess.py |
software | healthy | tests/test_brand_guess.py |
test_normalize.py |
software | healthy | tests/test_normalize.py |
test_metro_parser.py |
software | healthy | tests/test_metro_parser.py |
test_storage_exporter.py |
software | healthy | tests/test_storage_exporter.py |
test_magnit_parser.py |
software | healthy | tests/test_magnit_parser.py |
test_yandex_market_parser.py |
software | healthy | tests/test_yandex_market_parser.py |
__init__.py |
software | healthy | market_parser/__init__.py |
storage.py |
software | healthy | market_parser/storage.py |
google_sheets.py |
software | healthy | market_parser/google_sheets.py |
config.py |
software | healthy | market_parser/config.py |
telegram.py |
software | healthy | market_parser/telegram.py |
normalize.py |
software | healthy | market_parser/normalize.py |
cli.py |
software | healthy | market_parser/cli.py |
exporter.py |
software | healthy | market_parser/exporter.py |
models.py |
software | healthy | market_parser/models.py |
runner.py |
software | healthy | market_parser/runner.py |
__main__.py |
software | healthy | market_parser/__main__.py |
ozon.py |
software | healthy | market_parser/stores/ozon.py |
html_extractors.py |
software | healthy | market_parser/stores/html_extractors.py |
__init__.py |
software | healthy | market_parser/stores/__init__.py |
generic_browser.py |
software | healthy | market_parser/stores/generic_browser.py |
registry.py |
software | healthy | market_parser/stores/registry.py |
wildberries.py |
software | healthy | market_parser/stores/wildberries.py |
base.py |
software | healthy | market_parser/stores/base.py |
vprok.py |
software | healthy | market_parser/stores/vprok.py |
komus.py |
software | healthy | market_parser/stores/komus.py |
detmir.py |
software | healthy | market_parser/stores/detmir.py |
retail_sources.py |
software | healthy | market_parser/stores/retail_sources.py |
yandex_market.py |
software | healthy | market_parser/stores/yandex_market.py |
metro.py |
software | healthy | market_parser/stores/metro.py |
magnit.py |
software | healthy | market_parser/stores/magnit.py |
browser.py |
software | healthy | market_parser/stores/browser.py |
daily_update.sh |
software | healthy | scripts/daily_update.sh |
| Label | Layer | Status | Path |
|---|---|---|---|
Storage |
software | healthy | market_parser/storage.py:68 |
GoogleSheetConfig |
software | healthy | market_parser/google_sheets.py:20 |
GoogleSheetsExporter |
software | healthy | market_parser/google_sheets.py:27 |
Settings |
software | healthy | market_parser/config.py:9 |
TelegramError |
software | healthy | market_parser/telegram.py:20 |
ProductPrice |
software | healthy | market_parser/models.py:13 |
StoreRunResult |
software | healthy | market_parser/models.py:37 |
PriceMatrix |
software | healthy | market_parser/models.py:47 |
OzonAdapter |
software | healthy | market_parser/stores/ozon.py:25 |
GenericBrowserStoreAdapter |
software | healthy | market_parser/stores/generic_browser.py:12 |
WildberriesAdapter |
software | healthy | market_parser/stores/wildberries.py:44 |
StoreAdapterError |
software | healthy | market_parser/stores/base.py:12 |
StoreBlockedError |
software | healthy | market_parser/stores/base.py:16 |
StoreRateLimitedError |
software | healthy | market_parser/stores/base.py:20 |
StoreMetadata |
software | healthy | market_parser/stores/base.py:25 |
BaseStoreAdapter |
software | healthy | market_parser/stores/base.py:32 |
VprokAdapter |
software | healthy | market_parser/stores/vprok.py:9 |
KomusAdapter |
software | healthy | market_parser/stores/komus.py:116 |
DetmirAdapter |
software | healthy | market_parser/stores/detmir.py:13 |
RetailSourceAdapter |
software | healthy | market_parser/stores/retail_sources.py:57 |
PyaterochkaAdapter |
software | healthy | market_parser/stores/retail_sources.py:893 |
ChizhikAdapter |
software | healthy | market_parser/stores/retail_sources.py:988 |
AuchanAdapter |
software | healthy | market_parser/stores/retail_sources.py:1041 |
DixyAdapter |
software | healthy | market_parser/stores/retail_sources.py:1079 |
KrasnoeBeloeAdapter |
software | healthy | market_parser/stores/retail_sources.py:1097 |
LentaAdapter |
software | healthy | market_parser/stores/retail_sources.py:1112 |
VkusvillAdapter |
software | healthy | market_parser/stores/retail_sources.py:1183 |
OnlinetradeAdapter |
software | healthy | market_parser/stores/retail_sources.py:1200 |
SamokatAdapter |
software | healthy | market_parser/stores/retail_sources.py:1217 |
PerekrestokAdapter |
software | healthy | market_parser/stores/retail_sources.py:1231 |
YandexLavkaAdapter |
software | healthy | market_parser/stores/retail_sources.py:1249 |
YandexMarketAdapter |
software | healthy | market_parser/stores/yandex_market.py:11 |
MetroAdapter |
software | healthy | market_parser/stores/metro.py:15 |
MagnitAdapter |
software | healthy | market_parser/stores/magnit.py:19 |
| Label | Layer | Status | Path |
|---|---|---|---|
tests |
software | healthy | tests |
market_parser |
software | healthy | market_parser |
stores |
software | healthy | market_parser/stores |
scripts |
software | healthy | scripts |
| Label | Layer | Status | Path |
|---|---|---|---|
runs |
data | healthy | market_parser/storage.py |
products |
data | healthy | market_parser/storage.py |
price_observations |
data | healthy | market_parser/storage.py |
| Label | Layer | Status | Path |
|---|---|---|---|
127.0.0.1 |
network | healthy | README.md |
124.0.0.0 |
network | healthy | market_parser/config.py |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-jdu1w21j |
software | healthy | /tmp/repobility-clone-jdu1w21j |
| Label | Layer | Status | Path |
|---|---|---|---|
sqlite |
data | healthy | README.md |
| Label | Layer | Status | Path |
|---|---|---|---|
image::Dockerfile |
hardware | healthy | Dockerfile |
This page is publicly accessible at:
https://repobility.com/scan/94345d83-3ae6-439d-9acd-bd9df4ebaa43/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/94345d83-3ae6-439d-9acd-bd9df4ebaa43/
Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.