Публічний реєстр
Звіт про здоров'я програмного забезпеченнясхема 0.34.0 · метрики 2.10.0 · 2026-09-17 18:50 UTC

zenml-io / zenml

ZenML 🙏: One AI Platform from Pipelines to Agents. https://zenml.io.

PythonApache-2.0★ 5 582 зірки⑂ 657 форківз лист. 2020 р.Переглянути на GitHub ↗
ТипІнструмент командного рядкаБібліотекаМережевий сервісяк це визначено

zenml-io/zenml має індекс здоров’я 98 зі 100, що відповідає смузі «Винятковий». Найвищий показник — Vitality (100/100), найнижчий — Security (75/100). Останнє оновлення — сьогодні. Більшість нещодавньої роботи виконують 3 учасники.

98
загалом / 100
Винятковий

Індекс здоров'я програмного забезпечення

Метрики згруповано у зважені категорії на шкалі 1–100. Загальна оцінка починається як їхнє зважене середнє, відкаліброване за розподілом публічного реєстру, тож діапазони мають перцентильний зміст; коли публічні дані активують Політику юрисдикцій високого ризику, рейтинг коригується й отримує верхню межу 34 («У зоні ризику»).

98
Винятковий93-100Верхній щабель реєстру (≈ топ-5%); відповідає практично всім перевіреним критеріям
Відмінний80-92Сильний за всіма напрямами; незначні прогалини
Добрий65-79Здоровий; прогалини обмежені та керовані
Помірний50-64Прийнятний, але з помітними прогалинами; рекомендовано перевірку
Слабкий35-49Суттєві недоліки в кількох сферах
У зоні ризику20-34Суттєві слабкі місця; впровадження потребує обережності
Критичний1-19Серйозні проблеми (покинутий, єдиний мейнтейнер, без базової гігієни)
ЖиттєздатністьСпільнота тавпровадженняСталість таврядуванняІнженернаякістьБезпекаГотовність доШІ

Профіль оцінок

Кожна вісь — окрема категорія. Форма важить більше, ніж середнє: здоровий об'єкт заповнює всю фігуру, тоді як профіль із піками та провалами означає, що сила в одному вимірі маскує ризик в іншому.

Зважений загальний бал 86 калібровано до 98 за шкалою опублікованого індексу (калібрування реєстру 2026-08-02).

Власність

ZenMLОрганізація
355 підписників87 публічних репозиторіївз серп. 2021 р.

За цим репозиторієм стоїть організація — спільна, підзвітна опіка, здатна пережити будь-якого окремого мейнтейнера.

Пакетні екосистеми

РеєстрПакетВерсіяЗавантажень / місВерсіїОстання публікаціяТеги
PyPIzenml0.96.4142 98719613 днів томуmachine-learningproductionpipelinemlopsdevopsaiagentsagentic-workflows

Метрики за категоріями

Життєздатність

Чи живий проєкт — чи пишеться код і чи виходять релізи?

100Винятковий · 21% загального індексу
Як обчислюється оцінка
36/36Свіжість push — останній push 0 дн. тому
36/36Ритм комітів — 52/52 тижнів із комітами
18/18Обсяг комітів — 908 комітів за останній рік
0/10OpenSSF Scorecard: Maintained — немає даних
Використані вхідні дані
commits_last_year908
human_commit_share0,83
days_since_last_push0
active_weeks_last_year52
Як обчислюється оцінка
27/27Випускає релізи — опубліковано 100 релізів
36/36Свіжість релізів — останній реліз 13 дн. тому
27/27Ритм релізів — реліз кожні ~12,8 дн.
0/10OpenSSF Scorecard: Signed-Releases — немає даних
Використані вхідні дані
releases_count100
latest_release_tag0.96.4
releases_from_tagsні
days_since_latest_release13
mean_days_between_releases12,8

Спільнота та впровадження

Чи має проєкт користувачів, завантаження, увагу та влаштовані умови для контриб’юторів?

