├── .bumpversion.cfg ├── .coveragerc ├── .gitattributes ├── .gitbook.yaml ├── .github └── workflows │ ├── pr-test-coverage.yml │ ├── push-update_coverage.yml │ └── release.yml ├── .gitignore ├── .pre-commit-config.yaml ├── CONTRIBUTING.md ├── LICENSE.md ├── README.md ├── coverage.svg ├── doc_code ├── profile-houses.py ├── profile-vision.py └── traces.py ├── docs ├── .buildinfo ├── .nojekyll ├── CNAME ├── _images │ ├── emptyhomepage.png │ ├── logged_data.png │ ├── profilecompare.png │ ├── profileview.png │ ├── project_created.png │ ├── setup-complete.png │ └── transfer.png ├── _sources │ ├── gettingstarted │ │ ├── apisetup.rst.txt │ │ ├── install_deploy.rst.txt │ │ ├── logging_tracing.rst.txt │ │ ├── orchestration.rst.txt │ │ ├── profiling.rst.txt │ │ ├── slices.rst.txt │ │ └── uiwalkthrough.rst.txt │ ├── index.rst.txt │ ├── libapi │ │ ├── modules.rst.txt │ │ ├── raymon.auth.rst.txt │ │ ├── raymon.profiling.extractors.rst.txt │ │ ├── raymon.profiling.extractors.structured.rst.txt │ │ ├── raymon.profiling.extractors.vision.rst.txt │ │ ├── raymon.profiling.rst.txt │ │ └── raymon.rst.txt │ └── module │ │ ├── api.rst.txt │ │ ├── components.rst.txt │ │ ├── loggers.rst.txt │ │ ├── modelprofile.rst.txt │ │ ├── stats.rst.txt │ │ ├── tags.rst.txt │ │ ├── traces.rst.txt │ │ └── types.rst.txt ├── _static │ ├── Logo-ai-blue.svg │ ├── basic.css │ ├── doctools.js │ ├── documentation_options.js │ ├── favicon.ico │ ├── file.png │ ├── jquery-3.5.1.js │ ├── jquery.js │ ├── language_data.js │ ├── logo-blue-ai.png │ ├── minus.png │ ├── plus.png │ ├── profile-contrast.png │ ├── pygments.css │ ├── pygments_dark.css │ ├── scripts │ │ ├── main.js │ │ └── main.js.map │ ├── searchtools.js │ ├── styles │ │ ├── furo-extensions.css │ │ ├── furo-extensions.css.map │ │ ├── furo.css │ │ └── furo.css.map │ ├── underscore-1.12.0.js │ └── underscore.js ├── genindex.html ├── gettingstarted │ ├── apisetup.html │ ├── install_deploy.html │ ├── logging_tracing.html │ ├── orchestration.html │ ├── profiling.html │ ├── slices.html │ └── uiwalkthrough.html ├── index.html ├── libapi │ ├── modules.html │ ├── raymon.auth.html │ ├── raymon.html │ ├── raymon.profiling.extractors.html │ ├── raymon.profiling.extractors.structured.html │ ├── raymon.profiling.extractors.vision.html │ └── raymon.profiling.html ├── module │ ├── api.html │ ├── components.html │ ├── loggers.html │ ├── modelprofile.html │ ├── stats.html │ ├── tags.html │ ├── traces.html │ └── types.html ├── objects.inv ├── py-modindex.html ├── search.html └── searchindex.js ├── docsrc ├── Makefile ├── assets │ ├── Logo-ai-blue.svg │ ├── favicon.ico │ ├── logo-blue-ai.png │ └── profile-contrast.png ├── conf.py ├── index.rst ├── libapi │ ├── modules.rst │ ├── raymon.auth.rst │ ├── raymon.profiling.extractors.rst │ ├── raymon.profiling.extractors.structured.rst │ ├── raymon.profiling.extractors.vision.rst │ ├── raymon.profiling.rst │ └── raymon.rst ├── make.bat └── requirements.txt ├── examples ├── 0-setup-logging.ipynb ├── 1-profiling-structured.ipynb └── 2-profiling-vision.ipynb ├── frontend ├── .browserslistrc ├── .eslintrc.js ├── .gitignore ├── README.md ├── build_wc.sh ├── cypress.json ├── jest.config.js ├── package-lock.json ├── package.json ├── public │ ├── favicon.ico │ ├── index.html │ └── logo-blue.png ├── src │ ├── CompareSchema.vue │ ├── CompareSchemaStr.vue │ ├── CompareSchemaWrapper.vue │ ├── ViewSchema.vue │ ├── ViewSchemaStr.vue │ ├── ViewSchemaWrapper.vue │ ├── allBuildEntry.js │ ├── assets │ │ ├── housepricescheap@3.0.0.json │ │ ├── housepricescheap@3.0.0vshousepricesexpensive@3.0.0.json │ │ ├── housepricescorr@3.0.0vshousepricesexpensive@3.0.0-threeway.json │ │ ├── housepricesexpensive@3.0.0.json │ │ ├── logo-blue.png │ │ └── primer-17.0.1.css │ ├── components │ │ ├── ComponentTypeNav.vue │ │ ├── Gauge.vue │ │ ├── Header.vue │ │ ├── Logo.vue │ │ ├── Pagination.vue │ │ ├── ScoreReports.vue │ │ ├── SortArrows.vue │ │ ├── compare │ │ │ ├── FeatureDetailView.vue │ │ │ ├── FeatureOverview.vue │ │ │ ├── FeatureRow.vue │ │ │ └── ReducerReports.vue │ │ └── view │ │ │ ├── FeatureDetailView.vue │ │ │ ├── FeatureOverview.vue │ │ │ └── FeatureRow.vue │ ├── img │ │ └── logo.7b1226c7.png │ ├── js │ │ └── colors.js │ └── main.js ├── tests │ ├── e2e │ │ ├── .eslintrc.js │ │ ├── plugins │ │ │ └── index.js │ │ ├── specs │ │ │ └── test.js │ │ └── support │ │ │ ├── commands.js │ │ │ └── index.js │ └── unit │ │ └── example.spec.js └── vue.config.js ├── gitbook ├── .gitbook │ └── assets │ │ ├── 997_right.jpeg │ │ ├── 998_left.jpeg │ │ ├── 998_right.jpeg │ │ ├── blur (1).jpg │ │ ├── blur.jpg │ │ ├── cast_def_0_60.jpeg │ │ ├── cast_ok_0_2190 (1).jpeg │ │ ├── cast_ok_0_2190 (2).jpeg │ │ ├── cast_ok_0_2190.jpeg │ │ ├── full_profile.gif │ │ ├── full_profile_ext (1).gif │ │ ├── full_profile_ext.gif │ │ ├── image (1) (1).png │ │ ├── image (1).png │ │ ├── image (10) (1).png │ │ ├── image (10).png │ │ ├── image (11) (1).png │ │ ├── image (11).png │ │ ├── image (12) (1).png │ │ ├── image (12).png │ │ ├── image (13) (1).png │ │ ├── image (13).png │ │ ├── image (14) (1).png │ │ ├── image (14).png │ │ ├── image (15) (1).png │ │ ├── image (15).png │ │ ├── image (16) (1).png │ │ ├── image (16).png │ │ ├── image (17) (1).png │ │ ├── image (17).png │ │ ├── image (18) (1).png │ │ ├── image (18).png │ │ ├── image (19) (1).png │ │ ├── image (19).png │ │ ├── image (2) (1).png │ │ ├── image (2).png │ │ ├── image (20).png │ │ ├── image (21) (1).png │ │ ├── image (21).png │ │ ├── image (22).png │ │ ├── image (23).png │ │ ├── image (24).png │ │ ├── image (3) (1).png │ │ ├── image (3).png │ │ ├── image (4) (1).png │ │ ├── image (4).png │ │ ├── image (5) (1).png │ │ ├── image (5).png │ │ ├── image (6).png │ │ ├── image (7).png │ │ ├── image (8) (1).png │ │ ├── image (8).png │ │ ├── image (9).png │ │ └── image.png ├── README.md ├── SUMMARY.md​ ├── actions │ ├── alerts.md │ ├── cleanups.md │ ├── intro.md │ ├── mappers.md │ ├── reducers.md │ ├── sequence-mappers.md │ └── visualisations.md ├── model-profiles-1 │ ├── available-extractors.md │ ├── building-computer-vision.md │ ├── building-house-prices.md │ ├── contrasting-profiles.md │ ├── installation.md │ └── validating-data.md ├── using-the-raymon-hub │ ├── dashboards.md │ ├── issues.md │ ├── m2m-communication.md │ ├── slices.md │ ├── tags.md │ ├── the-manifest.md │ └── untitled.md └── walkthrough-vision │ ├── integrating-raymon.md │ ├── intro-vision-walkthrough.md │ ├── issues-and-tuning.md │ ├── monitoring-data-and-performance.md │ ├── slice-based-monitoring.md │ └── use-case-description.md ├── manifest.yml ├── pyproject.toml ├── raymon ├── __init__.py ├── api.py ├── auth │ ├── __init__.py │ ├── m2m.py │ └── user.py ├── exceptions.py ├── frontend │ ├── raymon.min.js │ └── raymon.min.js.map ├── globals.py ├── loggers.py ├── models │ └── mobilenetv2-7.onnx ├── out.py ├── profiling │ ├── __init__.py │ ├── components.py │ ├── extractors │ │ ├── __init__.py │ │ ├── extractors.py │ │ ├── structured │ │ │ ├── __init__.py │ │ │ ├── element.py │ │ │ ├── entropy.py │ │ │ ├── iforest.py │ │ │ ├── kmeans.py │ │ │ ├── margin.py │ │ │ └── scoring.py │ │ └── vision │ │ │ ├── __init__.py │ │ │ ├── anomaly.py │ │ │ ├── intensity.py │ │ │ ├── sharpness.py │ │ │ ├── similarity.py │ │ │ └── yolo.py │ ├── issues.py │ ├── profiles.py │ ├── scores.py │ ├── stats.py │ └── utils.py ├── tags.py ├── tests │ ├── conftest.py │ ├── profiling │ │ ├── houseprices_utils.py │ │ ├── test_anomaly.py │ │ ├── test_buildable.py │ │ ├── test_element.py │ │ ├── test_features.py │ │ ├── test_intensity.py │ │ ├── test_lazy.py │ │ ├── test_profiles.py │ │ ├── test_serializable.py │ │ ├── test_sharpness.py │ │ ├── test_similarity.py │ │ └── test_validate.py │ ├── sample_data │ │ ├── Lenna.png │ │ ├── castinginspection │ │ │ ├── README.md │ │ │ ├── def_front │ │ │ │ ├── cast_def_0_0.jpeg │ │ │ │ ├── cast_def_0_11.jpeg │ │ │ │ ├── cast_def_0_13.jpeg │ │ │ │ ├── cast_def_0_15.jpeg │ │ │ │ ├── cast_def_0_19.jpeg │ │ │ │ ├── cast_def_0_2.jpeg │ │ │ │ ├── cast_def_0_21.jpeg │ │ │ │ ├── cast_def_0_24.jpeg │ │ │ │ ├── cast_def_0_25.jpeg │ │ │ │ ├── cast_def_0_26.jpeg │ │ │ │ ├── cast_def_0_27.jpeg │ │ │ │ ├── cast_def_0_31.jpeg │ │ │ │ ├── cast_def_0_33.jpeg │ │ │ │ ├── cast_def_0_40.jpeg │ │ │ │ ├── cast_def_0_41.jpeg │ │ │ │ ├── cast_def_0_43.jpeg │ │ │ │ ├── cast_def_0_50.jpeg │ │ │ │ ├── cast_def_0_51.jpeg │ │ │ │ ├── cast_def_0_53.jpeg │ │ │ │ ├── cast_def_0_54.jpeg │ │ │ │ ├── cast_def_0_55.jpeg │ │ │ │ ├── cast_def_0_56.jpeg │ │ │ │ ├── cast_def_0_60.jpeg │ │ │ │ ├── cast_def_0_61.jpeg │ │ │ │ ├── cast_def_0_66.jpeg │ │ │ │ ├── cast_def_0_68.jpeg │ │ │ │ ├── cast_def_0_69.jpeg │ │ │ │ ├── cast_def_0_70.jpeg │ │ │ │ ├── cast_def_0_8.jpeg │ │ │ │ └── cast_def_0_9.jpeg │ │ │ └── ok_front │ │ │ │ ├── cast_ok_0_1.jpeg │ │ │ │ ├── cast_ok_0_101.jpeg │ │ │ │ ├── cast_ok_0_102.jpeg │ │ │ │ ├── cast_ok_0_104.jpeg │ │ │ │ ├── cast_ok_0_108.jpeg │ │ │ │ ├── cast_ok_0_112.jpeg │ │ │ │ ├── cast_ok_0_114.jpeg │ │ │ │ ├── cast_ok_0_118.jpeg │ │ │ │ ├── cast_ok_0_12.jpeg │ │ │ │ ├── cast_ok_0_120.jpeg │ │ │ │ ├── cast_ok_0_121.jpeg │ │ │ │ ├── cast_ok_0_122.jpeg │ │ │ │ ├── cast_ok_0_125.jpeg │ │ │ │ ├── cast_ok_0_127.jpeg │ │ │ │ ├── cast_ok_0_128.jpeg │ │ │ │ ├── cast_ok_0_141.jpeg │ │ │ │ ├── cast_ok_0_142.jpeg │ │ │ │ ├── cast_ok_0_143.jpeg │ │ │ │ ├── cast_ok_0_146.jpeg │ │ │ │ ├── cast_ok_0_147.jpeg │ │ │ │ ├── cast_ok_0_149.jpeg │ │ │ │ ├── cast_ok_0_152.jpeg │ │ │ │ ├── cast_ok_0_153.jpeg │ │ │ │ ├── cast_ok_0_154.jpeg │ │ │ │ ├── cast_ok_0_157.jpeg │ │ │ │ ├── cast_ok_0_16.jpeg │ │ │ │ ├── cast_ok_0_167.jpeg │ │ │ │ ├── cast_ok_0_169.jpeg │ │ │ │ ├── cast_ok_0_170.jpeg │ │ │ │ ├── cast_ok_0_171.jpeg │ │ │ │ ├── cast_ok_0_175.jpeg │ │ │ │ ├── cast_ok_0_182.jpeg │ │ │ │ ├── cast_ok_0_184.jpeg │ │ │ │ ├── cast_ok_0_186.jpeg │ │ │ │ ├── cast_ok_0_188.jpeg │ │ │ │ ├── cast_ok_0_189.jpeg │ │ │ │ ├── cast_ok_0_19.jpeg │ │ │ │ ├── cast_ok_0_191.jpeg │ │ │ │ ├── cast_ok_0_193.jpeg │ │ │ │ ├── cast_ok_0_196.jpeg │ │ │ │ ├── cast_ok_0_198.jpeg │ │ │ │ ├── cast_ok_0_1987.jpeg │ │ │ │ ├── cast_ok_0_1989.jpeg │ │ │ │ ├── cast_ok_0_1992.jpeg │ │ │ │ ├── cast_ok_0_1995.jpeg │ │ │ │ ├── cast_ok_0_2002.jpeg │ │ │ │ ├── cast_ok_0_2012.jpeg │ │ │ │ ├── cast_ok_0_2016.jpeg │ │ │ │ ├── cast_ok_0_2022.jpeg │ │ │ │ ├── cast_ok_0_2024.jpeg │ │ │ │ ├── cast_ok_0_2026.jpeg │ │ │ │ ├── cast_ok_0_2031.jpeg │ │ │ │ ├── cast_ok_0_2033.jpeg │ │ │ │ ├── cast_ok_0_2038.jpeg │ │ │ │ ├── cast_ok_0_2039.jpeg │ │ │ │ ├── cast_ok_0_2042.jpeg │ │ │ │ ├── cast_ok_0_2045.jpeg │ │ │ │ ├── cast_ok_0_2048.jpeg │ │ │ │ ├── cast_ok_0_2049.jpeg │ │ │ │ ├── cast_ok_0_205.jpeg │ │ │ │ ├── cast_ok_0_2050.jpeg │ │ │ │ ├── cast_ok_0_2051.jpeg │ │ │ │ ├── cast_ok_0_2052.jpeg │ │ │ │ ├── cast_ok_0_2053.jpeg │ │ │ │ ├── cast_ok_0_2056.jpeg │ │ │ │ ├── cast_ok_0_2057.jpeg │ │ │ │ ├── cast_ok_0_2058.jpeg │ │ │ │ ├── cast_ok_0_2062.jpeg │ │ │ │ ├── cast_ok_0_2066.jpeg │ │ │ │ ├── cast_ok_0_2068.jpeg │ │ │ │ ├── cast_ok_0_2070.jpeg │ │ │ │ ├── cast_ok_0_2077.jpeg │ │ │ │ ├── cast_ok_0_2078.jpeg │ │ │ │ ├── cast_ok_0_2081.jpeg │ │ │ │ ├── cast_ok_0_2082.jpeg │ │ │ │ ├── cast_ok_0_2083.jpeg │ │ │ │ ├── cast_ok_0_2084.jpeg │ │ │ │ ├── cast_ok_0_2085.jpeg │ │ │ │ ├── cast_ok_0_2087.jpeg │ │ │ │ ├── cast_ok_0_2094.jpeg │ │ │ │ ├── cast_ok_0_2095.jpeg │ │ │ │ ├── cast_ok_0_2098.jpeg │ │ │ │ ├── cast_ok_0_2099.jpeg │ │ │ │ ├── cast_ok_0_2100.jpeg │ │ │ │ ├── cast_ok_0_2103.jpeg │ │ │ │ ├── cast_ok_0_2109.jpeg │ │ │ │ ├── cast_ok_0_211.jpeg │ │ │ │ ├── cast_ok_0_2110.jpeg │ │ │ │ ├── cast_ok_0_2118.jpeg │ │ │ │ ├── cast_ok_0_2119.jpeg │ │ │ │ ├── cast_ok_0_2120.jpeg │ │ │ │ ├── cast_ok_0_2129.jpeg │ │ │ │ ├── cast_ok_0_213.jpeg │ │ │ │ ├── cast_ok_0_2132.jpeg │ │ │ │ ├── cast_ok_0_2134.jpeg │ │ │ │ ├── cast_ok_0_2136.jpeg │ │ │ │ ├── cast_ok_0_2138.jpeg │ │ │ │ ├── cast_ok_0_2139.jpeg │ │ │ │ ├── cast_ok_0_2141.jpeg │ │ │ │ ├── cast_ok_0_2144.jpeg │ │ │ │ ├── cast_ok_0_2152.jpeg │ │ │ │ ├── cast_ok_0_2156.jpeg │ │ │ │ ├── cast_ok_0_2159.jpeg │ │ │ │ ├── cast_ok_0_2160.jpeg │ │ │ │ ├── cast_ok_0_2161.jpeg │ │ │ │ ├── cast_ok_0_2163.jpeg │ │ │ │ ├── cast_ok_0_2164.jpeg │ │ │ │ ├── cast_ok_0_2169.jpeg │ │ │ │ ├── cast_ok_0_2170.jpeg │ │ │ │ ├── cast_ok_0_2182.jpeg │ │ │ │ ├── cast_ok_0_2187.jpeg │ │ │ │ ├── cast_ok_0_2190.jpeg │ │ │ │ ├── cast_ok_0_2194.jpeg │ │ │ │ ├── cast_ok_0_2195.jpeg │ │ │ │ ├── cast_ok_0_22.jpeg │ │ │ │ ├── cast_ok_0_220.jpeg │ │ │ │ ├── cast_ok_0_2200.jpeg │ │ │ │ ├── cast_ok_0_2201.jpeg │ │ │ │ ├── cast_ok_0_2207.jpeg │ │ │ │ ├── cast_ok_0_2214.jpeg │ │ │ │ ├── cast_ok_0_2218.jpeg │ │ │ │ ├── cast_ok_0_2219.jpeg │ │ │ │ ├── cast_ok_0_2227.jpeg │ │ │ │ ├── cast_ok_0_2233.jpeg │ │ │ │ ├── cast_ok_0_2237.jpeg │ │ │ │ ├── cast_ok_0_2238.jpeg │ │ │ │ ├── cast_ok_0_2249.jpeg │ │ │ │ ├── cast_ok_0_2250.jpeg │ │ │ │ ├── cast_ok_0_2258.jpeg │ │ │ │ ├── cast_ok_0_2262.jpeg │ │ │ │ ├── cast_ok_0_2266.jpeg │ │ │ │ ├── cast_ok_0_2269.jpeg │ │ │ │ ├── cast_ok_0_2270.jpeg │ │ │ │ ├── cast_ok_0_2273.jpeg │ │ │ │ ├── cast_ok_0_2275.jpeg │ │ │ │ ├── cast_ok_0_2277.jpeg │ │ │ │ ├── cast_ok_0_2278.jpeg │ │ │ │ ├── cast_ok_0_2285.jpeg │ │ │ │ ├── cast_ok_0_2290.jpeg │ │ │ │ ├── cast_ok_0_2296.jpeg │ │ │ │ ├── cast_ok_0_2306.jpeg │ │ │ │ ├── cast_ok_0_2307.jpeg │ │ │ │ ├── cast_ok_0_2308.jpeg │ │ │ │ ├── cast_ok_0_2310.jpeg │ │ │ │ ├── cast_ok_0_2315.jpeg │ │ │ │ ├── cast_ok_0_2317.jpeg │ │ │ │ ├── cast_ok_0_2318.jpeg │ │ │ │ ├── cast_ok_0_2323.jpeg │ │ │ │ ├── cast_ok_0_2326.jpeg │ │ │ │ ├── cast_ok_0_2327.jpeg │ │ │ │ ├── cast_ok_0_233.jpeg │ │ │ │ ├── cast_ok_0_2330.jpeg │ │ │ │ ├── cast_ok_0_2333.jpeg │ │ │ │ ├── cast_ok_0_2336.jpeg │ │ │ │ ├── cast_ok_0_2338.jpeg │ │ │ │ ├── cast_ok_0_2349.jpeg │ │ │ │ ├── cast_ok_0_2350.jpeg │ │ │ │ ├── cast_ok_0_2365.jpeg │ │ │ │ ├── cast_ok_0_2372.jpeg │ │ │ │ ├── cast_ok_0_2373.jpeg │ │ │ │ ├── cast_ok_0_2379.jpeg │ │ │ │ ├── cast_ok_0_2383.jpeg │ │ │ │ ├── cast_ok_0_2384.jpeg │ │ │ │ ├── cast_ok_0_2385.jpeg │ │ │ │ ├── cast_ok_0_239.jpeg │ │ │ │ ├── cast_ok_0_2390.jpeg │ │ │ │ ├── cast_ok_0_2392.jpeg │ │ │ │ ├── cast_ok_0_2393.jpeg │ │ │ │ ├── cast_ok_0_2394.jpeg │ │ │ │ ├── cast_ok_0_2401.jpeg │ │ │ │ ├── cast_ok_0_2402.jpeg │ │ │ │ ├── cast_ok_0_2404.jpeg │ │ │ │ ├── cast_ok_0_2409.jpeg │ │ │ │ ├── cast_ok_0_242.jpeg │ │ │ │ ├── cast_ok_0_2421.jpeg │ │ │ │ ├── cast_ok_0_2427.jpeg │ │ │ │ ├── cast_ok_0_2431.jpeg │ │ │ │ ├── cast_ok_0_2438.jpeg │ │ │ │ ├── cast_ok_0_2439.jpeg │ │ │ │ ├── cast_ok_0_244.jpeg │ │ │ │ ├── cast_ok_0_2440.jpeg │ │ │ │ ├── cast_ok_0_2447.jpeg │ │ │ │ ├── cast_ok_0_2459.jpeg │ │ │ │ ├── cast_ok_0_2460.jpeg │ │ │ │ ├── cast_ok_0_2461.jpeg │ │ │ │ ├── cast_ok_0_2467.jpeg │ │ │ │ ├── cast_ok_0_2474.jpeg │ │ │ │ ├── cast_ok_0_2477.jpeg │ │ │ │ ├── cast_ok_0_2479.jpeg │ │ │ │ ├── cast_ok_0_248.jpeg │ │ │ │ ├── cast_ok_0_2480.jpeg │ │ │ │ ├── cast_ok_0_249.jpeg │ │ │ │ ├── cast_ok_0_250.jpeg │ │ │ │ ├── cast_ok_0_262.jpeg │ │ │ │ ├── cast_ok_0_263.jpeg │ │ │ │ ├── cast_ok_0_266.jpeg │ │ │ │ ├── cast_ok_0_269.jpeg │ │ │ │ ├── cast_ok_0_271.jpeg │ │ │ │ ├── cast_ok_0_273.jpeg │ │ │ │ ├── cast_ok_0_278.jpeg │ │ │ │ ├── cast_ok_0_28.jpeg │ │ │ │ ├── cast_ok_0_284.jpeg │ │ │ │ ├── cast_ok_0_286.jpeg │ │ │ │ ├── cast_ok_0_29.jpeg │ │ │ │ ├── cast_ok_0_294.jpeg │ │ │ │ ├── cast_ok_0_296.jpeg │ │ │ │ ├── cast_ok_0_298.jpeg │ │ │ │ ├── cast_ok_0_300.jpeg │ │ │ │ ├── cast_ok_0_34.jpeg │ │ │ │ ├── cast_ok_0_39.jpeg │ │ │ │ ├── cast_ok_0_40.jpeg │ │ │ │ ├── cast_ok_0_41.jpeg │ │ │ │ ├── cast_ok_0_45.jpeg │ │ │ │ ├── cast_ok_0_46.jpeg │ │ │ │ ├── cast_ok_0_51.jpeg │ │ │ │ ├── cast_ok_0_55.jpeg │ │ │ │ ├── cast_ok_0_57.jpeg │ │ │ │ ├── cast_ok_0_60.jpeg │ │ │ │ ├── cast_ok_0_65.jpeg │ │ │ │ ├── cast_ok_0_70.jpeg │ │ │ │ ├── cast_ok_0_71.jpeg │ │ │ │ ├── cast_ok_0_75.jpeg │ │ │ │ ├── cast_ok_0_76.jpeg │ │ │ │ ├── cast_ok_0_77.jpeg │ │ │ │ ├── cast_ok_0_78.jpeg │ │ │ │ ├── cast_ok_0_8.jpeg │ │ │ │ ├── cast_ok_0_82.jpeg │ │ │ │ ├── cast_ok_0_88.jpeg │ │ │ │ ├── cast_ok_0_9.jpeg │ │ │ │ ├── cast_ok_0_91.jpeg │ │ │ │ ├── cast_ok_0_97.jpeg │ │ │ │ └── cast_ok_0_98.jpeg │ │ ├── coco │ │ │ └── input-output.pkl │ │ ├── houseprices │ │ │ ├── data_description.txt │ │ │ ├── subset-cheap.csv │ │ │ └── subset-exp.csv │ │ └── retinopathy │ │ │ ├── 8425_right.jpeg │ │ │ ├── 84_left.jpeg │ │ │ ├── 857_right.jpeg │ │ │ ├── 8627_left.jpeg │ │ │ ├── 8631_left.jpeg │ │ │ ├── 863_right.jpeg │ │ │ ├── 880_right.jpeg │ │ │ ├── 899_left.jpeg │ │ │ ├── 906_left.jpeg │ │ │ ├── 912_left.jpeg │ │ │ ├── 953_left.jpeg │ │ │ └── 983_left.jpeg │ ├── test_auth.py │ ├── test_loggers.py │ ├── test_login.py │ ├── test_trace.py │ └── test_types.py ├── trace.py ├── types.py └── version.py ├── requirements-dev.txt ├── requirements.txt └── setup.py /.bumpversion.cfg: -------------------------------------------------------------------------------- 1 | [bumpversion] 2 | current_version = 0.0.40-rc4 3 | commit = True 4 | tag = True 5 | parse = (?P\d+)\.(?P\d+)\.(?P\d+)(\-(?P[a-z]+)(?P\d+))? 6 | serialize = 7 | {major}.{minor}.{patch}-{kind}{build} 8 | {major}.{minor}.{patch} 9 | 10 | [bumpversion:part:kind] 11 | values = 12 | rc 13 | prod 14 | optional_value = prod 15 | first_value = rc 16 | 17 | [bumpversion:file:./raymon/version.py] 18 | search = __version__ = "{current_version}" 19 | replace = __version__ = "{new_version}" 20 | -------------------------------------------------------------------------------- /.coveragerc: -------------------------------------------------------------------------------- 1 | [run] 2 | omit = 3 | *test* 4 | *dash* 5 | relative_files = True -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | docs/** linguist-documentation 2 | docsrc/** linguist-documentation 3 | 4 | -------------------------------------------------------------------------------- /.gitbook.yaml: -------------------------------------------------------------------------------- 1 | root: ./gitbook 2 | 3 | structure: 4 | readme: README.md 5 | summary: SUMMARY.md​ 6 | -------------------------------------------------------------------------------- /.github/workflows/pr-test-coverage.yml: -------------------------------------------------------------------------------- 1 | name: pr-test-coverage 2 | on: 3 | pull_request: 4 | types: [opened, edited, synchronize, reopened] 5 | branches: master 6 | 7 | jobs: 8 | pr-test-coverage-job: 9 | runs-on: ubuntu-latest 10 | strategy: 11 | matrix: 12 | python-version: [3.8] 13 | env: 14 | MIN_COVERAGE: 60 15 | steps: 16 | - uses: actions/checkout@v2 17 | - name: Set up Python ${{ matrix.python-version }} 18 | uses: actions/setup-python@v2 19 | with: 20 | python-version: ${{ matrix.python-version }} 21 | # Caching python env: https://medium.com/ai2-blog/python-caching-in-github-actions-e9452698e98d 22 | - uses: actions/cache@v2 23 | with: 24 | path: ${{ env.pythonLocation }} 25 | key: ${{ env.pythonLocation }}-${{ hashFiles('setup.py') }}-${{ hashFiles('requirements-dev.txt') }}-${{ hashFiles('requirements.txt') }} 26 | - name: Black formatting 27 | uses: psf/black@stable 28 | - name: Install dependencies 29 | run: | 30 | python -m pip install --upgrade pip 31 | pip install -r requirements-dev.txt 32 | - name: Test with pytest 33 | run: | 34 | rm -rf coverage.svg 35 | coverage run -m pytest 36 | coverage-badge -o coverage.svg 37 | 38 | COVERAGE_RESULT=`coverage report | grep TOTAL | awk '{print $NF}' | sed 's/%//g'` 39 | echo "Coverage: ${COVERAGE_RESULT}" 40 | if [[ $COVERAGE_RESULT -le $MIN_COVERAGE ]]; then 41 | echo "#################################################" 42 | echo "Code coverage below allowed threshold ($COVERAGE_RESULT<$MIN_COVERAGE)" 43 | exit 1 44 | fi 45 | -------------------------------------------------------------------------------- /.github/workflows/push-update_coverage.yml: -------------------------------------------------------------------------------- 1 | name: update-coverage 2 | on: 3 | push: 4 | branches: 5 | - master 6 | jobs: 7 | update-coverage-job: 8 | runs-on: ubuntu-latest 9 | strategy: 10 | matrix: 11 | python-version: [3.8] 12 | env: 13 | TWINE_USERNAME: ${{ secrets.TWINE_USERNAME }} 14 | TWINE_PASSWORD: "" 15 | TWINE_REPOSITORY_URL: ${{ secrets.TWINE_REPOSITORY_URL }} 16 | MIN_COVERAGE: 60 17 | steps: 18 | - uses: actions/checkout@v2 19 | - name: Set up Python ${{ matrix.python-version }} 20 | uses: actions/setup-python@v2 21 | with: 22 | python-version: ${{ matrix.python-version }} 23 | # Caching python env: https://medium.com/ai2-blog/python-caching-in-github-actions-e9452698e98d 24 | - uses: actions/cache@v2 25 | with: 26 | path: ${{ env.pythonLocation }} 27 | key: ${{ env.pythonLocation }}-${{ hashFiles('setup.py') }}-${{ hashFiles('requirements-dev.txt') }}-${{ hashFiles('requirements.txt') }} 28 | 29 | - name: Black formatting 30 | uses: psf/black@stable 31 | - name: Install dependencies 32 | run: | 33 | python -m pip install --upgrade pip 34 | pip install -r requirements-dev.txt 35 | - name: Test with pytest 36 | run: | 37 | rm -rf coverage.svg 38 | coverage run -m pytest 39 | coverage-badge -o coverage.svg 40 | COVERAGE_RESULT=`coverage report | grep TOTAL | awk '{print $NF}' | sed 's/%//g'` 41 | echo "Coverage: ${COVERAGE_RESULT}" 42 | if [[ $COVERAGE_RESULT -le $MIN_COVERAGE ]]; then 43 | echo "#################################################" 44 | echo "Code coverage below allowed threshold ($COVERAGE_RESULT<$MIN_COVERAGE)" 45 | exit 1 46 | fi 47 | git config --local user.email "hello@raymon.ai" 48 | git config --local user.name "github-actions[bot]" 49 | git add coverage.svg 50 | git diff-index --quiet HEAD || git commit -m "Adding coverage badge" 51 | - name: Push badge 52 | # if: "contains(github.ref, 'master')" 53 | uses: ad-m/github-push-action@master 54 | with: 55 | github_token: ${{ secrets.GITHUB_TOKEN }} 56 | branch: master 57 | -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: release 2 | on: 3 | push: 4 | tags: 5 | - "v*" 6 | jobs: 7 | release-job: 8 | runs-on: ubuntu-latest 9 | strategy: 10 | matrix: 11 | python-version: [3.8] 12 | env: 13 | TWINE_USERNAME: ${{ secrets.TWINE_USERNAME }} 14 | TWINE_PASSWORD: "" 15 | TWINE_REPOSITORY_URL: ${{ secrets.TWINE_REPOSITORY_URL }} 16 | MIN_COVERAGE: 60 17 | steps: 18 | - uses: actions/checkout@v2 19 | - name: Set up Python ${{ matrix.python-version }} 20 | uses: actions/setup-python@v2 21 | with: 22 | python-version: ${{ matrix.python-version }} 23 | # Caching python env: https://medium.com/ai2-blog/python-caching-in-github-actions-e9452698e98d 24 | - uses: actions/cache@v2 25 | with: 26 | path: ${{ env.pythonLocation }} 27 | key: ${{ env.pythonLocation }}-${{ hashFiles('setup.py') }}-${{ hashFiles('requirements-dev.txt') }}-${{ hashFiles('requirements.txt') }} 28 | 29 | - name: Black formatting 30 | uses: psf/black@20.8b1 31 | - name: Install dependencies 32 | run: | 33 | python -m pip install --upgrade pip 34 | pip install -r requirements-dev.txt 35 | - name: Build package 36 | run: | 37 | python setup.py bdist bdist_wheel 38 | - name: Push to fury 39 | run: twine upload dist/* --skip-existing 40 | - name: Publish package to PyPI 41 | if: "!contains(github.ref, 'rc')" 42 | uses: pypa/gh-action-pypi-publish@master 43 | with: 44 | user: __token__ 45 | password: ${{ secrets.PYPI_TOKEN }} 46 | skip_existing: true 47 | verbose: true 48 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | **.tmp** 2 | 3 | # Byte-compiled / optimized / DLL files 4 | __pycache__/ 5 | *.py[cod] 6 | *$py.class 7 | examples/**.json 8 | 9 | **node_modules** 10 | # C extensions 11 | *.so 12 | 13 | # Distribution / packaging 14 | .Python 15 | build/ 16 | develop-eggs/ 17 | dist/ 18 | downloads/ 19 | eggs/ 20 | .eggs/ 21 | lib/ 22 | lib64/ 23 | parts/ 24 | sdist/ 25 | var/ 26 | wheels/ 27 | *.egg-info/ 28 | .installed.cfg 29 | *.egg 30 | MANIFEST 31 | devdocs 32 | # PyInstaller 33 | # Usually these files are written by a python script from a template 34 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 35 | *.manifest 36 | *.spec 37 | 38 | # Installer logs 39 | pip-log.txt 40 | pip-delete-this-directory.txt 41 | 42 | # Unit test / coverage reports 43 | htmlcov/ 44 | .tox/ 45 | .coverage 46 | .coverage.* 47 | .cache 48 | nosetests.xml 49 | coverage.xml 50 | *.cover 51 | .hypothesis/ 52 | .pytest_cache/ 53 | 54 | # Translations 55 | *.mo 56 | *.pot 57 | 58 | # Django stuff: 59 | *.log 60 | local_settings.py 61 | db.sqlite3 62 | 63 | # Flask stuff: 64 | instance/ 65 | .webassets-cache 66 | 67 | # Scrapy stuff: 68 | .scrapy 69 | 70 | # Sphinx documentation 71 | docs/_build/ 72 | 73 | # PyBuilder 74 | target/ 75 | 76 | # Jupyter Notebook 77 | .ipynb_checkpoints 78 | 79 | # pyenv 80 | .python-version 81 | 82 | # celery beat schedule file 83 | celerybeat-schedule 84 | 85 | # SageMath parsed files 86 | *.sage.py 87 | 88 | # Environments 89 | .env 90 | .venv 91 | env/ 92 | venv/ 93 | ENV/ 94 | env.bak/ 95 | venv.bak/ 96 | 97 | # Spyder project settings 98 | .spyderproject 99 | .spyproject 100 | 101 | # Rope project settings 102 | .ropeproject 103 | 104 | # mkdocs documentation 105 | /site 106 | 107 | # mypy 108 | .mypy_cache/ 109 | 110 | # MacOS 111 | **/.DS_Store 112 | .vscode 113 | 114 | #*.jpeg 115 | dev/* 116 | store_secret.py 117 | docsrc/_build/** 118 | doc_code/** 119 | !doc_code/**.py 120 | 121 | -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- 1 | repos: 2 | - repo: https://github.com/psf/black 3 | rev: 20.8b1 # Replace by any tag/version: https://github.com/psf/black/tags 4 | hooks: 5 | - id: black 6 | language_version: python3 # Should be a command that runs python3.6+ 7 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # License 2 | [All contributions fall under the repository license.](https://docs.github.com/en/github/site-policy/github-terms-of-service#6-contributions-under-repository-license) 3 | 4 | 5 | # Releasing 6 | We use bumpversion to manage releases. 7 | 8 | 1. Install the dev requirements. This will install bumpversion. 9 | 2. To bump version do: `bumpversion build` to create a new rc. To make a new prod release, use `bumpversion kind`. To continue with a new rc, use `bumpversion patch` 10 | 11 | # Docs 12 | We use Numpy style for writing docstrings. 13 | We build library API docs with sphinx and publish it on github pages. 14 | 15 | Generating the source for the library API docs is donce with `sphinx-apidoc raymon -o docsrc/libapi` 16 | Building the docs works by running `make github` from the `docsrc` folder. 17 | 18 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2021 Raymon BV 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /coverage.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | coverage 17 | coverage 18 | 83% 19 | 83% 20 | 21 | 22 | -------------------------------------------------------------------------------- /doc_code/traces.py: -------------------------------------------------------------------------------- 1 | #%% 2 | from raymon import RaymonAPI 3 | 4 | api = RaymonAPI(url="https://api.raymon.ai/v0") 5 | #%% 6 | -------------------------------------------------------------------------------- /docs/.buildinfo: -------------------------------------------------------------------------------- 1 | # Sphinx build info version 1 2 | # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. 3 | config: 6aefaefa940f50ebcf8b88f9cd303a5c 4 | tags: 645f666f9bcd5a90fca523b33c5a78b7 5 | -------------------------------------------------------------------------------- /docs/.nojekyll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/docs/.nojekyll -------------------------------------------------------------------------------- /docs/CNAME: -------------------------------------------------------------------------------- 1 | libdocs.raymon.ai -------------------------------------------------------------------------------- /docs/_images/emptyhomepage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/docs/_images/emptyhomepage.png -------------------------------------------------------------------------------- /docs/_images/logged_data.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/docs/_images/logged_data.png -------------------------------------------------------------------------------- /docs/_images/profilecompare.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/docs/_images/profilecompare.png -------------------------------------------------------------------------------- /docs/_images/profileview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/docs/_images/profileview.png -------------------------------------------------------------------------------- /docs/_images/project_created.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/docs/_images/project_created.png -------------------------------------------------------------------------------- /docs/_images/setup-complete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/docs/_images/setup-complete.png -------------------------------------------------------------------------------- /docs/_images/transfer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/docs/_images/transfer.png -------------------------------------------------------------------------------- /docs/_sources/gettingstarted/uiwalkthrough.rst.txt: -------------------------------------------------------------------------------- 1 | ============== 2 | UI Overview 3 | ============== 4 | 5 | Coming soon. -------------------------------------------------------------------------------- /docs/_sources/index.rst.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 | .. toctree:: 4 | :maxdepth: 2 5 | :caption: Module Docs 6 | 7 | libapi/modules 8 | 9 | 10 | .. .. toctree:: 11 | .. :maxdepth: 2 12 | 13 | .. gettingstarted/landing 14 | .. module/apilanding 15 | 16 | 17 | 18 | 19 | 20 | Indices and tables 21 | ================== 22 | 23 | * :ref:`genindex` 24 | * :ref:`modindex` 25 | * :ref:`search` 26 | -------------------------------------------------------------------------------- /docs/_sources/libapi/modules.rst.txt: -------------------------------------------------------------------------------- 1 | raymon 2 | ====== 3 | 4 | .. toctree:: 5 | :maxdepth: 4 6 | 7 | raymon 8 | -------------------------------------------------------------------------------- /docs/_sources/libapi/raymon.auth.rst.txt: -------------------------------------------------------------------------------- 1 | raymon.auth package 2 | =================== 3 | 4 | Submodules 5 | ---------- 6 | 7 | raymon.auth.m2m module 8 | ---------------------- 9 | 10 | .. automodule:: raymon.auth.m2m 11 | :members: 12 | :undoc-members: 13 | :show-inheritance: 14 | 15 | raymon.auth.user module 16 | ----------------------- 17 | 18 | .. automodule:: raymon.auth.user 19 | :members: 20 | :undoc-members: 21 | :show-inheritance: 22 | 23 | Module contents 24 | --------------- 25 | 26 | .. automodule:: raymon.auth 27 | :members: 28 | :undoc-members: 29 | :show-inheritance: 30 | -------------------------------------------------------------------------------- /docs/_sources/libapi/raymon.profiling.extractors.rst.txt: -------------------------------------------------------------------------------- 1 | raymon.profiling.extractors package 2 | =================================== 3 | 4 | Subpackages 5 | ----------- 6 | 7 | .. toctree:: 8 | :maxdepth: 4 9 | 10 | raymon.profiling.extractors.structured 11 | raymon.profiling.extractors.vision 12 | 13 | Submodules 14 | ---------- 15 | 16 | raymon.profiling.extractors.extractors module 17 | --------------------------------------------- 18 | 19 | .. automodule:: raymon.profiling.extractors.extractors 20 | :members: 21 | :undoc-members: 22 | :show-inheritance: 23 | 24 | Module contents 25 | --------------- 26 | 27 | .. automodule:: raymon.profiling.extractors 28 | :members: 29 | :undoc-members: 30 | :show-inheritance: 31 | -------------------------------------------------------------------------------- /docs/_sources/libapi/raymon.profiling.extractors.structured.rst.txt: -------------------------------------------------------------------------------- 1 | raymon.profiling.extractors.structured package 2 | ============================================== 3 | 4 | Submodules 5 | ---------- 6 | 7 | raymon.profiling.extractors.structured.element module 8 | ----------------------------------------------------- 9 | 10 | .. automodule:: raymon.profiling.extractors.structured.element 11 | :members: 12 | :undoc-members: 13 | :show-inheritance: 14 | 15 | raymon.profiling.extractors.structured.entropy module 16 | ----------------------------------------------------- 17 | 18 | .. automodule:: raymon.profiling.extractors.structured.entropy 19 | :members: 20 | :undoc-members: 21 | :show-inheritance: 22 | 23 | raymon.profiling.extractors.structured.iforest module 24 | ----------------------------------------------------- 25 | 26 | .. automodule:: raymon.profiling.extractors.structured.iforest 27 | :members: 28 | :undoc-members: 29 | :show-inheritance: 30 | 31 | raymon.profiling.extractors.structured.kmeans module 32 | ---------------------------------------------------- 33 | 34 | .. automodule:: raymon.profiling.extractors.structured.kmeans 35 | :members: 36 | :undoc-members: 37 | :show-inheritance: 38 | 39 | raymon.profiling.extractors.structured.margin module 40 | ---------------------------------------------------- 41 | 42 | .. automodule:: raymon.profiling.extractors.structured.margin 43 | :members: 44 | :undoc-members: 45 | :show-inheritance: 46 | 47 | raymon.profiling.extractors.structured.scoring module 48 | ----------------------------------------------------- 49 | 50 | .. automodule:: raymon.profiling.extractors.structured.scoring 51 | :members: 52 | :undoc-members: 53 | :show-inheritance: 54 | 55 | Module contents 56 | --------------- 57 | 58 | .. automodule:: raymon.profiling.extractors.structured 59 | :members: 60 | :undoc-members: 61 | :show-inheritance: 62 | -------------------------------------------------------------------------------- /docs/_sources/libapi/raymon.profiling.extractors.vision.rst.txt: -------------------------------------------------------------------------------- 1 | raymon.profiling.extractors.vision package 2 | ========================================== 3 | 4 | Submodules 5 | ---------- 6 | 7 | raymon.profiling.extractors.vision.anomaly module 8 | ------------------------------------------------- 9 | 10 | .. automodule:: raymon.profiling.extractors.vision.anomaly 11 | :members: 12 | :undoc-members: 13 | :show-inheritance: 14 | 15 | raymon.profiling.extractors.vision.intensity module 16 | --------------------------------------------------- 17 | 18 | .. automodule:: raymon.profiling.extractors.vision.intensity 19 | :members: 20 | :undoc-members: 21 | :show-inheritance: 22 | 23 | raymon.profiling.extractors.vision.sharpness module 24 | --------------------------------------------------- 25 | 26 | .. automodule:: raymon.profiling.extractors.vision.sharpness 27 | :members: 28 | :undoc-members: 29 | :show-inheritance: 30 | 31 | raymon.profiling.extractors.vision.similarity module 32 | ---------------------------------------------------- 33 | 34 | .. automodule:: raymon.profiling.extractors.vision.similarity 35 | :members: 36 | :undoc-members: 37 | :show-inheritance: 38 | 39 | raymon.profiling.extractors.vision.yolo module 40 | ---------------------------------------------- 41 | 42 | .. automodule:: raymon.profiling.extractors.vision.yolo 43 | :members: 44 | :undoc-members: 45 | :show-inheritance: 46 | 47 | Module contents 48 | --------------- 49 | 50 | .. automodule:: raymon.profiling.extractors.vision 51 | :members: 52 | :undoc-members: 53 | :show-inheritance: 54 | -------------------------------------------------------------------------------- /docs/_sources/libapi/raymon.profiling.rst.txt: -------------------------------------------------------------------------------- 1 | raymon.profiling package 2 | ======================== 3 | 4 | Subpackages 5 | ----------- 6 | 7 | .. toctree:: 8 | :maxdepth: 4 9 | 10 | raymon.profiling.extractors 11 | 12 | Submodules 13 | ---------- 14 | 15 | raymon.profiling.components module 16 | ---------------------------------- 17 | 18 | .. automodule:: raymon.profiling.components 19 | :members: 20 | :undoc-members: 21 | :show-inheritance: 22 | 23 | raymon.profiling.profiles module 24 | -------------------------------- 25 | 26 | .. automodule:: raymon.profiling.profiles 27 | :members: 28 | :undoc-members: 29 | :show-inheritance: 30 | 31 | raymon.profiling.scores module 32 | ------------------------------ 33 | 34 | .. automodule:: raymon.profiling.scores 35 | :members: 36 | :undoc-members: 37 | :show-inheritance: 38 | 39 | raymon.profiling.stats module 40 | ----------------------------- 41 | 42 | .. automodule:: raymon.profiling.stats 43 | :members: 44 | :undoc-members: 45 | :show-inheritance: 46 | 47 | raymon.profiling.utils module 48 | ----------------------------- 49 | 50 | .. automodule:: raymon.profiling.utils 51 | :members: 52 | :undoc-members: 53 | :show-inheritance: 54 | 55 | Module contents 56 | --------------- 57 | 58 | .. automodule:: raymon.profiling 59 | :members: 60 | :undoc-members: 61 | :show-inheritance: 62 | -------------------------------------------------------------------------------- /docs/_sources/libapi/raymon.rst.txt: -------------------------------------------------------------------------------- 1 | raymon package 2 | ============== 3 | 4 | Subpackages 5 | ----------- 6 | 7 | .. toctree:: 8 | :maxdepth: 4 9 | 10 | raymon.auth 11 | raymon.profiling 12 | 13 | Submodules 14 | ---------- 15 | 16 | raymon.api module 17 | ----------------- 18 | 19 | .. automodule:: raymon.api 20 | :members: 21 | :undoc-members: 22 | :show-inheritance: 23 | 24 | raymon.exceptions module 25 | ------------------------ 26 | 27 | .. automodule:: raymon.exceptions 28 | :members: 29 | :undoc-members: 30 | :show-inheritance: 31 | 32 | raymon.globals module 33 | --------------------- 34 | 35 | .. automodule:: raymon.globals 36 | :members: 37 | :undoc-members: 38 | :show-inheritance: 39 | 40 | raymon.loggers module 41 | --------------------- 42 | 43 | .. automodule:: raymon.loggers 44 | :members: 45 | :undoc-members: 46 | :show-inheritance: 47 | 48 | raymon.out module 49 | ----------------- 50 | 51 | .. automodule:: raymon.out 52 | :members: 53 | :undoc-members: 54 | :show-inheritance: 55 | 56 | raymon.tags module 57 | ------------------ 58 | 59 | .. automodule:: raymon.tags 60 | :members: 61 | :undoc-members: 62 | :show-inheritance: 63 | 64 | raymon.trace module 65 | ------------------- 66 | 67 | .. automodule:: raymon.trace 68 | :members: 69 | :undoc-members: 70 | :show-inheritance: 71 | 72 | raymon.types module 73 | ------------------- 74 | 75 | .. automodule:: raymon.types 76 | :members: 77 | :undoc-members: 78 | :show-inheritance: 79 | 80 | raymon.version module 81 | --------------------- 82 | 83 | .. automodule:: raymon.version 84 | :members: 85 | :undoc-members: 86 | :show-inheritance: 87 | 88 | Module contents 89 | --------------- 90 | 91 | .. automodule:: raymon 92 | :members: 93 | :undoc-members: 94 | :show-inheritance: 95 | -------------------------------------------------------------------------------- /docs/_sources/module/api.rst.txt: -------------------------------------------------------------------------------- 1 | =============== 2 | RaymonAPI class 3 | =============== 4 | 5 | .. autoclass:: raymon.RaymonAPI 6 | :members: -------------------------------------------------------------------------------- /docs/_sources/module/components.rst.txt: -------------------------------------------------------------------------------- 1 | --------- 2 | Component 3 | --------- 4 | 5 | .. autoclass:: raymon.InputComponent 6 | :members: 7 | 8 | .. autoclass:: raymon.OutputComponent 9 | :members: 10 | 11 | .. autoclass:: raymon.ActualComponent 12 | :members: 13 | 14 | .. autoclass:: raymon.EvalComponent 15 | :members: -------------------------------------------------------------------------------- /docs/_sources/module/loggers.rst.txt: -------------------------------------------------------------------------------- 1 | ------- 2 | Loggers 3 | ------- 4 | 5 | .. autoclass:: raymon.RaymonFileLogger 6 | :members: 7 | 8 | .. autoclass:: raymon.RaymonAPILogger 9 | :members: 10 | 11 | .. autoclass:: raymon.loggers.RaymonLoggerBase 12 | :members: 13 | 14 | -------------------------------------------------------------------------------- /docs/_sources/module/modelprofile.rst.txt: -------------------------------------------------------------------------------- 1 | ------------ 2 | ModelProfile 3 | ------------ 4 | 5 | .. autoclass:: raymon.ModelProfile 6 | :members: 7 | -------------------------------------------------------------------------------- /docs/_sources/module/stats.rst.txt: -------------------------------------------------------------------------------- 1 | ----- 2 | Stats 3 | ----- 4 | .. autoclass:: raymon.FloatStats 5 | :members: 6 | 7 | .. autoclass:: raymon.IntStats 8 | :members: 9 | 10 | .. autoclass:: raymon.CategoricStats 11 | :members: 12 | -------------------------------------------------------------------------------- /docs/_sources/module/tags.rst.txt: -------------------------------------------------------------------------------- 1 | --------- 2 | Tag class 3 | --------- 4 | 5 | .. autoclass:: raymon.Tag 6 | :members: 7 | -------------------------------------------------------------------------------- /docs/_sources/module/traces.rst.txt: -------------------------------------------------------------------------------- 1 | =========== 2 | Trace class 3 | =========== 4 | 5 | .. autoclass:: raymon.Trace 6 | :members: -------------------------------------------------------------------------------- /docs/_sources/module/types.rst.txt: -------------------------------------------------------------------------------- 1 | ---------- 2 | Data Types 3 | ---------- 4 | 5 | .. automodule:: raymon.types 6 | :members: 7 | 8 | -------------------------------------------------------------------------------- /docs/_static/documentation_options.js: -------------------------------------------------------------------------------- 1 | var DOCUMENTATION_OPTIONS = { 2 | URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), 3 | VERSION: '0.0.30', 4 | LANGUAGE: 'None', 5 | COLLAPSE_INDEX: false, 6 | BUILDER: 'html', 7 | FILE_SUFFIX: '.html', 8 | LINK_SUFFIX: '.html', 9 | HAS_SOURCE: true, 10 | SOURCELINK_SUFFIX: '.txt', 11 | NAVIGATION_WITH_KEYS: false 12 | }; -------------------------------------------------------------------------------- /docs/_static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/docs/_static/favicon.ico -------------------------------------------------------------------------------- /docs/_static/file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/docs/_static/file.png -------------------------------------------------------------------------------- /docs/_static/logo-blue-ai.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/docs/_static/logo-blue-ai.png -------------------------------------------------------------------------------- /docs/_static/minus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/docs/_static/minus.png -------------------------------------------------------------------------------- /docs/_static/plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/docs/_static/plus.png -------------------------------------------------------------------------------- /docs/_static/profile-contrast.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/docs/_static/profile-contrast.png -------------------------------------------------------------------------------- /docs/_static/styles/furo-extensions.css: -------------------------------------------------------------------------------- 1 | #furo-sidebar-ad-placement{padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)}#furo-sidebar-ad-placement .ethical-sidebar{border:none;box-shadow:none;background:var(--color-background-secondary)}#furo-sidebar-ad-placement .ethical-sidebar:hover{background:var(--color-background-hover)}#furo-sidebar-ad-placement .ethical-sidebar a{color:var(--color-foreground-primary)}#furo-sidebar-ad-placement .ethical-callout a{color:var(--color-foreground-secondary)!important}:root{--tabs--label-text:var(--color-foreground-muted);--tabs--label-text--active:var(--color-brand-content);--tabs--label-text--hover:var(--color-brand-content);--tabs--label-background--active:transparent;--tabs--label-background--hover:var(--color-background-secondary);--tabs--border:var(--color-background-border)}[role=main] .container{max-width:none;padding-left:0;padding-right:0}.shadow.docutils{border:none;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1)!important}.sphinx-bs .card{background-color:var(--color-background-secondary);color:var(--color-foreground)} 2 | /*# sourceMappingURL=furo-extensions.css.map */ 3 | -------------------------------------------------------------------------------- /docs/objects.inv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/docs/objects.inv -------------------------------------------------------------------------------- /docsrc/Makefile: -------------------------------------------------------------------------------- 1 | # Minimal makefile for Sphinx documentation 2 | # 3 | 4 | # You can set these variables from the command line, and also 5 | # from the environment for the first two. 6 | SPHINXOPTS ?= 7 | SPHINXBUILD ?= sphinx-build 8 | SOURCEDIR = . 9 | BUILDDIR = _build 10 | 11 | # Put it first so that "make" without argument is like "make help". 12 | help: 13 | @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 14 | 15 | .PHONY: help Makefile 16 | 17 | # Catch-all target: route all unknown targets to Sphinx using the new 18 | # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). 19 | %: Makefile 20 | @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 21 | github: 22 | @make html 23 | @cp -a _build/html/. ../docs -------------------------------------------------------------------------------- /docsrc/assets/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/docsrc/assets/favicon.ico -------------------------------------------------------------------------------- /docsrc/assets/logo-blue-ai.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/docsrc/assets/logo-blue-ai.png -------------------------------------------------------------------------------- /docsrc/assets/profile-contrast.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/docsrc/assets/profile-contrast.png -------------------------------------------------------------------------------- /docsrc/index.rst: -------------------------------------------------------------------------------- 1 | 2 | 3 | .. toctree:: 4 | :maxdepth: 2 5 | :caption: Module Docs 6 | 7 | libapi/modules 8 | 9 | 10 | .. .. toctree:: 11 | .. :maxdepth: 2 12 | 13 | .. gettingstarted/landing 14 | .. module/apilanding 15 | 16 | 17 | 18 | 19 | 20 | Indices and tables 21 | ================== 22 | 23 | * :ref:`genindex` 24 | * :ref:`modindex` 25 | * :ref:`search` 26 | -------------------------------------------------------------------------------- /docsrc/libapi/modules.rst: -------------------------------------------------------------------------------- 1 | raymon 2 | ====== 3 | 4 | .. toctree:: 5 | :maxdepth: 4 6 | 7 | raymon 8 | -------------------------------------------------------------------------------- /docsrc/libapi/raymon.auth.rst: -------------------------------------------------------------------------------- 1 | raymon.auth package 2 | =================== 3 | 4 | Submodules 5 | ---------- 6 | 7 | raymon.auth.m2m module 8 | ---------------------- 9 | 10 | .. automodule:: raymon.auth.m2m 11 | :members: 12 | :undoc-members: 13 | :show-inheritance: 14 | 15 | raymon.auth.user module 16 | ----------------------- 17 | 18 | .. automodule:: raymon.auth.user 19 | :members: 20 | :undoc-members: 21 | :show-inheritance: 22 | 23 | Module contents 24 | --------------- 25 | 26 | .. automodule:: raymon.auth 27 | :members: 28 | :undoc-members: 29 | :show-inheritance: 30 | -------------------------------------------------------------------------------- /docsrc/libapi/raymon.profiling.extractors.rst: -------------------------------------------------------------------------------- 1 | raymon.profiling.extractors package 2 | =================================== 3 | 4 | Subpackages 5 | ----------- 6 | 7 | .. toctree:: 8 | :maxdepth: 4 9 | 10 | raymon.profiling.extractors.structured 11 | raymon.profiling.extractors.vision 12 | 13 | Submodules 14 | ---------- 15 | 16 | raymon.profiling.extractors.extractors module 17 | --------------------------------------------- 18 | 19 | .. automodule:: raymon.profiling.extractors.extractors 20 | :members: 21 | :undoc-members: 22 | :show-inheritance: 23 | 24 | Module contents 25 | --------------- 26 | 27 | .. automodule:: raymon.profiling.extractors 28 | :members: 29 | :undoc-members: 30 | :show-inheritance: 31 | -------------------------------------------------------------------------------- /docsrc/libapi/raymon.profiling.extractors.structured.rst: -------------------------------------------------------------------------------- 1 | raymon.profiling.extractors.structured package 2 | ============================================== 3 | 4 | Submodules 5 | ---------- 6 | 7 | raymon.profiling.extractors.structured.element module 8 | ----------------------------------------------------- 9 | 10 | .. automodule:: raymon.profiling.extractors.structured.element 11 | :members: 12 | :undoc-members: 13 | :show-inheritance: 14 | 15 | raymon.profiling.extractors.structured.entropy module 16 | ----------------------------------------------------- 17 | 18 | .. automodule:: raymon.profiling.extractors.structured.entropy 19 | :members: 20 | :undoc-members: 21 | :show-inheritance: 22 | 23 | raymon.profiling.extractors.structured.iforest module 24 | ----------------------------------------------------- 25 | 26 | .. automodule:: raymon.profiling.extractors.structured.iforest 27 | :members: 28 | :undoc-members: 29 | :show-inheritance: 30 | 31 | raymon.profiling.extractors.structured.kmeans module 32 | ---------------------------------------------------- 33 | 34 | .. automodule:: raymon.profiling.extractors.structured.kmeans 35 | :members: 36 | :undoc-members: 37 | :show-inheritance: 38 | 39 | raymon.profiling.extractors.structured.margin module 40 | ---------------------------------------------------- 41 | 42 | .. automodule:: raymon.profiling.extractors.structured.margin 43 | :members: 44 | :undoc-members: 45 | :show-inheritance: 46 | 47 | raymon.profiling.extractors.structured.scoring module 48 | ----------------------------------------------------- 49 | 50 | .. automodule:: raymon.profiling.extractors.structured.scoring 51 | :members: 52 | :undoc-members: 53 | :show-inheritance: 54 | 55 | Module contents 56 | --------------- 57 | 58 | .. automodule:: raymon.profiling.extractors.structured 59 | :members: 60 | :undoc-members: 61 | :show-inheritance: 62 | -------------------------------------------------------------------------------- /docsrc/libapi/raymon.profiling.extractors.vision.rst: -------------------------------------------------------------------------------- 1 | raymon.profiling.extractors.vision package 2 | ========================================== 3 | 4 | Submodules 5 | ---------- 6 | 7 | raymon.profiling.extractors.vision.anomaly module 8 | ------------------------------------------------- 9 | 10 | .. automodule:: raymon.profiling.extractors.vision.anomaly 11 | :members: 12 | :undoc-members: 13 | :show-inheritance: 14 | 15 | raymon.profiling.extractors.vision.intensity module 16 | --------------------------------------------------- 17 | 18 | .. automodule:: raymon.profiling.extractors.vision.intensity 19 | :members: 20 | :undoc-members: 21 | :show-inheritance: 22 | 23 | raymon.profiling.extractors.vision.sharpness module 24 | --------------------------------------------------- 25 | 26 | .. automodule:: raymon.profiling.extractors.vision.sharpness 27 | :members: 28 | :undoc-members: 29 | :show-inheritance: 30 | 31 | raymon.profiling.extractors.vision.similarity module 32 | ---------------------------------------------------- 33 | 34 | .. automodule:: raymon.profiling.extractors.vision.similarity 35 | :members: 36 | :undoc-members: 37 | :show-inheritance: 38 | 39 | raymon.profiling.extractors.vision.yolo module 40 | ---------------------------------------------- 41 | 42 | .. automodule:: raymon.profiling.extractors.vision.yolo 43 | :members: 44 | :undoc-members: 45 | :show-inheritance: 46 | 47 | Module contents 48 | --------------- 49 | 50 | .. automodule:: raymon.profiling.extractors.vision 51 | :members: 52 | :undoc-members: 53 | :show-inheritance: 54 | -------------------------------------------------------------------------------- /docsrc/libapi/raymon.profiling.rst: -------------------------------------------------------------------------------- 1 | raymon.profiling package 2 | ======================== 3 | 4 | Subpackages 5 | ----------- 6 | 7 | .. toctree:: 8 | :maxdepth: 4 9 | 10 | raymon.profiling.extractors 11 | 12 | Submodules 13 | ---------- 14 | 15 | raymon.profiling.components module 16 | ---------------------------------- 17 | 18 | .. automodule:: raymon.profiling.components 19 | :members: 20 | :undoc-members: 21 | :show-inheritance: 22 | 23 | raymon.profiling.profiles module 24 | -------------------------------- 25 | 26 | .. automodule:: raymon.profiling.profiles 27 | :members: 28 | :undoc-members: 29 | :show-inheritance: 30 | 31 | raymon.profiling.scores module 32 | ------------------------------ 33 | 34 | .. automodule:: raymon.profiling.scores 35 | :members: 36 | :undoc-members: 37 | :show-inheritance: 38 | 39 | raymon.profiling.stats module 40 | ----------------------------- 41 | 42 | .. automodule:: raymon.profiling.stats 43 | :members: 44 | :undoc-members: 45 | :show-inheritance: 46 | 47 | raymon.profiling.utils module 48 | ----------------------------- 49 | 50 | .. automodule:: raymon.profiling.utils 51 | :members: 52 | :undoc-members: 53 | :show-inheritance: 54 | 55 | Module contents 56 | --------------- 57 | 58 | .. automodule:: raymon.profiling 59 | :members: 60 | :undoc-members: 61 | :show-inheritance: 62 | -------------------------------------------------------------------------------- /docsrc/libapi/raymon.rst: -------------------------------------------------------------------------------- 1 | raymon package 2 | ============== 3 | 4 | Subpackages 5 | ----------- 6 | 7 | .. toctree:: 8 | :maxdepth: 4 9 | 10 | raymon.auth 11 | raymon.profiling 12 | 13 | Submodules 14 | ---------- 15 | 16 | raymon.api module 17 | ----------------- 18 | 19 | .. automodule:: raymon.api 20 | :members: 21 | :undoc-members: 22 | :show-inheritance: 23 | 24 | raymon.exceptions module 25 | ------------------------ 26 | 27 | .. automodule:: raymon.exceptions 28 | :members: 29 | :undoc-members: 30 | :show-inheritance: 31 | 32 | raymon.globals module 33 | --------------------- 34 | 35 | .. automodule:: raymon.globals 36 | :members: 37 | :undoc-members: 38 | :show-inheritance: 39 | 40 | raymon.loggers module 41 | --------------------- 42 | 43 | .. automodule:: raymon.loggers 44 | :members: 45 | :undoc-members: 46 | :show-inheritance: 47 | 48 | raymon.out module 49 | ----------------- 50 | 51 | .. automodule:: raymon.out 52 | :members: 53 | :undoc-members: 54 | :show-inheritance: 55 | 56 | raymon.tags module 57 | ------------------ 58 | 59 | .. automodule:: raymon.tags 60 | :members: 61 | :undoc-members: 62 | :show-inheritance: 63 | 64 | raymon.trace module 65 | ------------------- 66 | 67 | .. automodule:: raymon.trace 68 | :members: 69 | :undoc-members: 70 | :show-inheritance: 71 | 72 | raymon.types module 73 | ------------------- 74 | 75 | .. automodule:: raymon.types 76 | :members: 77 | :undoc-members: 78 | :show-inheritance: 79 | 80 | raymon.version module 81 | --------------------- 82 | 83 | .. automodule:: raymon.version 84 | :members: 85 | :undoc-members: 86 | :show-inheritance: 87 | 88 | Module contents 89 | --------------- 90 | 91 | .. automodule:: raymon 92 | :members: 93 | :undoc-members: 94 | :show-inheritance: 95 | -------------------------------------------------------------------------------- /docsrc/make.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | 3 | pushd %~dp0 4 | 5 | REM Command file for Sphinx documentation 6 | 7 | if "%SPHINXBUILD%" == "" ( 8 | set SPHINXBUILD=sphinx-build 9 | ) 10 | set SOURCEDIR=. 11 | set BUILDDIR=_build 12 | 13 | if "%1" == "" goto help 14 | 15 | %SPHINXBUILD% >NUL 2>NUL 16 | if errorlevel 9009 ( 17 | echo. 18 | echo.The 'sphinx-build' command was not found. Make sure you have Sphinx 19 | echo.installed, then set the SPHINXBUILD environment variable to point 20 | echo.to the full path of the 'sphinx-build' executable. Alternatively you 21 | echo.may add the Sphinx directory to PATH. 22 | echo. 23 | echo.If you don't have Sphinx installed, grab it from 24 | echo.http://sphinx-doc.org/ 25 | exit /b 1 26 | ) 27 | 28 | %SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% 29 | goto end 30 | 31 | :help 32 | %SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% 33 | 34 | :end 35 | popd 36 | -------------------------------------------------------------------------------- /docsrc/requirements.txt: -------------------------------------------------------------------------------- 1 | furo # Sphinx theme 2 | raymon 3 | nbsphinx 4 | -------------------------------------------------------------------------------- /frontend/.browserslistrc: -------------------------------------------------------------------------------- 1 | > 1% 2 | last 2 versions 3 | not dead 4 | -------------------------------------------------------------------------------- /frontend/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | env: { 4 | node: true 5 | }, 6 | 'extends': [ 7 | 'plugin:vue/essential', 8 | 'eslint:recommended' 9 | ], 10 | parserOptions: { 11 | parser: 'babel-eslint' 12 | }, 13 | rules: { 14 | 'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off', 15 | 'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off', 16 | "no-unused-vars": "off" 17 | 18 | }, 19 | overrides: [ 20 | { 21 | files: [ 22 | '**/__tests__/*.{j,t}s?(x)', 23 | '**/tests/unit/**/*.spec.{j,t}s?(x)' 24 | ], 25 | env: { 26 | jest: true 27 | } 28 | } 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /frontend/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /dist 4 | 5 | /tests/e2e/videos/ 6 | /tests/e2e/screenshots/ 7 | 8 | 9 | # local env files 10 | .env.local 11 | .env.*.local 12 | 13 | # Log files 14 | npm-debug.log* 15 | yarn-debug.log* 16 | yarn-error.log* 17 | pnpm-debug.log* 18 | 19 | # Editor directories and files 20 | .idea 21 | .vscode 22 | *.suo 23 | *.ntvs* 24 | *.njsproj 25 | *.sln 26 | *.sw? 27 | -------------------------------------------------------------------------------- /frontend/README.md: -------------------------------------------------------------------------------- 1 | # frontend 2 | 3 | ## Project setup 4 | ``` 5 | npm install 6 | ``` 7 | 8 | ### Compiles and hot-reloads for development 9 | ``` 10 | npm run serve 11 | ``` 12 | 13 | ### Compiles and minifies for production 14 | ``` 15 | npm run build 16 | ``` 17 | 18 | ### Run your unit tests 19 | ``` 20 | npm run test:unit 21 | ``` 22 | 23 | ### Run your end-to-end tests 24 | ``` 25 | npm run test:e2e 26 | ``` 27 | 28 | ### Lints and fixes files 29 | ``` 30 | npm run lint 31 | ``` 32 | 33 | ### Customize configuration 34 | See [Configuration Reference](https://cli.vuejs.org/config/). 35 | -------------------------------------------------------------------------------- /frontend/build_wc.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | echo "Building frontend..." 3 | npm run build:wc 4 | cd .. 5 | echo "Copying" 6 | rm -rf raymon/frontend/raymon.min.js 7 | rm -rf raymon/frontend/raymon.min.js.map 8 | cp frontend/dist/raymon.min.js raymon/frontend/raymon.min.js 9 | cp frontend/dist/raymon.min.js.map raymon/frontend/raymon.min.js.map 10 | cd frontend -------------------------------------------------------------------------------- /frontend/cypress.json: -------------------------------------------------------------------------------- 1 | { 2 | "pluginsFile": "tests/e2e/plugins/index.js" 3 | } 4 | -------------------------------------------------------------------------------- /frontend/jest.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | preset: '@vue/cli-plugin-unit-jest/presets/no-babel' 3 | } 4 | -------------------------------------------------------------------------------- /frontend/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "raymon-schema-frontend", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "serve": "vue-cli-service serve", 7 | "dev": "vue-cli-service serve", 8 | "build:wc": "vue-cli-service build --target wc --name raymon src/ViewSchemaStr.vue,src/CompareSchemaStr.vue --inline-vue", 9 | "build:lib": "vue-cli-service build --target lib --name profileGUILib src/allBuildEntry.js", 10 | "test:unit": "vue-cli-service test:unit", 11 | "test:e2e": "vue-cli-service test:e2e", 12 | "lint": "vue-cli-service lint" 13 | }, 14 | "dependencies": { 15 | "@primer/css": "^17.0.1", 16 | "@primer/octicons": "^14.2.1", 17 | "@statnett/vue-plotly": "^0.3.2", 18 | "axios": "^0.21.1", 19 | "core-js": "^3.6.5", 20 | "node-sass": "^5.0.0", 21 | "plotly.js": "^1.58.4", 22 | "sass": "^1.34.1", 23 | "sass-loader": "^10.1.1", 24 | "vue": "^2.6.11", 25 | "vue-router": "^3.2.0", 26 | "vuex": "^3.4.0" 27 | }, 28 | "devDependencies": { 29 | "@vue/cli-plugin-babel": "~4.5.0", 30 | "@vue/cli-plugin-e2e-cypress": "~4.5.0", 31 | "@vue/cli-plugin-eslint": "~4.5.0", 32 | "@vue/cli-plugin-router": "~4.5.0", 33 | "@vue/cli-plugin-unit-jest": "~4.5.0", 34 | "@vue/cli-plugin-vuex": "~4.5.0", 35 | "@vue/cli-service": "~4.5.0", 36 | "@vue/test-utils": "^1.0.3", 37 | "babel-eslint": "^10.1.0", 38 | "eslint": "^6.7.2", 39 | "eslint-plugin-vue": "^6.2.2", 40 | "vue-template-compiler": "^2.6.11" 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /frontend/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/frontend/public/favicon.ico -------------------------------------------------------------------------------- /frontend/public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | <%= htmlWebpackPlugin.options.title %> 9 | 10 | 11 | 14 |
15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /frontend/public/logo-blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/frontend/public/logo-blue.png -------------------------------------------------------------------------------- /frontend/src/CompareSchemaStr.vue: -------------------------------------------------------------------------------- 1 | 5 | 6 | 28 | 29 | 33 | -------------------------------------------------------------------------------- /frontend/src/CompareSchemaWrapper.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 29 | 30 | 34 | -------------------------------------------------------------------------------- /frontend/src/ViewSchemaStr.vue: -------------------------------------------------------------------------------- 1 | 9 | 10 | 34 | 35 | 39 | -------------------------------------------------------------------------------- /frontend/src/ViewSchemaWrapper.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 37 | 38 | 42 | -------------------------------------------------------------------------------- /frontend/src/allBuildEntry.js: -------------------------------------------------------------------------------- 1 | import ViewSchema from './ViewSchema.vue' 2 | import CompareSchema from './CompareSchema.vue' 3 | 4 | export { ViewSchema, CompareSchema } -------------------------------------------------------------------------------- /frontend/src/assets/logo-blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/frontend/src/assets/logo-blue.png -------------------------------------------------------------------------------- /frontend/src/components/ComponentTypeNav.vue: -------------------------------------------------------------------------------- 1 | 22 | 23 | 42 | 43 | 45 | -------------------------------------------------------------------------------- /frontend/src/components/Header.vue: -------------------------------------------------------------------------------- 1 | 52 | 53 | 72 | 79 | -------------------------------------------------------------------------------- /frontend/src/components/Logo.vue: -------------------------------------------------------------------------------- 1 | 9 | 10 | 23 | 24 | 34 | -------------------------------------------------------------------------------- /frontend/src/components/Pagination.vue: -------------------------------------------------------------------------------- 1 | 21 | 22 | 63 | 64 | 66 | -------------------------------------------------------------------------------- /frontend/src/components/ScoreReports.vue: -------------------------------------------------------------------------------- 1 | 17 | 18 | 47 | 48 | 53 | -------------------------------------------------------------------------------- /frontend/src/components/SortArrows.vue: -------------------------------------------------------------------------------- 1 | 19 | 20 | 45 | 46 | 58 | -------------------------------------------------------------------------------- /frontend/src/components/compare/ReducerReports.vue: -------------------------------------------------------------------------------- 1 | 23 | 24 | 44 | 45 | 50 | -------------------------------------------------------------------------------- /frontend/src/img/logo.7b1226c7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/frontend/src/img/logo.7b1226c7.png -------------------------------------------------------------------------------- /frontend/src/main.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import ViewSchemaWrapper from './ViewSchemaWrapper.vue' 3 | import CompareSchemaWrapper from './CompareSchemaWrapper.vue' 4 | 5 | 6 | 7 | Vue.config.productionTip = false 8 | 9 | new Vue({ 10 | render: h => h(CompareSchemaWrapper) 11 | }).$mount('#app') 12 | -------------------------------------------------------------------------------- /frontend/tests/e2e/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: [ 3 | 'cypress' 4 | ], 5 | env: { 6 | mocha: true, 7 | 'cypress/globals': true 8 | }, 9 | rules: { 10 | strict: 'off' 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /frontend/tests/e2e/plugins/index.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable arrow-body-style */ 2 | // https://docs.cypress.io/guides/guides/plugins-guide.html 3 | 4 | // if you need a custom webpack configuration you can uncomment the following import 5 | // and then use the `file:preprocessor` event 6 | // as explained in the cypress docs 7 | // https://docs.cypress.io/api/plugins/preprocessors-api.html#Examples 8 | 9 | // /* eslint-disable import/no-extraneous-dependencies, global-require */ 10 | // const webpack = require('@cypress/webpack-preprocessor') 11 | 12 | module.exports = (on, config) => { 13 | // on('file:preprocessor', webpack({ 14 | // webpackOptions: require('@vue/cli-service/webpack.config'), 15 | // watchOptions: {} 16 | // })) 17 | 18 | return Object.assign({}, config, { 19 | fixturesFolder: 'tests/e2e/fixtures', 20 | integrationFolder: 'tests/e2e/specs', 21 | screenshotsFolder: 'tests/e2e/screenshots', 22 | videosFolder: 'tests/e2e/videos', 23 | supportFile: 'tests/e2e/support/index.js' 24 | }) 25 | } 26 | -------------------------------------------------------------------------------- /frontend/tests/e2e/specs/test.js: -------------------------------------------------------------------------------- 1 | // https://docs.cypress.io/api/introduction/api.html 2 | 3 | describe('My First Test', () => { 4 | it('Visits the app root url', () => { 5 | cy.visit('/') 6 | cy.contains('h1', 'Welcome to Your Vue.js App') 7 | }) 8 | }) 9 | -------------------------------------------------------------------------------- /frontend/tests/e2e/support/commands.js: -------------------------------------------------------------------------------- 1 | // *********************************************** 2 | // This example commands.js shows you how to 3 | // create various custom commands and overwrite 4 | // existing commands. 5 | // 6 | // For more comprehensive examples of custom 7 | // commands please read more here: 8 | // https://on.cypress.io/custom-commands 9 | // *********************************************** 10 | // 11 | // 12 | // -- This is a parent command -- 13 | // Cypress.Commands.add("login", (email, password) => { ... }) 14 | // 15 | // 16 | // -- This is a child command -- 17 | // Cypress.Commands.add("drag", { prevSubject: 'element'}, (subject, options) => { ... }) 18 | // 19 | // 20 | // -- This is a dual command -- 21 | // Cypress.Commands.add("dismiss", { prevSubject: 'optional'}, (subject, options) => { ... }) 22 | // 23 | // 24 | // -- This is will overwrite an existing command -- 25 | // Cypress.Commands.overwrite("visit", (originalFn, url, options) => { ... }) 26 | -------------------------------------------------------------------------------- /frontend/tests/e2e/support/index.js: -------------------------------------------------------------------------------- 1 | // *********************************************************** 2 | // This example support/index.js is processed and 3 | // loaded automatically before your test files. 4 | // 5 | // This is a great place to put global configuration and 6 | // behavior that modifies Cypress. 7 | // 8 | // You can change the location of this file or turn off 9 | // automatically serving support files with the 10 | // 'supportFile' configuration option. 11 | // 12 | // You can read more here: 13 | // https://on.cypress.io/configuration 14 | // *********************************************************** 15 | 16 | // Import commands.js using ES2015 syntax: 17 | import './commands' 18 | 19 | // Alternatively you can use CommonJS syntax: 20 | // require('./commands') 21 | -------------------------------------------------------------------------------- /frontend/tests/unit/example.spec.js: -------------------------------------------------------------------------------- 1 | import { shallowMount } from '@vue/test-utils' 2 | import HelloWorld from '@/components/HelloWorld.vue' 3 | 4 | describe('HelloWorld.vue', () => { 5 | it('renders props.msg when passed', () => { 6 | const msg = 'new message' 7 | const wrapper = shallowMount(HelloWorld, { 8 | propsData: { msg } 9 | }) 10 | expect(wrapper.text()).toMatch(msg) 11 | }) 12 | }) 13 | -------------------------------------------------------------------------------- /frontend/vue.config.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | module.exports = { 4 | css: { 5 | extract: false // include the CSS in the lib build 6 | } 7 | } -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/997_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/997_right.jpeg -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/998_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/998_left.jpeg -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/998_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/998_right.jpeg -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/blur (1).jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/blur (1).jpg -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/blur.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/blur.jpg -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/cast_def_0_60.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/cast_def_0_60.jpeg -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/cast_ok_0_2190 (1).jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/cast_ok_0_2190 (1).jpeg -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/cast_ok_0_2190 (2).jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/cast_ok_0_2190 (2).jpeg -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/cast_ok_0_2190.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/cast_ok_0_2190.jpeg -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/full_profile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/full_profile.gif -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/full_profile_ext (1).gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/full_profile_ext (1).gif -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/full_profile_ext.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/full_profile_ext.gif -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/image (1) (1).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/image (1) (1).png -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/image (1).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/image (1).png -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/image (10) (1).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/image (10) (1).png -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/image (10).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/image (10).png -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/image (11) (1).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/image (11) (1).png -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/image (11).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/image (11).png -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/image (12) (1).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/image (12) (1).png -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/image (12).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/image (12).png -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/image (13) (1).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/image (13) (1).png -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/image (13).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/image (13).png -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/image (14) (1).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/image (14) (1).png -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/image (14).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/image (14).png -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/image (15) (1).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/image (15) (1).png -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/image (15).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/image (15).png -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/image (16) (1).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/image (16) (1).png -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/image (16).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/image (16).png -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/image (17) (1).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/image (17) (1).png -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/image (17).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/image (17).png -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/image (18) (1).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/image (18) (1).png -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/image (18).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/image (18).png -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/image (19) (1).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/image (19) (1).png -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/image (19).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/image (19).png -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/image (2) (1).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/image (2) (1).png -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/image (2).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/image (2).png -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/image (20).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/image (20).png -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/image (21) (1).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/image (21) (1).png -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/image (21).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/image (21).png -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/image (22).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/image (22).png -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/image (23).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/image (23).png -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/image (24).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/image (24).png -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/image (3) (1).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/image (3) (1).png -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/image (3).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/image (3).png -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/image (4) (1).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/image (4) (1).png -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/image (4).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/image (4).png -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/image (5) (1).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/image (5) (1).png -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/image (5).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/image (5).png -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/image (6).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/image (6).png -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/image (7).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/image (7).png -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/image (8) (1).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/image (8) (1).png -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/image (8).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/image (8).png -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/image (9).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/image (9).png -------------------------------------------------------------------------------- /gitbook/.gitbook/assets/image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/gitbook/.gitbook/assets/image.png -------------------------------------------------------------------------------- /gitbook/README.md: -------------------------------------------------------------------------------- 1 | --- 2 | description: Quick intro to the Raymon library. 3 | --- 4 | 5 | # Introducing Raymon 6 | 7 | ![Raymon: analyse data & model health](<.gitbook/assets/image (19) (1).png>) 8 | 9 | ## What is Raymon? 10 | 11 | **Raymon helps Machine Learning teams analyse data, data health and model performance in production.** Users can extract features describing data quality, data novelty, model confidence and prediction performance from data. Then, they can use these features to validate production data and monitor for data drift, data degradation and model degradation. 12 | 13 | **The Raymon library is open source and can be used standalone** but integrates nicely with the rest of the Raymon.ai ML Observability hub, for example to make predictions [traceable and debuggable](using-the-raymon-hub/untitled.md). 14 | 15 | **Raymon’s focus is on simplicity and extendability**. 16 | 17 | **We can support any data type**. Currently, we offer extractors for structured data and vision data, but these can easily be extended which means we can support any data type. 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /gitbook/SUMMARY.md​: -------------------------------------------------------------------------------- 1 | # Table of contents 2 | 3 | * [Introducing Raymon](README.md) 4 | 5 | ## Library: Model Profiles 6 | 7 | * [Installation](model-profiles-1/installation.md) 8 | * [Building a profile: structured data](model-profiles-1/building-house-prices.md) 9 | * [Building a profile: computer vision](model-profiles-1/building-computer-vision.md) 10 | * [Validating Data](model-profiles-1/validating-data.md) 11 | * [Contrasting Profiles](model-profiles-1/contrasting-profiles.md) 12 | * [Extractors in detail](model-profiles-1/available-extractors.md) 13 | 14 | ## Walkthrough: vision 15 | 16 | * [Intro: vision walkthrough](walkthrough-vision/intro-vision-walkthrough.md) 17 | * [Use case description](walkthrough-vision/use-case-description.md) 18 | * [Integrating Raymon](walkthrough-vision/integrating-raymon.md) 19 | * [Monitoring Data & Performance](walkthrough-vision/monitoring-data-and-performance.md) 20 | * [Slice-based monitoring](walkthrough-vision/slice-based-monitoring.md) 21 | * [Issues & Tuning](walkthrough-vision/issues-and-tuning.md) 22 | 23 | ## Using the Raymon hub 24 | 25 | * [Tracing predictions](using-the-raymon-hub/untitled.md) 26 | * [Tags](using-the-raymon-hub/tags.md) 27 | * [Slices](using-the-raymon-hub/slices.md) 28 | * [Issues](using-the-raymon-hub/issues.md) 29 | * [Dashboards](using-the-raymon-hub/dashboards.md) 30 | * [The Manifest](using-the-raymon-hub/the-manifest.md) 31 | * [M2M communication](using-the-raymon-hub/m2m-communication.md) 32 | 33 | ## Actions 34 | 35 | * [Intro](actions/intro.md) 36 | * [Visualisations](actions/visualisations.md) 37 | * [Mappers](actions/mappers.md) 38 | * [Reducers](actions/reducers.md) 39 | * [Sequence Mappers](actions/sequence-mappers.md) 40 | * [Alerts](actions/alerts.md) 41 | * [Cleanups](actions/cleanups.md) 42 | -------------------------------------------------------------------------------- /gitbook/actions/alerts.md: -------------------------------------------------------------------------------- 1 | # Alerts 2 | 3 | When Raymon's [reducers](reducers.md) detect issues, you may want to be alerted. This is possible by configuring alert actions. 4 | 5 | ## Web Hooks Alerts 6 | 7 | Alerts are always implemented through calling some apps web hook. 8 | 9 | ### Slack 10 | 11 | Slack allows apps to post messages to certain channels. You can set up Raymon to post a message to your slack channel when it has detected an issue. To get your slack incoming web hook, read [this](https://slack.com/help/articles/115005265063-Incoming-webhooks-for-Slack). 12 | 13 | ```yaml 14 | actions: 15 | visualize: # On demand 16 | alert: 17 | - name: slack_alerting 18 | type: slack 19 | webhook: 20 | 21 | ``` 22 | 23 | ### More coming! 24 | 25 | Let us know your feature requests in our [Github issues](https://github.com/raymon-ai/raymon/issues)! 26 | 27 | -------------------------------------------------------------------------------- /gitbook/actions/cleanups.md: -------------------------------------------------------------------------------- 1 | # Cleanups 2 | 3 | You probably don't want to store all data logged to Raymon forever. You can set data retention policies with cleanup actions. 4 | 5 | More coming soon. 6 | -------------------------------------------------------------------------------- /gitbook/actions/intro.md: -------------------------------------------------------------------------------- 1 | --- 2 | description: Introducing Actions. 3 | --- 4 | 5 | # Intro 6 | 7 | Raymon helps you analyse and monitor deployed AI systems. Since AI has countless different use cases and data types, it is impossible for Raymon to offer all data processing operations out-of-the-box. Often times, Data Scientists will want to plug in a certain operation and use its results in Raymon. This is what actions are for: they allow you to easily extend Raymon. 8 | 9 | There are various types of actions. There are visualisations, mappers, reducers, alerts and a few more. Some of those types allow you to specify your own function (e.g. an AWS Lambda function) that will be called by Raymon once a certain event occurs. 10 | 11 | ### Creating a manifest 12 | 13 | Actions are configured through the project manifest yaml file. A project manifest may look like this: 14 | 15 | ```yaml 16 | project_id: retinopathy 17 | actions: 18 | visualize: 19 | - name: show_request_data 20 | function: img2html 21 | inputs: 22 | data: request_data 23 | - name: show_resized_data 24 | function: img2html 25 | inputs: 26 | data: resized_data 27 | 28 | reduce: 29 | - reducer_type: profile_reducer 30 | name: retinopathy@3.0.0 31 | reducer_interval_m: 10 32 | 33 | map: 34 | - name: profile_eval 35 | mapper_type: profile_eval 36 | profile: retinopathy@3.0.0 37 | inputs: 38 | output: model_prediction # Ref 39 | actual: actual 40 | 41 | slices: 42 | - space: 43 | - tag: machine_id 44 | 45 | ``` 46 | 47 | We'll dig deeper into the actions in the following sections. 48 | 49 | ### Applying the manifest 50 | 51 | After creating a manifest file, you need to apply it to your project as follows: 52 | 53 | ```python 54 | from raymon import RaymonAPI 55 | 56 | with open("manifest.yaml", "r") as f: 57 | cfg = f.read() 58 | api = RaymonAPI(url=f"https://api.raymon.ai/v0") 59 | resp = api.orchestration_apply( 60 | project_id="", cfg=cfg 61 | ) 62 | resp 63 | ``` 64 | 65 | Now, let's discuss the action types in more detail! 66 | -------------------------------------------------------------------------------- /gitbook/actions/reducers.md: -------------------------------------------------------------------------------- 1 | # Reducers 2 | 3 | Reducers are actions that are triggered every x minutes, aggregate data (tags), perform checks resulting in issues and write those issues back to Raymon. These issues are then shown on the issues page if applicable. Reducers power Raymon's monitoring capabilities. 4 | 5 | ## Native Reducers 6 | 7 | 8 | 9 | ### Profile Reducers 10 | 11 | As already mentioned before, setting up monitoring for data quality, drift and model performance is done using a ModelProfile. Configuring this works like this: 12 | 13 | ```yaml 14 | actions: 15 | reduce: 16 | - reducer_type: profile_reducer . # Indicate that this is a profile reducer 17 | name: retinopathy@3.0.0 # The name needs to match the profile identifier 18 | reducer_interval_m: 10 # Execute this reducer every 10 minutes 19 | ``` 20 | 21 | Note: reducers work together with [slices](../using-the-raymon-hub/slices.md)! Read more [here](../walkthrough-vision/slice-based-monitoring.md). 22 | 23 | ## Web Hook Reducers 24 | 25 | There is no support for this since reducers require direct database access. 26 | -------------------------------------------------------------------------------- /gitbook/model-profiles-1/installation.md: -------------------------------------------------------------------------------- 1 | # Installation 2 | 3 | You can install the open source Python client library from pip. 4 | 5 | ``` 6 | pip install raymon 7 | ``` 8 | 9 | The library can be used standalone as will be described on the next pages, but integrates nicely with the rest of the Raymon.ai platform. See the [walkthrough](broken-reference) for more info. 10 | -------------------------------------------------------------------------------- /gitbook/using-the-raymon-hub/dashboards.md: -------------------------------------------------------------------------------- 1 | # Dashboards 2 | 3 | This page is WIP. More soon. 4 | -------------------------------------------------------------------------------- /gitbook/using-the-raymon-hub/issues.md: -------------------------------------------------------------------------------- 1 | # Issues 2 | 3 | This page is WIP. More soon. 4 | -------------------------------------------------------------------------------- /gitbook/using-the-raymon-hub/m2m-communication.md: -------------------------------------------------------------------------------- 1 | # M2M communication 2 | 3 | Most of the examples in the Raymon docs require you to log in to Raymon when executing the code. The code is then authenticated as you, a user. This is not always a good approach. For example, your production system that constantly processed data, and that may be a shared responsibility between multiple people should not be authenticated a a user, but as an application. Raymon supports this. 4 | 5 | ### Creating a machine 2 machine app 6 | 7 | First, you need to create an machine2machine app as shown below. This will save the m2m credentials as a JSON file. 8 | 9 | ```python 10 | from pathlib import Path 11 | from raymon import RaymonAPI 12 | 13 | from raymon.auth import m2m 14 | from raymon.auth import DEFAULT_ENV 15 | 16 | api = RaymonAPI(url=f"https://api.raymon.ai/v0") 17 | 18 | resp = api.project_m2mclient_get(project_id="4854ecdf-725e-4627-8600-4dadf1588072") 19 | if resp.ok: 20 | print(f"M2M creds found") 21 | m2mcreds = resp.json() 22 | else: 23 | print(f"Creating m2m creds") 24 | resp = api.project_m2mclient_add(project_id="4854ecdf-725e-4627-8600-4dadf1588072") 25 | m2mcreds = resp.json() 26 | 27 | outpath = (Path(".") / "m2mcreds-demo-retinopathy.json").resolve() 28 | 29 | print(f"Saving creds to {outpath.resolve()}") 30 | 31 | m2m.save_m2m_config( 32 | existing={}, 33 | project_id="4854ecdf-725e-4627-8600-4dadf1588072", 34 | auth_endpoint=DEFAULT_ENV["auth_url"], 35 | audience=DEFAULT_ENV["audience"], 36 | client_id=m2mcreds["4854ecdf-725e-4627-8600-4dadf1588072"]["client_id"], 37 | client_secret=m2mcreds["4854ecdf-725e-4627-8600-4dadf1588072"]["client_secret"], 38 | grant_type="client_credentials", 39 | out=outpath, 40 | ) 41 | ``` 42 | 43 | ### Using the machine 2 machine app 44 | 45 | To authenticate as an application, create the Raymon API object as follows: 46 | 47 | ```python 48 | api = RaymonAPI( 49 | url=f"https://api.raymon.ai/v0", 50 | project_id="4854ecdf-725e-4627-8600-4dadf1588072", 51 | auth_path=outpath, 52 | ) 53 | ``` 54 | 55 | It's important to note here that an m2m app is always tied to a project id. It only has access to that specific project id. Not specifying the project id when construction the API object will prompt you to authenticate as user. 56 | -------------------------------------------------------------------------------- /gitbook/using-the-raymon-hub/slices.md: -------------------------------------------------------------------------------- 1 | # Slices 2 | 3 | This page is WIP. More soon. 4 | 5 | ```yaml 6 | slices: 7 | - slicestr: client==Remax && app==v1.0.0 8 | - space: 9 | - tag: client 10 | - space: 11 | - tag: client 12 | - tag: app 13 | ``` 14 | -------------------------------------------------------------------------------- /gitbook/using-the-raymon-hub/tags.md: -------------------------------------------------------------------------------- 1 | # Tags 2 | 3 | 4 | 5 | Tags are a core concept of raymon, both for the raymon library and on the Raymon platform. A tag is a dictionary that has a `name`, `value`, `type` and optionally a `group `key. Tags can be used to attach any type of metadata to a [trace](untitled.md). 6 | 7 | Tags may look las follows: 8 | 9 | ```javascript 10 | [{'type': 'profile-input', 11 | 'name': 'mssubclass', 12 | 'value': 70, 13 | 'group': 'housepricescheap@3.0.0'}, 14 | {'type': 'profile-input', 15 | 'name': 'lotarea', 16 | 'value': 9550, 17 | 'group': 'housepricescheap@3.0.0'}, 18 | {'type': 'profile-input', 19 | 'name': 'overallqual', 20 | 'value': 7, 21 | 'group': 'housepricescheap@3.0.0'}, 22 | {'type': 'profile-input', 23 | 'name': 'overallcond', 24 | 'value': 5, 25 | 'group': 'housepricescheap@3.0.0'}, 26 | {'type': 'profile-input', 27 | 'name': 'yearbuilt', 28 | 'value': 1915, 29 | 'group': 'housepricescheap@3.0.0'}, 30 | {'type': 'profile-input', 31 | 'name': 'yearremodadd', 32 | 'value': 1970, 33 | 'group': 'housepricescheap@3.0.0'}, 34 | ... 35 | ] 36 | ``` 37 | 38 | Raymon uses tags heavily. Basically everything: monitoring, slicing, data filtering, and more is done based on those tags. 39 | 40 | -------------------------------------------------------------------------------- /gitbook/using-the-raymon-hub/the-manifest.md: -------------------------------------------------------------------------------- 1 | --- 2 | description: >- 3 | The project manifest allows you to configure the Raymon platform for your 4 | project. 5 | --- 6 | 7 | # The Manifest 8 | 9 | ### Creating a manifest 10 | 11 | The project manifest allows you to configure the Raymon platform for your project. For example, [actions](broken-reference) and [slices](slices.md) are configured through the project manifest. The manifest is a yaml file, generally called `manifest.yaml` in the docs and example code). A project manifest may look like this: 12 | 13 | ```yaml 14 | project_id: retinopathy 15 | actions: 16 | visualize: 17 | - name: show_request_data 18 | function: img2html 19 | inputs: 20 | data: request_data 21 | - name: show_resized_data 22 | function: img2html 23 | inputs: 24 | data: resized_data 25 | 26 | reduce: 27 | - reducer_type: profile_reducer 28 | name: retinopathy@3.0.0 29 | reducer_interval_m: 10 30 | 31 | map: 32 | - name: profile_eval 33 | mapper_type: profile_eval 34 | profile: retinopathy@3.0.0 35 | inputs: 36 | output: model_prediction # Ref 37 | actual: actual 38 | 39 | slices: 40 | - space: 41 | - tag: machine_id 42 | 43 | ``` 44 | 45 | ### Applying the manifest 46 | 47 | After creating or updating a manifest file, you need to apply it to your project as follows: 48 | 49 | ```python 50 | from raymon import RaymonAPI 51 | 52 | with open("manifest.yaml", "r") as f: 53 | cfg = f.read() 54 | api = RaymonAPI(url=f"https://api.raymon.ai/v0") 55 | resp = api.orchestration_apply( 56 | project_id="", cfg=cfg 57 | ) 58 | resp 59 | ``` 60 | -------------------------------------------------------------------------------- /gitbook/walkthrough-vision/intro-vision-walkthrough.md: -------------------------------------------------------------------------------- 1 | --- 2 | description: Setting the scene for the walkthrough. 3 | --- 4 | 5 | # Intro: vision walkthrough 6 | 7 | This walkthrough gives a complete overview of the required steps to get started with Raymon. It uses the use case of a simplified computer vision project (with a mocked out model). 8 | 9 | The code and data for this walkthrough can be found on Github [here](https://github.com/raymon-ai/raymon-demos/tree/master/retinopathy). You can go ahead and clone the repo to your local machine. Since it includes data, it can be rather big. For this use case, you'll use the contents of the `retinopathy` directory. 10 | 11 | ```bash 12 | git clone git@github.com:raymon-ai/raymon-demos.git 13 | cd raymon-demos/retinopathy 14 | ``` 15 | 16 | Next, you should install the demo (in editable mode) and its requirements: 17 | 18 | ```bash 19 | pip install -e . 20 | ``` 21 | 22 | Installing in editable mode will make sure you can easily change the code during this walkthrough. 23 | 24 | ## What's next? 25 | 26 | The walkthrough contains the following steps: 27 | 28 | * Introducing the existing use case 29 | * Integrating Raymon: data validation and data inspection 30 | * Setting up monitoring with Raymon 31 | * Setting up slice-based monitoring 32 | * Issues & Tuning 33 | 34 | -------------------------------------------------------------------------------- /manifest.yml: -------------------------------------------------------------------------------- 1 | --- 2 | version: draft 3 | pipelines: 4 | - name: show_input 5 | input: 6 | ref: network_input_img 7 | visualize: img 8 | map: 9 | function: null 10 | fparams: null 11 | visualize: null 12 | vparams: null 13 | reduce: 14 | - function: null 15 | fparams: null 16 | visualize: null 17 | vparams: null 18 | name: default 19 | 20 | - name: intesity_hist 21 | input: 22 | ref: network_input_img 23 | map: 24 | function: img2hist 25 | fparams: 26 | bins: 32 27 | reduce: 28 | - function: weighted_avg 29 | interval: 10s 30 | name: wavg 31 | -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- 1 | 2 | [tool.black] 3 | exclude = ''' 4 | /( 5 | \.eggs 6 | | \.git 7 | | \.hg 8 | | \.mypy_cache 9 | | \.tox 10 | | \.venv 11 | | _build 12 | | buck-out 13 | | build 14 | | dist 15 | | dev 16 | | examples 17 | | integration_tests 18 | | doc_code 19 | )/ 20 | ''' 21 | include = '\.pyi?$' 22 | line-length = 120 23 | target-version = ['py36', 'py37', 'py38'] 24 | 25 | [tool.pylint.messages_control] 26 | disable = "C0330, C0326" 27 | 28 | [tool.pylint.format] 29 | max-line-length = "120" 30 | 31 | [tool.pytest.ini_options] 32 | testpaths = [ 33 | "raymon/tests", 34 | ] 35 | -------------------------------------------------------------------------------- /raymon/__init__.py: -------------------------------------------------------------------------------- 1 | from raymon.api import RaymonAPI 2 | from raymon.loggers import RaymonAPILogger 3 | from raymon.trace import Trace 4 | from raymon.tags import Tag 5 | from raymon.globals import Serializable, DataException 6 | from raymon.profiling.profiles import ModelProfile 7 | from raymon.profiling.components import ( 8 | InputComponent, 9 | OutputComponent, 10 | ActualComponent, 11 | EvalComponent, 12 | DataType, 13 | Component, 14 | ) 15 | from raymon.profiling.stats import IntStats, FloatStats, CategoricStats, Stats 16 | from raymon.profiling.extractors import Extractor 17 | 18 | from .version import __version__ 19 | 20 | __current_trace = None 21 | 22 | 23 | class TraceException(Exception): 24 | pass 25 | 26 | 27 | def set_current_trace(trace): 28 | global __current_trace 29 | if not isinstance(trace, Trace): 30 | raise TypeError(f"trace is not of type Trace") 31 | __current_trace = trace 32 | 33 | 34 | def current_trace(): 35 | if isinstance(__current_trace, Trace): 36 | return __current_trace 37 | else: 38 | raise TraceException("No current Trace set") 39 | 40 | 41 | def clear_trace(): 42 | global __current_trace 43 | __current_trace = None 44 | -------------------------------------------------------------------------------- /raymon/exceptions.py: -------------------------------------------------------------------------------- 1 | class NetworkException(Exception): 2 | pass 3 | 4 | 5 | class SecretException(Exception): 6 | pass 7 | -------------------------------------------------------------------------------- /raymon/models/mobilenetv2-7.onnx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/models/mobilenetv2-7.onnx -------------------------------------------------------------------------------- /raymon/out.py: -------------------------------------------------------------------------------- 1 | import os, sys 2 | from contextlib import nullcontext 3 | 4 | 5 | class NoOutput: 6 | def __enter__(self): 7 | self._original_stdout = sys.stdout 8 | sys.stdout = open(os.devnull, "w") 9 | 10 | def __exit__(self, exc_type, exc_val, exc_tb): 11 | sys.stdout.close() 12 | sys.stdout = self._original_stdout 13 | -------------------------------------------------------------------------------- /raymon/profiling/__init__.py: -------------------------------------------------------------------------------- 1 | from .profiles import ModelProfile 2 | from .components import InputComponent, OutputComponent, ActualComponent, EvalComponent, DataType 3 | from .stats import NumericStats, CategoricStats 4 | from .scores import Score, MeanScore, PrecisionScore, RecallScore 5 | -------------------------------------------------------------------------------- /raymon/profiling/extractors/__init__.py: -------------------------------------------------------------------------------- 1 | from .extractors import ( 2 | Extractor, 3 | NoneEvalExtractor, 4 | NoneExtractor, 5 | SimpleExtractor, 6 | EvalExtractor, 7 | SequenceEvalExtractor, 8 | SequenceSimpleExtractor, 9 | ) 10 | -------------------------------------------------------------------------------- /raymon/profiling/extractors/structured/__init__.py: -------------------------------------------------------------------------------- 1 | from .element import ElementExtractor, MaxScoreElementExtractor, generate_components 2 | from .kmeans import KMeansOutlierScorer 3 | from .margin import ClassificationMarginExtractor 4 | from .iforest import IsolationForestOutlierScorer 5 | from .entropy import ClassificationEntropyExtractor 6 | -------------------------------------------------------------------------------- /raymon/profiling/extractors/structured/entropy.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | from scipy.stats import entropy 3 | from raymon.globals import DataException, ExtractorException 4 | from raymon.profiling.extractors import SimpleExtractor 5 | 6 | 7 | class ClassificationEntropyExtractor(SimpleExtractor): 8 | """ 9 | Takes the output of a classifier (i.e. a vector of probabilities) and extracts the entropy. 10 | """ 11 | 12 | def extract(self, data): 13 | h = float(entropy(data)) 14 | return h 15 | 16 | """Serializable interface """ 17 | 18 | def to_jcr(self): 19 | data = { 20 | "class": self.class2str(), 21 | "state": {}, 22 | } 23 | return data 24 | 25 | @classmethod 26 | def from_jcr(cls, jcr): 27 | return cls(**jcr) 28 | 29 | """Buildable interface""" 30 | 31 | def build(self, data): 32 | pass 33 | 34 | def is_built(self): 35 | return True 36 | 37 | def __str__(self): 38 | return f"{self.__class__.__name__}()" 39 | -------------------------------------------------------------------------------- /raymon/profiling/extractors/structured/margin.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | 3 | from raymon.globals import DataException, ExtractorException 4 | from raymon.profiling.extractors import SimpleExtractor 5 | 6 | 7 | class ClassificationMarginExtractor(SimpleExtractor): 8 | """ 9 | Takes the output of a classifier (i.e. a vector of probabilities) and extracts the classification margin, which is the difference in probability between the most likely and the second most likely class. 10 | """ 11 | 12 | def extract(self, data): 13 | asc = np.sort(data) 14 | margin = float(1 - (asc[-1] - asc[-2])) ** 2 15 | return margin 16 | 17 | """Serializable interface """ 18 | 19 | def to_jcr(self): 20 | data = { 21 | "class": self.class2str(), 22 | "state": {}, 23 | } 24 | return data 25 | 26 | @classmethod 27 | def from_jcr(cls, jcr): 28 | return cls(**jcr) 29 | 30 | """Buildable interface""" 31 | 32 | def build(self, data): 33 | pass 34 | 35 | def is_built(self): 36 | return True 37 | 38 | def __str__(self): 39 | return f"{self.__class__.__name__}()" 40 | -------------------------------------------------------------------------------- /raymon/profiling/extractors/vision/__init__.py: -------------------------------------------------------------------------------- 1 | from .intensity import AvgIntensity 2 | from .sharpness import Sharpness 3 | from .similarity import FixedSubpatchSimilarity 4 | from .anomaly import DN2AnomalyScorer 5 | from .yolo import YoloConfidenceExtractor 6 | -------------------------------------------------------------------------------- /raymon/profiling/extractors/vision/intensity.py: -------------------------------------------------------------------------------- 1 | from PIL import Image, ImageFilter 2 | import numpy as np 3 | 4 | from raymon.profiling.extractors import SimpleExtractor 5 | 6 | 7 | class AvgIntensity(SimpleExtractor): 8 | 9 | _attrs = [] 10 | 11 | def extract(self, data): 12 | img = data.convert("L") 13 | return float(np.array(img).mean()) 14 | 15 | """Serializable inteface """ 16 | 17 | def to_jcr(self): 18 | state = {"class": self.class2str(), "state": {}} 19 | return state 20 | 21 | @classmethod 22 | def from_jcr(cls, jcr): 23 | return cls() 24 | 25 | """Buildable interface""" 26 | 27 | def build(self, data): 28 | pass 29 | 30 | def is_built(self): 31 | return True 32 | -------------------------------------------------------------------------------- /raymon/profiling/extractors/vision/sharpness.py: -------------------------------------------------------------------------------- 1 | from PIL import ImageFilter 2 | import numpy as np 3 | 4 | from raymon.profiling.extractors import SimpleExtractor 5 | 6 | 7 | class Sharpness(SimpleExtractor): 8 | """Measures the blurryness or sharpness of an iamge. Based on 9 | https://www.pyimagesearch.com/2015/09/07/blur-detection-with-opencv/ 10 | """ 11 | 12 | def extract(self, data): 13 | img = data.convert("L") 14 | filtered = img.filter(ImageFilter.Kernel((3, 3), (0, 1, 0, 1, -4, 1, 0, 1, 0), scale=1, offset=0)) 15 | return float(np.array(filtered).mean()) # .var()) 16 | 17 | """Serializable inteface """ 18 | 19 | def to_jcr(self): 20 | state = {"class": self.class2str(), "state": {}} 21 | return state 22 | 23 | @classmethod 24 | def from_jcr(cls, jcr): 25 | return cls() 26 | 27 | """Buildable interface""" 28 | 29 | def build(self, data): 30 | pass 31 | 32 | def is_built(self): 33 | return True 34 | -------------------------------------------------------------------------------- /raymon/profiling/extractors/vision/yolo.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | 3 | from raymon.profiling.extractors import SimpleExtractor 4 | 5 | 6 | class YoloConfidenceExtractor(SimpleExtractor): 7 | def __init__(self, aggregation="mean"): 8 | self.aggregation = aggregation 9 | 10 | """ 11 | PROPERTIES 12 | """ 13 | 14 | @property 15 | def aggregation(self): 16 | return self._aggregation 17 | 18 | @aggregation.setter 19 | def aggregation(self, value): 20 | 21 | if isinstance(value, str) and value in ["mean", "min"]: 22 | self._aggregation = value 23 | else: 24 | raise ValueError(f"aggregation must be either 'mean', or 'min'") 25 | 26 | """Feature extractor""" 27 | 28 | def extract(self, data): 29 | # data = boxes 30 | confidences = data[:, 4] 31 | if self.aggregation == "mean": 32 | return float(np.mean(confidences)) 33 | else: 34 | return float(np.min(confidences)) 35 | 36 | """Serializable interface """ 37 | 38 | def to_jcr(self): 39 | data = { 40 | "aggregation": self.aggregation, 41 | } 42 | state = {"class": self.class2str(), "state": data} 43 | return state 44 | 45 | @classmethod 46 | def from_jcr(cls, jcr): 47 | aggregation = "mean" 48 | if "aggregation" in jcr: 49 | aggregation = jcr["aggregation"] 50 | 51 | return cls(aggregation=aggregation) 52 | 53 | """Buildable interface""" 54 | 55 | def build(self, data): 56 | pass 57 | 58 | def is_built(self): 59 | return True 60 | 61 | def __str__(self): 62 | return f"{self.class2str()} ({self.aggregation})" 63 | -------------------------------------------------------------------------------- /raymon/profiling/utils.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import pandas as pd 3 | 4 | 5 | def filter_nan(values): 6 | return [v for v in values if isinstance(v, str) or not np.isnan(v)] 7 | -------------------------------------------------------------------------------- /raymon/tests/conftest.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | import pickle 3 | 4 | # import raymon 5 | from raymon.auth.m2m import save_m2m_config 6 | from raymon.auth.user import save_user_config 7 | from PIL import Image 8 | import glob 9 | 10 | 11 | PROJECT_NAME = "testing_project" 12 | 13 | 14 | @pytest.fixture 15 | def secret_file(tmp_path): 16 | tmp_file = tmp_path / "secret.json" 17 | save_m2m_config( 18 | existing={}, 19 | project_id="testing_project", 20 | auth_endpoint="http://testing-url", 21 | audience="test_audience", 22 | client_id="test_id", 23 | client_secret="test_secret", 24 | grant_type="test_grant", 25 | out=tmp_file, 26 | ) 27 | return tmp_file 28 | 29 | 30 | @pytest.fixture 31 | def secret_file_user(tmp_path): 32 | tmp_file = tmp_path / "secret.json" 33 | save_user_config( 34 | existing={}, 35 | auth_endpoint="http://testing-url", 36 | audience="test_audience", 37 | client_id="test_id", 38 | token=None, 39 | out=tmp_file, 40 | env={"auth_url": "testing_auth", "audience": "raymon-backend-api", "client_id": "testing-id"}, 41 | ) 42 | return tmp_file 43 | 44 | 45 | @pytest.fixture 46 | def envsecretfile(tmp_path): 47 | tmp_file = tmp_path / "secret.txt" 48 | with open(tmp_file, "w") as f: 49 | f.write("client_secret") 50 | return tmp_file 51 | 52 | 53 | @pytest.fixture 54 | def images(dpath="raymon/tests/sample_data/retinopathy", lim=10): 55 | files = glob.glob(dpath + "/*.jpeg") 56 | images = [] 57 | for n, fpath in enumerate(files): 58 | if n == lim: 59 | break 60 | img = Image.open(fpath) 61 | img.thumbnail(size=(500, 500)) 62 | images.append(img) 63 | return images 64 | 65 | 66 | @pytest.fixture 67 | def cocodata(dpath="raymon/tests/sample_data/coco/input-output.pkl", lim=10): 68 | with open(dpath, "rb") as f: 69 | images, outputs = pickle.load(f) 70 | return images, outputs 71 | 72 | 73 | @pytest.fixture 74 | def lenna_path(): 75 | return "raymon/tests/sample_data/Lenna.png" 76 | 77 | 78 | @pytest.fixture 79 | def cheap_houses_csv(): 80 | return "raymon/tests/sample_data/houseprices/subset-cheap.csv" 81 | 82 | 83 | @pytest.fixture 84 | def exp_houses_csv(): 85 | return "raymon/tests/sample_data/houseprices/subset-exp.csv" 86 | -------------------------------------------------------------------------------- /raymon/tests/profiling/test_element.py: -------------------------------------------------------------------------------- 1 | from raymon.profiling.extractors.structured import ElementExtractor 2 | import pandas as pd 3 | import numpy as np 4 | 5 | 6 | def test_element(): 7 | extractor = ElementExtractor(3) 8 | extractor.element = 4 9 | assert extractor.element == 4 10 | 11 | 12 | def test_extract(): 13 | vector1 = np.array([[10], [20], [30]]) 14 | assert ElementExtractor(2).extract(vector1) == [30] 15 | cols = { 16 | "num1": list(range(10)), 17 | "cat1": ["a"] * 5 + ["b"] * 5, 18 | "cat2": ["c"] * 5 + ["d"] * 5, 19 | "num2": [0.2] * 10, 20 | } 21 | df = pd.DataFrame(data=cols) 22 | assert ElementExtractor("cat1").extract(df.iloc[0, :]) == "a" 23 | 24 | 25 | def test_to_jcr(): 26 | jcr = ElementExtractor(3).to_jcr() 27 | assert jcr["class"] == "raymon.profiling.extractors.structured.element.ElementExtractor" 28 | assert jcr["state"]["element"] == 3 29 | 30 | 31 | def test_from_jcr(): 32 | extractor = ElementExtractor(3) 33 | jcr = extractor.to_jcr() 34 | assert extractor.from_jcr(jcr["state"]).element == 3 35 | 36 | 37 | def test_build(images): 38 | ElementExtractor(3).build(images) 39 | 40 | 41 | def test_is_built(): 42 | assert ElementExtractor(3).is_built() 43 | 44 | 45 | def test_str(): 46 | assert str(ElementExtractor(3)) == "ElementExtractor(element=3)" 47 | -------------------------------------------------------------------------------- /raymon/tests/profiling/test_intensity.py: -------------------------------------------------------------------------------- 1 | from raymon.profiling.extractors.vision import AvgIntensity 2 | 3 | 4 | def test_extract(images): 5 | assert isinstance(AvgIntensity().extract(images[0]), float) 6 | 7 | 8 | def test_extract_multiple(images): 9 | avg_intensity_list = AvgIntensity().extract_multiple(images) 10 | assert isinstance(avg_intensity_list, list) 11 | assert len(avg_intensity_list) == 10 12 | assert isinstance(avg_intensity_list[0], float) 13 | 14 | 15 | def test_to_jcr(): 16 | jcr = AvgIntensity().to_jcr() 17 | assert jcr["class"] == "raymon.profiling.extractors.vision.intensity.AvgIntensity" 18 | assert len(jcr["state"]) == 0 19 | 20 | 21 | def test_from_jcr(): 22 | extractor = AvgIntensity() 23 | jcr = extractor.to_jcr() 24 | assert isinstance(extractor.from_jcr(jcr["state"]), AvgIntensity) 25 | 26 | 27 | def test_build(images): 28 | AvgIntensity().build(images[0]) 29 | 30 | 31 | def test_is_built(): 32 | assert AvgIntensity().is_built() 33 | -------------------------------------------------------------------------------- /raymon/tests/profiling/test_sharpness.py: -------------------------------------------------------------------------------- 1 | from raymon.profiling.extractors.vision import Sharpness 2 | 3 | 4 | def test_extract(images): 5 | assert isinstance(Sharpness().extract(images[0]), float) 6 | 7 | 8 | def test_extract_multiple(images): 9 | avg_intensity_list = Sharpness().extract_multiple(images) 10 | assert isinstance(avg_intensity_list, list) 11 | assert isinstance(avg_intensity_list[0], float) 12 | 13 | 14 | def test_to_jcr(): 15 | jcr = Sharpness().to_jcr() 16 | assert jcr["class"] == "raymon.profiling.extractors.vision.sharpness.Sharpness" 17 | assert not jcr["state"] 18 | 19 | 20 | def test_from_jcr(): 21 | extractor = Sharpness() 22 | jcr = extractor.to_jcr() 23 | assert isinstance(extractor.from_jcr(jcr["state"]), Sharpness) 24 | 25 | 26 | def test_build(images): 27 | assert not Sharpness().build(images[0]) 28 | 29 | 30 | def test_is_built(): 31 | assert Sharpness().is_built() 32 | -------------------------------------------------------------------------------- /raymon/tests/sample_data/Lenna.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/Lenna.png -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/README.md: -------------------------------------------------------------------------------- 1 | The image data used in this repository is taken from [Kaggle](https://www.kaggle.com/ravirajsinh45/real-life-industrial-dataset-of-casting-product) and is courtesy of PILOT TECHNOCAST, Shapar, Rajkot. Commercial use of this data is not permitted, but we have received permission to use this data in our tutorials. -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/def_front/cast_def_0_0.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/def_front/cast_def_0_0.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/def_front/cast_def_0_11.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/def_front/cast_def_0_11.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/def_front/cast_def_0_13.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/def_front/cast_def_0_13.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/def_front/cast_def_0_15.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/def_front/cast_def_0_15.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/def_front/cast_def_0_19.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/def_front/cast_def_0_19.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/def_front/cast_def_0_2.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/def_front/cast_def_0_2.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/def_front/cast_def_0_21.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/def_front/cast_def_0_21.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/def_front/cast_def_0_24.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/def_front/cast_def_0_24.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/def_front/cast_def_0_25.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/def_front/cast_def_0_25.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/def_front/cast_def_0_26.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/def_front/cast_def_0_26.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/def_front/cast_def_0_27.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/def_front/cast_def_0_27.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/def_front/cast_def_0_31.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/def_front/cast_def_0_31.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/def_front/cast_def_0_33.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/def_front/cast_def_0_33.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/def_front/cast_def_0_40.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/def_front/cast_def_0_40.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/def_front/cast_def_0_41.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/def_front/cast_def_0_41.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/def_front/cast_def_0_43.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/def_front/cast_def_0_43.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/def_front/cast_def_0_50.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/def_front/cast_def_0_50.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/def_front/cast_def_0_51.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/def_front/cast_def_0_51.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/def_front/cast_def_0_53.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/def_front/cast_def_0_53.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/def_front/cast_def_0_54.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/def_front/cast_def_0_54.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/def_front/cast_def_0_55.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/def_front/cast_def_0_55.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/def_front/cast_def_0_56.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/def_front/cast_def_0_56.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/def_front/cast_def_0_60.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/def_front/cast_def_0_60.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/def_front/cast_def_0_61.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/def_front/cast_def_0_61.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/def_front/cast_def_0_66.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/def_front/cast_def_0_66.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/def_front/cast_def_0_68.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/def_front/cast_def_0_68.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/def_front/cast_def_0_69.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/def_front/cast_def_0_69.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/def_front/cast_def_0_70.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/def_front/cast_def_0_70.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/def_front/cast_def_0_8.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/def_front/cast_def_0_8.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/def_front/cast_def_0_9.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/def_front/cast_def_0_9.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_1.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_1.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_101.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_101.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_102.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_102.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_104.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_104.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_108.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_108.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_112.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_112.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_114.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_114.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_118.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_118.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_12.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_12.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_120.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_120.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_121.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_121.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_122.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_122.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_125.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_125.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_127.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_127.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_128.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_128.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_141.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_141.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_142.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_142.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_143.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_143.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_146.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_146.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_147.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_147.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_149.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_149.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_152.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_152.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_153.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_153.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_154.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_154.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_157.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_157.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_16.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_16.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_167.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_167.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_169.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_169.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_170.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_170.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_171.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_171.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_175.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_175.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_182.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_182.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_184.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_184.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_186.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_186.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_188.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_188.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_189.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_189.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_19.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_19.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_191.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_191.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_193.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_193.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_196.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_196.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_198.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_198.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_1987.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_1987.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_1989.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_1989.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_1992.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_1992.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_1995.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_1995.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2002.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2002.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2012.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2012.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2016.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2016.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2022.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2022.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2024.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2024.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2026.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2026.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2031.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2031.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2033.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2033.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2038.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2038.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2039.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2039.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2042.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2042.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2045.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2045.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2048.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2048.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2049.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2049.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_205.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_205.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2050.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2050.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2051.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2051.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2052.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2052.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2053.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2053.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2056.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2056.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2057.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2057.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2058.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2058.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2062.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2062.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2066.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2066.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2068.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2068.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2070.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2070.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2077.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2077.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2078.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2078.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2081.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2081.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2082.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2082.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2083.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2083.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2084.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2084.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2085.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2085.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2087.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2087.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2094.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2094.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2095.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2095.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2098.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2098.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2099.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2099.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2100.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2100.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2103.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2103.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2109.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2109.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_211.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_211.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2110.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2110.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2118.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2118.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2119.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2119.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2120.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2120.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2129.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2129.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_213.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_213.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2132.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2132.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2134.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2134.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2136.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2136.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2138.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2138.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2139.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2139.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2141.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2141.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2144.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2144.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2152.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2152.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2156.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2156.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2159.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2159.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2160.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2160.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2161.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2161.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2163.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2163.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2164.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2164.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2169.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2169.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2170.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2170.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2182.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2182.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2187.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2187.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2190.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2190.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2194.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2194.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2195.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2195.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_22.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_22.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_220.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_220.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2200.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2200.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2201.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2201.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2207.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2207.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2214.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2214.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2218.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2218.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2219.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2219.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2227.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2227.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2233.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2233.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2237.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2237.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2238.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2238.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2249.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2249.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2250.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2250.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2258.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2258.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2262.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2262.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2266.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2266.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2269.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2269.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2270.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2270.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2273.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2273.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2275.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2275.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2277.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2277.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2278.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2278.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2285.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2285.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2290.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2290.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2296.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2296.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2306.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2306.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2307.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2307.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2308.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2308.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2310.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2310.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2315.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2315.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2317.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2317.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2318.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2318.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2323.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2323.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2326.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2326.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2327.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2327.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_233.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_233.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2330.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2330.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2333.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2333.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2336.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2336.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2338.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2338.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2349.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2349.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2350.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2350.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2365.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2365.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2372.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2372.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2373.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2373.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2379.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2379.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2383.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2383.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2384.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2384.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2385.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2385.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_239.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_239.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2390.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2390.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2392.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2392.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2393.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2393.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2394.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2394.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2401.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2401.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2402.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2402.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2404.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2404.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2409.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2409.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_242.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_242.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2421.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2421.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2427.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2427.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2431.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2431.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2438.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2438.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2439.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2439.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_244.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_244.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2440.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2440.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2447.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2447.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2459.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2459.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2460.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2460.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2461.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2461.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2467.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2467.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2474.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2474.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2477.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2477.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2479.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2479.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_248.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_248.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2480.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_2480.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_249.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_249.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_250.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_250.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_262.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_262.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_263.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_263.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_266.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_266.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_269.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_269.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_271.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_271.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_273.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_273.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_278.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_278.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_28.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_28.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_284.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_284.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_286.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_286.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_29.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_29.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_294.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_294.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_296.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_296.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_298.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_298.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_300.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_300.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_34.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_34.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_39.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_39.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_40.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_40.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_41.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_41.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_45.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_45.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_46.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_46.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_51.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_51.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_55.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_55.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_57.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_57.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_60.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_60.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_65.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_65.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_70.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_70.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_71.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_71.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_75.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_75.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_76.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_76.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_77.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_77.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_78.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_78.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_8.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_8.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_82.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_82.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_88.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_88.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_9.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_9.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_91.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_91.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_97.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_97.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_98.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/castinginspection/ok_front/cast_ok_0_98.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/coco/input-output.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/coco/input-output.pkl -------------------------------------------------------------------------------- /raymon/tests/sample_data/retinopathy/8425_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/retinopathy/8425_right.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/retinopathy/84_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/retinopathy/84_left.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/retinopathy/857_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/retinopathy/857_right.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/retinopathy/8627_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/retinopathy/8627_left.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/retinopathy/8631_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/retinopathy/8631_left.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/retinopathy/863_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/retinopathy/863_right.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/retinopathy/880_right.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/retinopathy/880_right.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/retinopathy/899_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/retinopathy/899_left.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/retinopathy/906_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/retinopathy/906_left.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/retinopathy/912_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/retinopathy/912_left.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/retinopathy/953_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/retinopathy/953_left.jpeg -------------------------------------------------------------------------------- /raymon/tests/sample_data/retinopathy/983_left.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raymon-ai/raymon/f3b92ca5839b8011b8cefbaf37baf59f5c1fcb2c/raymon/tests/sample_data/retinopathy/983_left.jpeg -------------------------------------------------------------------------------- /raymon/tests/test_trace.py: -------------------------------------------------------------------------------- 1 | #%% 2 | import raymon 3 | from raymon.trace import Trace 4 | 5 | import pytest 6 | 7 | 8 | class MockLogger: 9 | # def __init__(self, context="testing", project_id="default"): 10 | # super().__init__(context=context, project_id=project_id) 11 | """ 12 | Functions related to logging of rays 13 | """ 14 | 15 | def log(self, trace_id, ref, data): 16 | pass 17 | 18 | def flush(self): 19 | pass 20 | 21 | 22 | def test_set_global_noneset(): 23 | raymon.clear_trace() 24 | with pytest.raises(raymon.TraceException): 25 | trace = raymon.current_trace() 26 | 27 | 28 | def test_set_global(): 29 | raymon.clear_trace() 30 | logger = MockLogger() 31 | trace = Trace(logger=logger) 32 | trace2 = raymon.current_trace() 33 | assert trace == trace2 34 | 35 | 36 | def test_not_set_global(): 37 | raymon.clear_trace() 38 | logger = MockLogger() 39 | trace = Trace(logger=logger, set_global=False) 40 | with pytest.raises(raymon.TraceException): 41 | raymon.current_trace() 42 | 43 | 44 | def test_not_set_global_one(): 45 | raymon.clear_trace() 46 | logger = MockLogger() 47 | trace1 = Trace(logger=logger, set_global=False) 48 | trace2 = Trace(logger=logger) 49 | trace3 = raymon.current_trace() 50 | assert trace1 != trace2 51 | assert trace2 == trace3 52 | -------------------------------------------------------------------------------- /raymon/version.py: -------------------------------------------------------------------------------- 1 | __version__ = "0.0.40-rc4" 2 | -------------------------------------------------------------------------------- /requirements-dev.txt: -------------------------------------------------------------------------------- 1 | -r requirements.txt 2 | -r docsrc/requirements.txt 3 | twine 4 | coverage 5 | coverage-badge # Required for github actions 6 | pre-commit 7 | pytest 8 | wheel 9 | black 10 | pip-licenses 11 | pylint 12 | bump2version 13 | sphinx # Docs 14 | 15 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | pyyaml 2 | msgpack==1.0.0 3 | pendulum 4 | click 5 | pandas 6 | requests 7 | Pillow 8 | onnxruntime==1.8.0 9 | imagehash 10 | sklearn -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | import setuptools 2 | import os 3 | 4 | exec(open("raymon/version.py").read()) # Loads __version__ 5 | ROOT_DIR = os.path.dirname(__file__) 6 | REQUIREMENTS = [line.strip() for line in open(os.path.join(ROOT_DIR, "requirements.txt")).readlines()] 7 | with open("README.md", "r") as fh: 8 | LONG_DESC = fh.read() 9 | 10 | setuptools.setup( 11 | name="raymon", 12 | version=__version__, 13 | author="Raymon.ai", 14 | author_email="hello@raymon.ai", 15 | description="Python package for data logging and monitoring.", 16 | long_description=LONG_DESC, 17 | long_description_content_type="text/markdown", 18 | url="https://raymon.ai", 19 | packages=setuptools.find_packages(), 20 | license="MIT", 21 | classifiers=[ 22 | "Programming Language :: Python :: 3", 23 | ], 24 | python_requires=">=3.6", 25 | install_requires=REQUIREMENTS, 26 | package_data={ 27 | "raymon": ["frontend/*", "models/*"], 28 | }, 29 | ) 30 | --------------------------------------------------------------------------------