Scan timing: clone 2.14s · analysis 7.24s · 2.3 MB · GitHub API rate-limit (preflight)
https://github.com/aleksul/repid
· scanned 2026-06-05 12:49 UTC (5 days, 10 hours ago)
· 10 languages
252 raw signals (120 security + 132 graph) 77th percentile · Python · medium (20-100K LoC) System graph score 92 (lower by 13)
Last scanned 5 days, 10 hours ago · v2 · 76 actionable findings from 2 signal sources. 109 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
| Component | Sub-score | Weight | Contribution |
|---|---|---|---|
structure_score |
75.0 | 0.15 | 11.25 |
security_score |
81.0 | 0.25 | 20.25 |
testing_score |
100.0 | 0.20 | 20.00 |
documentation_score |
66.0 | 0.15 | 9.90 |
practices_score |
84.0 | 0.15 | 12.60 |
code_quality |
45.0 | 0.10 | 4.50 |
| Overall | 1.00 | 78.5 |
All 2820 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 |
|---|---|---|---|
__init__ |
software | healthy | tests/integration/test_nats_specific.py:350 |
_get_nats_dsn |
software | healthy | tests/integration/test_nats_specific.py:31 |
test_nats_basic_attributes |
software | healthy | tests/integration/test_nats_specific.py:42 |
test_nats_publish_subscribe |
software | healthy | tests/integration/test_nats_specific.py:60 |
cb |
software | healthy | tests/integration/test_nats_specific.py:232 |
test_nats_reject |
software | healthy | tests/integration/test_nats_specific.py:95 |
cb_reject |
software | healthy | tests/integration/test_nats_specific.py:100 |
test_nats_nack |
software | healthy | tests/integration/test_nats_specific.py:117 |
cb_nack |
software | healthy | tests/integration/test_nats_specific.py:122 |
test_nats_reply |
software | healthy | tests/integration/test_nats_specific.py:139 |
cb_reply |
software | healthy | tests/integration/test_nats_specific.py:144 |
test_nats_exception |
software | healthy | tests/integration/test_nats_specific.py:159 |
cb_exc |
software | healthy | tests/integration/test_nats_specific.py:164 |
test_nats_connect_already_connected |
software | healthy | tests/integration/test_nats_specific.py:181 |
test_nats_subscribe_already_connected |
software | healthy | tests/integration/test_nats_specific.py:190 |
test_nats_connection_context_manager |
software | healthy | tests/integration/test_nats_specific.py:204 |
test_nats_message_without_headers_and_content_type |
software | healthy | tests/integration/test_nats_specific.py:213 |
test_nats_received_message_properties_none |
software | healthy | tests/integration/test_nats_specific.py:249 |
test_nats_received_message_reply_fallback_to_core_nats |
software | healthy | tests/integration/test_nats_specific.py:262 |
test_nats_received_message_nack_fallback_to_core_nats_dlq |
software | healthy | tests/integration/test_nats_specific.py:280 |
test_nats_received_message_reply_connection_error_calls_nak |
software | healthy | tests/integration/test_nats_specific.py:299 |
test_nats_received_message_reply_requires_channel_or_reply_… |
software | healthy | tests/integration/test_nats_specific.py:312 |
test_nats_received_message_reply_uses_js_client |
software | healthy | tests/integration/test_nats_specific.py:325 |
test_nats_publish_with_correlation_and_reply_to |
software | healthy | tests/integration/test_nats_specific.py:346 |
test_nats_received_message_nack_connection_error_calls_nak |
software | healthy | tests/integration/test_nats_specific.py:369 |
test_nats_received_message_nack_no_dlq_calls_term |
software | healthy | tests/integration/test_nats_specific.py:383 |
test_nats_publish_fallback_to_core_nats |
software | healthy | tests/integration/test_nats_specific.py:396 |
test_nats_publish_connection_error_when_no_clients |
software | healthy | tests/integration/test_nats_specific.py:406 |
test_nats_publish_when_not_connected |
software | healthy | tests/integration/test_nats_specific.py:418 |
test_nats_subscribe_when_not_connected |
software | healthy | tests/integration/test_nats_specific.py:424 |
test_nats_subscribe_connection_error_when_no_js |
software | healthy | tests/integration/test_nats_specific.py:430 |
test_nats_subscribe_callback_exception_calls_term |
software | healthy | tests/integration/test_nats_specific.py:444 |
test_nats_received_message_reply_to_ignores_js_ack |
software | healthy | tests/integration/test_nats_specific.py:472 |
test_nats_received_message_keep_alive |
software | healthy | tests/integration/test_nats_specific.py:479 |
test_nats_subscriber_subscribe_exception |
software | healthy | tests/integration/test_nats_specific.py:496 |
test_nats_subscriber_subscribe_success |
software | healthy | tests/integration/test_nats_specific.py:509 |
test_nats_keep_alive_interval |
software | healthy | tests/integration/test_nats_specific.py:524 |
ready |
software | healthy | tests/integration/conftest.py:86 |
rabbitmq_connection |
software | healthy | tests/integration/conftest.py:106 |
pubsub_connection |
software | healthy | tests/integration/conftest.py:126 |
redis_connection |
software | healthy | tests/integration/conftest.py:191 |
kafka_connection |
software | healthy | tests/integration/conftest.py:201 |
nats_connection |
software | healthy | tests/integration/conftest.py:273 |
ensure_stream |
software | healthy | tests/integration/conftest.py:296 |
sqs_connection |
software | healthy | tests/integration/conftest.py:365 |
autoconn |
software | healthy | tests/integration/conftest.py:418 |
is_npm_installed |
software | healthy | tests/integration/test_asyncapi_compatibility.py:26 |
test_generated_schema_validity_with_official_parser |
software | healthy | tests/integration/test_asyncapi_compatibility.py:31 |
my_actor |
software | healthy | tests/integration/test_asyncapi_compatibility.py:136 |
test_server_side_cancel |
software | healthy | tests/integration/test_rabbitmq_specific.py:16 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
MockSentMsgNoHeaders |
software | healthy | tests/integration/test_nats_specific.py:15 |
MockSentMsg |
software | healthy | tests/integration/test_nats_specific.py:22 |
SentWithMeta |
software | healthy | tests/integration/test_nats_specific.py:349 |
DeltioContainer |
software | healthy | tests/integration/conftest.py:49 |
KafkaContainer |
software | healthy | tests/integration/conftest.py:62 |
NatsContainer |
software | healthy | tests/integration/conftest.py:85 |
MyModel |
software | healthy | tests/integration/test_asyncapi_compatibility.py:88 |
DummySentMessage |
software | healthy | tests/integration/test_kafka_specific.py:25 |
DummySentMessage |
software | healthy | tests/integration/test_sqs_specific.py:29 |
MockSubscriberWithProcessException |
software | healthy | tests/integration/test_sqs_specific.py:59 |
MockSubscriberWithCloseException |
software | healthy | tests/integration/test_sqs_specific.py:65 |
MockSubscriberWithMessageException |
software | healthy | tests/integration/test_sqs_specific.py:70 |
MockClientFailingReceive |
software | healthy | tests/integration/test_sqs_specific.py:86 |
BadMessage |
software | healthy | tests/integration/test_sqs_specific.py:968 |
RejectingMessage |
software | healthy | tests/integration/test_sqs_specific.py:889 |
FlipSemaphore |
software | healthy | tests/integration/test_sqs_specific.py:1083 |
Topic |
software | healthy | tests/integration/pubsub_proto_helpers.py:19 |
Subscription |
software | healthy | tests/integration/pubsub_proto_helpers.py:31 |
FailingSubscriber |
software | healthy | tests/unit/test_runner.py:404 |
FailingPauseSubscriber |
software | healthy | tests/unit/test_runner.py:502 |
FailingCloseSubscriber |
software | healthy | tests/unit/test_runner.py:559 |
OtherModel |
software | healthy | tests/unit/test_asyncapi_generator.py:192 |
PydanticModel |
software | healthy | tests/unit/test_utils.py:16 |
DataclassModel |
software | healthy | tests/unit/test_utils.py:22 |
AnotherDataclassModel |
software | healthy | tests/unit/test_utils.py:28 |
M |
software | healthy | tests/unit/test_serializer.py:26 |
MyModel |
software | healthy | tests/unit/test_converter.py:877 |
M1 |
software | healthy | tests/unit/test_converter.py:861 |
M2 |
software | healthy | tests/unit/test_converter.py:864 |
MockMessage |
software | healthy | tests/unit/test_middleware.py:401 |
FakeConnection |
software | healthy | tests/unit/amqp/conftest.py:13 |
FakeSession |
software | healthy | tests/unit/amqp/conftest.py:26 |
FakeTransport |
software | healthy | tests/unit/amqp/conftest.py:62 |
FakeSenderLink |
software | healthy | tests/unit/amqp/conftest.py:103 |
FakeReceiverLink |
software | healthy | tests/unit/amqp/conftest.py:114 |
FakeSessionForPools |
software | healthy | tests/unit/amqp/conftest.py:125 |
FakeManagedConnection |
software | healthy | tests/unit/amqp/conftest.py:153 |
FakeLinkWithDetachError |
software | healthy | tests/unit/amqp/test_session.py:45 |
UnknownPerformative |
software | healthy | tests/unit/amqp/test_session.py:69 |
MockSenderLink |
software | healthy | tests/unit/amqp/test_session.py:383 |
MockReceiverLink |
software | healthy | tests/unit/amqp/test_session.py:538 |
MockLink |
software | healthy | tests/unit/amqp/test_session.py:239 |
FailingConnection |
software | healthy | tests/unit/amqp/test_session.py:215 |
DummyLink |
software | healthy | tests/unit/amqp/test_session.py:513 |
FakeLinkForAttach |
software | healthy | tests/unit/amqp/test_session.py:591 |
FakeReceiverForTest |
software | healthy | tests/unit/amqp/test_session.py:663 |
FakeSenderForTest |
software | healthy | tests/unit/amqp/test_session.py:701 |
FakeReceiverForFlow |
software | healthy | tests/unit/amqp/test_session.py:730 |
DummyConnection |
software | healthy | tests/unit/amqp/test_message_broker.py:651 |
DummyManagedSession |
software | healthy | tests/unit/amqp/test_message_broker.py:662 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
mkdocs.yml |
software | healthy | mkdocs.yml |
README.md |
software | healthy | README.md |
.pre-commit-config.yaml |
software | healthy | .pre-commit-config.yaml |
pyproject.toml |
software | healthy | pyproject.toml |
Makefile |
software | healthy | Makefile |
SECURITY.md |
software | healthy | SECURITY.md |
devcontainer.json |
software | healthy | .devcontainer/devcontainer.json |
__init__.py |
software | healthy | tests/__init__.py |
test_nats_specific.py |
software | healthy | tests/integration/test_nats_specific.py |
__init__.py |
software | healthy | tests/integration/__init__.py |
conftest.py |
software | healthy | tests/integration/conftest.py |
test_asyncapi_compatibility.py |
software | healthy | tests/integration/test_asyncapi_compatibility.py |
test_rabbitmq_specific.py |
software | healthy | tests/integration/test_rabbitmq_specific.py |
rabbitmq_definitions.json |
software | healthy | tests/integration/rabbitmq_definitions.json |
test_kafka_specific.py |
software | healthy | tests/integration/test_kafka_specific.py |
test_default_flow.py |
software | healthy | tests/integration/test_default_flow.py |
test_sqs_specific.py |
software | healthy | tests/integration/test_sqs_specific.py |
test_worker.py |
software | healthy | tests/integration/test_worker.py |
pubsub_proto_helpers.py |
software | healthy | tests/integration/pubsub_proto_helpers.py |
test_dependencies.py |
software | healthy | tests/unit/test_dependencies.py |
__init__.py |
software | healthy | tests/unit/__init__.py |
conftest.py |
software | healthy | tests/unit/conftest.py |
test_runner.py |
software | healthy | tests/unit/test_runner.py |
test_channel.py |
software | healthy | tests/unit/test_channel.py |
test_asyncapi_generator.py |
software | healthy | tests/unit/test_asyncapi_generator.py |
test_health_check_server.py |
software | healthy | tests/unit/test_health_check_server.py |
test_utils.py |
software | healthy | tests/unit/test_utils.py |
test_serializer.py |
software | healthy | tests/unit/test_serializer.py |
test_main.py |
software | healthy | tests/unit/test_main.py |
test_test_client.py |
software | healthy | tests/unit/test_test_client.py |
test_converter.py |
software | healthy | tests/unit/test_converter.py |
test_middleware.py |
software | healthy | tests/unit/test_middleware.py |
test_router.py |
software | healthy | tests/unit/test_router.py |
test_runner_manual_explicit.py |
software | healthy | tests/unit/test_runner_manual_explicit.py |
test_server_registry.py |
software | healthy | tests/unit/test_server_registry.py |
test_worker.py |
software | healthy | tests/unit/test_worker.py |
test_connection.py |
software | healthy | tests/unit/amqp/test_connection.py |
__init__.py |
software | healthy | tests/unit/amqp/__init__.py |
test_event_emitter.py |
software | healthy | tests/unit/amqp/test_event_emitter.py |
conftest.py |
software | healthy | tests/unit/amqp/conftest.py |
test_message.py |
software | healthy | tests/unit/amqp/test_message.py |
test_session.py |
software | healthy | tests/unit/amqp/test_session.py |
test_message_broker.py |
software | healthy | tests/unit/amqp/test_message_broker.py |
test_metrics.py |
software | healthy | tests/unit/amqp/test_metrics.py |
test_reconnect.py |
software | healthy | tests/unit/amqp/test_reconnect.py |
test_links.py |
software | healthy | tests/unit/amqp/test_links.py |
test_state_machine.py |
software | healthy | tests/unit/amqp/test_state_machine.py |
test_encoding_decoding.py |
software | healthy | tests/unit/amqp/test_encoding_decoding.py |
test_managed_pools.py |
software | healthy | tests/unit/amqp/test_managed_pools.py |
utils.py |
software | healthy | tests/unit/amqp/utils.py |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
.devcontainer |
software | healthy | .devcontainer |
tests |
software | healthy | tests |
integration |
software | healthy | tests/integration |
unit |
software | healthy | tests/unit |
amqp |
software | healthy | tests/unit/amqp |
redis |
software | healthy | tests/unit/redis |
in_memory |
software | healthy | tests/unit/in_memory |
pubsub |
software | healthy | tests/unit/pubsub |
protocol |
software | healthy | tests/unit/pubsub/protocol |
docs |
software | healthy | docs |
integrations |
software | healthy | docs/integrations |
getting_started |
software | healthy | docs/getting_started |
cookbook |
software | healthy | docs/cookbook |
advanced_user_guide |
software | healthy | docs/advanced_user_guide |
user_guide |
software | healthy | docs/user_guide |
actors |
software | healthy | docs/user_guide/actors |
workers |
software | healthy | docs/user_guide/workers |
overrides |
software | healthy | docs/overrides |
partials |
software | healthy | docs/overrides/partials |
integrations |
software | healthy | docs/overrides/partials/integrations |
analytics |
software | healthy | docs/overrides/partials/integrations/analytics |
.github |
software | healthy | .github |
ISSUE_TEMPLATE |
software | healthy | .github/ISSUE_TEMPLATE |
workflows |
software | healthy | .github/workflows |
repid |
software | healthy | repid |
dependencies |
software | healthy | repid/dependencies |
_utils |
software | healthy | repid/_utils |
asyncapi |
software | healthy | repid/asyncapi |
models |
software | healthy | repid/asyncapi/models |
common |
software | healthy | repid/asyncapi/models/common |
connections |
software | healthy | repid/connections |
kafka |
software | healthy | repid/connections/kafka |
amqp |
software | healthy | repid/connections/amqp |
_uamqp |
software | healthy | repid/connections/amqp/_uamqp |
protocol |
software | healthy | repid/connections/amqp/protocol |
redis |
software | healthy | repid/connections/redis |
sqs |
software | healthy | repid/connections/sqs |
in_memory |
software | healthy | repid/connections/in_memory |
nats |
software | healthy | repid/connections/nats |
pubsub |
software | healthy | repid/connections/pubsub |
protocol |
software | healthy | repid/connections/pubsub/protocol |
| Label | Layer | Status | Path |
|---|---|---|---|
port:18125 |
network | healthy | tests/unit/test_worker.py |
port:18126 |
network | healthy | tests/unit/test_worker.py |
port:18127 |
network | healthy | tests/unit/test_worker.py |
port:18128 |
network | healthy | tests/unit/test_worker.py |
port:18129 |
network | healthy | tests/unit/test_worker.py |
port:5672 |
network | healthy | tests/unit/amqp/test_connection.py |
port:5671 |
network | healthy | tests/unit/amqp/test_connection.py |
port:5673 |
network | healthy | tests/unit/amqp/test_connection.py |
port:1234 |
network | healthy | tests/unit/amqp/test_connection.py |
port:443 |
network | healthy | repid/connections/pubsub/protocol/channel.py |
port:80 |
network | healthy | repid/connections/pubsub/protocol/channel.py |
| Label | Layer | Status | Path |
|---|---|---|---|
analyze |
cicd | healthy | .github/workflows/codeql.yml |
dependency-review |
cicd | healthy | .github/workflows/dependency-review.yml |
mypy |
cicd | healthy | .github/workflows/mypy.yml |
release |
cicd | healthy | .github/workflows/release.yaml |
deploy_docs |
cicd | healthy | .github/workflows/docs.yml |
tests |
cicd | healthy | .github/workflows/tests.yaml |
coverage-combine |
cicd | healthy | .github/workflows/tests.yaml |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::codeql |
cicd | healthy | .github/workflows/codeql.yml |
gha::dependency-review |
cicd | healthy | .github/workflows/dependency-review.yml |
gha::mypy |
cicd | healthy | .github/workflows/mypy.yml |
gha::release |
cicd | healthy | .github/workflows/release.yaml |
gha::docs |
cicd | healthy | .github/workflows/docs.yml |
gha::tests |
cicd | healthy | .github/workflows/tests.yaml |
| Label | Layer | Status | Path |
|---|---|---|---|
rabbitmq |
data | healthy | mkdocs.yml |
sqs |
data | healthy | pyproject.toml |
kafka |
data | healthy | pyproject.toml |
pubsub |
data | healthy | pyproject.toml |
| Label | Layer | Status | Path |
|---|---|---|---|
127.0.0.1 |
network | healthy | tests/integration/test_nats_specific.py |
192.0.2.1 |
network | healthy | tests/unit/amqp/test_amqp_transport.py |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::aws |
hardware | healthy | repid/connections/sqs/message_broker.py |
vps::gcp |
hardware | healthy | repid/connections/pubsub/message_broker.py |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::repid/connections/pubsub/protocol/credentials.py |
security | healthy | repid/connections/pubsub/protocol/credentials.py |
auth::tests/integration/test_asyncapi_compatibility.py |
security | healthy | tests/integration/test_asyncapi_compatibility.py |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-kk6l9_uy |
software | healthy | /tmp/repobility-clone-kk6l9_uy |
| Label | Layer | Status | Path |
|---|---|---|---|
redis |
data | healthy | pyproject.toml |
| Label | Layer | Status | Path |
|---|---|---|---|
password_literal::tests/unit/amqp/test_connection.py |
security | healthy | tests/unit/amqp/test_connection.py |
| Label | Layer | Status | Path |
|---|---|---|---|
GITHUB_TOKEN |
cicd | healthy | — |
This page is publicly accessible at:
https://repobility.com/scan/9f0a47b3-b9a4-4cb2-8a3d-b06ebd0cab4d/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/9f0a47b3-b9a4-4cb2-8a3d-b06ebd0cab4d/
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.