90Відмінний · 17% загального індексу
Як обчислюється оцінка
60/60Зірки — 5 582 зірок
23.5/25Форки — 657 форків
9/15Спостерігачі — 43 спостерігачів
Використані вхідні дані
forks657
stars5 582
watchers43
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Як обчислюється оцінка
22.5/22.5README
22.5/22.5Ліцензія — визнана ліцензія (Apache-2.0)
18/18Настанови CONTRIBUTING
13.5/13.5Кодекс поведінки
0/7.2Шаблон issue
6.3/6.3Шаблон PR
Використані вхідні дані
has_readmeтак
has_licenseтак
readme_badges0
has_contributingтак
has_issue_templateні
has_code_of_conductтак
readme_badge_services—
has_pull_request_templateтак
Як обчислюється оцінка
68.7/80Щомісячні завантаження — 142 987 завантажень/місяць у pypi
0/20Залежні пакети в реєстрі — ця екосистема цього не повідомляє
Використані вхідні дані
packageszenml
dependents—
ecosystemspypi
total_downloads—
monthly_downloads142 987
unverified_packages_excluded—
Виключено з оцінювання (немає даних або не застосовно): Залежні пакети в реєстрі. Залишкові ваги перенормовано.

Сталість та врядування

Чи переживе проєкт своїх людей — бас-фактор, реактивність, хто за ним стоїть і як супроводжуються пакети?

78Добрий · 23% загального індексу
Як обчислюється оцінка
36/54Бас-фактор — на 3 контриб’ютор(ів) припадає половина всіх комітів
18/22.5Розподіл комітів — головний контриб’ютор — автор 20% комітів
13.5/13.5Широта контриб’юторів — 97 контриб’юторів
0/10OpenSSF Scorecard: Contributors — немає даних
Використані вхідні дані
bus_factor3
contributors_sampled97
top_contributor_share0,2
Як обчислюється оцінка
34.3/42Вирішення issue — закрито 82% issue
26.3/30Прийняття PR — злито 3 956/4 506 вирішених PR
0/13Newcomer PR acceptance — злито 0/4 PR від новачків за 30 дн.
0/15OpenSSF Scorecard: Code-Review — немає даних
Використані вхідні дані
merged_prs3 956
open_issues129
closed_issues572
prs_merged_7d8
prs_decided_7d12
prs_merged_30d27
prs_decided_30d50
issue_closed_ratio0,816
closed_unmerged_prs550
first_time_authors_30d4
first_time_prs_merged_30d0
first_time_prs_decided_30d4
Як обчислюється оцінка
30/30Підтримка власника — у власності організації
0/20Верифікований домен
18.3/25Охоплення власника — 355 підписників у zenml-io
23.2/25Послужний список — 87 публічних репозиторіїв, вік облікового запису ~5 р.
Використані вхідні дані
followers355
owner_typeOrganization
is_verifiedні
owner_loginzenml-io
public_repos87
account_age_days1 865

Супровід пакетів

100Винятковий
Як обчислюється оцінка
25/25Опубліковано й доступно — 1 пакет(ів) у pypi
35/35Свіжість публікацій — остання публікація 13 дн. тому
20/20Історія версій — 196 опублікованих версій
20/20Не застарілий — активний, не deprecated і не yanked
Використані вхідні дані
packageszenml
ecosystemspypi
any_deprecatedні
min_days_since_publish13

Інженерна якість

Чи наявні базові інженерні практики та документація?

84Відмінний · 19% загального індексу
Як обчислюється оцінка
24/24Процеси CI — 46 процес(ів) CI
24/24Наявні тести
16/16Конфігурація лінтера — pyproject.toml ([tool.ruff])
0/9.6Pre-commit-хуки
0/6.4.editorconfig
0/20OpenSSF Scorecard: CI-Tests — немає даних
Використані вхідні дані
has_ciтак
has_testsтак
has_editorconfigні
has_linter_configтак
has_precommit_configні

Документація

90Відмінний
Як обчислюється оцінка
30/30README
25/25Каталог документації
15/15Сайт документації / домашня сторінка — https://zenml.io
10/10Опис репозиторію
10/10Теми — 20 тем
0/10Wiki
Використані вхідні дані
topicsmlops, machine-learning, data-science, production-ready, devops-tools, zenml, pipelines, metadata-tracking, deep-learning, pytorch, tensorflow, ml, ai, automl, workflow, llm, llmops, agentops, agents, genai
has_wikiні
homepagehttps://zenml.io
docs_sitehttps://zenml.io
has_readmeтак
has_docs_dirтак
has_descriptionтак

