Scan timing: clone 1.64s · analysis 13.01s · 7.1 MB · GitHub API rate-limit (preflight)
https://github.com/openai/openai-python
· scanned 2026-05-24 01:20 UTC (1 week, 5 days ago)
· 10 languages
940 findings (180 legacy + 760 scanner) 63rd percentile · Python · large (100-500K LoC) Scanner says 86 (lower by 8)
Last scanned 1 week, 5 days ago · v5 · 333 findings from 2 sources. Findings combine the legacy security pipeline AND the multi-layer engine (atlas, wiring, flows, ranked) AND verified AI agent contributions.
| Component | Sub-score | Weight | Contribution |
|---|---|---|---|
structure_score |
85.0 | 0.15 | 12.75 |
security_score |
98.7 | 0.25 | 24.68 |
testing_score |
62.0 | 0.20 | 12.40 |
documentation_score |
95.0 | 0.15 | 14.25 |
practices_score |
68.0 | 0.15 | 10.20 |
code_quality |
39.0 | 0.10 | 3.90 |
| Overall | 1.00 | 78.2 |
All 7632 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 |
|---|---|---|---|
BasicModel |
software | healthy | tests/test_models.py:16 |
NestedModel |
software | healthy | tests/test_models.py:137 |
Model |
software | healthy | tests/test_models.py:1010 |
Child |
software | healthy | tests/test_models.py:191 |
Parent |
software | healthy | tests/test_models.py:195 |
Submodel |
software | healthy | tests/test_models.py:205 |
Submodel1 |
software | healthy | tests/test_models.py:307 |
Submodel2 |
software | healthy | tests/test_models.py:310 |
Submodel3 |
software | healthy | tests/test_models.py:263 |
SubModel1 |
software | healthy | tests/test_models.py:407 |
SubModel2 |
software | healthy | tests/test_models.py:410 |
Model2 |
software | healthy | tests/test_models.py:527 |
OurModel |
software | healthy | tests/test_models.py:640 |
A |
software | healthy | tests/test_models.py:864 |
B |
software | healthy | tests/test_models.py:869 |
C |
software | healthy | tests/test_models.py:725 |
ModelA |
software | healthy | tests/test_models.py:874 |
ModelB |
software | healthy | tests/test_models.py:879 |
InnerType1 |
software | healthy | tests/test_models.py:896 |
InnerModel |
software | healthy | tests/test_models.py:899 |
InnerType2 |
software | healthy | tests/test_models.py:902 |
Type1 |
software | healthy | tests/test_models.py:906 |
Type2 |
software | healthy | tests/test_models.py:916 |
Item |
software | healthy | tests/test_models.py:942 |
TypeWithIterable |
software | healthy | tests/test_models.py:1007 |
Foo1 |
software | healthy | tests/test_transform.py:40 |
Foo2 |
software | healthy | tests/test_transform.py:50 |
Bar2 |
software | healthy | tests/test_transform.py:54 |
Baz2 |
software | healthy | tests/test_transform.py:59 |
Foo3 |
software | healthy | tests/test_transform.py:70 |
Bar3 |
software | healthy | tests/test_transform.py:74 |
Foo4 |
software | healthy | tests/test_transform.py:85 |
Bar4 |
software | healthy | tests/test_transform.py:89 |
Baz4 |
software | healthy | tests/test_transform.py:93 |
Foo5 |
software | healthy | tests/test_transform.py:107 |
Bar5 |
software | healthy | tests/test_transform.py:111 |
Baz5 |
software | healthy | tests/test_transform.py:115 |
Foo6 |
software | healthy | tests/test_transform.py:135 |
Foo7 |
software | healthy | tests/test_transform.py:148 |
Bar7 |
software | healthy | tests/test_transform.py:153 |
DatetimeDict |
software | healthy | tests/test_transform.py:164 |
DateDict |
software | healthy | tests/test_transform.py:176 |
DatetimeModel |
software | healthy | tests/test_transform.py:180 |
DateModel |
software | healthy | tests/test_transform.py:184 |
DateDictWithRequiredAlias |
software | healthy | tests/test_transform.py:258 |
MyModel |
software | healthy | tests/test_transform.py:271 |
ModelNestedObjects |
software | healthy | tests/test_transform.py:320 |
ModelWithDefaultField |
software | healthy | tests/test_transform.py:332 |
TypedDictIterableUnion |
software | healthy | tests/test_transform.py:360 |
Bar8 |
software | healthy | tests/test_transform.py:364 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
test_pydantic_v1 |
software | healthy | noxfile.py:5 |
pytest_collection_modifyitems |
software | healthy | tests/conftest.py:26 |
client |
software | healthy | tests/conftest.py:53 |
async_client |
software | healthy | tests/conftest.py:65 |
test_basic |
software | healthy | tests/test_models.py:21 |
test_directly_nested_model |
software | healthy | tests/test_models.py:26 |
test_optional_nested_model |
software | healthy | tests/test_models.py:38 |
test_list_nested_model |
software | healthy | tests/test_models.py:55 |
test_optional_list_nested_model |
software | healthy | tests/test_models.py:74 |
test_list_optional_items_nested_model |
software | healthy | tests/test_models.py:96 |
test_list_mismatched_type |
software | healthy | tests/test_models.py:116 |
test_raw_dictionary |
software | healthy | tests/test_models.py:124 |
test_nested_dictionary_model |
software | healthy | tests/test_models.py:136 |
test_unknown_fields |
software | healthy | tests/test_models.py:149 |
test_strict_validation_unknown_fields |
software | healthy | tests/test_models.py:161 |
test_aliases |
software | healthy | tests/test_models.py:172 |
test_repr |
software | healthy | tests/test_models.py:184 |
test_repr_nested_model |
software | healthy | tests/test_models.py:190 |
test_optional_list |
software | healthy | tests/test_models.py:204 |
test_nested_union_of_models |
software | healthy | tests/test_models.py:223 |
test_nested_union_of_mixed_types |
software | healthy | tests/test_models.py:238 |
test_nested_union_multiple_variants |
software | healthy | tests/test_models.py:256 |
test_nested_union_invalid_data |
software | healthy | tests/test_models.py:284 |
test_list_of_unions |
software | healthy | tests/test_models.py:306 |
test_union_of_lists |
software | healthy | tests/test_models.py:330 |
test_dict_of_union |
software | healthy | tests/test_models.py:362 |
test_double_nested_union |
software | healthy | tests/test_models.py:382 |
test_union_of_dict |
software | healthy | tests/test_models.py:406 |
test_iso8601_datetime |
software | healthy | tests/test_models.py:424 |
test_does_not_coerce_int |
software | healthy | tests/test_models.py:444 |
test_int_to_float_safe_conversion |
software | healthy | tests/test_models.py:454 |
test_deprecated_alias |
software | healthy | tests/test_models.py:472 |
model_id |
software | healthy | tests/test_models.py:477 |
test_omitted_fields |
software | healthy | tests/test_models.py:491 |
test_to_dict |
software | healthy | tests/test_models.py:508 |
test_forwards_compat_model_dump_method |
software | healthy | tests/test_models.py:540 |
test_compat_method_no_error_for_warnings |
software | healthy | tests/test_models.py:568 |
test_to_json |
software | healthy | tests/test_models.py:576 |
test_forwards_compat_model_dump_json_method |
software | healthy | tests/test_models.py:604 |
test_type_compat |
software | healthy | tests/test_models.py:634 |
takes_pydantic |
software | healthy | tests/test_models.py:637 |
test_annotated_types |
software | healthy | tests/test_models.py:646 |
test_discriminated_unions_invalid_data |
software | healthy | tests/test_models.py:658 |
test_discriminated_unions_unknown_variant |
software | healthy | tests/test_models.py:691 |
test_discriminated_unions_invalid_data_nested_unions |
software | healthy | tests/test_models.py:714 |
test_discriminated_unions_with_aliases_invalid_data |
software | healthy | tests/test_models.py:747 |
test_discriminated_unions_overlapping_discriminators_invali… |
software | healthy | tests/test_models.py:780 |
test_discriminated_unions_invalid_data_uses_cache |
software | healthy | tests/test_models.py:800 |
test_type_alias_type |
software | healthy | tests/test_models.py:838 |
test_field_named_cls |
software | healthy | tests/test_models.py:854 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
api.md |
software | healthy | api.md |
release-please-config.json |
software | healthy | release-please-config.json |
noxfile.py |
software | healthy | noxfile.py |
README.md |
software | healthy | README.md |
.stats.yml |
software | healthy | .stats.yml |
CONTRIBUTING.md |
software | healthy | CONTRIBUTING.md |
helpers.md |
software | healthy | helpers.md |
pyproject.toml |
software | healthy | pyproject.toml |
.release-please-manifest.json |
software | healthy | .release-please-manifest.json |
SECURITY.md |
software | healthy | SECURITY.md |
CHANGELOG.md |
software | healthy | CHANGELOG.md |
devcontainer.json |
software | healthy | .devcontainer/devcontainer.json |
Dockerfile |
software | healthy | .devcontainer/Dockerfile |
__init__.py |
software | healthy | tests/__init__.py |
conftest.py |
software | healthy | tests/conftest.py |
test_models.py |
software | healthy | tests/test_models.py |
test_extract_files.py |
software | healthy | tests/test_extract_files.py |
test_transform.py |
software | healthy | tests/test_transform.py |
test_response.py |
software | healthy | tests/test_response.py |
test_streaming.py |
software | healthy | tests/test_streaming.py |
test_required_args.py |
software | healthy | tests/test_required_args.py |
test_websocket_connection_options.py |
software | healthy | tests/test_websocket_connection_options.py |
test_module_client.py |
software | healthy | tests/test_module_client.py |
test_files.py |
software | healthy | tests/test_files.py |
test_legacy_response.py |
software | healthy | tests/test_legacy_response.py |
test_send_queue.py |
software | healthy | tests/test_send_queue.py |
test_auth.py |
software | healthy | tests/test_auth.py |
utils.py |
software | healthy | tests/utils.py |
test_client.py |
software | healthy | tests/test_client.py |
test_qs.py |
software | healthy | tests/test_qs.py |
test_tool_param.py |
software | healthy | tests/compat/test_tool_param.py |
__init__.py |
software | healthy | tests/api_resources/__init__.py |
test_models.py |
software | healthy | tests/api_resources/test_models.py |
test_videos.py |
software | healthy | tests/api_resources/test_videos.py |
test_vector_stores.py |
software | healthy | tests/api_resources/test_vector_stores.py |
test_uploads.py |
software | healthy | tests/api_resources/test_uploads.py |
test_skills.py |
software | healthy | tests/api_resources/test_skills.py |
test_webhooks.py |
software | healthy | tests/api_resources/test_webhooks.py |
test_embeddings.py |
software | healthy | tests/api_resources/test_embeddings.py |
test_batches.py |
software | healthy | tests/api_resources/test_batches.py |
test_moderations.py |
software | healthy | tests/api_resources/test_moderations.py |
test_responses.py |
software | healthy | tests/api_resources/test_responses.py |
test_evals.py |
software | healthy | tests/api_resources/test_evals.py |
test_conversations.py |
software | healthy | tests/api_resources/test_conversations.py |
test_realtime.py |
software | healthy | tests/api_resources/test_realtime.py |
test_files.py |
software | healthy | tests/api_resources/test_files.py |
test_containers.py |
software | healthy | tests/api_resources/test_containers.py |
test_completions.py |
software | healthy | tests/api_resources/test_completions.py |
test_images.py |
software | healthy | tests/api_resources/test_images.py |
__init__.py |
software | healthy | tests/api_resources/responses/__init__.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 |
compat |
software | healthy | tests/compat |
api_resources |
software | healthy | tests/api_resources |
responses |
software | healthy | tests/api_resources/responses |
beta |
software | healthy | tests/api_resources/beta |
threads |
software | healthy | tests/api_resources/beta/threads |
runs |
software | healthy | tests/api_resources/beta/threads/runs |
chatkit |
software | healthy | tests/api_resources/beta/chatkit |
vector_stores |
software | healthy | tests/api_resources/vector_stores |
conversations |
software | healthy | tests/api_resources/conversations |
uploads |
software | healthy | tests/api_resources/uploads |
chat |
software | healthy | tests/api_resources/chat |
completions |
software | healthy | tests/api_resources/chat/completions |
audio |
software | healthy | tests/api_resources/audio |
admin |
software | healthy | tests/api_resources/admin |
organization |
software | healthy | tests/api_resources/admin/organization |
users |
software | healthy | tests/api_resources/admin/organization/users |
projects |
software | healthy | tests/api_resources/admin/organization/projects |
users |
software | healthy | tests/api_resources/admin/organization/projects/users |
groups |
software | healthy | tests/api_resources/admin/organization/projects/groups |
groups |
software | healthy | tests/api_resources/admin/organization/groups |
fine_tuning |
software | healthy | tests/api_resources/fine_tuning |
checkpoints |
software | healthy | tests/api_resources/fine_tuning/checkpoints |
jobs |
software | healthy | tests/api_resources/fine_tuning/jobs |
alpha |
software | healthy | tests/api_resources/fine_tuning/alpha |
containers |
software | healthy | tests/api_resources/containers |
files |
software | healthy | tests/api_resources/containers/files |
evals |
software | healthy | tests/api_resources/evals |
runs |
software | healthy | tests/api_resources/evals/runs |
skills |
software | healthy | tests/api_resources/skills |
versions |
software | healthy | tests/api_resources/skills/versions |
webhooks |
software | healthy | tests/api_resources/webhooks |
realtime |
software | healthy | tests/api_resources/realtime |
lib |
software | healthy | tests/lib |
responses |
software | healthy | tests/lib/responses |
chat |
software | healthy | tests/lib/chat |
schema_types |
software | healthy | tests/lib/schema_types |
test_utils |
software | healthy | tests/test_utils |
scripts |
software | healthy | scripts |
utils |
software | healthy | scripts/utils |
examples |
software | healthy | examples |
responses |
software | healthy | examples/responses |
realtime |
software | healthy | examples/realtime |
.github |
software | healthy | .github |
ISSUE_TEMPLATE |
software | healthy | .github/ISSUE_TEMPLATE |
workflows |
software | healthy | .github/workflows |
src |
software | healthy | src |
openai |
software | healthy | src/openai |
types |
software | healthy | src/openai/types |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
auth::src/openai/types/realtime/realtime_tools_config_union… |
security | healthy | src/openai/types/realtime/realtime_tools_config_union.py |
auth::src/openai/auth/_workload.py |
security | healthy | src/openai/auth/_workload.py |
auth::src/openai/types/realtime/realtime_tools_config_param… |
security | healthy | src/openai/types/realtime/realtime_tools_config_param.py |
auth::src/openai/types/realtime/realtime_response_create_mc… |
security | healthy | src/openai/types/realtime/realtime_response_create_mcp_tool… |
auth::.github/workflows/ci.yml |
security | healthy | .github/workflows/ci.yml |
auth::src/openai/types/responses/tool.py |
security | healthy | src/openai/types/responses/tool.py |
auth::src/openai/types/realtime/realtime_session_create_res… |
security | healthy | src/openai/types/realtime/realtime_session_create_response.… |
auth::tests/test_client.py |
security | healthy | tests/test_client.py |
auth::src/openai/types/realtime/realtime_tools_config_union… |
security | healthy | src/openai/types/realtime/realtime_tools_config_union_param… |
auth::src/openai/_exceptions.py |
security | healthy | src/openai/_exceptions.py |
auth::src/openai/types/realtime/realtime_response_create_mc… |
security | healthy | src/openai/types/realtime/realtime_response_create_mcp_tool… |
auth::tests/test_auth.py |
security | healthy | tests/test_auth.py |
auth::src/openai/types/responses/tool_param.py |
security | healthy | src/openai/types/responses/tool_param.py |
| Label | Layer | Status | Path |
|---|---|---|---|
publish |
cicd | healthy | .github/workflows/publish-pypi.yml |
release |
cicd | healthy | .github/workflows/create-releases.yml |
detect_breaking_changes |
cicd | healthy | .github/workflows/detect-breaking-changes.yml |
agents_sdk |
cicd | healthy | .github/workflows/detect-breaking-changes.yml |
lint |
cicd | healthy | .github/workflows/ci.yml |
build |
cicd | healthy | .github/workflows/ci.yml |
test |
cicd | healthy | .github/workflows/ci.yml |
examples |
cicd | healthy | .github/workflows/ci.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::publish-pypi |
cicd | healthy | .github/workflows/publish-pypi.yml |
gha::create-releases |
cicd | healthy | .github/workflows/create-releases.yml |
gha::detect-breaking-changes |
cicd | healthy | .github/workflows/detect-breaking-changes.yml |
gha::ci |
cicd | healthy | .github/workflows/ci.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
OPENAI_PYPI_TOKEN |
cicd | healthy | — |
STAINLESS_API_KEY |
cicd | healthy | — |
FETCH_DEPTH |
cicd | healthy | — |
OPENAI_API_KEY |
cicd | healthy | — |
| Label | Layer | Status | Path |
|---|---|---|---|
1.1.0.11 |
network | healthy | pyproject.toml |
127.0.0.1 |
network | healthy | tests/conftest.py |
169.254.169.254 |
network | healthy | tests/test_auth.py |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::azure |
hardware | healthy | pyproject.toml |
vps::gcp |
hardware | healthy | tests/test_auth.py |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-6ypx15j3 |
software | healthy | /tmp/repobility-clone-6ypx15j3 |
| Label | Layer | Status | Path |
|---|---|---|---|
image::.devcontainer/Dockerfile |
hardware | healthy | .devcontainer/Dockerfile |
This page is publicly accessible at:
https://repobility.com/scan/b4bd9d3a-a4bb-4865-8249-595ff2477b57/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/b4bd9d3a-a4bb-4865-8249-595ff2477b57/
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.