Безпека

Чи міцні видимі практики безпеки й ланцюга постачання, без непослабленої пов’язаності з юрисдикціями високого ризику?

75Добрий · 16% загального індексу
Як обчислюється оцінка
30/30Політика безпеки (SECURITY.md)
25/25Конфігурація Dependabot
0/25Файли фіксації залежностей
20/20Процес CodeQL
Використані вхідні дані
sourcefile_signals
lockfiles—
manifestspyproject.toml
has_codeql_workflowтак
has_security_policyтак
has_dependabot_configтак
Як обчислюється оцінка
14.8/35Прямі залежності без відомих сповіщень — уражено 1: click 8.2.1 (high 7.2)
25/25Непрямі залежності без відомих сповіщень — жодна непряма залежність не має відомих сповіщень
33.9/40Немає задавнених сповіщень — 1 пакет(ів) зі сповіщеннями без реакції понад 90 дн.; найдавніше опубліковано 140 дн. тому
Використані вхідні дані
sourceosv
advisories1
affected_packages1
assessed_packages36
unassessed_packages0
affected_by_severityhigh 1
direct_affected_packages1
Звірено з runtime-замиканням залежностей pypi:zenml@0.96.4 — тим, що тягне за собою встановлення опублікованого пакета, — 36 пакетів. Досяжність не аналізується.

Готовність до ШІ

Наскільки репозиторій оснащений для розробки та супроводу за участі ШІ-агентів? Має свідомо малу вагу (4%): агентний інструментарій — реальний сигнал супроводу, але репозиторій без нього все одно може отримати 100/100.

88Відмінний · 4% загального індексу
Як обчислюється оцінка
45/45Інструкції для агентів — .cursor/rules/comments.mdc, .cursor/rules/zenml-domain-models.mdc, .cursor/rules/zenml-orm-schema.mdc, .github/CLAUDE.md, AGENTS.md, CLAUDE.md, docs/book/AGENTS.md, examples/rlm_document_analysis/CLAUDE.md, examples/software_factory/AGENTS.md, examples/software_factory/CLAUDE.md, src/zenml/cli/AGENTS.md, src/zenml/integrations/AGENTS.md, src/zenml/models/AGENTS.md, src/zenml/orchestrators/AGENTS.md, src/zenml/webhooks/AGENTS.md, src/zenml/zen_server/AGENTS.md, src/zenml/zen_stores/migrations/AGENTS.md, src/zenml/zen_stores/schemas/AGENTS.md
15/15Машиночитана документація (llms.txt) — llms.txt опубліковано на сайті проєкту (https://zenml.io/llms.txt)
40/40Читабельна історія комітів — намір зазначено у 74 з 83 людських комітів (структурований заголовок або пояснювальний текст)
Використані вхідні дані
has_llms_txtтак
llms_txt_urlhttps://zenml.io/llms.txt
legible_history_share0,892
agent_instruction_files.cursor/rules/comments.mdc, .cursor/rules/zenml-domain-models.mdc, .cursor/rules/zenml-orm-schema.mdc, .github/CLAUDE.md, AGENTS.md, CLAUDE.md, docs/book/AGENTS.md, examples/rlm_document_analysis/CLAUDE.md, examples/software_factory/AGENTS.md, examples/software_factory/CLAUDE.md, src/zenml/cli/AGENTS.md, src/zenml/integrations/AGENTS.md, src/zenml/models/AGENTS.md, src/zenml/orchestrators/AGENTS.md, src/zenml/webhooks/AGENTS.md, src/zenml/zen_server/AGENTS.md, src/zenml/zen_stores/migrations/AGENTS.md, src/zenml/zen_stores/schemas/AGENTS.md
agent_instruction_max_bytes21 466
Як обчислюється оцінка
18/18Розгортання однією командою — examples/e2e/Makefile, examples/e2e_nlp/Makefile
22/22Автоматизовані тести
11/11Конфігурація лінтера / форматера — pyproject.toml ([tool.ruff])
11/11Статична перевірка типів — src/zenml/py.typed
10/10Відтворюване середовище — Dockerfile
10/10Підтверджена практика роботи з агентами — 21 з останніх 100 комітів створено агентом або з його зазначенням
8/8Автоматизоване супроводження — 10 з останніх 100 комітів — автоматичні оновлення залежностей
0/10OpenSSF Scorecard: Pinned-Dependencies — немає даних
Використані вхідні дані
has_nixні
has_testsтак
lockfiles—
has_dockerfileтак
typed_languageні
bootstrap_filesexamples/e2e/Makefile, examples/e2e_nlp/Makefile
has_devcontainerні
has_linter_configтак
typecheck_configssrc/zenml/py.typed
agent_commit_share0,21
toolchain_manifests—
dependency_bot_commit_share0,1
Як обчислюється оцінка
27/45Типізований код — Python з конфігурацією перевірки типів (src/zenml/py.typed)
54.6/55Керовані розміри файлів — 19/2 481 файлів вихідного коду понад 60 КБ
Використані вхідні дані
primary_languagePython
largest_source_bytes621 289
source_files_sampled2 481
oversized_source_files19
Як обчислюється оцінка
0/40Схема API (OpenAPI/GraphQL/proto)
0/20Сервер MCP
40/40Придатні до запуску приклади — examples, notebooks
Використані вхідні дані
example_dirsexamples, notebooks
has_mcp_signalні
api_schema_files—
interfaces_expected_ofnetwork-service

Ключові факти

5 582зірок GitHub
97контриб'юторів
908комітів за останні 12 місяців
0днів від останнього пушу
100релізів
3бас-фактор
129відкритих issue
PyPIпакетних екосистем

Попередження щодо збору даних

  • Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token
  • First-time contributor figures cover 12 of 14 authors (cap 12)
  • OpenSSF Scorecard timed out after 240s; skipping Scorecard checks

Докладніше

Історія зірок і форків 0 ★ / 657 ⇿
0Зірки
657Форки
100Релізи

Коли додано кожну зірку й форк — зібрано з GitHub і згруповано за днями. Кумулятивне зростання розміщено просто над денними додаваннями, з яких воно складається, тож їх видно одне проти одного: рівномірне органічне накопичення виглядає зовсім інакше, ніж різкий короткочасний сплеск. Там, де цю різницю можна виміряти, її подано як автентичність росту.

0125250375500625750651112020-122023-112026-09
Мажорні 0Мінорні 45Патчі 55

Кожна точка охоплює 6 днів.

Прямі залежності 17
РеєстрПакетОбмеження версіїМаніфест
PyPIasgiref~=3.10.0pyproject.toml
PyPIclick>=8.0.1,<=8.2.1pyproject.toml
PyPIcloudpickle>=2.0.0pyproject.toml
PyPIdistro>=1.6.0,<2.0.0pyproject.toml
PyPIdocker~=7.1.0pyproject.toml
PyPIgitpython>=3.1.18,<4.0.0pyproject.toml
PyPIjsonref—pyproject.toml
PyPIopentelemetry-instrumentation-logging==0.64b0pyproject.toml
PyPIopentelemetry-sdk==1.43.0pyproject.toml
PyPIpackaging>=24.1pyproject.toml
PyPIpsutil>=5.0.0pyproject.toml
PyPIpydantic>=2.0,<=2.12.5pyproject.toml
PyPIpython-dateutil>=2.8.1,<3.0.0pyproject.toml
PyPIpyyaml>=6.0.1pyproject.toml
PyPIrich>=12.0.0pyproject.toml
PyPIsetuptools>=70.0.0pyproject.toml
PyPIstructlog>=25.5.0pyproject.toml
Усі залежності 183

Повний розв'язаний набір залежностей із графа залежностей GitHub: 16 прямих і 167 непрямих (транзитивних) пакетів. Транзитивне замикання є повним, коли в репозиторії закомічено lockfile.

РеєстрПакетВерсіяЗв'язок
PyPIasgiref—пряма
PyPIclick—пряма
PyPIcloudpickle—пряма
PyPIdistro—пряма
PyPIdocker—пряма
PyPIgitpython—пряма
PyPIopentelemetry-instrumentation-logging0.64b0пряма
PyPIopentelemetry-sdk1.43.0пряма
PyPIpackaging—пряма
PyPIpsutil—пряма
PyPIpydantic—пряма
PyPIpython-dateutil—пряма
PyPIpyyaml—пряма
PyPIrich—пряма
PyPIsetuptools—пряма
PyPIstructlog—пряма
PyPIaccelerate—непряма
PyPIadlfs—непряма
PyPIalembic—непряма
PyPIautogen-core—непряма
PyPIautogen-ext—непряма
PyPIaws-profile-manager—непряма
PyPIazure-ai-ml—непряма
PyPIazure-identity—непряма
PyPIazure-keyvault-secrets—непряма
PyPIazure-mgmt-containerregistry—непряма
PyPIazure-mgmt-containerservice—непряма
PyPIazure-mgmt-resource—непряма
PyPIazure-mgmt-storage—непряма
PyPIazure-storage-blob—непряма
PyPIbandit—непряма
PyPIbcrypt4.0.1непряма
PyPIbeautifulsoup4—непряма
PyPIbitsandbytes—непряма
PyPIboto3—непряма
PyPIcachetools—непряма
PyPIcopier—непряма
PyPIcoverage—непряма
PyPIcrewai—непряма
PyPIcroniter—непряма
PyPIdatasets—непряма
PyPIdatasets2.12.0непряма
PyPIevaluate—непряма
PyPIfastapi—непряма
PyPIfiftyone—непряма
PyPIfilelock—непряма
PyPIgcsfs—непряма
PyPIgoogle-adk—непряма
PyPIgoogle-cloud-aiplatform—непряма
PyPIgoogle-cloud-artifact-registry—непряма
PyPIgoogle-cloud-container—непряма
PyPIgoogle-cloud-pipeline-components—непряма
PyPIgoogle-cloud-secret-manager—непряма
PyPIgoogle-cloud-storage—непряма
PyPIgradio—непряма
PyPIharbor—непряма
PyPIhaystack-ai—непряма
PyPIhttpx—непряма
PyPIhttpx2—непряма
PyPIhvac—непряма
PyPIhydra-core—непряма
PyPIhypothesis—непряма
PyPIipinfo—непряма
PyPIipython8.10.0непряма
PyPIitsdangerous—непряма
PyPIjinja2—непряма
PyPIjinja2-time—непряма
PyPIjson5—непряма
PyPIjsonschema—непряма
PyPIkfp—непряма
PyPIkubernetes—непряма
PyPIlakefs-sdk—непряма
PyPIlangchain—непряма
PyPIlangchain-community—непряма
PyPIlangchain-core—непряма
PyPIlangchain-openai—непряма
PyPIlangfuse—непряма
PyPIlanggraph—непряма
PyPIlightning—непряма
PyPIlitellm—непряма
PyPIllama-index—непряма
PyPIllama-index-llms-openai—непряма
PyPImaison—непряма
PyPImarkdown—непряма
PyPImarshmallow—непряма
PyPImatplotlib—непряма
PyPImike—непряма
PyPImkdocs—непряма
PyPImkdocs-autorefs—непряма
PyPImkdocs-awesome-pages-plugin—непряма
PyPImkdocs-material9.6.8непряма
PyPImkdocstrings—непряма
PyPImypy1.18.2непряма
PyPInltk—непряма
PyPInotebook—непряма
PyPInumpy—непряма
PyPInumpy1.22.4непряма
PyPIomegaconf—непряма
PyPIopenai—непряма
PyPIopenai-agents—непряма
PyPIopencv-python—непряма
PyPIopentelemetry-exporter-otlp-proto-http—непряма
PyPIopentelemetry-instrumentation-fastapi—непряма
PyPIopentelemetry-instrumentation-requests—непряма
PyPIopentelemetry-instrumentation-sqlalchemy—непряма
PyPIoptuna—непряма
PyPIpandas—непряма
PyPIpandas1.5.3непряма
PyPIpasslib—непряма
PyPIpeft—непряма
PyPIpillow—непряма
PyPIplotly—непряма
PyPIpyarrow—непряма
PyPIpydantic-ai—непряма
PyPIpydantic-ai-slim—непряма
PyPIpydoclint—непряма
PyPIpyjwt—непряма
PyPIpyment—непряма
PyPIpymysql—непряма
PyPIpytest—непряма
PyPIpytest-clarity—непряма
PyPIpytest-instafail—непряма
PyPIpytest-mock—непряма
PyPIpytest-randomly—непряма
PyPIpytest-rerunfailures—непряма
PyPIpytest-split—непряма
PyPIpython-multipart—непряма
PyPIpyyaml-include—непряма
PyPIqwen-agent—непряма
PyPIredis—непряма
PyPIrequests—непряма
PyPIrouge-score—непряма
PyPIruff—непряма
PyPIs3fs—непряма
PyPIsagemaker—непряма
PyPIscikit-learn—непряма
PyPIscikit-learn1.5.0непряма
PyPIscipy—непряма
PyPIseaborn—непряма
PyPIsecure—непряма
PyPIsemantic-kernel—непряма
PyPIsession-info1.0.0непряма
PyPIsqlalchemy—непряма
PyPIsqlmodel0.0.38непряма
PyPIstrands-agents—непряма
PyPIstrands-agents-tools—непряма
PyPItldextract—непряма
PyPItorch—непряма
PyPItorchaudio—непряма
PyPItorchvision—непряма
PyPItox—непряма
PyPItransformers—непряма
PyPItransformers4.28.1непряма
PyPItypes-cachetools—непряма
PyPItypes-certifi—непряма
PyPItypes-croniter—непряма
PyPItypes-futures—непряма
PyPItypes-hvac—непряма
PyPItypes-jsonschema—непряма
PyPItypes-markdown—непряма
PyPItypes-paramiko—непряма
PyPItypes-passlib—непряма
PyPItypes-pillow—непряма
PyPItypes-protobuf—непряма
PyPItypes-psutil—непряма
PyPItypes-pymysql—непряма
PyPItypes-python-dateutil—непряма
PyPItypes-python-slugify—непряма
PyPItypes-pyyaml—непряма
PyPItypes-redis—непряма
PyPItypes-requests—непряма
PyPItypes-setuptools—непряма
PyPItypes-six—непряма
PyPItypes-termcolor—непряма
PyPItyping-extensions—непряма
PyPIultralytics—непряма
PyPIurllib3—непряма
PyPIuv-build—непряма
PyPIuvicorn—непряма
PyPIyamlfix—непряма
PyPIzenml—непряма
PyPIzizmor—непряма
PyPIzizmor1.30.0непряма
Сповіщення про залежності 1

Встановлення pypi:zenml@0.96.4 тягне 36 пакетів, прямих і транзитивних: 1 мають відомі сповіщення, з них 1 — прямі залежності.

ПакетВерсіяЗв'язокКритичністьСповіщеньВиправлено в
click8.2.1прямависока18.3.3

Сповіщення означає, що версія, записана в графі залежностей, потрапляє в уражений діапазон. Досяжність не аналізується, а граф містить піниї розробки й тестування — знахідка може стосуватися інструментів, а не поставленого коду.

Звіт у форматі JSON машиночитний

Зворотний зв’язок

Помітили щось хибне у цьому звіті або маєте чим поділитися? Неправильні вимірювання, непомічені інструменти, ідеї, запитання — усе доречно. Кожне повідомлення читається й отримує відповідь.

Повідомлення збережеться під час входу.

Оцінки — це сигнали, а не гарантії. Вони відображають публічно видимі практики на GitHub — це не аудит коду й не гарантія безпеки.

Відсутні дані виключаються, а ваги перенормовуються — нуль за відсутність ніколи не ставиться. Методологія версіонована й відкрита: метрики v2.10.0, схема v0.34.0 — повна методологія · вікі метрик.

Як окремий результат виглядає на тлі всього реєстру: сукупна статистика — PyPI.