{"id":29614,"date":"2026-09-20T06:32:57","date_gmt":"2026-09-20T06:32:57","guid":{"rendered":"https:\/\/umang.pk\/2026\/09\/20\/python-%d8%a7%d9%88%d8%b1-%d8%a7%d9%86%d8%ad%d8%b5%d8%a7%d8%b1-%da%af%d8%b1%d8%a7%d9%81-%da%a9%d8%a7-%d8%a7%d8%b3%d8%aa%d8%b9%d9%85%d8%a7%d9%84-%da%a9%d8%b1%d8%aa%db%92-%db%81%d9%88%d8%a6%db%92-%d8%b9\/"},"modified":"2026-09-20T06:33:00","modified_gmt":"2026-09-20T06:33:00","slug":"python-%d8%a7%d9%88%d8%b1-%d8%a7%d9%86%d8%ad%d8%b5%d8%a7%d8%b1-%da%af%d8%b1%d8%a7%d9%81-%da%a9%d8%a7-%d8%a7%d8%b3%d8%aa%d8%b9%d9%85%d8%a7%d9%84-%da%a9%d8%b1%d8%aa%db%92-%db%81%d9%88%d8%a6%db%92-%d8%b9","status":"publish","type":"post","link":"https:\/\/umang.pk\/ur\/2026\/09\/20\/python-%d8%a7%d9%88%d8%b1-%d8%a7%d9%86%d8%ad%d8%b5%d8%a7%d8%b1-%da%af%d8%b1%d8%a7%d9%81-%da%a9%d8%a7-%d8%a7%d8%b3%d8%aa%d8%b9%d9%85%d8%a7%d9%84-%da%a9%d8%b1%d8%aa%db%92-%db%81%d9%88%d8%a6%db%92-%d8%b9\/","title":{"rendered":"Python \u0627\u0648\u0631 \u0627\u0646\u062d\u0635\u0627\u0631 \u06af\u0631\u0627\u0641 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0639\u0648\u0627\u0645\u06cc \u0688\u06cc\u0679\u0627\u0633\u06cc\u0679\u0633 \u0645\u06cc\u06ba \u067e\u0648\u0634\u06cc\u062f\u06c1 \u06c1\u062f\u0641 \u06a9\u06d2 \u0644\u06cc\u06a9 \u06a9\u0627 \u067e\u062a\u06c1 \u0644\u06af\u0627\u0646\u06d2 \u06a9\u0627 \u0637\u0631\u06cc\u0642\u06c1"},"content":{"rendered":"\n<div id=\"\">\n<p>\u06a9\u0686\u06be \u0639\u0631\u0635\u06c1 \u067e\u06c1\u0644\u06d2\u060c \u0645\u06cc\u06ba \u0646\u06d2 \u0627\u06cc\u06a9 \u0645\u0634\u06cc\u0646 \u0644\u0631\u0646\u0646\u06af \u0645\u0627\u0688\u0644 \u06a9\u0648 \u067e\u0628\u0644\u06a9 CDC \u0688\u06cc\u0679\u0627\u0633\u06cc\u0679 \u0633\u06d2 \u067e\u0627\u0646\u0686 \u06a9\u0627\u0644\u0645 \u062f\u06cc\u0627 \u0627\u0648\u0631 \u0627\u0633 \u0633\u06d2 \u06a9\u06c1\u0627 \u06a9\u06c1 \u0648\u06c1 \u0627\u0633\u06cc \u0641\u0627\u0626\u0644 \u0633\u06d2 \u0686\u06be\u0679\u06d2 \u06a9\u0627\u0644\u0645 \u06a9\u06cc \u067e\u06cc\u0634\u06cc\u0646 \u06af\u0648\u0626\u06cc \u06a9\u0631\u06d2\u06d4 \u0627\u0633 \u0645\u0627\u0688\u0644 \u06a9\u06d2 \u0644\u06cc\u06d2 R\u00b2 \u0633\u06a9\u0648\u0631 0.998 \u06c1\u06d2\u060c \u062c\u0648 \u0628\u0627\u0644\u06a9\u0644 \u0627\u062a\u0646\u0627 \u06c1\u06cc \u0642\u0631\u06cc\u0628 \u06c1\u06d2 \u062c\u062a\u0646\u0627 \u0627\u06cc\u06a9 \u062d\u0642\u06cc\u0642\u06cc \u0645\u0627\u0688\u0644 \u062d\u0627\u0635\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0633\u06a9\u0648\u0631 \u06a9\u0627\u0645\u06cc\u0627\u0628 \u0644\u06af \u0631\u06c1\u0627 \u062a\u06be\u0627\u060c \u0644\u06cc\u06a9\u0646 \u0645\u0627\u0688\u0644 \u0646\u06d2 \u062d\u0642\u06cc\u0642\u06cc \u062f\u0646\u06cc\u0627 \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u0628\u06c1\u062a \u06a9\u0645 \u0633\u06cc\u06a9\u06be\u0627\u06d4 CDC \u0646\u06d2 \u062f\u0648\u0633\u0631\u06d2 5 \u06a9\u0627\u0644\u0645\u0648\u06ba \u0633\u06d2 6 \u0648\u06cc\u06ba \u06a9\u0627\u0644\u0645 \u06a9\u0627 \u062d\u0633\u0627\u0628 \u0644\u06af\u0627\u06cc\u0627\u060c \u0644\u06c1\u0630\u0627 \u0645\u0627\u0688\u0644 \u0646\u06d2 CDC \u06a9\u06d2 \u0641\u0627\u0631\u0645\u0648\u0644\u06d2 \u06a9\u0648 \u0622\u0633\u0627\u0646\u06cc \u0633\u06d2 \u0634\u0645\u0627\u0631 \u06a9\u06cc\u0627\u06d4<\/p>\n<p>\u0688\u06cc\u0679\u0627 \u0633\u0627\u0626\u0646\u0633\u062f\u0627\u0646 \u0627\u0633\u06d2 \u0627\u06cc\u06a9 \u0645\u0633\u0626\u0644\u06c1 \u06a9\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 <strong>\u06c1\u062f\u0641 \u0644\u06cc\u06a9<\/strong>\u0627\u06cc\u0633\u0627 \u0627\u0633 \u0648\u0642\u062a \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u062c\u0628 \u0622\u067e \u0645\u0627\u0688\u0644 \u06a9\u0648 \u062c\u0648 \u0627\u0646 \u067e\u0679 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u0627\u0633 \u0645\u06cc\u06ba \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u06c1\u06cc \u06a9\u0633\u06cc \u0646\u06c1 \u06a9\u0633\u06cc \u0634\u06a9\u0644 \u0645\u06cc\u06ba \u062c\u0648\u0627\u0628 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0633 \u0637\u0631\u062d \u06a9\u06cc \u0644\u06cc\u06a9\u0633 \u0639\u0648\u0627\u0645\u06cc \u0688\u06cc\u0679\u0627 \u0645\u06cc\u06ba \u0622\u0633\u0627\u0646\u06cc \u0633\u06d2 \u0686\u06be\u067e \u062c\u0627\u062a\u06cc \u06c1\u06cc\u06ba \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0627\u0633 \u06a9\u0627 \u0632\u06cc\u0627\u062f\u06c1 \u062a\u0631 \u062d\u0635\u06c1 \u062f\u0648\u0633\u0631\u06d2 \u0639\u0648\u0627\u0645\u06cc \u0688\u06cc\u0679\u0627 \u0633\u06d2 \u0644\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0633\u0631\u0648\u06d2 \u06a9\u0627\u0644\u0645 \u0633\u06d2 \u06af\u0648\u0631\u0646\u0645\u0646\u0679 \u0627\u0646\u0688\u06cc\u06a9\u0633 \u0628\u0646\u0627\u06cc\u0627 \u062c\u0627 \u0633\u06a9\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u067e\u06c1\u0644\u06d2 \u0627\u0646\u0688\u06cc\u06a9\u0633 \u0633\u06d2 \u062f\u0648\u0633\u0631\u0627 \u0627\u0646\u0688\u06cc\u06a9\u0633 \u0628\u0646\u0627\u06cc\u0627 \u062c\u0627 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u06cc\u062c\u0646\u0633\u06cc\u0627\u06ba \u0627\u0646 \u0637\u0631\u06cc\u0642\u0648\u06ba \u06a9\u0648 \u0637\u0631\u06cc\u0642\u06c1 \u06a9\u0627\u0631 \u067e\u06cc \u0688\u06cc \u0627\u06cc\u0641 \u0645\u06cc\u06ba \u0628\u06cc\u0627\u0646 \u06a9\u0631\u062a\u06cc \u06c1\u06cc\u06ba\u060c \u0644\u06cc\u06a9\u0646 \u0688\u06cc\u0679\u0627 \u06a9\u06cc\u0679\u0644\u0627\u06af \u0627\u0646\u06c1\u06cc\u06ba \u06a9\u0645\u067e\u06cc\u0648\u0679\u0631 \u06a9\u06d2 \u067e\u0691\u06be\u0646\u06d2 \u06a9\u06d2 \u0642\u0627\u0628\u0644 \u0641\u0627\u0631\u0645\u06cc\u0679 \u0645\u06cc\u06ba \u0634\u0627\u0630 \u0648 \u0646\u0627\u062f\u0631 \u06c1\u06cc \u0627\u0633\u0679\u0648\u0631 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u0633 \u0679\u06cc\u0648\u0679\u0648\u0631\u06cc\u0644 \u0645\u06cc\u06ba\u060c \u06c1\u0645 \u0627\u06cc\u06a9 \u0686\u06be\u0648\u0679\u0627 Python \u0679\u0648\u0644 \u0628\u0646\u0627\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0648 \u0627\u0646 \u0631\u06cc\u06a9\u0627\u0631\u0688\u0632 \u06a9\u0648 \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a \u0644\u06a9\u06be\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u067e\u06be\u0631 \u0627\u0646\u06c1\u06cc\u06ba \u067e\u0691\u06be\u062a\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0679\u0648\u0644 \u067e\u06cc\u06a9\u06cc\u062c \u0645\u06cc\u0646\u06cc\u062c\u0631 \u06a9\u06d2 \u0627\u0646\u062f\u0631 \u0627\u0646\u062d\u0635\u0627\u0631 \u0686\u06cc\u06a9\u0631 \u06a9\u06cc \u0637\u0631\u062d \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0622\u067e \u06a9\u0648 \u0628\u062a\u0627\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0622\u067e \u06a9\u0633 \u0686\u06cc\u0632 \u06a9\u06cc \u067e\u06cc\u0634\u0646 \u06af\u0648\u0626\u06cc \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u06a9\u0648\u0646 \u0633\u06d2 \u06a9\u0627\u0644\u0645 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u0646\u06d2 \u06c1\u06cc\u06ba\u060c \u0627\u0648\u0631 \u06c1\u062f\u0641 \u06a9\u06d2 \u0627\u062e\u0630 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0631\u0627\u0633\u062a\u06d2 \u0645\u06cc\u06ba \u06a9\u0633\u06cc \u0628\u06be\u06cc \u06a9\u0627\u0644\u0645 \u06a9\u0648 \u0645\u0633\u062a\u0631\u062f \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0622\u062e\u0631 \u0645\u06cc\u06ba\u060c \u0622\u067e \u06a9\u0648 \u0645\u0639\u0644\u0648\u0645 \u06c1\u0648 \u062c\u0627\u0626\u06d2 \u06af\u0627 \u06a9\u06c1 \u06a9\u06cc\u0633\u06d2:<\/p>\n<ul>\n<li>\n<p>\u06c1\u0645 \u0644\u0627\u0626\u06cc\u0648 \u0633\u06cc \u0688\u06cc \u0633\u06cc \u0688\u06cc\u0679\u0627 \u0627\u0648\u0631 \u0627\u0633\u06a9\u06cc\u0679 \u0644\u0631\u0646 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u062d\u0642\u06cc\u0642\u06cc \u0644\u06cc\u06a9\u0633 \u06a9\u0648 \u062f\u0648\u0628\u0627\u0631\u06c1 \u062a\u06cc\u0627\u0631 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<\/li>\n<li>\n<p>\u0627\u06cc\u06a9 \u0686\u06be\u0648\u0679\u06cc YAML \u0641\u0627\u0626\u0644 \u062c\u0633\u06d2 \u0645\u06cc\u0646\u06cc \u0641\u06cc\u0633\u0679 \u06a9\u06c1\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u0627\u0633 \u06a9\u06cc \u0648\u0636\u0627\u062d\u062a \u06a9\u0631\u062a\u06cc \u06c1\u06d2 \u06a9\u06c1 \u0688\u06cc\u0679\u0627\u0633\u06cc\u0679 \u06a9\u0633 \u0686\u06cc\u0632 \u0633\u06d2 \u0628\u0646\u0627\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2\u06d4<\/p>\n<\/li>\n<li>\n<p>\u0686\u0648\u0691\u0627\u0626\u06cc-\u067e\u06c1\u0644\u06cc \u062a\u0644\u0627\u0634 \u0627\u0648\u0631 \u06af\u06c1\u0631\u0627\u0626\u06cc-\u067e\u06c1\u0644\u06cc \u062a\u0644\u0627\u0634 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u06af\u0631\u0627\u0641 \u06a9\u0648 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<\/li>\n<li>\n<p>\u0627\u06cc\u06a9 \u0686\u06cc\u06a9\u0646\u06af \u0679\u0648\u0644 \u0628\u0646\u0627\u0626\u06cc\u06ba \u062c\u0648 \u0679\u0627\u0626\u067e \u06a9\u06cc \u063a\u0644\u0637\u06cc\u0648\u06ba\u060c \u062e\u0631\u0627\u0628 \u0641\u0627\u0626\u0644\u0648\u06ba \u0627\u0648\u0631 \u062e\u0627\u0644\u06cc \u0627\u0646 \u067e\u0679 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0632\u0648\u0631 \u0633\u06d2 \u0646\u0627\u06a9\u0627\u0645 \u06c1\u0648 \u062c\u0627\u0626\u06d2<\/p>\n<\/li>\n<li>\n<p>GitHub \u0627\u06cc\u06a9\u0634\u0646\u0632 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u06c1\u0631 \u067e\u0634 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u062e\u0648\u062f \u0628\u062e\u0648\u062f \u0686\u06cc\u06a9 \u0686\u0644\u0627\u0626\u06cc\u06ba\u06d4<\/p>\n<\/li>\n<\/ul>\n<h2 id=\"heading-table-of-contents\">\u0627\u0646\u0688\u06cc\u06a9\u0633<\/h2>\n<h2 id=\"heading-prerequisites\">\u0634\u0631\u0637\u06cc\u06ba<\/h2>\n<p>\u067e\u06cc\u0631\u0648\u06cc \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0622\u067e \u06a9\u0648 \u0636\u0631\u0648\u0631\u062a \u06c1\u0648 \u06af\u06cc:<\/p>\n<ul>\n<li>\n<p>Python 3.10 \u06cc\u0627 \u0627\u0633 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1<\/p>\n<\/li>\n<li>\n<p>\u067e\u0627\u0646\u0688\u0627\u0633 \u0688\u06cc\u0679\u0627 \u0641\u0631\u06cc\u0645 \u06a9\u06cc\u0627 \u06c1\u06d2 \u0627\u0633 \u06a9\u0627 \u0628\u0646\u06cc\u0627\u062f\u06cc \u062e\u06cc\u0627\u0644<\/p>\n<\/li>\n<li>\n<p>\u0627\u06cc\u06a9 \u0679\u0631\u0645\u06cc\u0646\u0644 \u062c\u06c1\u0627\u06ba \u0622\u067e \u06a9\u0645\u0627\u0646\u0688 \u0686\u0644\u0627 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<\/li>\n<li>\n<p>CDC \u0688\u06cc\u0679\u0627 \u0641\u0627\u0626\u0644\u0648\u06ba \u06a9\u06d2 \u0644\u06cc\u06d2 \u062a\u0642\u0631\u06cc\u0628\u0627\u064b 7 MB \u0645\u0641\u062a \u0688\u0633\u06a9 \u06a9\u06cc \u062c\u06af\u06c1\u06d4<\/p>\n<\/li>\n<\/ul>\n<p>\u0627\u0633 \u06a9\u06d2 \u0627\u0646\u062f\u0631 \u0648\u0631\u0686\u0648\u0626\u0644 \u0645\u0627\u062d\u0648\u0644 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0627\u06cc\u06a9 \u0646\u06cc\u0627 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u0641\u0648\u0644\u0688\u0631 \u0628\u0646\u0627\u0646\u0627 \u0627\u0646 \u0644\u0627\u0626\u0628\u0631\u06cc\u0631\u06cc\u0648\u06ba \u06a9\u0648 \u0628\u0627\u0642\u06cc \u0633\u0633\u0679\u0645 \u0633\u06d2 \u0627\u0644\u06af \u0631\u06a9\u06be\u06d2 \u06af\u0627\u06d4 \u067e\u06be\u0631 \u0627\u0633 \u0679\u06cc\u0648\u0679\u0648\u0631\u06cc\u0644 \u0645\u06cc\u06ba \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06c1\u0648\u0646\u06d2 \u0648\u0627\u0644\u06cc \u062a\u06cc\u0646 \u0644\u0627\u0626\u0628\u0631\u06cc\u0631\u06cc\u0627\u06ba \u0627\u0646\u0633\u0679\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-bash\">mkdir leak-tutorial\ncd leak-tutorial\npython3 -m venv .venv\nsource .venv\/bin\/activate\npip install pandas scikit-learn pyyaml\n<\/code><\/pre>\n<p>\u0648\u0646\u0688\u0648\u0632 \u067e\u0631\u060c \u0686\u0644\u0627\u0626\u06cc\u06ba: <code>.venvScriptsactivate<\/code> \u0627\u0633 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 <code>source<\/code> \u0644\u0627\u0626\u0646\u06cc\u06ba \u0627\u0648\u0631 \u0627\u0642\u0633\u0627\u0645 <code>python<\/code> \u062c\u06c1\u0627\u06ba \u0628\u06be\u06cc \u06cc\u06c1 \u0645\u0636\u0645\u0648\u0646 \u06c1\u06d2\u06d4 <code>python3<\/code>. \u0627\u0633 \u0679\u06cc\u0648\u0679\u0648\u0631\u06cc\u0644 \u0645\u06cc\u06ba \u062a\u0645\u0627\u0645 \u06a9\u0645\u0627\u0646\u0688\u0632 \u06a9\u0648 \u0627\u0646\u062f\u0631 \u0633\u06d2 \u0686\u0644\u0627\u0626\u06cc\u06ba\u06d4 <code>leak-tutorial<\/code> \u0641\u0648\u0644\u0688\u0631<\/p>\n<p>\u0627\u0633 \u0679\u06cc\u0648\u0679\u0648\u0631\u06cc\u0644 \u0645\u06cc\u06ba \u0622\u067e \u062c\u0648 \u0641\u0627\u0626\u0644\u06cc\u06ba \u0628\u0646\u0627\u062a\u06d2 \u06c1\u06cc\u06ba \u0648\u06c1 \u0628\u06be\u06cc \u06a9\u0645\u067e\u06cc\u0646\u06cc\u0626\u0646 \u0631\u06cc\u067e\u0648\u0632\u0679\u0631\u06cc\u060c \u0688\u06cc\u0631\u06cc\u0648\u0632 \u0633\u06d2 \u0679\u06cc\u0648\u0679\u0648\u0631\u06cc\u0644 \u0645\u06cc\u06ba \u06c1\u06cc\u06ba\u060c \u0644\u06c1\u0630\u0627 \u0627\u06af\u0631 \u0622\u067e \u06a9\u0648 \u06a9\u0648\u0626\u06cc \u067e\u0631\u06cc\u0634\u0627\u0646\u06cc \u06c1\u0648 \u062a\u0648 \u0622\u067e \u0627\u067e\u0646\u06d2 \u06a9\u0627\u0645 \u06a9\u0627 \u0645\u0648\u0627\u0632\u0646\u06c1 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0679\u0648\u0644 \u06a9\u0627 \u0645\u06a9\u0645\u0644 \u0648\u0631\u0698\u0646 \u0639\u0648\u0627\u0645\u06cc GitHub \u0630\u062e\u06cc\u0631\u06c1 \u0645\u06cc\u06ba \u06c1\u06d2\u060c \u0645\u0636\u0645\u0648\u0646 \u06a9\u06d2 \u0622\u062e\u0631 \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u0644\u0646\u06a9 \u06a9\u06d2 \u0633\u0627\u062a\u06be\u06d4<\/p>\n<h2 id=\"heading-key-terms-in-plain-english\">\u06a9\u0644\u06cc\u062f\u06cc \u0627\u0635\u0637\u0644\u0627\u062d\u0627\u062a \u0633\u0627\u062f\u06c1 \u0627\u0646\u06af\u0631\u06cc\u0632\u06cc \u0645\u06cc\u06ba<\/h2>\n<p>\u06cc\u06c1\u0627\u06ba \u067e\u0627\u0646\u0686 \u0627\u0644\u0641\u0627\u0638 \u06c1\u06cc\u06ba \u062c\u0648 \u0627\u0633 \u0679\u06cc\u0648\u0679\u0648\u0631\u06cc\u0644 \u0645\u06cc\u06ba \u0628\u0627\u0631 \u0628\u0627\u0631 \u0622\u062a\u06d2 \u06c1\u06cc\u06ba:<\/p>\n<ul>\n<li>\n<p><strong>\u06c1\u062f\u0641:<\/strong> \u06cc\u06c1 \u0648\u06c1 \u06a9\u0627\u0644\u0645 \u06c1\u06d2 \u062c\u0633 \u06a9\u06cc \u0622\u067e \u0645\u0627\u0688\u0644 \u067e\u06cc\u0634 \u06af\u0648\u0626\u06cc \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<\/li>\n<li>\n<p><strong>Covariates:<\/strong> \u06cc\u06c1 \u0648\u06c1 \u06a9\u0627\u0644\u0645 \u06c1\u06cc\u06ba \u062c\u0646\u06c1\u06cc\u06ba \u0622\u067e \u0627\u067e\u0646\u06d2 \u0627\u06c1\u062f\u0627\u0641 \u06a9\u06cc \u067e\u06cc\u0634\u0646 \u06af\u0648\u0626\u06cc \u06a9\u0631\u0646\u06d2 \u0645\u06cc\u06ba \u0645\u062f\u062f \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u0627\u0688\u0644 \u0645\u06cc\u06ba \u0641\u06cc\u0688 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba (\u0628\u06c1\u062a \u0633\u06d2 \u0644\u0648\u06af \u0627\u0646 \u0627\u0641\u0639\u0627\u0644 \u06a9\u0648 \u06a9\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba)\u06d4<\/p>\n<\/li>\n<li>\n<p><strong>R\u00b2 (R \u0645\u0631\u0628\u0639):<\/strong> \u0627\u06cc\u06a9 \u0627\u0633\u06a9\u0648\u0631 \u062c\u0648 \u0622\u067e \u06a9\u0648 \u0628\u062a\u0627\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0645\u0627\u0688\u0644 \u06a9\u06cc \u067e\u06cc\u0634\u06cc\u0646 \u06af\u0648\u0626\u06cc\u0627\u06ba \u0627\u0635\u0644 \u0642\u062f\u0631\u0648\u06ba \u0633\u06d2 \u06a9\u062a\u0646\u06cc \u0642\u0631\u06cc\u0628 \u0633\u06d2 \u0645\u0644\u062a\u06cc \u06c1\u06cc\u06ba\u06d4 1.0 \u06a9\u06d2 \u0627\u0633\u06a9\u0648\u0631 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u0627\u06cc\u06a9 \u0645\u06a9\u0645\u0644 \u0645\u06cc\u0686 \u06c1\u06d2\u060c \u062c\u0628\u06a9\u06c1 0 \u06a9\u06d2 \u0642\u0631\u06cc\u0628 \u0633\u06a9\u0648\u0631 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u06a9\u06c1 \u0645\u0627\u0688\u0644 \u0628\u06c1\u062a \u06a9\u0645 \u0648\u0636\u0627\u062d\u062a \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<\/li>\n<li>\n<p><strong>\u0645\u0631\u062f\u0645 \u0634\u0645\u0627\u0631\u06cc \u06a9\u0627 \u0639\u0644\u0627\u0642\u06c1:<\/strong> \u0631\u06cc\u0627\u0633\u062a\u06c1\u0627\u0626\u06d2 \u0645\u062a\u062d\u062f\u06c1 \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u0686\u06be\u0648\u0679\u0627 \u0633\u0627 \u0639\u0644\u0627\u0642\u06c1 \u062c\u0633 \u0645\u06cc\u06ba \u0639\u0627\u0645 \u0637\u0648\u0631 \u067e\u0631 \u062a\u0642\u0631\u06cc\u0628\u0627\u064b 4,000 \u0644\u0648\u06af \u0631\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062a\u0642\u0631\u06cc\u0628\u0627\u064b \u0627\u06cc\u06a9 \u0645\u062d\u0644\u06d2 \u06a9\u06d2 \u0633\u0627\u0626\u0632 \u06a9\u06d2\u06d4<\/p>\n<\/li>\n<li>\n<p><strong>\u06a9\u0631\u0627\u0633 \u062a\u0648\u062b\u06cc\u0642:<\/strong> \u06cc\u06c1 \u0622\u067e \u06a9\u06d2 \u0645\u0627\u0688\u0644 \u06a9\u0648 \u062c\u0627\u0646\u0686\u0646\u06d2 \u06a9\u0627 \u0627\u06cc\u06a9 \u0645\u0646\u0635\u0641\u0627\u0646\u06c1 \u0637\u0631\u06cc\u0642\u06c1 \u06c1\u06d2\u06d4 \u0688\u06cc\u0679\u0627 \u06a9\u0648 5 \u062d\u0635\u0648\u06ba \u0645\u06cc\u06ba \u062a\u0642\u0633\u06cc\u0645 \u06a9\u0631\u06cc\u06ba\u060c 4 \u062d\u0635\u0648\u06ba \u06a9\u0648 \u062a\u0631\u0628\u06cc\u062a \u062f\u06cc\u06ba\u060c 5\u0648\u06cc\u06ba \u062d\u0635\u06d2 \u06a9\u06cc \u062c\u0627\u0646\u0686 \u06a9\u0631\u06cc\u06ba\u060c \u0627\u0648\u0631 \u0627\u0633 \u0648\u0642\u062a \u062a\u06a9 \u062f\u06c1\u0631\u0627\u0626\u06cc\u06ba \u062c\u0628 \u062a\u06a9 \u06a9\u06c1 \u062a\u0645\u0627\u0645 \u062d\u0635\u06d2 \u0679\u06cc\u0633\u0679 \u0633\u06cc\u0679 \u0645\u06cc\u06ba \u062a\u0628\u062f\u06cc\u0644 \u0646\u06c1 \u06c1\u0648\u062c\u0627\u0626\u06cc\u06ba\u06d4<\/p>\n<\/li>\n<\/ul>\n<h2 id=\"heading-step-1-see-the-leak-for-yourself\">\u0645\u0631\u062d\u0644\u06c1 1: \u062e\u0648\u062f \u0644\u06cc\u06a9 \u06a9\u06cc \u062c\u0627\u0646\u0686 \u06a9\u0631\u06cc\u06ba\u06d4<\/h2>\n<p>\u06cc\u0648 \u0627\u06cc\u0633 \u0633\u06cc\u0646\u0679\u0631\u0632 \u0641\u0627\u0631 \u0688\u06cc\u0632\u06cc\u0632 \u06a9\u0646\u0679\u0631\u0648\u0644 \u0627\u06cc\u0646\u0688 \u067e\u0631\u06cc\u0648\u0646\u0634\u0646 (\u0633\u06cc \u0688\u06cc \u0633\u06cc) \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06c1 \u0627\u0639\u0644\u0627\u0646 \u06a9\u06cc\u0627 \u06af\u06cc\u0627 <strong>\u0633\u0645\u0627\u062c\u06cc \u06a9\u0645\u0632\u0648\u0631\u06cc \u0627\u0646\u0688\u06cc\u06a9\u0633<\/strong>\u06cc\u0627 SVI. \u06c1\u0646\u06af\u0627\u0645\u06cc \u0645\u0646\u0635\u0648\u0628\u06c1 \u0633\u0627\u0632 \u0627\u0633 \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u06a9\u0648 \u0627\u0646 \u06a9\u0645\u06cc\u0648\u0646\u0679\u06cc\u0632 \u06a9\u06cc \u0646\u0634\u0627\u0646\u062f\u06c1\u06cc \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0646\u06c1\u06cc\u06ba \u0633\u06cc\u0644\u0627\u0628\u060c \u06af\u0631\u0645\u06cc \u06a9\u06cc \u0644\u06c1\u0631\u0648\u06ba\u060c \u06cc\u0627 \u0628\u06cc\u0645\u0627\u0631\u06cc \u06a9\u06d2 \u067e\u06be\u06cc\u0644\u0646\u06d2 \u06a9\u06d2 \u062f\u0648\u0631\u0627\u0646 \u0627\u0636\u0627\u0641\u06cc \u0645\u062f\u062f \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648 \u0633\u06a9\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>CDC \u062a\u06c1\u0648\u06ba \u0645\u06cc\u06ba SVIs \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0627\u0645\u0631\u06cc\u06a9\u0646 \u06a9\u0645\u06cc\u0648\u0646\u0679\u06cc \u0633\u0631\u0648\u06d2 (ACS) \u06a9\u06d2 16 \u06a9\u0627\u0644\u0645\u0648\u06ba \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0634\u0631\u0648\u0639 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u060c \u06cc\u06c1 \u0627\u06cc\u06a9 \u0628\u0691\u0627 \u0633\u0631\u0648\u06d2 \u06c1\u06d2 \u062c\u0633\u06d2 \u0627\u0645\u0631\u06cc\u06a9\u06cc \u0645\u0631\u062f\u0645 \u0634\u0645\u0627\u0631\u06cc \u0628\u06cc\u0648\u0631\u0648 \u0686\u0644\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u06c1\u0631 \u06a9\u0627\u0644\u0645 \u0627\u06cc\u06a9 \u0641\u06cc\u0635\u062f \u06c1\u06d2\u060c \u062c\u06cc\u0633\u06d2 \u063a\u0631\u0628\u062a \u0645\u06cc\u06ba \u0644\u0648\u06af\u0648\u06ba \u06a9\u0627 \u0641\u06cc\u0635\u062f \u06cc\u0627 \u0628\u063a\u06cc\u0631 \u06af\u0627\u0691\u06cc \u0648\u0627\u0644\u06d2 \u06af\u06be\u0631\u0627\u0646\u0648\u06ba \u06a9\u0627 \u0641\u06cc\u0635\u062f\u06d4<\/p>\n<p>CDC 16 \u06a9\u0627\u0644\u0645\u0648\u06ba \u06a9\u0648 \u0686\u0627\u0631 \u0639\u0646\u0648\u0627\u0646\u0627\u062a \u0645\u06cc\u06ba \u06af\u0631\u0648\u067e \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u06c1\u0631 \u0639\u0646\u0648\u0627\u0646 \u06a9\u06d2 \u0627\u0646\u062f\u0631 \u062a\u0645\u0627\u0645 \u0645\u0631\u062f\u0645 \u0634\u0645\u0627\u0631\u06cc \u06a9\u06d2 \u0631\u0627\u0633\u062a\u0648\u06ba \u06a9\u06cc \u062f\u0631\u062c\u06c1 \u0628\u0646\u062f\u06cc \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u067e\u06be\u0631 \u06c1\u0645 \u0686\u0627\u0631 \u062a\u06be\u06cc\u0645 \u06a9\u06cc \u062f\u0631\u062c\u06c1 \u0628\u0646\u062f\u06cc \u06a9\u0648 \u0627\u06cc\u06a9 \u0645\u062c\u0645\u0648\u0639\u06cc \u062f\u0631\u062c\u06c1 \u0628\u0646\u062f\u06cc \u0645\u06cc\u06ba \u06cc\u06a9\u062c\u0627 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 <code>RPL_THEMES<\/code>.<\/p>\n<p><em>CDC SVI \u06a9\u06cc\u0633\u06d2 \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2: 16 ACS \u0633\u0631\u0648\u06d2 \u06a9\u0627\u0644\u0645 \u0686\u0627\u0631 \u0645\u0648\u0636\u0648\u0639\u0627\u062a\u06cc \u062f\u0631\u062c\u06c1 \u0628\u0646\u062f\u06cc \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0627\u0648\u0631 \u0686\u0627\u0631 \u0645\u0648\u0636\u0648\u0639\u0627\u062a\u06cc \u062f\u0631\u062c\u06c1 \u0628\u0646\u062f\u06cc \u0627\u06cc\u06a9 \u0645\u062c\u0645\u0648\u0639\u06cc \u062f\u0631\u062c\u06c1 \u0628\u0646\u062f\u06cc \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4 \u06c1\u0631 \u067e\u06cc\u0644\u06d2 \u0631\u0646\u06af \u06a9\u06d2 \u0628\u0627\u06a9\u0633 \u06a9\u0648 \u0627\u0633 \u06a9\u06d2 \u0646\u06cc\u0686\u06d2 \u0648\u0627\u0644\u06d2 \u0628\u0627\u06a9\u0633 \u0633\u06d2 \u0634\u0645\u0627\u0631 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/em><\/p>\n<p>\u0627\u0633 \u0679\u06cc\u0648\u0679\u0648\u0631\u06cc\u0644 \u0645\u06cc\u06ba \u0627\u06c1\u0645 \u062a\u0641\u0635\u06cc\u0644\u0627\u062a \u0645\u06cc\u06ba \u0634\u0627\u0645\u0644 \u06c1\u06cc\u06ba: CDC \u0627\u06cc\u06a9 \u06c1\u06cc CSV \u0641\u0627\u0626\u0644 \u0645\u06cc\u06ba \u062e\u0627\u0645 ACS \u06a9\u0627\u0644\u0645 \u0627\u0648\u0631 \u0645\u06a9\u0645\u0644 \u062f\u0631\u062c\u06c1 \u0628\u0646\u062f\u06cc \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0644\u06c1\u0630\u0627 \u062f\u0648\u0646\u0648\u06ba \u06a9\u0648 \u067e\u06a9\u0691 \u06a9\u0631 \u0627\u06cc\u06a9 \u0645\u0627\u0688\u0644 \u0645\u06cc\u06ba \u0688\u0627\u0644\u0646\u0627 \u0628\u06c1\u062a \u0622\u0633\u0627\u0646 \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u06cc\u0644\u06cc\u0641\u0648\u0631\u0646\u06cc\u0627 \u0641\u0627\u0626\u0644 \u0688\u0627\u0624\u0646 \u0644\u0648\u0688 \u06a9\u0631\u06cc\u06ba:<\/p>\n<pre><code class=\"language-bash\">curl -L -o California.csv https:\/\/svi.cdc.gov\/Documents\/Data\/2022\/csv\/states\/California.csv\n<\/code><\/pre>\n<p>\u0645\u06cc\u06ba \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u0648\u06ba <code>curl<\/code> \u0627\u0633 \u06a9\u06cc \u0648\u062c\u06c1 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0645\u06cc\u06a9 \u0627\u0648 \u0627\u06cc\u0633 \u067e\u0631 \u067e\u0627\u0626\u06cc\u062a\u06be\u0648\u0646 \u06a9\u06cc \u06a9\u0686\u06be \u062a\u0646\u0635\u06cc\u0628\u0627\u062a \u0641\u0627\u0626\u0644\u0648\u06ba \u06a9\u0648 \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a \u0688\u0627\u0624\u0646 \u0644\u0648\u0688 \u06a9\u0631\u062a\u06d2 \u0648\u0642\u062a \u0648\u06cc\u0628 \u0633\u0627\u0626\u0679 \u06a9\u06d2 \u0633\u06cc\u06a9\u06cc\u0648\u0631\u0679\u06cc \u0633\u0631\u0679\u06cc\u0641\u06a9\u06cc\u0679 \u06a9\u06cc \u062a\u0635\u062f\u06cc\u0642 \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u062a\u06cc \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u0628 \u062f\u0631\u062c \u0630\u06cc\u0644 \u0641\u0627\u0626\u0644\u06cc\u06ba \u0628\u0646\u0627\u0626\u06cc\u06ba: <code>leak_demo.py<\/code>:<\/p>\n<pre><code class=\"language-python\">\"\"\"leak_demo.py: predict a published index from the columns it was built from.\"\"\"\nimport pandas as pd\nfrom sklearn.ensemble import HistGradientBoostingRegressor\nfrom sklearn.model_selection import KFold, cross_val_score\n\n# CDC marks missing values as -999, so turn those into proper blanks.\ndf = pd.read_csv(\"California.csv\", low_memory=False).replace(-999, float(\"nan\"))\n\n\ndef score(inputs, target):\n    data = df[inputs + [target]].dropna()\n    model = HistGradientBoostingRegressor(random_state=0)\n    folds = KFold(n_splits=5, shuffle=True, random_state=0)\n    r2 = cross_val_score(model, data[inputs], data[target],\n                         cv=folds, scoring=\"r2\").mean()\n    print(f\"{target:<11} from {len(inputs)} column(s)  \"\n          f\"tracts={len(data)}  R2 = {r2:.3f}\")\n\n\n# Theme 1 is built from exactly these five columns.\nscore([\"EP_POV150\", \"EP_UNEMP\", \"EP_HBURD\", \"EP_NOHSDP\", \"EP_UNINSUR\"],\n      \"RPL_THEME1\")\n\n# EP_NOINT ships in the same file, and CDC leaves it out of the index.\nscore([\"EP_NOINT\"], \"RPL_THEMES\")\n<\/code><\/pre>\n<p>\u0627\u0633\u06a9\u0631\u067e\u0679 \u06a9\u06cc \u062e\u0635\u0648\u0635\u06cc\u0627\u062a \u0645\u06cc\u06ba \u0634\u0627\u0645\u0644 \u06c1\u06cc\u06ba:<\/p>\n<ol>\n<li>\n<p>CSV \u0644\u0648\u0688 \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 CDC \u06a9\u0648 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u06cc\u06ba\u06d4 <code>-999<\/code> CDC \u0645\u0627\u0631\u06a9\u0631 \u06a9\u0648 \u062e\u0627\u0644\u06cc \u0627\u0642\u062f\u0627\u0631 \u0645\u06cc\u06ba \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 <code>-999<\/code> \u067e\u0631\u0686\u0645 \u063a\u0627\u0626\u0628 \u0627\u0642\u062f\u0627\u0631\u06d4<\/p>\n<\/li>\n<li>\n<p>\u06a9\u06c1 <code>score<\/code> \u06cc\u06c1 \u0641\u0646\u06a9\u0634\u0646 \u0646\u0645\u0628\u0631\u0648\u06ba \u06a9\u06d2 \u0679\u06cc\u0628\u0644 \u067e\u0631 \u0627\u06cc\u06a9 \u0637\u0627\u0642\u062a\u0648\u0631 \u0627\u0648\u0631 \u0648\u0633\u06cc\u0639 \u067e\u06cc\u0645\u0627\u0646\u06d2 \u067e\u0631 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06c1\u0648\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u06af\u0631\u06cc\u0688\u06cc\u0646\u0679 \u0628\u0648\u0633\u0679\u0646\u06af \u0645\u0627\u0688\u0644 \u06a9\u0648 \u062a\u0631\u0628\u06cc\u062a \u062f\u06cc\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 R\u00b2 \u06a9\u0648 5 \u06af\u0646\u0627 \u06a9\u0631\u0627\u0633 \u062a\u0648\u062b\u06cc\u0642 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0645\u0627\u067e\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<\/li>\n<li>\n<p>\u067e\u06c1\u0644\u06cc \u06a9\u0627\u0644 \u062a\u06be\u06cc\u0645 1 \u06a9\u06cc \u062a\u0639\u0645\u06cc\u0631 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06c1\u0648\u0646\u06d2 \u0648\u0627\u0644\u06d2 CDC \u06a9\u06d2 \u0639\u06cc\u0646 5 \u06a9\u0627\u0644\u0645\u0648\u06ba \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u062a\u06be\u06cc\u0645 1 \u06a9\u06cc \u067e\u06cc\u0634 \u06af\u0648\u0626\u06cc \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<\/li>\n<li>\n<p>\u062f\u0648\u0633\u0631\u06cc \u06a9\u0627\u0644 \u0627\u0633 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0645\u062c\u0645\u0648\u0639\u06cc \u062f\u0631\u062c\u06c1 \u06a9\u06cc \u067e\u06cc\u0634 \u06af\u0648\u0626\u06cc \u06a9\u0631\u062a\u06cc \u06c1\u06d2: <code>EP_NOINT<\/code>\u0628\u0631\u0627\u0688 \u0628\u06cc\u0646\u0688 \u0627\u0646\u0679\u0631\u0646\u06cc\u0679 \u0633\u0628\u0633\u06a9\u0631\u067e\u0634\u0646 \u0633\u06d2 \u0645\u062d\u0631\u0648\u0645 \u06af\u06be\u0631\u0627\u0646\u0648\u06ba \u06a9\u0627 \u0641\u06cc\u0635\u062f\u06d4 CDC \u0627\u0633 \u06a9\u0627\u0644\u0645 \u06a9\u0648 \u0627\u0633\u06cc \u0641\u0627\u0626\u0644 \u0645\u06cc\u06ba \u0634\u0627\u0645\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0633\u06d2 \u0627\u0646\u0688\u06cc\u06a9\u0633 \u0633\u06d2 \u062e\u0627\u0631\u062c \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<\/li>\n<\/ol>\n<p>\u0686\u0644\u0627\u0626\u06cc\u06ba:<\/p>\n<pre><code class=\"language-bash\">python3 leak_demo.py\n<\/code><\/pre>\n<p><img decoding=\"async\" src=\"https:\/\/umang.pk\/wp-content\/uploads\/2026\/09\/1789885973_234_Python-\u0627\u0648\u0631-\u0627\u0646\u062d\u0635\u0627\u0631-\u06af\u0631\u0627\u0641-\u06a9\u0627-\u0627\u0633\u062a\u0639\u0645\u0627\u0644-\u06a9\u0631\u062a\u06d2-\u06c1\u0648\u0626\u06d2-\u0639\u0648\u0627\u0645\u06cc-\u0688\u06cc\u0679\u0627\u0633\u06cc\u0679\u0633.png\" alt=\"RPL_THEMES \u06a9\u06cc \u067e\u06cc\u0634 \u06af\u0648\u0626\u06cc R2 = 0.998 \u067e\u0631 \u0627\u0648\u0631 RPL_THEMES \u06a9\u06cc \u067e\u06cc\u0634 \u06af\u0648\u0626\u06cc EP_NOINT \u067e\u0631 R2 = 0.384 \u067e\u0631 \u0638\u0627\u06c1\u0631 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u0627 \u0679\u0631\u0645\u06cc\u0646\u0644 \u0622\u0624\u0679 \u067e\u0679\" style=\"display: block;\" width=\"600\" height=\"400\" loading=\"lazy\" title=\"\"><\/p>\n<p><em>\u06a9\u06cc \u067e\u06cc\u062f\u0627\u0648\u0627\u0631<\/em> <code>leak_demo.py<\/code><em>. \u062a\u06be\u06cc\u0645 1 \u06a9\u06cc \u067e\u06cc\u0634 \u06af\u0648\u0626\u06cc \u0633\u06cc \u0688\u06cc \u0633\u06cc \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06c1 \u0628\u0646\u0627\u0626\u06d2 \u06af\u0626\u06d2 \u067e\u0627\u0646\u0686 \u06a9\u0627\u0644\u0645\u0648\u06ba \u0633\u06d2 \u06a9\u06cc \u06af\u0626\u06cc \u062a\u06be\u06cc \u0627\u0648\u0631 \u0627\u0633 \u06a9\u0627 \u0627\u0633\u06a9\u0648\u0631 R\u00b2 = 0.998 \u06c1\u06d2\u06d4 \u0627\u0646\u0688\u06cc\u06a9\u0633 \u0633\u06d2 \u062e\u0627\u0631\u062c \u06a9\u0631\u062f\u06c1 \u06a9\u0627\u0644\u0645\u0648\u06ba \u0633\u06d2 CDC \u06a9\u06cc \u0637\u0631\u0641 \u0633\u06d2 \u067e\u06cc\u0634 \u06af\u0648\u0626\u06cc \u06a9\u06cc \u06af\u0626\u06cc \u0645\u062c\u0645\u0648\u0639\u06cc \u062f\u0631\u062c\u06c1 \u0628\u0646\u062f\u06cc 0.384 \u06c1\u06d2\u06d4<\/em><\/p>\n<p>\u067e\u06c1\u0644\u0627 \u0633\u06a9\u0648\u0631 0.998 \u062a\u06be\u0627\u060c \u062c\u0633 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u06a9\u06c1 \u0645\u0627\u0688\u0644 \u0646\u06d2 CDC \u06a9\u06d2 \u062a\u06be\u06cc\u0645 1 \u06a9\u0648 \u062a\u0642\u0631\u06cc\u0628\u0627\u064b \u0628\u0627\u0644\u06a9\u0644 \u0679\u06be\u06cc\u06a9 \u06a9\u0631 \u062f\u06cc\u0627\u06d4 \u0633\u06cc \u0688\u06cc \u0633\u06cc \u06a9\u0627 \u0641\u0627\u0631\u0645\u0648\u0644\u0627 \u0627\u06cc\u06a9 \u0645\u0642\u0631\u0631\u06c1 \u0646\u0633\u062e\u06c1 \u06c1\u06d2 \u0627\u0648\u0631 \u0645\u0627\u0688\u0644 \u0645\u06cc\u06ba \u062a\u0645\u0627\u0645 \u0627\u062c\u0632\u0627\u0621 \u0634\u0627\u0645\u0644 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u062f\u0648\u0633\u0631\u0627 \u0633\u06a9\u0648\u0631 0.384 \u06c1\u06d2\u06d4 <code>EP_NOINT<\/code> \u0641\u0627\u0626\u0644 \u06a9\u06d2 \u0627\u0646\u0688\u06cc\u06a9\u0633 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0648\u0627\u0642\u0639\u060c \u0627\u0633 \u06a9\u0627 \u0633\u06a9\u0648\u0631 \u062f\u0648 \u0645\u062a\u0639\u0644\u0642\u06c1 \u0627\u0642\u062f\u0627\u0645\u0627\u062a \u06a9\u06d2 \u062f\u0631\u0645\u06cc\u0627\u0646 \u0645\u062e\u0635\u0648\u0635 \u0644\u0646\u06a9 \u0633\u0627\u0626\u0632 \u06a9\u06cc \u0646\u0634\u0627\u0646\u062f\u06c1\u06cc \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0628 \u0633\u0645\u0627\u062c\u06cc \u06a9\u0645\u0632\u0648\u0631\u06cc \u06a9\u06cc \u067e\u06cc\u0634\u06cc\u0646 \u06af\u0648\u0626\u06cc \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 R\u00b2 = 0.998 \u0631\u067e\u0648\u0631\u0679 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u06a9\u0627\u063a\u0630 \u06a9\u0627 \u062a\u0635\u0648\u0631 \u06a9\u0631\u06cc\u06ba\u06d4 \u06cc\u06c1 \u062a\u0639\u062f\u0627\u062f \u0634\u0627\u06cc\u062f \u0627\u06c1\u0645 \u0645\u0639\u0644\u0648\u0645 \u06c1\u0648\u060c \u0644\u06cc\u06a9\u0646 \u0648\u06c1 \u0635\u0631\u0641 \u06cc\u06c1 \u0638\u0627\u06c1\u0631 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u0645\u0627\u0688\u0644 \u0646\u06d2 \u0633\u06cc \u0688\u06cc \u0633\u06cc \u06a9\u0627 \u0631\u0627\u0633\u062a\u06c1 \u062a\u0644\u0627\u0634 \u06a9\u0631 \u0644\u06cc\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0633 \u0622\u0631\u0679\u06cc\u06a9\u0644 \u0645\u06cc\u06ba \u0627\u0633\u06a9\u0648\u0631\u0632 scikit-learn 1.8.0 \u0633\u06d2 \u06c1\u06cc\u06ba\u06d4 scikit-learn 1.3.2 \u0633\u06d2 1.9.0 \u062a\u06a9\u060c \u062a\u06cc\u0646 \u0627\u0639\u0634\u0627\u0631\u06cc\u06c1 \u0627\u06cc\u06a9 \u062c\u06cc\u0633\u06d2 \u0631\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0627\u0633 \u0644\u06cc\u06d2 \u0622\u067e \u06a9\u06d2 \u0631\u0646\u0632 \u0645\u0644\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4<\/p>\n<h2 id=\"heading-step-2-understand-why-public-data-leaks\">\u0645\u0631\u062d\u0644\u06c1 2: \u0633\u0645\u062c\u06be\u06cc\u06ba \u06a9\u06c1 \u0639\u0648\u0627\u0645\u06cc \u0688\u06cc\u0679\u0627 \u06a9\u06cc\u0648\u06ba \u0644\u06cc\u06a9 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4<\/h2>\n<p>SVI \u0645\u062b\u0627\u0644\u06cc\u06ba \u062a\u0644\u0627\u0634 \u06a9\u0631\u0646\u0627 \u0622\u0633\u0627\u0646 \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0627\u0646 \u067e\u0679 \u0627\u0648\u0631 \u0627\u0646\u0688\u06cc\u06a9\u0633 \u0627\u06cc\u06a9 \u0641\u0627\u0626\u0644 \u0645\u06cc\u06ba \u06c1\u06cc\u06ba\u06d4 \u0632\u06cc\u0627\u062f\u06c1 \u062a\u0631 \u062d\u0642\u06cc\u0642\u06cc \u062f\u0646\u06cc\u0627 \u06a9\u06d2 \u0645\u0639\u0627\u0645\u0644\u0627\u062a \u0632\u06cc\u0627\u062f\u06c1 \u0645\u0634\u06a9\u0644 \u06c1\u06cc\u06ba \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u06cc\u06c1 \u0633\u0644\u0633\u0644\u06c1 \u0645\u062a\u0639\u062f\u062f \u0627\u062f\u0627\u0631\u0648\u06ba \u0645\u06cc\u06ba \u0686\u0644\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1\u0627\u06ba \u0627\u06cc\u06a9 \u062d\u0642\u06cc\u0642\u06cc \u0633\u0644\u0633\u0644\u06c1 \u06c1\u06d2 \u062c\u0648 \u062a\u06cc\u0646 \u062a\u0646\u0638\u06cc\u0645\u0648\u06ba \u06a9\u0648 \u0639\u0628\u0648\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2: FEMA \u06a9\u06d2 \u0646\u06cc\u0634\u0646\u0644 \u0631\u0633\u06a9 \u0627\u0646\u0688\u06cc\u06a9\u0633 (NRI) \u0645\u06cc\u06ba \u0633\u0645\u0627\u062c\u06cc \u06a9\u0645\u0632\u0648\u0631\u06cc \u06a9\u0627 \u0633\u06a9\u0648\u0631 \u0634\u0627\u0645\u0644 \u06c1\u06d2\u06d4 FEMA \u06a9\u06cc \u062a\u06a9\u0646\u06cc\u06a9\u06cc \u062f\u0633\u062a\u0627\u0648\u06cc\u0632 (\u0648\u0631\u0698\u0646 1.20\u060c \u062f\u0633\u0645\u0628\u0631 2025) \u06a9\u06d2 \u0645\u0637\u0627\u0628\u0642\u060c \u06cc\u06c1 \u0627\u0633\u06a9\u0648\u0631 \u0645\u0631\u062f\u0645 \u0634\u0645\u0627\u0631\u06cc \u0628\u06cc\u0648\u0631\u0648 \u06a9\u06d2 \u06a9\u0645\u06cc\u0648\u0646\u0679\u06cc \u0644\u0686\u06a9 \u06a9\u06d2 \u062a\u062e\u0645\u06cc\u0646\u06d2 \u0633\u06d2 \u0622\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0645\u0631\u062f\u0645 \u0634\u0645\u0627\u0631\u06cc \u0628\u06cc\u0648\u0631\u0648 \u06cc\u06c1 \u062a\u062e\u0645\u06cc\u0646\u06c1 ACS \u0633\u0631\u0648\u06d2 \u06a9\u06d2 \u0688\u06cc\u0679\u0627 \u06a9\u06cc \u0628\u0646\u06cc\u0627\u062f \u067e\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0644\u06c1\u0630\u0627\u060c FEMA \u06a9\u06d2 \u062e\u0637\u0631\u06d2 \u06a9\u06d2 \u0627\u0633\u06a9\u0648\u0631 \u0627\u0648\u0631 ACS \u06a9\u0627\u0644\u0645 \u0627\u06cc\u06a9 \u0633\u0644\u0633\u0644\u06c1 \u06a9\u06d2 \u062f\u0648\u0646\u0648\u06ba \u0633\u0631\u06d2 \u067e\u0631 \u06c1\u0648 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062d\u0627\u0644\u0627\u0646\u06a9\u06c1 \u0648\u06c1 \u0645\u062e\u062a\u0644\u0641 \u0627\u06cc\u062c\u0646\u0633\u06cc\u0648\u06ba \u0627\u0648\u0631 \u0648\u06cc\u0628 \u0633\u0627\u0626\u0679\u0633 \u0633\u06d2 \u0622\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u06cc\u06c1 \u062c\u0627\u0646\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u06c1 \u06a9\u0645\u067e\u06cc\u0648\u0679\u0631 \u0627\u0633 \u0633\u06d2 \u06a9\u06cc\u0648\u06ba \u0645\u062d\u0631\u0648\u0645 \u0631\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0622\u067e \u06a9\u0648 \u0627\u0646 \u062f\u0648 \u0642\u0633\u0645 \u06a9\u06d2 \u0631\u06cc\u06a9\u0627\u0631\u0688\u0632 \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u062c\u0627\u0646\u0646\u0627 \u06c1\u0648\u06af\u0627 \u062c\u0648 \u0646\u0645\u0628\u0631\u0632 \u06a9\u06d2 \u067e\u0627\u0633 \u06c1\u0648\u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<ul>\n<li>\n<p><strong>\u067e\u06cc\u062f\u0627\u0626\u0634<\/strong> \u0633\u0648\u0627\u0644 \u06a9\u0627 \u062c\u0648\u0627\u0628 \u062f\u06cc\u062a\u06d2 \u06c1\u0648\u0626\u06d2\u060c \"\u06cc\u06c1 \u0646\u0645\u0628\u0631 \u06a9\u06c1\u0627\u06ba \u0633\u06d2 \u0622\u06cc\u0627\u061f\" \u0645\u062b\u0627\u0644 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631\u060c \u0627\u0642\u062f\u0627\u0631 \u0627\u0633 \u0633\u06d2 \u0622\u062a\u06cc \u06c1\u06cc\u06ba: <code>California.csv<\/code>\u0627\u0633 \u0633\u06d2 \u0622\u062a\u0627 \u06c1\u06d2: <code>svi.cdc.gov<\/code>.<\/p>\n<\/li>\n<li>\n<p><strong>\u0634\u0627\u0645\u0644 \u06a9\u0631\u0646\u0627<\/strong> \u0627\u0633 \u0633\u0648\u0627\u0644 \u06a9\u0627 \u062c\u0648\u0627\u0628 \u062f\u06cc\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u06a9\u06c1 \"\u0627\u0646 \u0646\u0645\u0628\u0631\u0648\u06ba \u06a9\u0648 \u06a9\u0633 \u0686\u06cc\u0632 \u0633\u06d2 \u0634\u0645\u0627\u0631 \u06a9\u06cc\u0627 \u06af\u06cc\u0627\u061f\" \u0645\u062b\u0627\u0644 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631\u060c \u062a\u06be\u06cc\u0645 1 \u06a9\u0627 \u062d\u0633\u0627\u0628 \u067e\u0627\u0646\u0686 ACS \u06a9\u0627\u0644\u0645\u0648\u06ba \u0633\u06d2 \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u062a\u06be\u0627\u06d4<\/p>\n<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"https:\/\/umang.pk\/wp-content\/uploads\/2026\/09\/1789885974_919_Python-\u0627\u0648\u0631-\u0627\u0646\u062d\u0635\u0627\u0631-\u06af\u0631\u0627\u0641-\u06a9\u0627-\u0627\u0633\u062a\u0639\u0645\u0627\u0644-\u06a9\u0631\u062a\u06d2-\u06c1\u0648\u0626\u06d2-\u0639\u0648\u0627\u0645\u06cc-\u0688\u06cc\u0679\u0627\u0633\u06cc\u0679\u0633.png\" alt=\"\u0645\u062a\u0648\u0627\u0632\u06cc \u062e\u0627\u06a9\u06c1\u06d4 \u0628\u0627\u0626\u06cc\u06ba: \u0645\u0627\u062e\u0630\u060c \u0627\u0642\u062f\u0627\u0631 California.csv \u0633\u06d2 \u06c1\u06cc\u06ba \u062c\u0648 svi.cdc.gov \u0633\u06d2 \u0688\u0627\u0624\u0646 \u0644\u0648\u0688 \u06a9\u06cc \u06af\u0626\u06cc \u06c1\u06cc\u06ba\u06d4 \u062f\u0627\u0626\u06cc\u06ba: \u0627\u062e\u0630 \u06a9\u0631\u062f\u06c1\u060c RPL_THEME1\u060c \u067e\u0627\u0646\u0686 ACS \u06a9\u0627\u0644\u0645\u0648\u06ba \u067e\u0631 \u0645\u0634\u062a\u0645\u0644 \u06c1\u06d2\u06d4\" style=\"display: block;\" width=\"600\" height=\"400\" loading=\"lazy\" title=\"\"><\/p>\n<p><em>\u0646\u0645\u0628\u0631\u0648\u06ba \u0645\u06cc\u06ba \u062f\u0648 \u0637\u0631\u062d \u06a9\u06d2 \u0631\u06cc\u06a9\u0627\u0631\u0688 \u06c1\u0648 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba: \u0628\u0627\u0626\u06cc\u06ba \u0637\u0631\u0641 \u06a9\u06d2 \u0630\u0631\u0627\u0626\u0639 \u0627\u0646 \u0641\u0627\u0626\u0644\u0648\u06ba \u0627\u0648\u0631 \u0648\u06cc\u0628 \u0633\u0627\u0626\u0679\u0633 \u06a9\u0648 \u0631\u06cc\u06a9\u0627\u0631\u0688 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u06c1\u0627\u06ba \u0633\u06d2 \u0642\u062f\u0631\u06cc\u06ba \u0622\u0626\u06cc\u06ba\u06d4 \u062f\u0627\u0626\u06cc\u06ba \u0637\u0631\u0641 \u06a9\u0627 \u0627\u062e\u0630 \u067e\u0627\u0646\u0686 ACS \u06a9\u0627\u0644\u0645\u0648\u06ba \u06a9\u0648 \u0631\u06cc\u06a9\u0627\u0631\u0688 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0646 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0679\u0627\u067e\u06a9 1 \u06a9\u0627 \u062d\u0633\u0627\u0628 \u0644\u06af\u0627\u06cc\u0627 \u06af\u06cc\u0627 \u062a\u06be\u0627\u06d4<\/em><\/p>\n<p>\u0632\u06cc\u0627\u062f\u06c1 \u062a\u0631 \u0688\u06cc\u0679\u0627 \u06a9\u06cc\u0679\u0644\u0627\u06af \u067e\u0631\u0648\u0648\u0646\u0646\u0633 \u06a9\u0648 \u0630\u062e\u06cc\u0631\u06c1 \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u0627\u06cc\u06a9 \u0627\u0686\u06be\u0627 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u06af\u0648\u06af\u0644 \u06a9\u0627 \u0688\u06cc\u0679\u0627 \u06a9\u0627\u0645\u0646\u0632 \u0627\u06cc\u06a9 \u0627\u0686\u06be\u06cc \u0645\u062b\u0627\u0644 \u06c1\u06d2\u06d4 \u06c1\u0645 \u0627\u0635\u0644 \u06a9\u0648 \"\u062f\u0631\u0622\u0645\u062f \u06a9\u06cc \u062c\u0633\u0645\u0627\u0646\u06cc \u0627\u06a9\u0627\u0626\u06cc\" \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0628\u06cc\u0627\u0646 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062c\u0648 \u06c1\u0645\u06cc\u06ba \u0628\u062a\u0627\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0641\u0627\u0626\u0644 \u0646\u0645\u0628\u0631 \u06a9\u06c1\u0627\u06ba \u0633\u06d2 \u0622\u06cc\u0627 \u06c1\u06d2\u06d4 \u0645\u0627\u062e\u0648\u0630 \u0639\u0627\u0645 \u0637\u0648\u0631 \u067e\u0631 \u0635\u0631\u0641 \u067e\u06cc \u0688\u06cc \u0627\u06cc\u0641 \u0637\u0631\u06cc\u0642\u06c1 \u06a9\u0627\u0631 \u06a9\u06d2 \u062f\u0633\u062a\u0627\u0648\u06cc\u0632\u0627\u062a \u0645\u06cc\u06ba \u0645\u0648\u062c\u0648\u062f \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0648 \u0627\u0646\u0633\u0627\u0646\u0648\u06ba \u06a9\u06d2 \u0644\u06cc\u06d2 \u0644\u06a9\u06be\u06d2 \u06af\u0626\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0644\u06c1\u0630\u0627\u060c \u062c\u0628 \u0627\u06cc\u06a9 \u062e\u0648\u062f\u06a9\u0627\u0631 \u067e\u0627\u0626\u067e \u0644\u0627\u0626\u0646 \u0645\u0641\u06cc\u062f \u06a9\u0648\u0648\u0627\u0631\u06cc\u0679\u0633 \u062a\u0644\u0627\u0634 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u060c \u062a\u0648 \u06cc\u06c1 \u06a9\u0627\u0644\u0645 \u062c\u0645\u0639 \u06a9\u0631 \u0633\u06a9\u062a\u06cc \u06c1\u06d2 \u062c\u06c1\u0627\u06ba \u06c1\u062f\u0641 \u0644\u06a9\u06be\u0627 \u06af\u06cc\u0627 \u06c1\u06d2\u06d4 \u067e\u0627\u0626\u067e \u0644\u0627\u0626\u0646 \u0627\u0639\u0644\u06cc \u0627\u0633\u06a9\u0648\u0631 \u06a9\u06cc \u062c\u0627\u0646\u0686 \u06a9\u0631\u062a\u06cc \u06c1\u06d2 \u0627\u0648\u0631 \u0645\u062a\u0639\u0644\u0642\u06c1 \u06a9\u0627\u0644\u0645 \u06a9\u0648 \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06a9\u06be\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-step-3-borrow-an-idea-from-package-managers\">\u0645\u0631\u062d\u0644\u06c1 3: \u067e\u06cc\u06a9\u06cc\u062c \u0645\u06cc\u0646\u06cc\u062c\u0631 \u0633\u06d2 \u0622\u0626\u06cc\u0688\u06cc\u0627\u0632 \u0644\u06cc\u06ba\u06d4<\/h2>\n<p>\u0633\u0627\u0641\u0679 \u0648\u06cc\u0626\u0631 \u0688\u0648\u06cc\u0644\u067e\u0631\u0632 \u0646\u06d2 \u0628\u06c1\u062a \u067e\u06c1\u0644\u06d2 \u0627\u0633\u06cc \u0637\u0631\u062d \u06a9\u0627 \u0645\u0633\u0626\u0644\u06c1 \u062d\u0644 \u06a9\u06cc\u0627 \u062a\u06be\u0627\u06d4<\/p>\n<p>\u062c\u0628 \u0622\u067e \u0628\u06be\u0627\u06af\u062a\u06d2 \u06c1\u06cc\u06ba <code>pip install requests<\/code>pip \u06a9\u0633 \u0686\u06cc\u0632 \u06a9\u06cc \u0641\u06c1\u0631\u0633\u062a \u067e\u0691\u06be\u062a\u0627 \u06c1\u06d2\u06d4 <code>requests<\/code> \u067e\u06cc\u06a9\u062c\u0648\u06ba \u067e\u0631 \u0645\u0646\u062d\u0635\u0631 \u06c1\u06d2 \u06a9\u06c1 \u06a9\u0633 \u0686\u06cc\u0632 \u067e\u0631 \u0645\u0646\u062d\u0635\u0631 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0627\u0633\u06cc \u0637\u0631\u062d \u062f\u0631\u062e\u062a \u06a9\u06d2 \u0646\u06cc\u0686\u06d2. \u0686\u0648\u0646\u06a9\u06c1 \u062a\u0645\u0627\u0645 \u0627\u0646\u062d\u0635\u0627\u0631 \u0644\u0627\u06af \u0627\u0646 \u06c1\u06cc\u06ba\u060c pip \u06a9\u0633\u06cc \u0628\u06be\u06cc \u0686\u06cc\u0632 \u06a9\u0648 \u0627\u0646\u0633\u0679\u0627\u0644 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u062f\u0631\u062e\u062a \u0645\u06cc\u06ba \u06a9\u06c1\u06cc\u06ba \u0628\u06be\u06cc \u0645\u0633\u0627\u0626\u0644 \u062a\u0644\u0627\u0634 \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0646\u06cc\u0686\u06d2 \u062f\u06cc\u0627 \u06af\u06cc\u0627 \u062e\u0627\u06a9\u06c1 \u0627\u0633 \u062f\u0631\u062e\u062a \u06a9\u0648 \u0627\u0633\u06cc \u0645\u0633\u0626\u0644\u06d2 \u06a9\u06d2 \u0688\u06cc\u0679\u0627 \u0648\u0631\u0698\u0646 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0631\u06a9\u06be\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/umang.pk\/wp-content\/uploads\/2026\/09\/1789885974_242_Python-\u0627\u0648\u0631-\u0627\u0646\u062d\u0635\u0627\u0631-\u06af\u0631\u0627\u0641-\u06a9\u0627-\u0627\u0633\u062a\u0639\u0645\u0627\u0644-\u06a9\u0631\u062a\u06d2-\u06c1\u0648\u0626\u06d2-\u0639\u0648\u0627\u0645\u06cc-\u0688\u06cc\u0679\u0627\u0633\u06cc\u0679\u0633.png\" alt=\"\u0628\u0627\u0626\u06cc\u06ba: urllib3 \u0627\u0648\u0631 \u0633\u0631\u0679\u06cc\u0641\u06cc \u067e\u06cc\u0634 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u0648\u06ba \u0627\u0648\u0631 my-app \u06a9\u06d2 \u0633\u0627\u062a\u06be \u067e\u06cc\u06a9\u06cc\u062c \u067e\u0631 \u0627\u0646\u062d\u0635\u0627\u0631 \u06a9\u0627 \u062f\u0631\u062e\u062a\u06d4 \u062f\u0627\u0626\u06cc\u06ba: ACS.EP_UNEMP FEMA_NRI.risk_score \u06a9\u06cc \u067e\u06cc\u0634 \u06af\u0648\u0626\u06cc \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u06a9 \u0645\u0627\u0688\u0644 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u062c\u0628 \u06a9\u06c1 \u0627\u06cc\u06a9 \u06c1\u06cc \u06a9\u0627\u0644\u0645 \u062f\u0648\u0646\u0648\u06ba \u067e\u0631\u0648\u0688\u06a9\u0679\u0633 \u0633\u06d2 \u0645\u062a\u0639\u0644\u0642\u06c1 \u0631\u0633\u06a9 \u0633\u06a9\u0648\u0631 \u062a\u06a9 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4\" style=\"display: block;\" width=\"600\" height=\"400\" loading=\"lazy\" title=\"\"><\/p>\n<p><em>\u0627\u06cc\u06a9 \u06c1\u06cc \u0634\u06a9\u0644 \u062f\u0648 \u0628\u0627\u0631 \u0638\u0627\u06c1\u0631 \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4 \u0628\u0627\u0626\u06cc\u06ba \u0637\u0631\u0641 \u067e\u0627\u0626\u067e \u06a9\u0627 \u0627\u0646\u062d\u0635\u0627\u0631 \u062f\u0631\u062e\u062a \u06c1\u06d2\u06d4<\/em> <code>urllib3<\/code> <em>\u0627\u0648\u0631<\/em> <code>certifi<\/code> <em>\u06a9\u06be\u0627\u0646\u0627 \u06a9\u06be\u0644\u0627\u0646\u0627<\/em> <code>requests<\/code><em>\u06a9\u06be\u0627\u0646\u0627 \u06a9\u06be\u0644\u0627\u0646\u0627<\/em> <code>my-app<\/code><em>. \u062f\u0627\u0626\u06cc\u06ba \u0637\u0631\u0641 \u0688\u06cc\u0679\u0627 \u0648\u0631\u0698\u0646 \u06c1\u06d2\u06d4<\/em> <code>ACS.EP_UNEMP<\/code> <em>\u067e\u06cc\u0634\u0646 \u06af\u0648\u0626\u06cc \u06a9\u0627 \u0645\u0627\u0688\u0644 \u062f\u0631\u062c \u06a9\u0631\u06cc\u06ba\u06d4<\/em> <code>FEMA_NRI.risk_score<\/code><em>\u0627\u06cc\u06a9 \u06c1\u06cc \u06a9\u0627\u0644\u0645 \u062f\u06cc\u06af\u0631 \u062f\u0648 \u0645\u0635\u0646\u0648\u0639\u0627\u062a \u0633\u06d2 \u06af\u0632\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0645\u062a\u0639\u0644\u0642\u06c1 \u0631\u0633\u06a9 \u0633\u06a9\u0648\u0631 \u062a\u06a9 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/em><\/p>\n<p>\u0639\u0648\u0627\u0645\u06cc \u0688\u06cc\u0679\u0627 \u06a9\u0648 \u0627\u0633\u06cc \u0642\u0633\u0645 \u06a9\u06d2 \u0631\u06cc\u06a9\u0627\u0631\u0688 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4 \u0627\u0648\u067e\u0631 \u062f\u06cc\u06d2 \u06af\u0626\u06d2 \u062e\u0627\u06a9\u06d2 \u06a9\u06d2 \u062f\u0627\u0626\u06cc\u06ba \u0646\u0635\u0641 \u0645\u06cc\u06ba\u060c <code>ACS.EP_UNEMP<\/code> (\u0628\u06d2 \u0631\u0648\u0632\u06af\u0627\u0631\u06cc \u06a9\u06cc \u0634\u0631\u062d) \u06a9\u0648 \u0645\u0627\u0688\u0644 \u0645\u06cc\u06ba \u06a9\u0648\u0648\u0627\u0631\u06cc\u0679 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u062f\u0631\u062c \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2\u06d4 \u0627\u06cc\u06a9 \u06c1\u06cc \u0633\u062a\u0648\u0646 \u062f\u0648 \u0645\u062e\u062a\u0644\u0641 \u0645\u0635\u0646\u0648\u0639\u0627\u062a \u0633\u06d2 \u06af\u0632\u0631\u062a\u0627 \u06c1\u06d2\u06d4 <code>FEMA_NRI.risk_score<\/code>\u06cc\u06c1 \u0645\u0642\u0635\u062f \u06c1\u06d2\u06d4 \u06a9\u0627\u0644\u0645 \u0644\u0648\u067e \u06a9\u06d2 \u062f\u0648\u0646\u0648\u06ba \u0633\u0631\u0648\u06ba \u067e\u0631 \u0648\u0627\u0642\u0639 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u06a9\u0645\u067e\u06cc\u0648\u0679\u0631 \u0633\u0627\u0626\u0646\u0633 \u0645\u06cc\u06ba \u0627\u0633 \u0642\u0633\u0645 \u06a9\u0627 \u062e\u0627\u06a9\u06c1 \u06c1\u06d2\u06d4 <strong>\u06af\u0631\u0627\u0641<\/strong>. \u06c1\u0631 \u0628\u0627\u06a9\u0633 <strong>\u0644\u0641\u0638<\/strong>\u06c1\u0631 \u062a\u06cc\u0631 <strong>\u06a9\u0646\u0627\u0631\u06d2<\/strong>. \u0688\u06cc\u0679\u0627 \u06af\u0631\u0627\u0641 \u0645\u06cc\u06ba \u062a\u06cc\u0631\u0648\u06ba \u06a9\u06cc \u067e\u06cc\u0631\u0648\u06cc \u06a9\u0631\u0646\u0627 \u06c1\u0645\u06cc\u0634\u06c1 \u0646\u0642\u0637\u06c1 \u0622\u063a\u0627\u0632 \u0633\u06d2 \u0627\u0648\u067e\u0631 \u06a9\u06cc \u0637\u0631\u0641 \u0628\u0691\u06be\u062a\u0627 \u06c1\u06d2\u060c \u0644\u06c1\u0630\u0627 \u06af\u0631\u0627\u0641 \u0627\u0633 \u0637\u0631\u062d \u0644\u06af\u062a\u0627 \u06c1\u06d2: <strong>\u0688\u0627\u0626\u0631\u06cc\u06a9\u0679\u0688 Acyclic \u06af\u0631\u0627\u0641<\/strong>\u0645\u062e\u062a\u0635\u0631\u0627\u064b \u0688\u06cc \u0627\u06d2 \u062c\u06cc\u06d4 \"Acyclic\" \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u06a9\u06c1 \u062a\u06cc\u0631 \u0627\u06cc\u06a9 \u0635\u0641\u0631 \u0644\u0648\u067e \u0628\u0646\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u0633 \u067e\u0648\u0631\u06d2 \u0645\u0636\u0645\u0648\u0646 \u0645\u06cc\u06ba\u060c \u062a\u0645\u0627\u0645 \u062a\u06cc\u0631 \u0627\u06cc\u06a9 \u062c\u0632\u0648 \u0633\u06d2 \u0627\u0633 \u062c\u0632\u0648 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u062a\u06cc\u0627\u0631 \u06a9\u0631\u062f\u06c1 \u0645\u0635\u0646\u0648\u0639\u0627\u062a \u06a9\u06cc \u0637\u0631\u0641 \u0627\u0634\u0627\u0631\u06c1 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u062f\u0648 \u062e\u0627\u0646\u062f\u0627\u0646\u06cc \u0627\u0644\u0641\u0627\u0638 \u06af\u0631\u0627\u0641 \u067e\u0631 \u0645\u0642\u0627\u0645\u0627\u062a \u06a9\u0648 \u0628\u06cc\u0627\u0646 \u06a9\u0631\u0646\u06d2 \u0645\u06cc\u06ba \u0645\u062f\u062f \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<ul>\n<li>\n<p>\u0646\u06c1\u06cc\u06ba <strong>\u0627\u062c\u062f\u0627\u062f<\/strong> \u0646\u0648\u0688 \u0648\u06c1 \u0686\u06cc\u0632 \u06c1\u06d2 \u062c\u0633 \u062a\u06a9 \u06a9\u0633\u06cc \u0628\u06be\u06cc \u0641\u0627\u0635\u0644\u06d2 \u0633\u06d2 \u067e\u06cc\u0686\u06be\u06d2 \u06a9\u06cc \u0637\u0631\u0641 \u062a\u06cc\u0631 \u06a9\u06cc \u067e\u06cc\u0631\u0648\u06cc \u06a9\u0631\u06a9\u06d2 \u067e\u06c1\u0646\u0686\u0627 \u062c\u0627 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4 ACS \u0628\u062e\u0627\u0631 SVI \u06a9\u0627 \u0622\u0628\u0627\u0624 \u0627\u062c\u062f\u0627\u062f \u06c1\u06d2\u06d4<\/p>\n<\/li>\n<li>\n<p>\u06a9\u0648\u0626\u06cc \u0631\u0627\u0633\u062a\u06c1 \u0646\u06c1\u06cc\u06ba <strong>\u0627\u0648\u0644\u0627\u062f<\/strong> \u0646\u0648\u0688 \u0648\u06c1 \u0686\u06cc\u0632 \u06c1\u06d2 \u062c\u0633 \u062a\u06a9 \u062a\u06cc\u0631 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0622\u06af\u06d2 \u0628\u0691\u06be \u06a9\u0631 \u067e\u06c1\u0646\u0686\u0627 \u062c\u0627 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4 SVI ACS \u06a9\u0627\u0644\u0645 \u06a9\u0627 \u0628\u0686\u06c1 \u06c1\u06d2\u06d4<\/p>\n<\/li>\n<\/ul>\n<p>\u067e\u06be\u0631 \u0644\u06cc\u06a9 \u0679\u06cc\u0633\u0679\u0646\u06af \u0627\u06cc\u06a9 \u0633\u0627\u062f\u06c1 \u0627\u0635\u0648\u0644 \u0628\u0646 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u06cc\u0639\u0646\u06cc\u060c \u062a\u0645\u0627\u0645 \u06c1\u0645 \u062e\u06cc\u0627\u0644 \u0627\u0641\u0631\u0627\u062f \u06a9\u0648 \u0645\u0648\u0636\u0648\u0639 \u06a9\u06d2 \u0648\u0627\u0644\u062f\u06cc\u0646 \u0627\u0648\u0631 \u0628\u0686\u0648\u06ba \u0633\u06d2 \u0627\u0646\u062d\u0631\u0627\u0641 \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4<\/p>\n<h2 id=\"heading-step-4-write-the-dependency-manifest\">\u0645\u0631\u062d\u0644\u06c1 4: \u0627\u0646\u062d\u0635\u0627\u0631\u06cc \u0645\u06cc\u0646\u06cc \u0641\u06cc\u0633\u0679 \u0644\u06a9\u06be\u06cc\u06ba\u06d4<\/h2>\n<p>\u0645\u06cc\u0646\u06cc \u0641\u06cc\u0633\u0679 \u0627\u06cc\u06a9 \u0641\u0627\u0626\u0644 \u06c1\u06d2 \u062c\u0648 \u062a\u0645\u0627\u0645 \u067e\u0631\u0648\u0688\u06a9\u0679\u0633 \u0627\u0648\u0631 \u06c1\u0631 \u067e\u0631\u0648\u0688\u06a9\u0679 \u06a9\u06d2 \u0627\u062c\u0632\u0627\u0621 \u06a9\u06cc \u0641\u06c1\u0631\u0633\u062a \u062f\u06cc\u062a\u06cc \u06c1\u06d2\u06d4 \u06c1\u0645 \u06cc\u06c1\u0627\u06ba YAML \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba \u06af\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0644\u0648\u06af\u0648\u06ba \u06a9\u06d2 \u0644\u06cc\u06d2 \u067e\u0691\u06be\u0646\u0627 \u0627\u0648\u0631 \u062a\u0631\u0645\u06cc\u0645 \u06a9\u0631\u0646\u0627 \u0622\u0633\u0627\u0646 \u06c1\u06d2\u06d4<\/p>\n<p>\u0645\u0627\u067e\u0627 \u0645\u0635\u0646\u0648\u0639\u0627\u062a \u0627\u0633 \u0637\u0631\u062d \u0644\u06af\u062a\u0627 \u06c1\u06d2:<\/p>\n<pre><code class=\"language-yaml\">ACS.EP_UNEMP:\n  label: Unemployment rate\n  measurementBasis: measured\n  derivesFrom: []\n<\/code><\/pre>\n<p>\u062e\u0627\u0644\u06cc \u0641\u06c1\u0631\u0633\u062a <code>derivesFrom: []<\/code> \u0686\u0648\u0646\u06a9\u06c1 \u06cc\u06c1 \u067e\u0631\u0648\u0688\u06a9\u0679 \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a \u0627\u06cc\u06a9 \u0633\u0631\u0648\u06d2 \u0633\u06d2 \u0622\u062a\u0627 \u06c1\u06d2\u060c \u06c1\u0645 \u0627\u0639\u0644\u06cc \u062f\u0631\u062c\u06c1 \u0628\u0646\u062f\u06cc \u06a9\u0648 \u0631\u06cc\u06a9\u0627\u0631\u0688 \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u06cc\u06c1\u0627\u06ba \u0645\u062e\u062a\u0644\u0641 \u0645\u0635\u0646\u0648\u0639\u0627\u062a \u0633\u06d2 \u062a\u06cc\u0627\u0631 \u06a9\u0631\u062f\u06c1 \u06a9\u0686\u06be \u0645\u0635\u0646\u0648\u0639\u0627\u062a \u06c1\u06cc\u06ba:<\/p>\n<pre><code class=\"language-yaml\">FEMA_NRI.social_vulnerability:\n  label: FEMA National Risk Index, social vulnerability\n  measurementBasis: composite\n  derivesFrom:\n    - {variable: CENSUS_CRE.social_vulnerability, relation: identity, confidence: documented}\n<\/code><\/pre>\n<p>\u06c1\u0631 \u0627\u06cc\u06a9 \u0634\u06d2 \u06c1\u06d2\u06d4 <code>derivesFrom<\/code> \u06af\u0631\u0627\u0641 \u06a9\u0627 \u0627\u06cc\u06a9 \u06a9\u0646\u0627\u0631\u06c1 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u06c1\u0631 \u06a9\u0646\u0627\u0631\u06d2 \u06a9\u06d2 \u062a\u06cc\u0646 \u062d\u0642\u0627\u0626\u0642 \u06c1\u06cc\u06ba:<\/p>\n<ul>\n<li>\n<p><code>variable<\/code>    \u0627\u0633 \u0645\u06cc\u06ba \u0628\u0646\u06cc\u0627\u062f\u06cc \u067e\u0631\u0648\u0688\u06a9\u0679 \u06a9\u0627 \u0646\u0627\u0645 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u06cc\u06c1 \u0646\u0627\u0645 \u0641\u0627\u0626\u0644 \u0645\u06cc\u06ba \u06a9\u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0628\u06cc\u0627\u0646 \u06a9\u0631\u062f\u06c1 \u067e\u0631\u0648\u0688\u06a9\u0679 \u0633\u06d2 \u0645\u0645\u0627\u062b\u0644 \u06c1\u0648\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4<\/p>\n<\/li>\n<li>\n<p><code>relation<\/code>    \u0648\u0636\u0627\u062d\u062a \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0648\u0627\u0644\u062f\u06cc\u0646 \u06a9\u0648 \u06a9\u0633 \u0637\u0631\u062d \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<\/li>\n<li>\n<p><code>confidence<\/code>    \u0644\u06a9\u06be\u06cc\u06ba \u06a9\u06c1 \u0622\u067e \u06a9\u0646\u0627\u0631\u06d2 \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u06a9\u062a\u0646\u06d2 \u067e\u0631 \u0627\u0639\u062a\u0645\u0627\u062f \u06c1\u06cc\u06ba\u06d4<\/p>\n<\/li>\n<\/ul>\n<p>\u067e\u0627\u0646\u0686 \u0631\u0634\u062a\u06d2 \u06cc\u06c1 \u06c1\u06cc\u06ba:<\/p>\n<table>\n<thead>\n<tr>\n<th>\u0631\u0634\u062a\u06c1<\/th>\n<th>\u0645\u0639\u0646\u06cc<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>component<\/code><\/td>\n<td>\u0648\u0627\u0644\u062f\u06cc\u0646 \u0627\u06cc\u06a9 \u0631\u06cc\u0627\u0636\u06cc\u0627\u062a\u06cc \u0639\u0646\u0635\u0631 \u06c1\u06d2 \u062c\u0648 \u0631\u0642\u0645 \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u0639\u062f\u062f \u06a9\u06d2 \u0628\u0631\u0627\u0628\u0631 \u06c1\u06d2\u06d4<\/td>\n<\/tr>\n<tr>\n<td><code>modelled_from<\/code><\/td>\n<td>\u0648\u0627\u0644\u062f\u06cc\u0646 \u0634\u0645\u0627\u0631\u06cc\u0627\u062a\u06cc \u0645\u0627\u0688\u0644 \u0645\u06cc\u06ba \u0627\u0646 \u067e\u0679 \u062a\u06be\u06d2\u06d4<\/td>\n<\/tr>\n<tr>\n<td><code>identity<\/code><\/td>\n<td>\u067e\u0631\u0648\u0688\u06a9\u0679 \u0628\u0646\u06cc\u0627\u062f\u06cc \u067e\u0631\u0648\u0688\u06a9\u0679 \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0633\u06d2 \u0646\u0626\u06d2 \u0646\u0627\u0645 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u062f\u0648\u0628\u0627\u0631\u06c1 \u0634\u0627\u0626\u0639 \u06a9\u06cc\u0627 \u062c\u0627\u0626\u06d2 \u06af\u0627\u06d4<\/td>\n<\/tr>\n<tr>\n<td><code>poststratified_on<\/code><\/td>\n<td>\u0648\u0627\u0644\u062f\u06cc\u0646 \u0646\u06d2 \u0622\u0628\u0627\u062f\u06cc \u06a9\u0627 \u0648\u0632\u0646 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u06cc\u0627\u06d4<\/td>\n<\/tr>\n<tr>\n<td><code>denominator<\/code><\/td>\n<td>\u0648\u0627\u0644\u062f\u06cc\u0646 \u06a9\u0633\u0631 \u06a9\u06d2 \u0633\u0628 \u0633\u06d2 \u0646\u06cc\u0686\u06d2 \u0646\u0645\u0628\u0631 \u06c1\u06cc\u06ba\u060c \u062c\u06cc\u0633\u0627 \u06a9\u06c1 \"\u0641\u06cc \u06a9\u0633 \u06a9\u06cc\u0633\u0632\" \u0645\u06cc\u06ba \u0622\u0628\u0627\u062f\u06cc \u06c1\u06d2\u06d4<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u0627\u0639\u062a\u0645\u0627\u062f \u06a9\u06cc \u062a\u06cc\u0646 \u0633\u0637\u062d\u06cc\u06ba \u06c1\u06cc\u06ba:<\/p>\n<table>\n<thead>\n<tr>\n<th>\u0627\u06cc\u0645\u0627\u0646<\/th>\n<th>\u0645\u0639\u0646\u06cc<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>certain<\/code><\/td>\n<td>\u0641\u0627\u0631\u0645\u0648\u0644\u06d2 \u0634\u0627\u0626\u0639 \u06a9\u06cc\u06d2 \u062c\u0627\u062a\u06d2 \u06c1\u06cc\u06ba \u06cc\u0627 \u0627\u0646 \u067e\u0679 \u0627\u0648\u0631 \u0622\u0624\u0679 \u067e\u0679 \u0627\u06cc\u06a9 \u0641\u0627\u0626\u0644 \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u0633\u0627\u062a\u06be \u0641\u0631\u0627\u06c1\u0645 \u06a9\u06cc\u06d2 \u062c\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/td>\n<\/tr>\n<tr>\n<td><code>documented<\/code><\/td>\n<td>\u0627\u062f\u0627\u0631\u06c1 \u0627\u067e\u0646\u06d2 \u0637\u0631\u06cc\u0642\u06c1 \u06a9\u0627\u0631 \u06a9\u06cc \u062f\u0633\u062a\u0627\u0648\u06cc\u0632 \u0645\u06cc\u06ba \u0644\u0646\u06a9 \u06a9\u06cc \u0648\u0636\u0627\u062d\u062a \u06a9\u0631\u06d2 \u06af\u0627\u06d4<\/td>\n<\/tr>\n<tr>\n<td><code>inferred<\/code><\/td>\n<td>\u062f\u0633\u062a\u0627\u0648\u06cc\u0632 \u0633\u062e\u062a\u06cc \u0633\u06d2 \u0627\u06cc\u06a9 \u0644\u0646\u06a9 \u062a\u062c\u0648\u06cc\u0632 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u060c \u0644\u06c1\u0630\u0627 \u0627\u0633\u06d2 \u0639\u0627\u0631\u0636\u06cc \u0633\u0645\u062c\u06be\u06cc\u06ba\u06d4<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u0627\u0639\u062a\u0645\u0627\u062f \u06a9\u0627 \u0645\u06cc\u062f\u0627\u0646 \u0627\u0633 \u0633\u06d2 \u06a9\u06c1\u06cc\u06ba \u0632\u06cc\u0627\u062f\u06c1 \u0627\u06c1\u0645 \u06c1\u06d2 \u062c\u062a\u0646\u0627 \u06cc\u06c1 \u067e\u06c1\u0644\u06d2 \u0638\u0627\u06c1\u0631 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u0646\u062f\u0627\u0632\u0648\u06ba \u0633\u06d2 \u0628\u06be\u0631\u0627 \u0627\u06cc\u06a9 \u0634\u062c\u0631\u06c1 \u0646\u0633\u0628 \u06a9\u0627 \u06af\u0631\u0627\u0641 \u0627\u0633\u06cc \u0645\u0633\u0626\u0644\u06d2 \u06a9\u0648 \u062f\u0648\u0628\u0627\u0631\u06c1 \u067e\u06cc\u0634 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0633\u06d2 \u0622\u067e \u062d\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u06a9\u0648\u0634\u0634 \u06a9\u0631 \u0631\u06c1\u06d2 \u06c1\u06cc\u06ba\u060c \u0644\u06c1\u0630\u0627 \u06c1\u0631 \u06a9\u0646\u0627\u0631\u06d2 \u06a9\u0648 \u0622\u067e \u06a9\u0648 \u0628\u062a\u0627\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2 \u06a9\u06c1 \u0627\u0633 \u06a9\u06d2 \u067e\u06cc\u0686\u06be\u06d2 \u06a9\u062a\u0646\u06d2 \u062b\u0628\u0648\u062a \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u06c1\u0631 \u0627\u06cc\u06a9 \u067e\u0631\u0648\u0688\u06a9\u0679 \u0628\u06be\u06cc \u06c1\u06d2\u06d4 <code>measurementBasis<\/code>:<\/p>\n<table>\n<thead>\n<tr>\n<th>\u067e\u06cc\u0645\u0627\u0626\u0634 \u06a9\u0627 \u0645\u0639\u06cc\u0627\u0631<\/th>\n<th>\u0645\u0639\u0646\u06cc<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>measured<\/code><\/td>\n<td>\u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a \u0634\u0645\u0627\u0631 \u06cc\u0627 \u0633\u0631\u0648\u06d2\u060c \u062c\u06cc\u0633\u06d2 \u0645\u0631\u062f\u0645 \u0634\u0645\u0627\u0631\u06cc\u06d4<\/td>\n<\/tr>\n<tr>\n<td><code>modelled<\/code><\/td>\n<td>\u0634\u0645\u0627\u0631\u06cc\u0627\u062a\u06cc \u06cc\u0627 \u0645\u0634\u06cc\u0646 \u0644\u0631\u0646\u0646\u06af \u0645\u0627\u0688\u0644\u0632 \u0633\u06d2 \u062a\u06cc\u0627\u0631 \u06a9\u0631\u062f\u06c1<\/td>\n<\/tr>\n<tr>\n<td><code>composite<\/code><\/td>\n<td>\u062f\u06cc\u06af\u0631 \u0645\u0635\u0646\u0648\u0639\u0627\u062a \u06a9\u06d2 \u0641\u06a9\u0633\u0688 \u0622\u067e\u0631\u06cc\u0634\u0646\u0632 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u062d\u0633\u0627\u0628 \u0644\u06af\u0627\u0626\u06cc\u06ba\u06d4<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u06cc\u06c1 \u0641\u06cc\u0644\u0688 \u0627\u06cc\u0633\u06cc \u0686\u06cc\u0632 \u06a9\u0648 \u0631\u06cc\u06a9\u0627\u0631\u0688 \u06a9\u0631\u062a\u06cc \u06c1\u06d2 \u062c\u0633\u06d2 \u0639\u0627\u0645 \u0637\u0648\u0631 \u067e\u0631 \u0639\u0648\u0627\u0645\u06cc \u06a9\u06cc\u0679\u0644\u0627\u06af \u0633\u06d2 \u062e\u0627\u0631\u062c \u06a9\u0631 \u062f\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2: \u0686\u0627\u06c1\u06d2 \u0646\u0645\u0628\u0631 \u06a9\u0627 \u062d\u0633\u0627\u0628 \u0644\u06af\u0627\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u0648 \u06cc\u0627 \u067e\u06cc\u0634\u06cc\u0646 \u06af\u0648\u0626\u06cc \u06a9\u06cc \u06af\u0626\u06cc \u06c1\u0648\u06d4 \u0645\u0631\u062f\u0645 \u0634\u0645\u0627\u0631\u06cc \u06a9\u06cc \u06af\u0646\u062a\u06cc \u0627\u0648\u0631 \u062c\u0646\u06af\u0644 \u06a9\u06cc \u0628\u06d2 \u062a\u0631\u062a\u06cc\u0628 \u067e\u06cc\u0634\u06cc\u0646 \u06af\u0648\u0626\u06cc\u0627\u06ba \u0627\u0633\u067e\u0631\u06cc\u0688 \u0634\u06cc\u0679 \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u062c\u06cc\u0633\u06cc \u0646\u0638\u0631 \u0622\u062a\u06cc \u06c1\u06cc\u06ba\u060c \u0644\u06cc\u06a9\u0646 \u06cc\u06c1 \u0628\u06c1\u062a \u0645\u062e\u062a\u0644\u0641 \u0642\u0633\u0645 \u06a9\u06d2 \u062b\u0628\u0648\u062a \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u0628\u06be\u06cc \u0628\u0646\u0627\u0626\u06cc\u06ba <code>mini-manifest.yaml<\/code> \u0630\u06cc\u0644 \u06a9\u06d2 \u0645\u0648\u0627\u062f \u06a9\u06d2 \u0644\u06cc\u06d2\u06d4 \u06cc\u06c1 \u0645\u06a9\u0645\u0644 \u0645\u06cc\u0646\u06cc \u0641\u06cc\u0633\u0679 \u06a9\u0627 \u0627\u06cc\u06a9 \u0686\u06be\u0648\u0679\u0627 \u062d\u0635\u06c1 \u06c1\u06d2\u060c \u062c\u0633 \u0645\u06cc\u06ba \u0627\u0635\u0644 \u0627\u0645\u0631\u06cc\u06a9\u06cc \u0688\u06cc\u0679\u0627 \u0627\u0646\u0641\u0631\u0627\u0633\u0679\u0631\u06a9\u0686\u0631 \u0633\u06d2 11 \u067e\u0631\u0648\u0688\u06a9\u0679\u0633 \u0634\u0627\u0645\u0644 \u06c1\u06cc\u06ba\u06d4 \u06c1\u0631 \u0679\u06a9\u0691\u0627 \u0627\u067e\u0646\u06d2 \u0627\u0635\u0644\u06cc \u06a9\u0646\u0627\u0631\u0648\u06ba \u0645\u06cc\u06ba \u0633\u06d2 \u06a9\u0686\u06be \u06a9\u0648 \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06a9\u06be\u062a\u0627 \u06c1\u06d2\u060c \u0644\u06c1\u0630\u0627 \u0622\u067e \u06a9\u06d2 \u0688\u06be\u06cc\u0631 \u0686\u06be\u0648\u0679\u06d2 \u0631\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-yaml\"># A small slice of derivation-manifest.yaml, used in the tutorial.\nschema: derives-from\/0.2\n\nproducts:\n\n  # ---- measured: counted or surveyed directly\n  ACS.EP_POV150:\n    label: Population below 150% of the poverty line\n    measurementBasis: measured\n    derivesFrom: []\n\n  ACS.EP_UNEMP:\n    label: Unemployment rate\n    measurementBasis: measured\n    derivesFrom: []\n\n  ACS.EP_NOVEH:\n    label: Households with zero vehicles\n    measurementBasis: measured\n    derivesFrom: []\n\n  SAT.chirps_rainfall:\n    label: CHIRPS satellite rainfall\n    measurementBasis: measured\n    derivesFrom: []\n\n  NVSS.mortality:\n    label: Death certificate records\n    measurementBasis: measured\n    derivesFrom: []\n\n  # ---- built from other products\n  CENSUS_CRE.social_vulnerability:\n    label: Census Community Resilience Estimates, social vulnerability\n    measurementBasis: modelled\n    derivesFrom:\n      - {variable: ACS.EP_POV150, relation: modelled_from, confidence: documented}\n      - {variable: ACS.EP_UNEMP,  relation: modelled_from, confidence: documented}\n      - {variable: ACS.EP_NOVEH,  relation: modelled_from, confidence: documented}\n\n  FEMA_NRI.social_vulnerability:\n    label: FEMA National Risk Index, social vulnerability\n    measurementBasis: composite\n    derivesFrom:\n      - {variable: CENSUS_CRE.social_vulnerability, relation: identity, confidence: documented}\n\n  HVRI.bric:\n    label: Baseline Resilience Indicators for Communities\n    measurementBasis: composite\n    derivesFrom:\n      - {variable: ACS.EP_UNEMP, relation: component, confidence: documented}\n      - {variable: ACS.EP_NOVEH, relation: component, confidence: documented}\n\n  FEMA_NRI.community_resilience:\n    label: FEMA National Risk Index, community resilience\n    measurementBasis: composite\n    derivesFrom:\n      - {variable: HVRI.bric, relation: identity, confidence: documented}\n\n  FEMA_NRI.expected_annual_loss:\n    label: FEMA National Risk Index, expected annual loss\n    measurementBasis: modelled\n    derivesFrom: []\n\n  FEMA_NRI.risk_score:\n    label: FEMA National Risk Index, overall risk score\n    measurementBasis: composite\n    derivesFrom:\n      - {variable: FEMA_NRI.expected_annual_loss, relation: component, confidence: certain}\n      - {variable: FEMA_NRI.social_vulnerability, relation: component, confidence: certain}\n      - {variable: FEMA_NRI.community_resilience, relation: component, confidence: certain}\n<\/code><\/pre>\n<h2 id=\"heading-step-5-build-the-linter\">\u0645\u0631\u062d\u0644\u06c1 5: \u0644\u0646\u0679\u0631 \u0628\u0646\u0627\u0646\u0627<\/h2>\n<p>\u06a9\u0648\u0626\u06cc \u0631\u0627\u0633\u062a\u06c1 \u0646\u06c1\u06cc\u06ba <strong>\u0644\u0646\u0679\u0631<\/strong> \u06cc\u06c1 \u0627\u06cc\u06a9 \u0627\u06cc\u0633\u0627 \u0679\u0648\u0644 \u06c1\u06d2 \u062c\u0648 \u06a9\u0686\u06be \u067e\u0691\u06be\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0646\u0642\u0635\u0627\u0646 \u067e\u06c1\u0646\u0686\u0627\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0622\u067e \u06a9\u0648 \u0645\u0633\u0627\u0626\u0644 \u0633\u06d2 \u0622\u06af\u0627\u06c1 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u062c\u0628 \u06a9\u06c1 \u0641\u0644\u06cc\u06a9 8 \u062c\u06cc\u0633\u06d2 \u06a9\u0648\u0688 \u0644\u0646\u0679\u0631 \u0633\u0648\u0631\u0633 \u06a9\u0648\u0688 \u06a9\u0648 \u067e\u0691\u06be\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u06cc\u06c1 \u0644\u0646\u0679\u0631 \u0645\u06cc\u0646\u06cc \u0641\u06cc\u0633\u0679\u0633 \u0627\u0648\u0631 \u06c1\u0645 \u0622\u06c1\u0646\u06af\u06cc \u06a9\u06cc \u0641\u06c1\u0631\u0633\u062a\u0648\u06ba \u06a9\u0648 \u067e\u0691\u06be\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0646\u0627\u0645\u06cc \u0627\u06cc\u06a9 \u0641\u0627\u0626\u0644 \u0628\u0646\u0627\u0626\u06cc\u06ba <code>mini_lint.py<\/code>. \u06cc\u06c1 \u0686\u06be \u062d\u0635\u0648\u06ba \u067e\u0631 \u0645\u0634\u062a\u0645\u0644 \u06c1\u06d2 \u0627\u0648\u0631 \u062a\u06cc\u0627\u0631 \u0641\u0627\u0626\u0644 \u06a9\u0648 200 \u0644\u0627\u0626\u0646\u0648\u06ba \u0633\u06d2 \u06a9\u0645 \u0631\u06a9\u06be\u0627 \u062c\u0627\u0626\u06d2 \u06af\u0627\u06d4<\/p>\n<h3 id=\"heading-part-1-load-yaml-and-refuse-duplicate-keys\">\u062d\u0635\u06c1 1: YAML \u0644\u0648\u0688 \u06a9\u0631\u0646\u0627 \u0627\u0648\u0631 \u0688\u067e\u0644\u06cc\u06a9\u06cc\u0679 \u06a9\u06cc\u0632 \u06a9\u0648 \u0645\u0633\u062a\u0631\u062f \u06a9\u0631\u0646\u0627<\/h3>\n<pre><code class=\"language-python\">\"\"\"mini_lint.py: refuse covariates that sit on a derivation path to or from the target.\"\"\"\nimport argparse\nimport sys\nfrom collections import deque\nfrom itertools import combinations\n\nimport yaml\n\nRANK = {\"certain\": 3, \"documented\": 2, \"inferred\": 1}\nDETERMINISTIC = {\"component\", \"identity\", \"denominator\"}\n\n\ndef fail(message):\n    \"\"\"Exit code 2 means the manifest or the command itself is broken.\"\"\"\n    print(message, file=sys.stderr)\n    sys.exit(2)\n\n\n# ---------------------------------------------------------------- step 1\nclass StrictLoader(yaml.SafeLoader):\n    \"\"\"A YAML loader that stops on a repeated key.\"\"\"\n\n\ndef refuse_duplicates(loader, node, deep=False):\n    seen = {}\n    for key_node, _ in node.value:\n        key = loader.construct_object(key_node, deep=deep)\n        line = key_node.start_mark.line + 1\n        if key in seen:\n            fail(f\"manifest error: key {key!r} appears twice \"\n                 f\"(line {seen[key]} and line {line})\")\n        seen[key] = line\n    return loader.construct_mapping(node, deep=deep)\n\n\nStrictLoader.add_constructor(\n    yaml.resolver.BaseResolver.DEFAULT_MAPPING_TAG, refuse_duplicates)\n<\/code><\/pre>\n<p><code>RANK<\/code>    \u06cc\u06c1 \u0627\u0639\u062a\u0645\u0627\u062f \u06a9\u06d2 \u0627\u0644\u0641\u0627\u0638 \u06a9\u0648 \u0646\u0645\u0628\u0631\u0648\u06ba \u0645\u06cc\u06ba \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u062c\u0633 \u0633\u06d2 \u0679\u0648\u0644 \u0631\u0627\u0633\u062a\u06d2 \u0645\u06cc\u06ba \u06a9\u0645\u0632\u0648\u0631 \u062a\u0631\u06cc\u0646 \u06a9\u0646\u0627\u0631\u0648\u06ba \u06a9\u0648 \u062a\u0644\u0627\u0634 \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4 <code>DETERMINISTIC<\/code> \u0645\u06a9\u0645\u0644 \u0637\u0648\u0631 \u067e\u0631 \u0631\u06cc\u0627\u0636\u06cc \u06a9\u06d2 \u062a\u0639\u0644\u0642\u0627\u062a \u06a9\u06cc \u0641\u06c1\u0631\u0633\u062a\u06d4<\/p>\n<p><code>fail<\/code>    \u0627\u06cc\u06a9 \u067e\u06cc\u063a\u0627\u0645 \u067e\u0631\u0646\u0679 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u06a9\u0648\u0688 2 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0628\u0627\u06c1\u0631 \u0646\u06a9\u0644\u062a\u0627 \u06c1\u06d2\u06d4 \u0628\u0639\u062f \u0645\u06cc\u06ba \u0679\u06cc\u0648\u0679\u0648\u0631\u06cc\u0644 \u0645\u06cc\u06ba \u0622\u067e \u062f\u06cc\u06a9\u06be\u06cc\u06ba \u06af\u06d2 \u06a9\u06c1 \u06a9\u0648\u0688 2 \u06a9\u0648 \u06a9\u0648\u0688 1 \u0633\u06d2 \u0627\u0644\u06af \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06a9\u06cc\u0648\u06ba \u06c1\u06d2\u06d4<\/p>\n<p>\u0644\u0648\u0688\u0631 \u06a9\u0686\u06be \u0688\u0631\u067e\u0648\u06a9 YAML \u0633\u0644\u0648\u06a9 \u06a9\u0648 \u0633\u0646\u0628\u06be\u0627\u0644\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u06af\u0631 \u0627\u06cc\u06a9 \u06c1\u06cc \u0628\u0644\u0627\u06a9 \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u06a9\u0644\u06cc\u062f \u062f\u0648 \u0628\u0627\u0631 \u0638\u0627\u06c1\u0631 \u06c1\u0648\u062a\u06cc \u06c1\u06d2 \u062a\u0648\u060c PyYAML \u062e\u0627\u0645\u0648\u0634\u06cc \u0633\u06d2 \u0622\u062e\u0631\u06cc \u06a9\u0627\u067e\u06cc \u0631\u06a9\u06be\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u067e\u06c1\u0644\u06cc \u06a9\u0627\u067e\u06cc \u06a9\u0648 \u0631\u062f \u06a9\u0631 \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4 \u0622\u067e \u0645\u06cc\u0646\u06cc \u0641\u06cc\u0633\u0679 \u0645\u06cc\u06ba \u067e\u0631\u0648\u0688\u06a9\u0679 \u06a9\u06d2 \u062a\u0645\u0627\u0645 \u06a9\u0646\u0627\u0631\u0648\u06ba \u06a9\u0648 \u0645\u0679\u0627 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0679\u0648\u0644 \u062f\u06cc\u06a9\u06be\u06d2 \u06af\u0627 \u06a9\u06c1 \u06a9\u0648\u0626\u06cc \u0631\u0627\u0633\u062a\u06c1 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2 \u0627\u0648\u0631 \u062e\u0648\u0634\u06cc \u0633\u06d2 \u06a9\u0633\u06cc \u0628\u06be\u06cc \u0644\u06cc\u06a9 \u0634\u062f\u06c1 \u06a9\u0648\u0648\u06cc\u0631\u06cc\u0679\u0633 \u06a9\u0648 \u0645\u0679\u0627 \u062f\u06d2 \u06af\u0627\u06d4<\/p>\n<p><code>refuse_duplicates<\/code>    \u062c\u0628 \u0628\u06be\u06cc PyYAML \u0645\u06cc\u067e\u0646\u06af (Python \u0688\u06a9\u0634\u0646\u0631\u06cc) \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2 \u062a\u0648 \u0686\u0644\u062a\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0686\u0627\u0628\u06cc\u0627\u06ba \u062f\u06cc\u06a9\u06be\u062a\u0627 \u06c1\u06d2\u060c \u06c1\u0631 \u06a9\u0644\u06cc\u062f \u06a9\u06d2 \u0644\u06cc\u06d2 \u0644\u0627\u0626\u0646 \u0646\u0645\u0628\u0631 \u06cc\u0627\u062f \u0631\u06a9\u06be\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u062c\u06cc\u0633\u06d2 \u06c1\u06cc \u06a9\u0648\u0626\u06cc \u06a9\u0644\u06cc\u062f \u062f\u06c1\u0631\u0627\u0626\u06cc \u062c\u0627\u062a\u06cc \u06c1\u06d2 \u067e\u0631\u0648\u06af\u0631\u0627\u0645 \u06a9\u0648 \u0631\u0648\u06a9 \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-part-2-read-products-and-edges\">\u062d\u0635\u06c1 2: \u067e\u0631\u0648\u0688\u06a9\u0679\u0633 \u0627\u0648\u0631 \u0627\u06cc\u062c \u067e\u0691\u06be\u06cc\u06ba<\/h3>\n<pre><code class=\"language-python\"># ---------------------------------------------------------------- step 2\ndef load(path):\n    try:\n        with open(path) as fh:\n            products = yaml.load(fh, StrictLoader)[\"products\"]\n    except (OSError, yaml.YAMLError, KeyError, TypeError) as e:\n        fail(f\"manifest error: unable to read {path}: {e}\")\n\n    edges = {}\n    for name, product in products.items():\n        edges[name] = []\n        for e in product.get(\"derivesFrom\") or []:\n            if RANK.get(e.get(\"confidence\")) is None:\n                fail(f\"manifest error: {name} has an edge with \"\n                     f\"confidence {e.get('confidence')!r}\")\n            edges[name].append((e[\"variable\"], e[\"relation\"], e[\"confidence\"]))\n    return products, edges\n<\/code><\/pre>\n<p><code>load<\/code>    \u0641\u0627\u0626\u0644 \u06a9\u0648 \u0633\u062e\u062a \u0644\u0648\u0688\u0631 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u06a9\u06be\u0648\u0644\u06cc\u06ba\u06d4 \u0627\u06af\u0631 \u067e\u0691\u06be\u062a\u06d2 \u0648\u0642\u062a \u06a9\u0686\u06be \u063a\u0644\u0637 \u06c1\u0648 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u062c\u06cc\u0633\u06d2 \u063a\u0644\u0637 \u0631\u0627\u0633\u062a\u06c1 \u06cc\u0627 \u062e\u0631\u0627\u0628 YAML\u060c \u0645\u06cc\u06ba \u06a9\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u0648\u06ba: <code>fail<\/code>.<\/p>\n<p>\u067e\u06be\u0631 \u06c1\u0645 \u0627\u0633 \u0637\u0631\u062d \u0627\u06cc\u06a9 \u0644\u063a\u062a \u0628\u0646\u0627\u062a\u06d2 \u06c1\u06cc\u06ba: <code>edges<\/code>. \u06c1\u0631 \u067e\u0631\u0648\u0688\u06a9\u0679 \u06a9\u06d2 \u0646\u0627\u0645 \u06a9\u06cc \u0641\u06c1\u0631\u0633\u062a \u06a9\u0648 \u0645\u062d\u0641\u0648\u0638 \u06a9\u0631\u06cc\u06ba\u06d4 <code>(parent, relation, confidence)<\/code> \u0679\u0648\u067e\u0644 \u0645\u062b\u0627\u0644 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631:<\/p>\n<pre><code class=\"language-python\">edges[\"FEMA_NRI.social_vulnerability\"]\n# [(\"CENSUS_CRE.social_vulnerability\", \"identity\", \"documented\")]\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u0627\u0633 \u0628\u0627\u062a \u06a9\u0648 \u0628\u06be\u06cc \u06cc\u0642\u06cc\u0646\u06cc \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u062a\u0645\u0627\u0645 \u0627\u0639\u062a\u0645\u0627\u062f \u06a9\u06cc \u0642\u062f\u0631\u06cc\u06ba \u0627\u062c\u0627\u0632\u062a \u06cc\u0627\u0641\u062a\u06c1 \u062a\u06cc\u0646 \u0627\u0644\u0641\u0627\u0638 \u0645\u06cc\u06ba \u0633\u06d2 \u0627\u06cc\u06a9 \u06c1\u06cc\u06ba\u06d4 \u0679\u0627\u0626\u067e \u06a9\u06cc \u063a\u0644\u0637\u06cc\u0627\u06ba \u062f\u0631\u062c \u0630\u06cc\u0644 \u06c1\u06cc\u06ba: <code>documneted<\/code> \u0628\u0635\u0648\u0631\u062a \u062f\u06cc\u06af\u0631\u060c \u0622\u067e \u067e\u06be\u0633\u0644 \u062c\u0627\u0626\u06cc\u06ba \u06af\u06d2 \u0627\u0648\u0631 \u0628\u0639\u062f \u0645\u06cc\u06ba \u0627\u067e\u0646\u06cc \u062f\u0631\u062c\u06c1 \u0628\u0646\u062f\u06cc \u06a9\u0648 \u062a\u0648\u0691 \u062f\u06cc\u06ba \u06af\u06d2\u06d4<\/p>\n<h3 id=\"heading-part-3-check-the-manifest-before-trusting-it\">\u062d\u0635\u06c1 3: \u0627\u067e\u0646\u06d2 \u0645\u06cc\u0646\u06cc \u0641\u06cc\u0633\u0679 \u067e\u0631 \u0628\u06be\u0631\u0648\u0633\u06c1 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0627\u0633\u06d2 \u0686\u06cc\u06a9 \u06a9\u0631\u06cc\u06ba\u06d4<\/h3>\n<pre><code class=\"language-python\"># ---------------------------------------------------------------- step 3\ndef undefined_names(products, edges):\n    mentioned = {parent for rows in edges.values() for parent, _, _ in rows}\n    return sorted(mentioned - set(products))\n\n\ndef find_cycle(edges):\n    state = {}\n\n    def visit(node, stack):\n        state[node] = \"open\"\n        stack.append(node)\n        for parent, _, _ in edges.get(node, []):\n            if state.get(parent) == \"open\":\n                return stack[stack.index(parent):] + [parent]\n            if parent in state:\n                continue\n            cycle = visit(parent, stack)\n            if cycle:\n                return cycle\n        stack.pop()\n        state[node] = \"closed\"\n        return None\n\n    for node in edges:\n        if node in state:\n            continue\n        cycle = visit(node, [])\n        if cycle:\n            return cycle\n    return None\n<\/code><\/pre>\n<p>\u0648\u0627\u0644\u062f\u06cc\u0646 \u06a9\u06d2 \u0646\u0627\u0645\u0648\u06ba \u0645\u06cc\u06ba \u0679\u0627\u0626\u067e\u0648\u0632 \u062c\u06cc\u0633\u06d2: <code>HVRI.brick<\/code> \u0627\u0633 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 <code>HVRI.bric<\/code>\u0627\u06cc\u06a9 \u06a9\u0646\u0627\u0631\u06d2 \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2 \u062c\u0648 \u0627\u0633 \u067e\u0631\u0648\u0688\u06a9\u0679 \u06a9\u06cc \u0637\u0631\u0641 \u0627\u0634\u0627\u0631\u06c1 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0648 \u0641\u0627\u0626\u0644 \u0645\u06cc\u06ba \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u0679\u0631\u0627\u0648\u0631\u0633\u0644 \u0627\u06cc\u06a9 \u0688\u06cc\u0688 \u0627\u06cc\u0646\u0688 \u067e\u0631 \u0631\u06a9 \u062c\u0627\u0626\u06d2 \u06af\u0627 \u0627\u0648\u0631 \u0627\u0633 \u0633\u06d2 \u0622\u06af\u06d2 \u06a9\u06d2 \u062a\u0645\u0627\u0645 \u06a9\u0648\u0648\u0627\u0631\u06cc\u0679\u0633 \u0645\u062d\u0641\u0648\u0638 \u062f\u06a9\u06be\u0627\u0626\u06cc \u062f\u06cc\u06ba \u06af\u06d2\u06d4<\/p>\n<p><code>undefined_names<\/code>    \u06c1\u0631 \u06a9\u0646\u0627\u0631\u06d2 \u0633\u06d2\u060c \u06c1\u0645 \u062a\u0645\u0627\u0645 \u0645\u062a\u0630\u06a9\u0631\u06c1 \u0648\u0627\u0644\u062f\u06cc\u0646 \u06a9\u0648 \u062c\u0645\u0639 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0645\u0635\u0646\u0648\u0639\u0627\u062a \u06a9\u06d2 \u0627\u06cc\u06a9 \u0645\u062a\u0639\u06cc\u0646 \u0633\u06cc\u0679 \u06a9\u0648 \u06af\u06be\u0679\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u062c\u0648 \u06a9\u0686\u06be \u0631\u06c1 \u06af\u06cc\u0627 \u06c1\u06d2 \u0648\u06c1 \u0679\u0627\u0626\u067e \u06a9\u06cc \u063a\u0644\u0637\u06cc\u0627\u06ba \u06cc\u0627 \u067e\u0631\u0648\u0688\u06a9\u0679\u0633 \u06c1\u06cc\u06ba \u062c\u0646\u06c1\u06cc\u06ba \u0622\u067e \u0634\u0627\u0645\u0644 \u06a9\u0631\u0646\u0627 \u0628\u06be\u0648\u0644 \u06af\u0626\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p><code>find_cycle<\/code>    \u06cc\u0642\u06cc\u0646\u06cc \u0628\u0646\u0627\u0626\u06cc\u06ba \u06a9\u06c1 \u0622\u067e \u06a9\u0627 \u0645\u06cc\u0646\u06cc \u0641\u06cc\u0633\u0679 \u062f\u0631\u0627\u0635\u0644 \u0627\u06cc\u06a9 DAG \u06c1\u06d2\u06d4 \u062d\u0642\u06cc\u0642\u06cc \u0627\u0639\u062f\u0627\u062f \u0648 \u0634\u0645\u0627\u0631 \u067e\u0631 \u06af\u06be\u0631\u06cc\u0644\u0648 \u0645\u0635\u0646\u0648\u0639\u0627\u062a \u0646\u0627\u0645\u0645\u06a9\u0646 \u06c1\u0648 \u06af\u06cc \u0627\u0648\u0631 \u0644\u0648\u067e \u06c1\u0645\u06cc\u0634\u06c1 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u06a9 \u062f\u0627\u0626\u0631\u06d2 \u0645\u06cc\u06ba \u0631\u0627\u0633\u062a\u06c1 \u062a\u0644\u0627\u0634 \u06a9\u0631 \u062f\u06d2 \u06af\u0627\u06d4<\/p>\n<p>\u0641\u0646\u06a9\u0634\u0646 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2: <strong>\u06af\u06c1\u0631\u0627\u0626\u06cc \u0633\u06d2 \u067e\u06c1\u0644\u06cc \u062a\u0644\u0627\u0634<\/strong> \u062f\u0648 \u0644\u06cc\u0628\u0644 \u06c1\u06cc\u06ba\u06d4 \u062c\u0628 \u062a\u0644\u0627\u0634 \u06a9\u0633\u06cc \u0646\u0648\u0688 \u0645\u06cc\u06ba \u062f\u0627\u062e\u0644 \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u060c \u062a\u0648 \u06cc\u06c1 \u0627\u0633 \u0646\u0648\u0688 \u06a9\u0648 \u062f\u06a9\u06be\u0627\u062a\u0627 \u06c1\u06d2\u06d4 <code>open<\/code>. \u0627\u06cc\u06a9 \u0646\u0648\u0688 \u06a9\u0648 \u0646\u0634\u0627\u0646 \u0632\u062f \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0628 \u0627\u0633 \u06a9\u06d2 \u0627\u0648\u067e\u0631 \u06a9\u06cc \u062a\u0645\u0627\u0645 \u0627\u0634\u06cc\u0627\u0621 \u06a9\u06cc \u06a9\u06be\u0648\u062c \u06a9\u06cc \u06af\u0626\u06cc \u06c1\u0648\u06d4 <code>closed<\/code>. \u062c\u0628 \u06a9\u0648\u0626\u06cc \u0646\u0648\u0688 \u067e\u06c1\u0646\u0686 \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u062c\u06c1\u0627\u06ba \u062a\u0644\u0627\u0634 \u0627\u0628\u06be\u06cc \u062c\u0627\u0631\u06cc \u06c1\u06d2\u06d4 <code>open<\/code>\u0622\u067e \u0627\u06cc\u06a9 \u062f\u0627\u0626\u0631\u06d2 \u0645\u06cc\u06ba \u0686\u0644\u06d2 \u06af\u0626\u06d2 \u0627\u0648\u0631 \u0641\u0646\u06a9\u0634\u0646 \u0627\u0633 \u062f\u0627\u0626\u0631\u06d2 \u06a9\u0648 \u0644\u0648\u0679\u0627\u062a\u0627 \u06c1\u06d2 \u062a\u0627\u06a9\u06c1 \u0622\u067e \u0627\u0633\u06d2 \u062f\u06cc\u06a9\u06be \u0633\u06a9\u06cc\u06ba\u06d4<\/p>\n<h3 id=\"heading-part-4-walk-the-graph\">\u062d\u0635\u06c1 4: \u06af\u0631\u0627\u0641 \u06a9\u06cc \u062a\u0644\u0627\u0634<\/h3>\n<pre><code class=\"language-python\"># ---------------------------------------------------------------- step 4\ndef ancestors(edges, node):\n    \"\"\"Every product that `node` was built from, at any distance.\"\"\"\n    found = set()\n    queue = deque([node])\n    while queue:\n        current = queue.popleft()\n        for parent, _, _ in edges.get(current, []):\n            if parent in found:\n                continue\n            found.add(parent)\n            queue.append(parent)\n    return found\n\n\ndef routes(edges, start, goal):\n    \"\"\"Every path from start up to goal. Safe because step 3 ruled out cycles.\"\"\"\n    found = []\n    for parent, relation, confidence in edges.get(start, []):\n        step = (parent, relation, confidence)\n        if parent == goal:\n            found.append([step])\n        else:\n            for rest in routes(edges, parent, goal):\n                found.append([step] + rest)\n    return found\n\n\ndef describe(start, route):\n    chain = \" -> \".join([start] + [parent for parent, _, _ in route])\n    weakest = min(route, key=lambda step: RANK[step[2]])[2]\n    arithmetic = all(rel in DETERMINISTIC for _, rel, _ in route)\n    kind = \"deterministic\" if arithmetic else \"statistical\"\n    return [chain, f\"{kind}, weakest link: {weakest}\"]\n<\/code><\/pre>\n<p><code>ancestors<\/code>    \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba <strong>\u0686\u0648\u0691\u0627\u0626\u06cc \u067e\u06c1\u0644\u06cc \u062a\u0644\u0627\u0634<\/strong> (BFS) \u0679\u06a9\u0679 \u0622\u0641\u0633 \u0645\u06cc\u06ba \u0642\u0637\u0627\u0631 \u06a9\u0627 \u062a\u0635\u0648\u0631 \u06a9\u0631\u06cc\u06ba\u06d4 \u0644\u0627\u0646\u0686 \u067e\u0631\u0648\u0688\u06a9\u0679 \u06a9\u0648 \u0642\u0637\u0627\u0631 \u0645\u06cc\u06ba \u0644\u06af\u0627\u0626\u06cc\u06ba\u06d4 \u06c1\u0631 \u0645\u0648\u0691 \u067e\u0631\u060c \u06cc\u06c1 \u0633\u0627\u0645\u0646\u06d2 \u0633\u06d2 \u067e\u0631\u0648\u0688\u06a9\u0679 \u0644\u06cc\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0633 \u06a9\u06d2 \u0648\u0627\u0644\u062f\u06cc\u0646 \u06a9\u0648 \u062a\u0644\u0627\u0634 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u067e\u06be\u0631 \u06c1\u0631 \u0627\u0633 \u0648\u0627\u0644\u062f\u06cc\u0646 \u06a9\u0648 \u0634\u0627\u0645\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0633\u06d2 \u0627\u0633 \u0646\u06d2 \u0627\u0628\u06be\u06cc \u062a\u06a9 \u0642\u0637\u0627\u0631 \u06a9\u06d2 \u067e\u0686\u06be\u0644\u06d2 \u062d\u0635\u06d2 \u0645\u06cc\u06ba \u0646\u06c1\u06cc\u06ba \u062f\u06cc\u06a9\u06be\u0627 \u06c1\u06d2\u06d4 \u0627\u06af\u0631 \u0642\u0637\u0627\u0631 \u062e\u0627\u0644\u06cc \u06c1\u06d2\u06d4 <code>found<\/code> \u0633\u06cc\u0679 \u062a\u0645\u0627\u0645 \u0641\u0627\u0635\u0644\u0648\u06ba \u067e\u0631 \u062a\u0645\u0627\u0645 \u0622\u0628\u0627\u0624 \u0627\u062c\u062f\u0627\u062f \u06a9\u0648 \u0631\u06a9\u06be\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u06c1 <code>found<\/code> \u0633\u06cc\u0679 \u062a\u0644\u0627\u0634\u0648\u06ba \u06a9\u0648 \u0627\u06cc\u06a9 \u06c1\u06cc \u067e\u0631\u0648\u0688\u06a9\u0679 \u06a9\u0648 \u062f\u0648 \u0628\u0627\u0631 \u062f\u06cc\u06a9\u06be\u0646\u06d2 \u0633\u06d2 \u0628\u06be\u06cc \u0631\u0648\u06a9\u062a\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0627\u06c1\u0645 \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0628\u06c1\u062a \u0633\u06d2 \u067e\u0631\u0648\u0688\u06a9\u0679\u0633 \u067e\u06cc\u0631\u0646\u0679 \u067e\u0631\u0648\u0688\u06a9\u0679 \u06a9\u0627 \u0627\u0634\u062a\u0631\u0627\u06a9 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p><code>ancestors<\/code>    \u06cc\u06c1 \u0622\u067e \u06a9\u0648 \u0628\u062a\u0627\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0622\u06cc\u0627 \u06a9\u0648\u0648\u06cc\u0631\u06cc\u0679 \u0627\u067e \u0627\u0633\u0679\u0631\u06cc\u0645 \u06c1\u06d2\u06d4 <code>routes<\/code> \u06cc\u06c1 \u0622\u067e \u06a9\u0648 \u0628\u062a\u0627\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0648\u06c1\u0627\u06ba \u06a9\u06cc\u0633\u06d2 \u062c\u0627\u0646\u0627 \u06c1\u06d2\u06d4<\/p>\n<p><code>routes<\/code>    \u062a\u06a9\u0631\u0627\u0631 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u06af\u06c1\u0631\u0627\u0626\u06cc \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u062a\u0644\u0627\u0634 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4 \u06c1\u0631 \u0648\u0627\u0644\u062f\u06cc\u0646 \u06a9\u06d2 \u0644\u06cc\u06d2 <code>start<\/code>\u06cc\u0642\u06cc\u0646\u06cc \u0628\u0646\u0627\u0626\u06cc\u06ba \u06a9\u06c1 \u0648\u0627\u0644\u062f\u06cc\u0646 \u06c1\u062f\u0641 \u06c1\u06cc\u06ba\u06d4 \u067e\u06be\u0631 \u0648\u06c1 \u0648\u0627\u062d\u062f \u0642\u062f\u0645 \u0627\u06cc\u06a9 \u0645\u06a9\u0645\u0644 \u0631\u0627\u0633\u062a\u06c1 \u06c1\u06d2\u06d4 \u0628\u0635\u0648\u0631\u062a \u062f\u06cc\u06af\u0631\u060c \u0641\u0646\u06a9\u0634\u0646 \u0648\u0627\u0644\u062f\u06cc\u0646 \u0633\u06d2 \u0645\u0642\u0635\u062f \u062a\u06a9 \u062a\u0645\u0627\u0645 \u0631\u0627\u0633\u062a\u06d2 \u062a\u0644\u0627\u0634 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u062e\u0648\u062f \u06a9\u0648 \u06a9\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u067e\u06be\u0631 \u0645\u0648\u062c\u0648\u062f\u06c1 \u0642\u062f\u0645 \u06a9\u0648 \u06c1\u0631 \u0642\u062f\u0645 \u06a9\u06d2 \u0633\u0627\u0645\u0646\u06d2 \u0631\u06a9\u06be\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1 \u0641\u0646\u06a9\u0634\u0646 \u062a\u0645\u0627\u0645 \u0631\u0627\u0633\u062a\u06d2 \u0648\u0627\u067e\u0633 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0627\u0646\u062a\u062e\u0627\u0628 \u062c\u0627\u0646 \u0628\u0648\u062c\u06be \u06a9\u0631 \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2\u06d4 \u0645\u06cc\u0631\u06d2 \u0645\u06a9\u0645\u0644 \u0679\u0648\u0644 \u06a9\u06d2 \u067e\u0686\u06be\u0644\u06d2 \u0648\u0631\u0698\u0646 \u0645\u06cc\u06ba \u0635\u0631\u0641 \u0645\u062e\u062a\u0635\u0631 \u062a\u0631\u06cc\u0646 \u0631\u0627\u0633\u062a\u06d2 \u06a9\u06cc \u0627\u0637\u0644\u0627\u0639 \u062f\u06cc \u06af\u0626\u06cc \u062a\u06be\u06cc\u060c \u0627\u0633 \u0644\u06cc\u06d2 \u0631\u067e\u0648\u0631\u0679 \u0646\u06d2 \u0633\u0628 \u0633\u06d2 \u06a9\u0645 \u06c1\u0627\u067e\u0633 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0631\u0627\u0633\u062a\u06c1 \u062f\u06a9\u06be\u0627\u06cc\u0627\u060c \u06cc\u06c1\u0627\u06ba \u062a\u06a9 \u06a9\u06c1 \u062c\u0628 \u0637\u0648\u06cc\u0644 \u0631\u0627\u0633\u062a\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u0636\u0628\u0648\u0637 \u062b\u0628\u0648\u062a \u0645\u0648\u062c\u0648\u062f \u062a\u06be\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1\u0627\u06ba \u062a\u06a9\u0631\u0627\u0631 \u0645\u062d\u0641\u0648\u0638 \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u06c1\u0645 \u067e\u06c1\u0644\u06d2 \u06c1\u06cc \u062d\u0635\u06c1 3 \u0645\u06cc\u06ba \u062f\u06cc\u06a9\u06be \u0686\u06a9\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u06af\u0631\u0627\u0641 \u0688\u06cc \u0627\u06d2 \u062c\u06cc \u06c1\u06d2\u06d4<\/p>\n<p><code>describe<\/code>    \u0631\u0627\u0633\u062a\u06d2 \u06a9\u0648 \u062f\u0648 \u067e\u0691\u06be\u0646\u06d2 \u06a9\u06d2 \u0642\u0627\u0628\u0644 \u0644\u0627\u0626\u0646\u0648\u06ba \u0645\u06cc\u06ba \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u06cc\u06ba\u06d4 \u067e\u06c1\u0644\u06cc \u0633\u0637\u0631 \u0646\u0627\u0645\u0648\u06ba \u06a9\u0627 \u0633\u0644\u0633\u0644\u06c1 \u06c1\u06d2\u06d4 \u062f\u0648\u0633\u0631\u06cc \u0644\u0627\u0626\u0646 \u0627\u0634\u0627\u0631\u06c1 \u06a9\u0631\u062a\u06cc \u06c1\u06d2 \u06a9\u06c1 \u0622\u06cc\u0627 \u0631\u0627\u0633\u062a\u06c1 \u06c1\u06d2: <code>deterministic<\/code> (\u06c1\u0631 \u0642\u062f\u0645 \u067e\u0631 \u0631\u06cc\u0627\u0636\u06cc) \u06cc\u0627 <code>statistical<\/code> (\u0632\u0646\u062c\u06cc\u0631 \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u06cc\u0627 \u0627\u06cc\u06a9 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u0645\u0627\u0688\u0644\u0632)\u060c \u0686\u0648\u0646\u06a9\u06c1 \u0627\u06cc\u06a9 \u0633\u0644\u0633\u0644\u06c1 \u0635\u0631\u0641 \u0627\u062a\u0646\u0627 \u06c1\u06cc \u0645\u0636\u0628\u0648\u0637 \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u062c\u062a\u0646\u0627 \u0627\u0633 \u06a9\u06cc \u06a9\u0645\u0632\u0648\u0631 \u062a\u0631\u06cc\u0646 \u06a9\u0691\u06cc\u060c \u0627\u0633 \u0644\u06cc\u06d2 \u06c1\u0645 \u0631\u0627\u0633\u062a\u06d2 \u0645\u06cc\u06ba \u0627\u0639\u062a\u0645\u0627\u062f \u06a9\u06cc \u06a9\u0645\u0632\u0648\u0631 \u062a\u0631\u06cc\u0646 \u0633\u0637\u062d \u06a9\u06cc \u0648\u0636\u0627\u062d\u062a \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<h3 id=\"heading-part-5-the-audit\">\u062d\u0635\u06c1 5: \u0634\u06a9\u0631\u06af\u0632\u0627\u0631<\/h3>\n<p>\u0622\u0688\u0679 \u06af\u0631\u0627\u0641 \u0645\u06cc\u06ba \u062a\u06cc\u0646 \u0634\u06a9\u0644\u06cc\u06ba \u062a\u0644\u0627\u0634 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/umang.pk\/wp-content\/uploads\/2026\/09\/1789885974_288_Python-\u0627\u0648\u0631-\u0627\u0646\u062d\u0635\u0627\u0631-\u06af\u0631\u0627\u0641-\u06a9\u0627-\u0627\u0633\u062a\u0639\u0645\u0627\u0644-\u06a9\u0631\u062a\u06d2-\u06c1\u0648\u0626\u06d2-\u0639\u0648\u0627\u0645\u06cc-\u0688\u06cc\u0679\u0627\u0633\u06cc\u0679\u0633.png\" alt=\"\u062a\u06cc\u0646 \u0686\u06be\u0648\u0679\u06d2 \u062e\u0627\u06a9\u06d2 \u0622\u0628\u0627\u0624 \u0627\u062c\u062f\u0627\u062f: Covariates \u06c1\u062f\u0641 \u0645\u06cc\u06ba \u062c\u06be\u0644\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0646\u0627\u06a9\u0627\u0645\u06cc \u06a9\u0627 \u0641\u06cc\u0635\u0644\u06c1 \u062c\u0627\u0631\u06cc \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0633\u0628\u0627\u0626\u0679\u0645: \u0679\u0627\u0631\u06af\u0679 \u06a9\u0648 \u06c1\u0645\u0648\u0627\u0631\u060c \u0646\u0627\u06a9\u0627\u0645 \u0641\u06cc\u0635\u0644\u06d2 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u062f\u0631\u062c \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2\u06d4 \u0645\u0634\u062a\u0631\u06a9\u06c1 \u0646\u0633\u0628: \u0627\u06cc\u06a9 \u0627\u0646 \u067e\u0679 \u0633\u06d2 \u062f\u0648 \u06a9\u0648\u0648\u06cc\u0631\u06cc\u0679\u0633\u060c \u0646\u062a\u0627\u0626\u062c \u06a9\u06cc \u062c\u0627\u0646\u0686 \u06a9\u0631\u0646\u0627\" style=\"display: block;\" width=\"600\" height=\"400\" loading=\"lazy\" title=\"\"><\/p>\n<p><em>\u06c1\u0631 \u067e\u06cc\u0646\u0644 \u0627\u06cc\u06a9 \u0634\u06a9\u0644 \u062f\u06a9\u06be\u0627\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0633 \u0633\u06d2 \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u0641\u06cc\u0635\u0644\u06c1\u06d4 \u06cc\u0639\u0646\u06cc\u060c \u06c1\u062f\u0641 \u06a9\u06cc \u0637\u0631\u0641 \u0627\u06cc\u06a9 \u062a\u06cc\u0631 (FAIL)\u060c \u06c1\u062f\u0641 \u0633\u06d2 \u062f\u0648\u0631 \u0627\u06cc\u06a9 \u062a\u06cc\u0631 (FAIL)\u060c \u0627\u0648\u0631 \u0627\u06cc\u06a9 \u0645\u0634\u062a\u0631\u06a9\u06c1 \u0627\u0646 \u067e\u0679 (REVIEW) \u067e\u0631 \u062f\u0648 \u06a9\u0648\u0648\u0627\u0631\u06cc\u0679\u0633 \u0644\u0679\u06a9 \u0631\u06c1\u06d2 \u06c1\u06cc\u06ba\u06d4<\/em><\/p>\n<ul>\n<li>\n<p><strong>\u0627\u062c\u062f\u0627\u062f:<\/strong> Covariates \u06cc\u0627 \u062a\u0648 \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a \u06cc\u0627 \u062f\u06cc\u06af\u0631 \u0645\u0635\u0646\u0648\u0639\u0627\u062a \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u06c1\u062f\u0641 \u0645\u06cc\u06ba \u062f\u0627\u062e\u0644 \u06c1\u0648\u0626\u06d2\u06d4 \u06cc\u06c1 \u0627\u06cc\u06a9 \u06a9\u0644\u0627\u0633\u06a9 \u0644\u06cc\u06a9 \u06c1\u06d2\u060c \u0644\u06c1\u0630\u0627 \u0679\u0648\u0644 \u0627\u0633\u06d2 \u063a\u0644\u0637\u06cc \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0631\u067e\u0648\u0631\u0679 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<\/li>\n<li>\n<p><strong>\u0630\u06cc\u0644\u06cc \u0639\u0646\u0648\u0627\u0646\u0627\u062a:<\/strong> \u0627\u06c1\u062f\u0627\u0641 \u06a9\u0648\u0648\u06cc\u0631\u06cc\u0679\u0633 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0634\u0627\u0645\u0644 \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u062a\u06be\u0627\u06d4 \u0648\u0627\u0644\u062f\u06cc\u0646 \u06a9\u0648 \u0627\u067e\u0646\u06d2 \u0628\u0686\u0648\u06ba \u0633\u06d2 \u067e\u06cc\u0634\u06cc\u0646 \u06af\u0648\u0626\u06cc \u06a9\u0631\u0646\u0627 \u0627\u062a\u0646\u0627 \u06c1\u06cc \u0633\u0646\u06af\u06cc\u0646 \u0644\u06cc\u06a9 \u06c1\u06d2\u060c \u0627\u0633 \u0644\u06cc\u06d2 \u06cc\u06c1 \u0628\u06be\u06cc \u0627\u06cc\u06a9 \u063a\u0644\u0637\u06cc \u06c1\u06d2\u06d4<\/p>\n<\/li>\n<li>\n<p><strong>\u0645\u0634\u062a\u0631\u06a9\u06c1 \u0622\u0628\u0627\u0624 \u0627\u062c\u062f\u0627\u062f:<\/strong> \u062f\u0648\u0646\u0648\u06ba covariates \u0627\u06cc\u06a9 \u06c1\u06cc \u0627\u0646 \u067e\u0679 \u0633\u06d2 \u0622\u0626\u06d2 \u06c1\u06cc\u06ba\u06d4 \u06cc\u06c1 \u0627\u06cc\u06a9 \u06c1\u0644\u06a9\u0627 \u0645\u0633\u0626\u0644\u06c1 \u06c1\u06d2\u060c \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u062c\u0648\u0691\u0627 \u0627\u0648\u0648\u0631 \u0644\u06cc\u067e\u0646\u06af \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0631\u06a9\u06be\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0679\u0648\u0644 \u0627\u0646\u0633\u0627\u0646\u06cc \u062c\u0627\u0626\u0632\u06d2 \u06a9\u0648 \u0627\u0644\u0631\u0679 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<\/li>\n<\/ul>\n<pre><code class=\"language-python\"># ---------------------------------------------------------------- step 5\ndef audit(products, edges, target, covariates):\n    findings = []\n\n    unknown = [n for n in [target, *covariates] if products.get(n) is None]\n    if unknown:\n        return [(\"ERROR\", f\"unknown name: {n}\", [\"check the spelling\"])\n                for n in unknown]\n\n    target_ancestors = ancestors(edges, target)\n    for cov in covariates:\n        if cov in target_ancestors:\n            found = routes(edges, target, cov)\n            details = [line for r in found for line in describe(target, r)]\n            findings.append((\"ERROR\", f\"{cov} is an ancestor of the target \"\n                                      f\"({len(found)} route(s))\", details))\n        if target in ancestors(edges, cov):\n            found = routes(edges, cov, target)\n            details = [line for r in found for line in describe(cov, r)]\n            findings.append((\"ERROR\", f\"{cov} is a descendant of the target \"\n                                      f\"({len(found)} route(s))\", details))\n\n    for a, b in combinations(covariates, 2):\n        if a in ancestors(edges, b) or b in ancestors(edges, a):\n            findings.append((\"ERROR\", f\"{a} and {b}: one is built from the other\", []))\n        elif ancestors(edges, a) & ancestors(edges, b):\n            shared = sorted(ancestors(edges, a) & ancestors(edges, b))\n            findings.append((\"WARN\", f\"{a} and {b} share ancestors\", shared))\n    return findings\n<\/code><\/pre>\n<p>\u0622\u0688\u0679 \u0646\u0627\u0645 \u06a9\u06d2 \u062d\u0644 \u0633\u06d2 \u0634\u0631\u0648\u0639 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u06af\u0631 \u0622\u067e \u06a9\u0648\u0648\u06cc\u0631\u06cc\u0679 \u06a9\u06cc \u063a\u0644\u0637 \u06c1\u062c\u06d2 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062a\u0648 \u0679\u0648\u0644 \u0641\u0648\u0631\u06cc \u0637\u0648\u0631 \u067e\u0631 \u063a\u0644\u0637\u06cc \u06a9\u06cc \u0627\u0637\u0644\u0627\u0639 \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u0633 \u06a9\u06cc \u0648\u062c\u06c1 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u06c1\u0645\u0627\u0631\u06d2 \u067e\u0627\u0633 \u0645\u06cc\u0646\u06cc \u0641\u06cc\u0633\u0679 \u0633\u06d2 \u0628\u0627\u06c1\u0631 \u06a9\u06d2 \u0646\u0627\u0645 \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u0642\u0637\u0639\u06cc \u0637\u0648\u0631 \u067e\u0631 \u06a9\u0648\u0626\u06cc \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06cc\u06ba\u060c \u0627\u0648\u0631 \u0627\u0633 \u0646\u0627\u0645 \u06a9\u0648 \u0645\u062d\u0641\u0648\u0638 \u06a9\u06c1\u0646\u0627 \u0627\u06cc\u06a9 \u0627\u0646\u062f\u0627\u0632\u06c1 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0633 \u06a9\u06d2 \u0628\u0639\u062f\u060c \u06c1\u0645 \u0627\u06cc\u06a9 \u0628\u0627\u0631 \u0645\u0636\u0645\u0648\u0646 \u06a9\u06d2 \u0622\u0628\u0627\u0624 \u0627\u062c\u062f\u0627\u062f \u06a9\u0627 \u062d\u0633\u0627\u0628 \u0644\u06af\u0627\u062a\u06d2 \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u06c1\u0631 \u0627\u06cc\u06a9 \u06a9\u0648\u0648\u06cc\u0631\u06cc\u0679 \u06a9\u0648 \u0627\u0633 \u0633\u06cc\u0679 \u06a9\u06d2 \u062e\u0644\u0627\u0641 \u062c\u0627\u0646\u0686\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u06cc\u06c1 \u06c1\u0631 \u0627\u06cc\u06a9 \u06a9\u0648\u0648\u06cc\u0631\u06cc\u0679 \u06a9\u06d2 \u0622\u0628\u0627\u0624 \u0627\u062c\u062f\u0627\u062f \u06a9\u0627 \u0628\u06be\u06cc \u062d\u0633\u0627\u0628 \u0644\u06af\u0627\u062a\u0627 \u06c1\u06d2 \u062a\u0627\u06a9\u06c1 \u06cc\u06c1 \u062f\u06cc\u06a9\u06be\u06cc\u06ba \u06a9\u06c1 \u0622\u06cc\u0627 \u0645\u0648\u0636\u0648\u0639 \u0627\u0646 \u06a9\u06d2 \u062f\u0631\u0645\u06cc\u0627\u0646 \u0638\u0627\u06c1\u0631 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0627\u0633 \u0637\u0631\u062d \u06cc\u06c1 \u0627\u0648\u0644\u0627\u062f \u06a9\u0648 \u067e\u06a9\u0691\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0622\u062e\u0631 \u06a9\u0627\u0631 <code>combinations<\/code> \u067e\u0631 <code>itertools<\/code> \u0645\u0627\u0688\u06cc\u0648\u0644 \u062a\u0645\u0627\u0645 \u06a9\u0648\u0648\u06cc\u0631\u06cc\u0679 \u062c\u0648\u0691\u06d2 \u062a\u06cc\u0627\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0627\u06cc\u06a9 \u063a\u0644\u0637\u06cc \u06c1\u06d2 \u0627\u06af\u0631 \u0627\u06cc\u06a9 \u06a9\u0648\u0648\u06cc\u0631\u06cc\u0679 \u062f\u0648\u0633\u0631\u06d2 \u06a9\u0648\u0648\u06cc\u0631\u06cc\u0679 \u0633\u06d2 \u0628\u0646\u0627\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2\u06d4 \u0627\u06af\u0631 \u062c\u0648\u0691\u0627 \u06a9\u0633\u06cc \u0627\u062c\u062f\u0627\u062f \u06a9\u0627 \u0627\u0634\u062a\u0631\u0627\u06a9 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u06cc\u06c1 \u0627\u06cc\u06a9 \u0627\u0646\u062a\u0628\u0627\u06c1 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-part-6-verdicts-and-exit-codes\">\u062d\u0635\u06c1 6: \u0641\u06cc\u0635\u0644\u06c1 \u0627\u0648\u0631 \u0627\u06cc\u06af\u0632\u0679 \u06a9\u0648\u0688\u0632<\/h3>\n<pre><code class=\"language-python\"># ---------------------------------------------------------------- step 6\ndef main():\n    parser = argparse.ArgumentParser()\n    parser.add_argument(\"--manifest\", default=\"mini-manifest.yaml\")\n    parser.add_argument(\"--target\", required=True)\n    parser.add_argument(\"--covariates\", nargs=\"+\", required=True)\n    args = parser.parse_args()\n\n    products, edges = load(args.manifest)\n    missing = undefined_names(products, edges)\n    if missing:\n        fail(f\"manifest error: undefined names: {', '.join(missing)}\")\n    cycle = find_cycle(edges)\n    if cycle:\n        fail(f\"manifest error: cycle: {' -> '.join(cycle)}\")\n\n    findings = audit(products, edges, args.target, args.covariates)\n    severities = {severity for severity, _, _ in findings}\n    if \"ERROR\" in severities:\n        verdict = \"FAIL\"\n    elif \"WARN\" in severities:\n        verdict = \"REVIEW\"\n    elif ancestors(edges, args.target):\n        verdict = \"PASS\"\n    else:\n        verdict = \"UNTRACED\"\n\n    basis = products.get(args.target, {}).get(\"measurementBasis\", \"unknown\")\n    print(f\"target      {args.target}  [{basis}]\")\n    print(f\"covariates  {', '.join(args.covariates)}\")\n    print(f\"verdict     {verdict}n\")\n    for severity, message, details in findings:\n        print(f\"  {severity:<5} {message}\")\n        for line in details:\n            print(f\"        {line}\")\n\n    sys.exit(1 if verdict == \"FAIL\" else 0)\n\n\nif __name__ == \"__main__\":\n    main()\n<\/code><\/pre>\n<p><code>main<\/code>    \u06cc\u06c1 \u06a9\u0645\u0627\u0646\u0688 \u0644\u0627\u0626\u0646 \u062c\u06be\u0646\u0688\u0648\u06ba \u06a9\u0648 \u067e\u0691\u06be\u062a\u0627 \u06c1\u06d2\u060c \u0645\u06cc\u0646\u06cc \u0641\u06cc\u0633\u0679 \u06a9\u0648 \u0644\u0648\u0688 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u062f\u0648\u0646\u0648\u06ba \u062e\u0648\u062f \u0686\u06cc\u06a9 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u067e\u06be\u0631 \u0622\u0688\u0679 \u0686\u0644\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0646\u062a\u06cc\u062c\u06c1 \u0686\u0627\u0631 \u0641\u06cc\u0635\u0644\u0648\u06ba \u0645\u06cc\u06ba \u0633\u06d2 \u0627\u06cc\u06a9 \u06c1\u06d2:<\/p>\n<table>\n<thead>\n<tr>\n<th>\u0641\u06cc\u0635\u0644\u06c1<\/th>\n<th>\u062c\u0628 \u0627\u06cc\u0633\u0627 \u06c1\u0648\u062a\u0627 \u06c1\u06d2<\/th>\n<th>\u0628\u0627\u06c1\u0631 \u0646\u06a9\u0644\u0646\u06d2 \u06a9\u0627 \u06a9\u0648\u0688<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>FAIL<\/code><\/td>\n<td>\u06a9\u0645 \u0627\u0632 \u06a9\u0645 \u0627\u06cc\u06a9 \u063a\u0644\u0637\u06cc<\/td>\n<td>1<\/td>\n<\/tr>\n<tr>\n<td><code>REVIEW<\/code><\/td>\n<td>\u0635\u0631\u0641 \u0627\u0646\u062a\u0628\u0627\u06c1<\/td>\n<td>0<\/td>\n<\/tr>\n<tr>\n<td><code>PASS<\/code><\/td>\n<td>\u06a9\u0648\u0626\u06cc \u062a\u0644\u0627\u0634 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2 \u0627\u0648\u0631 \u0645\u0636\u0645\u0648\u0646 \u0646\u06d2 \u0622\u0628\u0627\u0624 \u0627\u062c\u062f\u0627\u062f \u06a9\u0648 \u0631\u06cc\u06a9\u0627\u0631\u0688 \u06a9\u06cc\u0627 \u06c1\u06d2\u06d4<\/td>\n<td>0<\/td>\n<\/tr>\n<tr>\n<td><code>UNTRACED<\/code><\/td>\n<td>\u06a9\u0648\u0626\u06cc \u062a\u0644\u0627\u0634 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2 \u0627\u0648\u0631 \u0645\u0648\u0636\u0648\u0639 \u06a9\u06d2 \u06a9\u0648\u0626\u06cc \u0631\u06cc\u06a9\u0627\u0631\u0688 \u0634\u062f\u06c1 \u0622\u0628\u0627\u0624 \u0627\u062c\u062f\u0627\u062f \u0646\u06c1\u06cc\u06ba \u06c1\u06cc\u06ba\u06d4<\/td>\n<td>0<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u0627\u06cc\u06a9 \u06a9\u0631\u067e\u0679 \u0645\u06cc\u0646\u06cc \u0641\u06cc\u0633\u0679 \u06cc\u0627 \u063a\u0644\u0637 \u06a9\u0645\u0627\u0646\u0688 \u06a9\u0648\u0688 2 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0628\u0627\u06c1\u0631 \u0646\u06a9\u0644 \u062c\u0627\u0626\u06d2 \u06af\u06cc\u06d4<\/p>\n<p><code>PASS<\/code>    \u0627\u0648\u0631 <code>UNTRACED<\/code> \u06cc\u06c1 \u0642\u0631\u06cc\u0628 \u0633\u06d2 \u062f\u06cc\u06a9\u06be\u0646\u06d2 \u06a9\u06d2 \u0642\u0627\u0628\u0644 \u06c1\u06d2\u06d4 <code>PASS<\/code> \u0627\u0633 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0679\u0648\u0644 \u0646\u06d2 \u0622\u067e \u06a9\u06d2 \u0627\u0635\u0644 \u062e\u0627\u0646\u062f\u0627\u0646\u06cc \u062f\u0631\u062e\u062a \u06a9\u0648 \u062a\u0644\u0627\u0634 \u06a9\u0631 \u0644\u06cc\u0627 \u06c1\u06d2 \u062a\u0627\u06a9\u06c1 \u062f\u06cc\u06af\u0631 \u062a\u0645\u0627\u0645 \u06a9\u0648\u0648\u0627\u0631\u06cc\u0679\u0633 \u06a9\u0648 \u062a\u0644\u0627\u0634 \u06a9\u06cc\u0627 \u062c\u0627 \u0633\u06a9\u06d2\u06d4 <code>UNTRACED<\/code> \u0686\u0648\u0646\u06a9\u06c1 \u0645\u06cc\u0646\u06cc \u0641\u06cc\u0633\u0679 \u0645\u06cc\u06ba \u06c1\u062f\u0641 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u06a9 \u062e\u0627\u0644\u06cc \u062e\u0627\u0646\u062f\u0627\u0646\u06cc \u062f\u0631\u062e\u062a \u06c1\u06d2\u060c \u0627\u0633 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u06a9\u06c1 \u0648\u0627\u06a9 \u0645\u06cc\u06ba \u0627\u0646\u062c\u0627\u0645 \u062f\u06cc\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u0648\u0626\u06cc \u0642\u062f\u0645 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u0627\u0633\u06d2 \u067e\u0627\u062a\u06be \u06a9\u06c1\u0646\u06d2 \u0633\u06d2 \u0679\u0648\u0644 \u0645\u0632\u06cc\u062f \u0646\u0645\u0627\u06cc\u0627\u06ba \u06c1\u0648\u062c\u0627\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0633\u06d2 \u0627\u06cc\u06a9 \u0645\u0646\u0641\u0631\u062f \u0646\u0627\u0645 \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u06cc\u06af\u0632\u0679 \u06a9\u0648\u0688 \u0627\u062a\u0646\u0627 \u06c1\u06cc \u0627\u06c1\u0645 \u06c1\u06d2\u06d4 1 \u06a9\u06d2 \u0627\u06cc\u06af\u0632\u0679 \u06a9\u0648\u0688 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u06a9\u06c1 \u0679\u06cc\u0633\u0679 \u0686\u0644\u0627\u06cc\u0627 \u06af\u06cc\u0627 \u062a\u06be\u0627 \u0627\u0648\u0631 \u0627\u06cc\u06a9 \u0644\u06cc\u06a9 \u067e\u0627\u06cc\u0627 \u06af\u06cc\u0627 \u062a\u06be\u0627\u060c \u062c\u0628 \u06a9\u06c1 2 \u06a9\u06d2 \u0627\u06cc\u06af\u0632\u0679 \u06a9\u0648\u0688 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u06a9\u06c1 \u0679\u06cc\u0633\u0679 \u062e\u0648\u062f \u06c1\u06cc \u062e\u0631\u0627\u0628 \u06c1\u0648 \u06af\u06cc\u0627 \u062a\u06be\u0627\u06d4 \u0622\u067e \u06a9\u06cc CI \u067e\u0627\u0626\u067e \u0644\u0627\u0626\u0646 \u06a9\u0648 \u062f\u0648\u0646\u0648\u06ba \u06a9\u06d2 \u062f\u0631\u0645\u06cc\u0627\u0646 \u0641\u0631\u0642 \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u0627\u0633 \u06a9\u06cc \u0648\u062c\u06c1 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0627\u06cc\u06a9 \u0644\u06cc\u06a9 \u0622\u067e \u06a9\u0648 covariates \u06a9\u0648 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u0627\u0634\u0627\u0631\u06c1 \u06a9\u0631\u06d2 \u06af\u0627\u060c \u0627\u0648\u0631 \u0627\u06cc\u06a9 \u06a9\u0631\u067e\u0679 \u0645\u06cc\u0646\u06cc \u0641\u06cc\u0633\u0679 \u0622\u067e \u06a9\u0648 \u0641\u0627\u0626\u0644 \u06a9\u0648 \u0679\u06be\u06cc\u06a9 \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u0627\u0634\u0627\u0631\u06c1 \u06a9\u0631\u06d2 \u06af\u0627\u06d4<\/p>\n<h2 id=\"heading-step-6-run-the-linter-on-real-cases\">\u0645\u0631\u062d\u0644\u06c1 6: \u0627\u06cc\u06a9 \u062d\u0642\u06cc\u0642\u06cc \u06a9\u06cc\u0633 \u067e\u0631 \u0644\u0646\u0679\u0631 \u0686\u0644\u0627\u0626\u06cc\u06ba\u06d4<\/h2>\n<h3 id=\"heading-case-1-femas-risk-score\">\u06a9\u06cc\u0633 1: FEMA \u06a9\u0627 \u0631\u0633\u06a9 \u0627\u0633\u06a9\u0648\u0631<\/h3>\n<p>FEMA \u06a9\u0627 \u06a9\u0645\u067e\u0648\u0632\u0679 \u0631\u0633\u06a9 \u0633\u06a9\u0648\u0631 \u06a9\u0645\u06cc\u0648\u0646\u0679\u06cc \u06a9\u06d2 \u062e\u0637\u0631\u06d2 \u06a9\u06d2 \u0639\u0648\u0627\u0645\u0644 \u0633\u06d2 \u062a\u062e\u0645\u06cc\u0646\u06c1 \u0634\u062f\u06c1 \u0633\u0627\u0644\u0627\u0646\u06c1 \u0646\u0642\u0635\u0627\u0646 \u06a9\u0648 \u06a9\u0626\u06cc \u06af\u0646\u0627 \u06a9\u0631 \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u0646 \u0639\u0648\u0627\u0645\u0644 \u0645\u06cc\u06ba \u0633\u0645\u0627\u062c\u06cc \u06a9\u0645\u0632\u0648\u0631\u06cc \u06a9\u06d2 \u0627\u0633\u06a9\u0648\u0631 \u0627\u0648\u0631 \u06a9\u0645\u06cc\u0648\u0646\u0679\u06cc \u0644\u0686\u06a9 \u06a9\u06d2 \u0627\u0633\u06a9\u0648\u0631 \u067e\u0631 \u0645\u0634\u062a\u0645\u0644 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u060c \u06cc\u06c1 \u062f\u0648\u0646\u0648\u06ba \u0645\u062e\u062a\u0644\u0641 \u062a\u0646\u0638\u06cc\u0645\u0648\u06ba \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 ACS \u0633\u0631\u0648\u06d2 \u06a9\u0627\u0644\u0645 \u062a\u06a9 \u067e\u06c1\u0646\u0686\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/umang.pk\/wp-content\/uploads\/2026\/09\/1789885975_799_Python-\u0627\u0648\u0631-\u0627\u0646\u062d\u0635\u0627\u0631-\u06af\u0631\u0627\u0641-\u06a9\u0627-\u0627\u0633\u062a\u0639\u0645\u0627\u0644-\u06a9\u0631\u062a\u06d2-\u06c1\u0648\u0626\u06d2-\u0639\u0648\u0627\u0645\u06cc-\u0688\u06cc\u0679\u0627\u0633\u06cc\u0679\u0633.png\" alt=\"FEMA_NRI.risk_score \u0627\u0648\u0631 \u0627\u0633 \u06a9\u06d2 \u0648\u0627\u0644\u062f\u06cc\u0646 \u06a9\u0627 \u06af\u0631\u0627\u0641\u06d4 \u0646\u06cc\u0644\u0627 \u0631\u0627\u0633\u062a\u06c1 ACS.EP_UNEMP \u0633\u06d2 CENSUS_CRE.social_vulnerability \u0627\u0648\u0631 FEMA_NRI.social_vulnerability \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0627\u0648\u067e\u0631 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0633\u0631\u062e \u0631\u0627\u0633\u062a\u06c1 ACS.EP_UNEMP \u0633\u06d2 HVRI.bric \u0627\u0648\u0631 FEMA_NRI.community_resilience \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0627\u0648\u067e\u0631 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4\" style=\"display: block;\" width=\"600\" height=\"400\" loading=\"lazy\" title=\"\"><\/p>\n<p><code>FEMA_NRI.risk_score<\/code> <em>\u0627\u0648\u0631 \u06c1\u0631 \u0686\u06cc\u0632 \u0627\u0633 \u0633\u06d2 \u0628\u0646\u06cc \u06c1\u06d2\u06d4 \u0646\u06cc\u0644\u06d2 \u0627\u0648\u0631 \u0633\u0631\u062e \u0631\u0646\u06af \u0645\u06cc\u06ba \u0628\u0646\u0627\u0626\u06d2 \u06af\u0626\u06d2 \u062f\u0648\u0646\u0648\u06ba \u0631\u0627\u0633\u062a\u06d2\u060c \u0627\u0633\u06cc ACS \u0628\u06d2 \u0631\u0648\u0632\u06af\u0627\u0631\u06cc \u06a9\u06cc \u0634\u0631\u062d \u06a9\u06d2 \u06a9\u0627\u0644\u0645 \u0633\u06d2 \u0634\u0631\u0648\u0639 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0627\u06cc\u06a9 \u0645\u0631\u062f\u0645 \u0634\u0645\u0627\u0631\u06cc \u0628\u06cc\u0648\u0631\u0648 \u06a9\u06d2 \u0644\u0686\u06a9\u062f\u0627\u0631 \u062a\u062e\u0645\u06cc\u0646\u0648\u06ba \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0627\u0648\u067e\u0631 \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u062f\u0648\u0633\u0631\u0627 HVRI \u06a9\u06d2 BRIC \u0627\u0646\u0688\u06cc\u06a9\u0633 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0627\u0648\u067e\u0631 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/em><\/p>\n<p>\u0641\u0631\u0636 \u06a9\u0631\u06cc\u06ba \u06a9\u06c1 \u0622\u067e \u062e\u0637\u0631\u06d2 \u06a9\u06d2 \u0627\u0633\u06a9\u0648\u0631 \u06a9\u06cc \u067e\u06cc\u0634\u0646 \u06af\u0648\u0626\u06cc \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u063a\u0631\u0628\u062a \u0627\u0648\u0631 \u0628\u06d2 \u0631\u0648\u0632\u06af\u0627\u0631\u06cc \u06a9\u06cc \u0634\u0631\u062d \u06a9\u0648 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-bash\">python3 mini_lint.py --target FEMA_NRI.risk_score --covariates ACS.EP_POV150 ACS.EP_UNEMP\n<\/code><\/pre>\n<p><img decoding=\"async\" src=\"https:\/\/umang.pk\/wp-content\/uploads\/2026\/09\/1789885975_855_Python-\u0627\u0648\u0631-\u0627\u0646\u062d\u0635\u0627\u0631-\u06af\u0631\u0627\u0641-\u06a9\u0627-\u0627\u0633\u062a\u0639\u0645\u0627\u0644-\u06a9\u0631\u062a\u06d2-\u06c1\u0648\u0626\u06d2-\u0639\u0648\u0627\u0645\u06cc-\u0688\u06cc\u0679\u0627\u0633\u06cc\u0679\u0633.png\" alt=\"FAIL \u0641\u06cc\u0635\u0644\u06d2 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0679\u0631\u0645\u06cc\u0646\u0644 \u0622\u0624\u0679 \u067e\u0679\u06d4 ACS.EP_POV150 \u0627\u06cc\u06a9 \u0631\u0627\u0633\u062a\u06d2 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u06c1\u062f\u0641 \u06a9\u0627 \u0622\u0628\u0627\u0624 \u0627\u062c\u062f\u0627\u062f \u06c1\u06d2\u060c \u0627\u0648\u0631 ACS.EP_UNEMP \u062f\u0648 \u0631\u0627\u0633\u062a\u0648\u06ba (\u0627\u06cc\u06a9 \u0634\u0645\u0627\u0631\u06cc\u0627\u062a\u06cc \u0631\u0627\u0633\u062a\u06c1 \u0627\u0648\u0631 \u0627\u06cc\u06a9 \u062a\u0639\u06cc\u06cc\u0646\u0627\u062a\u06cc \u0631\u0627\u0633\u062a\u06c1) \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u06c1\u062f\u0641 \u06a9\u0627 \u0627\u062c\u062f\u0627\u062f \u06c1\u06d2\u06d4 \u0627\u06cc\u06af\u0632\u0679 \u06a9\u0648\u0688 1 \u06c1\u06d2\u06d4\" style=\"display: block;\" width=\"600\" height=\"400\" loading=\"lazy\" title=\"\"><\/p>\n<p><em>\u0641\u06cc\u0635\u0644\u06c1 FAIL \u06c1\u06d2\u06d4 \u063a\u0631\u0628\u062a \u06a9\u06cc \u0634\u0631\u062d \u0627\u06cc\u06a9 \u0631\u0627\u0633\u062a\u06d2 \u0633\u06d2 \u06c1\u062f\u0641 \u062a\u06a9 \u067e\u06c1\u0646\u0686\u062a\u06cc \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0628\u06cc\u0631\u0648\u0632\u06af\u0627\u0631\u06cc \u06a9\u06cc \u0634\u0631\u062d \u062f\u0648 \u0631\u0627\u0633\u062a\u0648\u06ba \u0633\u06d2 \u06c1\u062f\u0641 \u062a\u06a9 \u067e\u06c1\u0646\u0686\u062a\u06cc \u06c1\u06d2: \u0634\u0645\u0627\u0631\u06cc\u0627\u062a\u06cc \u0627\u0648\u0631 \u062a\u0639\u06cc\u0646\u06cc\u0627\u062a\u06cc\u06d4<\/em><\/p>\n<p>\u0646\u062a\u06cc\u062c\u06c1 \u0627\u06cc\u06af\u0632\u0679 \u06a9\u0648\u0688 1 \u06a9\u06d2 \u0633\u0627\u062a\u06be FAIL \u06c1\u06d2\u06d4<\/p>\n<p><code>ACS.EP_POV150<\/code>    \u0622\u067e \u0627\u06cc\u06a9 \u0631\u0627\u0633\u062a\u06d2 \u0633\u06d2 \u0627\u067e\u0646\u06d2 \u0645\u0642\u0635\u062f \u062a\u06a9 \u067e\u06c1\u0646\u0686 \u062c\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 <code>ACS.EP_UNEMP<\/code> 2 \u0628\u062c\u06d2 \u062a\u06a9 \u067e\u06c1\u0646\u0686\u0646\u0627\u06d4<\/p>\n<p>\u0628\u06d2 \u0631\u0648\u0632\u06af\u0627\u0631\u06cc \u06a9\u0627 \u067e\u06c1\u0644\u0627 \u0631\u0627\u0633\u062a\u06c1 \u0645\u0631\u062f\u0645 \u0634\u0645\u0627\u0631\u06cc \u06a9\u06d2 \u0645\u0627\u0688\u0644 \u0633\u06d2 \u06af\u0632\u0631\u062a\u0627 \u06c1\u06d2\u060c \u0644\u06c1\u0630\u0627 \u0679\u0648\u0644 \u0627\u0633\u06d2 \u0634\u0645\u0627\u0631\u06cc\u0627\u062a\u06cc \u0637\u0648\u0631 \u067e\u0631 \u062f\u06a9\u06be\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u062f\u0648\u0633\u0631\u0627 \u0631\u0627\u0633\u062a\u06c1 HVRI \u06a9\u06d2 BRIC \u0627\u0646\u0688\u06cc\u06a9\u0633 \u0633\u06d2 \u06af\u0632\u0631\u062a\u0627 \u06c1\u06d2\u060c \u062c\u06c1\u0627\u06ba \u0628\u06d2 \u0631\u0648\u0632\u06af\u0627\u0631\u06cc \u0627\u06cc\u06a9 \u0628\u0631\u0627\u06c1\u0650 \u0631\u0627\u0633\u062a \u0639\u0646\u0635\u0631 \u06c1\u06d2\u060c \u0627\u0633 \u0644\u06cc\u06d2 \u0679\u0648\u0644 \u0627\u0633\u06d2 \u062a\u0639\u06cc\u0646 \u067e\u0631 \u0645\u0628\u0646\u06cc \u0644\u06cc\u0628\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u06af\u0631 \u0622\u067e \u0627\u0633\u067e\u0631\u06cc\u0688\u0634\u06cc\u0679 \u0645\u06cc\u06ba \u06a9\u0627\u0644\u0645 \u06a9\u06d2 \u0646\u0627\u0645\u0648\u06ba \u06a9\u06d2 \u0633\u0627\u062a\u06be \u062f\u0648 \u0631\u0627\u0633\u062a\u0648\u06ba \u06a9\u0648 \u0628\u0635\u0631\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0679\u0631\u06cc\u0633 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062a\u0648 \u0622\u067e \u06a9\u0648 \u062c\u0644\u062f \u06c1\u06cc \u0646\u0638\u0631 \u0622\u0626\u06d2 \u06af\u0627 \u06a9\u06c1 \u06af\u0631\u0627\u0641 \u06a9\u06cc\u0648\u06ba \u0645\u062f\u062f\u06af\u0627\u0631 \u06c1\u06cc\u06ba\u06d4 \u0679\u0631\u0627\u0648\u0631\u0633\u0644 \u0633\u06cc\u06a9\u0646\u0688\u0648\u06ba \u0645\u06cc\u06ba \u062f\u0648\u0646\u0648\u06ba \u06a9\u0648 \u0688\u06be\u0648\u0646\u0688\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-case-2-a-descendant\">\u06a9\u06cc\u0633 2: \u0627\u0648\u0644\u0627\u062f<\/h3>\n<p>\u0627\u0628 \u0622\u0626\u06cc\u06d2 \u06af\u06cc\u0626\u0631\u0632 \u06a9\u0648 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 \u0641\u0631\u0636 \u06a9\u0631\u06cc\u06ba \u06a9\u06c1 \u06c1\u0645 \u0645\u0631\u062f\u0645 \u0634\u0645\u0627\u0631\u06cc \u06a9\u06d2 \u0627\u0633\u06a9\u0648\u0631\u0632 \u06a9\u06cc \u067e\u06cc\u0634\u06cc\u0646 \u06af\u0648\u0626\u06cc \u06a9\u0631 \u0631\u06c1\u06d2 \u06c1\u06cc\u06ba FEMA \u06a9\u06cc \u0645\u0631\u062f\u0645 \u0634\u0645\u0627\u0631\u06cc \u06a9\u06cc \u062f\u0648\u0628\u0627\u0631\u06c1 \u0634\u0627\u0626\u0639 \u0634\u062f\u06c1 \u06a9\u0627\u067e\u06cc \u0628\u0637\u0648\u0631 covariate\u06d4<\/p>\n<pre><code class=\"language-bash\">python3 mini_lint.py --target CENSUS_CRE.social_vulnerability --covariates FEMA_NRI.social_vulnerability\n<\/code><\/pre>\n<p><img decoding=\"async\" src=\"https:\/\/umang.pk\/wp-content\/uploads\/2026\/09\/1789885975_165_Python-\u0627\u0648\u0631-\u0627\u0646\u062d\u0635\u0627\u0631-\u06af\u0631\u0627\u0641-\u06a9\u0627-\u0627\u0633\u062a\u0639\u0645\u0627\u0644-\u06a9\u0631\u062a\u06d2-\u06c1\u0648\u0626\u06d2-\u0639\u0648\u0627\u0645\u06cc-\u0688\u06cc\u0679\u0627\u0633\u06cc\u0679\u0633.png\" alt=\"FAIL \u0641\u06cc\u0635\u0644\u06d2 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0679\u0631\u0645\u06cc\u0646\u0644 \u0622\u0624\u0679 \u067e\u0679\u06d4 FEMA_NRI.social_vulnerability \u0627\u06cc\u06a9 \u062a\u0639\u06cc\u06cc\u0646\u0627\u062a\u06cc \u0631\u0627\u0633\u062a\u06d2 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u06c1\u062f\u0641 \u06a9\u06cc \u0627\u0648\u0644\u0627\u062f \u06c1\u06d2\u06d4 \u0627\u06cc\u06af\u0632\u0679 \u06a9\u0648\u0688 1 \u06c1\u06d2\u06d4\" style=\"display: block;\" width=\"600\" height=\"400\" loading=\"lazy\" title=\"\"><\/p>\n<p><em>\u06a9\u06cc\u0633 \u0627\u0644\u0679 \u06af\u06cc\u0627 \u0627\u0648\u0631 \u067e\u06be\u0631 \u0646\u0627\u06a9\u0627\u0645 \u06c1\u0648\u06af\u06cc\u0627\u06d4 FEMA \u06a9\u06cc \u0637\u0631\u0641 \u0633\u06d2 \u062f\u0648\u0628\u0627\u0631\u06c1 \u062c\u0627\u0631\u06cc \u06a9\u06cc \u06af\u0626\u06cc \u0645\u0631\u062f\u0645 \u0634\u0645\u0627\u0631\u06cc \u06a9\u06d2 \u0627\u0633\u06a9\u0648\u0631 \u06a9\u06cc \u06a9\u0627\u067e\u06cc\u0627\u06ba \u0627\u06cc\u06a9 \u062a\u0639\u06cc\u06cc\u0646\u0627\u062a\u06cc \u0631\u0627\u0633\u062a\u06d2 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0645\u0636\u0627\u0645\u06cc\u0646 \u0633\u06d2 \u062d\u0627\u0635\u0644 \u06a9\u06cc \u06af\u0626\u06cc \u06c1\u06cc\u06ba\u06d4<\/em><\/p>\n<p>FEMA \u06a9\u06d2 \u0627\u0633\u06a9\u0648\u0631\u0632 \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a \u0645\u0631\u062f\u0645 \u0634\u0645\u0627\u0631\u06cc \u06a9\u06d2 \u0627\u0633\u06a9\u0648\u0631 \u0633\u06d2 \u0628\u0646\u0627\u0626\u06d2 \u062c\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0627\u0633 \u0644\u06cc\u06d2 \u0627\u0646 \u06a9\u0648 \u0628\u0637\u0648\u0631 \u0627\u0646 \u067e\u0679 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u0645\u0627\u0688\u0644 \u06a9\u06d2 \u062c\u0648\u0627\u0628\u0627\u062a \u0645\u0644 \u062c\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0679\u0648\u0644 \u0627\u0646 \u06a9\u0648 \u0628\u0686\u0648\u06ba \u06a9\u06cc \u0637\u0631\u062d \u067e\u06a9\u0691\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-case-3-review-pass-and-untraced\">\u06a9\u06cc\u0633 3: \u062c\u0627\u0626\u0632\u06c1 \u0644\u06cc\u0627 \u06af\u06cc\u0627\u060c \u067e\u0627\u0633 \u06a9\u06cc\u0627 \u06af\u06cc\u0627\u060c \u0679\u0631\u06cc\u06a9 \u0646\u06c1\u06cc\u06ba \u06a9\u06cc\u0627 \u06af\u06cc\u0627\u06d4<\/h3>\n<p>\u06cc\u06c1\u0627\u06ba \u062a\u06cc\u0646 \u0631\u0646\u0632 \u06c1\u06cc\u06ba \u062c\u0648 \u0635\u0627\u0641 \u06cc\u0627 \u062a\u0642\u0631\u06cc\u0628\u0627 \u0635\u0627\u0641 \u06c1\u0648\u0646\u06d2 \u0686\u0627\u06c1\u0626\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-bash\">python3 mini_lint.py --target NVSS.mortality --covariates FEMA_NRI.social_vulnerability HVRI.bric\npython3 mini_lint.py --target FEMA_NRI.risk_score --covariates SAT.chirps_rainfall\npython3 mini_lint.py --target NVSS.mortality --covariates SAT.chirps_rainfall\n<\/code><\/pre>\n<p><img decoding=\"async\" src=\"https:\/\/umang.pk\/wp-content\/uploads\/2026\/09\/1789885976_663_Python-\u0627\u0648\u0631-\u0627\u0646\u062d\u0635\u0627\u0631-\u06af\u0631\u0627\u0641-\u06a9\u0627-\u0627\u0633\u062a\u0639\u0645\u0627\u0644-\u06a9\u0631\u062a\u06d2-\u06c1\u0648\u0626\u06d2-\u0639\u0648\u0627\u0645\u06cc-\u0688\u06cc\u0679\u0627\u0633\u06cc\u0679\u0633.png\" alt=\"\u062a\u06cc\u0646 \u0631\u0646\u0632 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0679\u0631\u0645\u06cc\u0646\u0644 \u0622\u0624\u0679 \u067e\u0679\u06d4 \u0686\u0648\u0646\u06a9\u06c1 \u062f\u0648 \u06a9\u0648\u0648\u06cc\u0631\u06cc\u0679\u0633 ACS.EP_NOVEH \u0627\u0648\u0631 ACS.EP_UNEMP \u06a9\u0627 \u0627\u0634\u062a\u0631\u0627\u06a9 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0627\u0633 \u0644\u06cc\u06d2 \u067e\u06c1\u0644\u0627 REVIEW \u0644\u0648\u0679\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u062f\u0648\u0633\u0631\u0627 PASS \u0644\u0648\u0679\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u062a\u06cc\u0633\u0631\u0627 UNTRACED \u0648\u0627\u067e\u0633 \u0622\u062a\u0627 \u06c1\u06d2\u06d4\" style=\"display: block;\" width=\"600\" height=\"400\" loading=\"lazy\" title=\"\"><\/p>\n<p><em>\u062a\u06cc\u0646 \u0635\u0627\u0641 \u0633\u062a\u06be\u0631\u0627 \u0631\u0646\u0632: \u062f\u0648 ACS \u0648\u0627\u0644\u062f\u06cc\u0646 \u06a9\u0627 \u0627\u0634\u062a\u0631\u0627\u06a9 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u062c\u0648\u0691\u0648\u06ba \u06a9\u06d2 \u0644\u06cc\u06d2 \u062c\u0627\u0626\u0632\u06c1\u060c \u0633\u06cc\u0679\u0644\u0627\u0626\u0679 \u0628\u0627\u0631\u0634 \u0628\u0645\u0642\u0627\u0628\u0644\u06c1 \u0631\u0633\u06a9 \u0633\u06a9\u0648\u0631 \u06a9\u06d2 \u0644\u06cc\u06d2 PASS\u060c \u0627\u0648\u0631 \u0628\u063a\u06cc\u0631 \u062f\u0631\u062c \u0648\u0627\u0644\u062f\u06cc\u0646 \u06a9\u06d2 \u0627\u06c1\u062f\u0627\u0641 \u06a9\u06d2 \u0644\u06cc\u06d2 UNTRACED\u06d4<\/em><\/p>\n<p>\u067e\u06c1\u0644\u06cc \u0631\u0646 REVIEW \u0644\u0648\u0679\u0627\u062a\u06cc \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u062f\u0648\u0646\u0648\u06ba \u06a9\u0648\u0648\u0627\u0631\u06cc\u0679\u0633 \u062f\u0648 ACS \u0648\u0627\u0644\u062f\u06cc\u0646 \u0627\u0648\u0631 \u0645\u0627\u0688\u0644 \u0627\u0648\u0648\u0631\u0644\u06cc\u067e \u0645\u06cc\u06ba \u0627\u0646 \u06a9\u06d2 \u067e\u0627\u0633\u0632 \u06a9\u0627 \u0627\u0634\u062a\u0631\u0627\u06a9 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u062f\u0648\u0633\u0631\u0627 \u0631\u0646 PASS \u06a9\u0648 \u0644\u0648\u0679\u0627\u062a\u0627 \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0631\u0633\u06a9 \u0627\u0633\u06a9\u0648\u0631 \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u0679\u0631\u06cc\u06a9 \u0634\u062f\u06c1 \u067e\u06cc\u0688\u06cc\u06af\u0631\u06cc \u06c1\u06d2 \u0627\u0648\u0631 \u0633\u06cc\u0679\u0644\u0627\u0626\u0679 \u06a9\u06cc \u0628\u0627\u0631\u0634 \u0627\u0633 \u0633\u06d2 \u0628\u0627\u06c1\u0631 \u06c1\u06d2\u06d4<\/p>\n<p>\u062a\u06cc\u0633\u0631\u0627 \u0631\u0646 UNTRACED \u0644\u0648\u0679\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u0633 \u06a9\u06cc \u0648\u062c\u06c1 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0645\u0648\u062a \u06a9\u06d2 \u0633\u0631\u0679\u06cc\u0641\u06a9\u06cc\u0679 \u06a9\u06d2 \u0631\u06cc\u06a9\u0627\u0631\u0688 \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a \u0634\u0645\u0627\u0631 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0646 \u0645\u06cc\u06ba \u0648\u0627\u0644\u062f\u06cc\u0646 \u062f\u0631\u062c \u0646\u06c1\u06cc\u06ba \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u06cc\u06c1 \u062e\u0627\u0645\u0648\u0634 \u0646\u062a\u0627\u0626\u062c \u0646\u0627\u06a9\u0627\u0645\u06cc\u0648\u06ba \u06a9\u06cc \u0637\u0631\u062d \u0627\u06c1\u0645 \u06c1\u06cc\u06ba\u06d4 \u0627\u06cc\u06a9 \u0686\u06cc\u06a9\u0631 \u062c\u0648 \u06c1\u0631 \u0627\u0646 \u067e\u0679 \u067e\u0631 \u062e\u0637\u0631\u06d2 \u06a9\u06cc \u06af\u06be\u0646\u0679\u06cc \u0628\u062c\u0627\u062a\u0627 \u06c1\u06d2 \u0628\u06cc\u06a9\u0627\u0631 \u06c1\u06d2\u060c \u0644\u06c1\u0630\u0627 \u0627\u06cc\u06a9 \u0627\u0686\u06be\u06d2 \u0679\u06cc\u0633\u0679 \u0633\u06cc\u0679 \u0645\u06cc\u06ba \u06c1\u0645\u06cc\u0634\u06c1 \u0627\u06cc\u0633\u06d2 \u06a9\u06cc\u0633\u0632 \u0634\u0627\u0645\u0644 \u06c1\u0648\u06ba \u06af\u06d2 \u062c\u0646\u06c1\u06cc\u06ba \u067e\u0627\u0633 \u06c1\u0648\u0646\u0627 \u0636\u0631\u0648\u0631\u06cc \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-step-7-make-the-linter-fail-loudly-on-bad-input\">\u0645\u0631\u062d\u0644\u06c1 7: \u063a\u0644\u0637 \u0627\u0646 \u067e\u0679 \u06a9\u06cc \u0648\u062c\u06c1 \u0633\u06d2 \u0644\u0646\u0679\u0631 \u06a9\u0648 \u0628\u0631\u06cc \u0637\u0631\u062d \u0646\u0627\u06a9\u0627\u0645 \u06c1\u0648\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0633\u06cc\u0679 \u0627\u067e \u06a9\u0631\u06cc\u06ba\u06d4<\/h2>\n<p>\u062d\u0641\u0627\u0638\u062a\u06cc \u0679\u0648\u0644\u0632 \u0648\u0627\u0636\u062d \u0637\u0648\u0631 \u067e\u0631 \u0646\u0627\u06a9\u0627\u0645 \u06c1\u0648 \u06a9\u0631 \u0627\u0639\u062a\u0628\u0627\u0631 \u062d\u0627\u0635\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0644\u06cc\u06a9 \u0686\u06cc\u06a9\u0631 \u06a9\u0627 \u0633\u0628 \u0633\u06d2 \u0628\u0631\u0627 \u0646\u062a\u06cc\u062c\u06c1 \u0627\u06cc\u06a9 \u0645\u0639\u0627\u0626\u0646\u06c1 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u06a9 \u0633\u0628\u0632 \u067e\u0627\u0633 \u06c1\u06d2 \u062c\u0633 \u0646\u06d2 \u062e\u0627\u0645\u0648\u0634\u06cc \u0633\u06d2 \u0627\u067e\u0646\u0627 \u06a9\u0627\u0645 \u0686\u06be\u0648\u0691 \u062f\u06cc\u0627\u060c \u0627\u0648\u0631 \u0627\u06cc\u0633\u0627 \u06c1\u0648\u0646\u06d2 \u06a9\u06d2 \u062a\u06cc\u0646 \u0639\u0627\u0645 \u0637\u0631\u06cc\u0642\u06d2 \u06c1\u06cc\u06ba:<\/p>\n<h3 id=\"heading-trap-1-typos-in-names\">\u0646\u0642\u0635\u0627\u0646 1: \u0646\u0627\u0645 \u0645\u06cc\u06ba \u0679\u0627\u0626\u067e\u0646\u06af<\/h3>\n<p>\u0627\u06af\u0631 \u0622\u067e \u0627\u0633\u06d2 \u0622\u0632\u0645\u0627\u0646\u0627 \u0686\u0627\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba \u062a\u0648 \u0627\u0633\u06d2 \u06a9\u0627\u067e\u06cc \u06a9\u0631\u06cc\u06ba\u06d4 <code>mini-manifest.yaml<\/code> \u06a9\u0648 <code>typo-manifest.yaml<\/code> \u0627\u0648\u0631 \u062a\u0628\u062f\u06cc\u0644\u06cc <code>HVRI.bric<\/code> \u06a9\u0648 <code>HVRI.brick<\/code> \u0645\u06cc\u06ba <code>FEMA_NRI.community_resilience<\/code> \u0627\u0646\u062f\u0631\u0627\u062c \u067e\u06be\u0631 \u062f\u0631\u062c \u0630\u06cc\u0644 \u062f\u0648 \u06a9\u0645\u0627\u0646\u0688\u0632 \u0686\u0644\u0627\u0626\u06cc\u06ba:<\/p>\n<pre><code class=\"language-bash\">python3 mini_lint.py --target FEMA_NRI.risk_score --covariates ACS.EP_POV15\npython3 mini_lint.py --manifest typo-manifest.yaml --target FEMA_NRI.risk_score --covariates ACS.EP_UNEMP\n<\/code><\/pre>\n<p><img decoding=\"async\" src=\"https:\/\/umang.pk\/wp-content\/uploads\/2026\/09\/1789885976_349_Python-\u0627\u0648\u0631-\u0627\u0646\u062d\u0635\u0627\u0631-\u06af\u0631\u0627\u0641-\u06a9\u0627-\u0627\u0633\u062a\u0639\u0645\u0627\u0644-\u06a9\u0631\u062a\u06d2-\u06c1\u0648\u0626\u06d2-\u0639\u0648\u0627\u0645\u06cc-\u0688\u06cc\u0679\u0627\u0633\u06cc\u0679\u0633.png\" alt=\"\u0679\u0631\u0645\u06cc\u0646\u0644 \u0622\u0624\u0679 \u067e\u0679\u06d4 \u063a\u0644\u0637 \u06c1\u062c\u06d2 \u0648\u0627\u0644\u0627 covariate ACS.EP_POV15 \u0627\u06cc\u06af\u0632\u0679 \u06a9\u0648\u0688 1 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0627\u06cc\u06a9 \u0646\u0627\u06a9\u0627\u0645\u06cc \u06a9\u0627 \u0641\u06cc\u0635\u0644\u06c1 \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4 \u063a\u0644\u0637 \u06c1\u062c\u06d2 \u0648\u0627\u0644\u0627 \u067e\u06cc\u0631\u0646\u0679 HVRI.brick \u0627\u06cc\u06af\u0632\u0679 \u06a9\u0648\u0688 2 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0627\u06cc\u06a9 \u0648\u0627\u0636\u062d \u063a\u0644\u0637\u06cc \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4\" style=\"display: block;\" width=\"600\" height=\"400\" loading=\"lazy\" title=\"\"><\/p>\n<p><em>2 \u0679\u0627\u0626\u067e \u06a9\u06cc \u063a\u0644\u0637\u06cc\u0627\u06ba\u060c 2 \u0627\u06cc\u06af\u0632\u0679 \u06a9\u0648\u0688\u0632\u06d4 \u0627\u06cc\u06a9 \u063a\u0644\u0637 \u06c1\u062c\u06d2 \u0648\u0627\u0644\u06d2 \u06a9\u0648\u0648\u06cc\u0631\u06cc\u0679 \u06a9\u06d2 \u0646\u062a\u06cc\u062c\u06d2 \u0645\u06cc\u06ba \u0627\u06cc\u06af\u0632\u0679 \u06a9\u0648\u0688 1 \u06a9\u06d2 \u0633\u0627\u062a\u06be FAIL \u06c1\u0648 \u062c\u0627\u0626\u06d2 \u06af\u0627\u060c \u0627\u0648\u0631 \u0645\u06cc\u0646\u06cc \u0641\u06cc\u0633\u0679 \u0645\u06cc\u06ba \u063a\u0644\u0637 \u06c1\u062c\u06d2 \u0648\u0627\u0644\u06d2 \u0648\u0627\u0644\u062f\u06cc\u0646 \u06a9\u06d2 \u0646\u062a\u06cc\u062c\u06d2 \u0645\u06cc\u06ba \u0627\u06cc\u06af\u0632\u0679 \u06a9\u0648\u0688 2 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0627\u06cc\u06a9 \u0648\u0627\u0636\u062d \u063a\u0644\u0637\u06cc \u06c1\u0648 \u06af\u06cc\u06d4<\/em><\/p>\n<p>\u063a\u0644\u0637 \u06c1\u062c\u06d2 \u0648\u0627\u0644\u06cc \u06a9\u0648\u0648\u0627\u0631\u06cc\u0679\u0633 (<code>ACS.EP_POV15<\/code>) \u0627\u06cc\u06af\u0632\u0679 \u06a9\u0648\u0688 1 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0646\u0627\u06a9\u0627\u0645 \u06c1\u0648 \u062c\u0627\u0626\u06d2 \u06af\u0627\u06d4 \u0645\u06cc\u0646\u06cc \u0641\u06cc\u0633\u0679 \u06a9\u06d2 \u0627\u0646\u062f\u0631 \u063a\u0644\u0637 \u06c1\u062c\u06d2 \u0648\u0627\u0644\u06d2 \u0648\u0627\u0644\u062f\u06cc\u0646 (<code>HVRI.brick<\/code>) \u06a9\u06d2 \u0646\u062a\u06cc\u062c\u06d2 \u0645\u06cc\u06ba \u0627\u06cc\u06af\u0632\u0679 \u06a9\u0648\u0688 2 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0627\u06cc\u06a9 \u0648\u0627\u0636\u062d \u063a\u0644\u0637\u06cc \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4 \u062f\u0648\u0646\u0648\u06ba \u0679\u0631\u0627\u0648\u0631\u0633\u0644 \u06c1\u0648\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u06c1\u06cc \u0639\u0645\u0644\u062f\u0631\u0622\u0645\u062f \u0631\u0648\u06a9 \u062f\u06cc\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<h3 id=\"heading-trap-2-duplicate-yaml-keys\">\u0646\u0642\u0635\u0627\u0646 2: YAML \u0686\u0627\u0628\u06cc\u0627\u06ba \u0688\u067e\u0644\u06cc\u06a9\u06cc\u0679 \u06a9\u0631\u06cc\u06ba\u06d4<\/h3>\n<p>\u0645\u06cc\u0646\u06cc \u0641\u06cc\u0633\u0679 \u06a9\u06cc \u0627\u06cc\u06a9 \u0627\u0648\u0631 \u06a9\u0627\u067e\u06cc \u0627\u0633 \u0637\u0631\u062d \u0628\u0646\u0627\u0626\u06cc\u06ba: <code>sneaky-manifest.yaml<\/code>\u060c \u0627\u0648\u0631 \u067e\u06be\u0631 \u0641\u0627\u0626\u0644 \u06a9\u06d2 \u0622\u062e\u0631 \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u0644\u0627\u0626\u0646 \u0634\u0627\u0645\u0644 \u06a9\u0631\u06cc\u06ba\u06d4 <code>FEMA_NRI.risk_score<\/code> \u0628\u0644\u0627\u06a9:<\/p>\n<pre><code class=\"language-yaml\">    derivesFrom: []\n<\/code><\/pre>\n<p>\u0627\u0628 \u062e\u0637\u0631\u06d2 \u06a9\u06d2 \u062f\u0648 \u0627\u0633\u06a9\u0648\u0631 \u06c1\u06cc\u06ba: <code>derivesFrom<\/code> \u06a9\u0644\u06cc\u062f \u0628\u0646\u0627\u0646\u0627 <code>peek.py<\/code> \u06cc\u06c1 \u062f\u06cc\u06a9\u06be\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u06c1 PyYAML \u06a9\u06cc\u0627 \u06a9\u0631\u062a\u0627 \u06c1\u06d2:<\/p>\n<pre><code class=\"language-python\">import yaml\n\nwith open(\"sneaky-manifest.yaml\") as fh:\n    doc = yaml.safe_load(fh)\n\nprint(doc[\"products\"][\"FEMA_NRI.risk_score\"][\"derivesFrom\"])\n<\/code><\/pre>\n<p>\u0627\u0628 \u062f\u0648\u0691\u0648 <code>peek.py<\/code>\u0627\u0633\u06cc \u0641\u0627\u0626\u0644 \u067e\u0631 \u0644\u0646\u0679\u0631 \u0686\u0644\u0627\u0626\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-bash\">python3 peek.py\npython3 mini_lint.py --manifest sneaky-manifest.yaml --target FEMA_NRI.risk_score --covariates ACS.EP_UNEMP\n<\/code><\/pre>\n<p><img decoding=\"async\" src=\"https:\/\/umang.pk\/wp-content\/uploads\/2026\/09\/1789885976_142_Python-\u0627\u0648\u0631-\u0627\u0646\u062d\u0635\u0627\u0631-\u06af\u0631\u0627\u0641-\u06a9\u0627-\u0627\u0633\u062a\u0639\u0645\u0627\u0644-\u06a9\u0631\u062a\u06d2-\u06c1\u0648\u0626\u06d2-\u0639\u0648\u0627\u0645\u06cc-\u0688\u06cc\u0679\u0627\u0633\u06cc\u0679\u0633.png\" alt=\"    \u0679\u0631\u0645\u06cc\u0646\u0644 \u0622\u0624\u0679 \u067e\u0679\u06d4 peek.py \u0627\u06cc\u06a9 \u062e\u0627\u0644\u06cc \u0641\u06c1\u0631\u0633\u062a \u067e\u0631\u0646\u0679 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 mini_lint.py \u0627\u06cc\u06a9 \u067e\u06cc\u063a\u0627\u0645 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0631\u06a9 \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0627\u062e\u0630 \u06a9\u0631\u062f\u06c1 \u06a9\u0644\u06cc\u062f \u0644\u0627\u0626\u0646 68 \u0627\u0648\u0631 72 \u067e\u0631 \u062f\u0648 \u0628\u0627\u0631 \u0638\u0627\u06c1\u0631 \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u060c \u0627\u0648\u0631 \u06a9\u0648\u0688 2 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0628\u0627\u06c1\u0631 \u0646\u06a9\u0644\u062a\u06cc \u06c1\u06d2\u06d4\" style=\"display: block;\" width=\"600\" height=\"400\" loading=\"lazy\" title=\"\"><\/p>\n<p><em>\u0688\u067e\u0644\u06cc\u06a9\u06cc\u0679 \u0686\u0627\u0628\u06cc\u0627\u06ba \u062f\u0648 \u0637\u0631\u06cc\u0642\u0648\u06ba \u0633\u06d2 \u062f\u06cc\u06a9\u06be\u06cc \u06af\u0626\u06cc\u06ba\u06d4 \u0635\u0627\u0641<\/em> <code>yaml.safe_load<\/code> <em>\u062c\u0628 \u06a9\u06c1 \u06cc\u06c1 \u0627\u06cc\u06a9 \u062e\u0627\u0644\u06cc \u0641\u06c1\u0631\u0633\u062a \u067e\u0631\u0646\u0679 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u06a9\u0686\u06be \u0646\u06c1\u06cc\u06ba \u06a9\u06c1\u062a\u0627\u060c \u0627\u06cc\u06a9 \u0633\u062e\u062a \u0644\u0648\u0688\u0631 \u0628\u0627\u0631 \u0628\u0627\u0631 \u06a9\u06cc\u0632 \u06a9\u0648 \u062f\u0648 \u0644\u0627\u0626\u0646 \u0646\u0645\u0628\u0631 \u062a\u0641\u0648\u06cc\u0636 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u06a9\u0648\u0688 2 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0628\u0627\u06c1\u0631 \u0646\u06a9\u0644\u062a\u0627 \u06c1\u06d2\u06d4<\/em><\/p>\n<p>\u0635\u0627\u0641 <code>yaml.safe_load<\/code> PyYAML \u0627\u06cc\u06a9 \u062e\u0627\u0644\u06cc \u0641\u06c1\u0631\u0633\u062a \u0648\u0627\u067e\u0633 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u06c1\u0645 \u0646\u06d2 \u062f\u0648\u0633\u0631\u06cc \u06a9\u0644\u06cc\u062f \u0631\u06a9\u06be\u06cc \u0627\u0648\u0631 \u062a\u06cc\u0646\u0648\u06ba \u0627\u0635\u0644\u06cc \u06a9\u0646\u0627\u0631\u0648\u06ba \u06a9\u0648 \u0636\u0627\u0626\u0639 \u06a9\u0631 \u062f\u06cc\u0627 \u0627\u0648\u0631 \u0627\u0633 \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u062e\u0627\u0645\u0648\u0634 \u0631\u06c1\u06d2\u06d4 \u0627\u0633 \u0644\u0648\u0688\u0631 \u0645\u06cc\u06ba \u0628\u0646\u0627\u06cc\u0627 \u06af\u06cc\u0627 \u0627\u06cc\u06a9 \u0644\u0646\u0679\u0631 \u0627\u0633 \u0628\u0627\u062a \u06a9\u0648 \u06cc\u0642\u06cc\u0646\u06cc \u0628\u0646\u0627\u0626\u06d2 \u06af\u0627 \u06a9\u06c1 \u062a\u0645\u0627\u0645 \u0644\u06cc\u06a9\u0633 \u0628\u063a\u06cc\u0631 \u06a9\u0633\u06cc \u0631\u0627\u0633\u062a\u06d2 \u06a9\u0648 \u0688\u06be\u0648\u0646\u0688\u06d2 \u06c1\u0645\u0648\u0627\u0631 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0633\u062e\u062a \u0644\u0648\u0688\u0631 \u0627\u06cc\u06af\u0632\u0679 \u06a9\u0648\u0688 2 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0631\u06a9 \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u062f\u0648\u0646\u0648\u06ba \u0644\u0627\u0626\u0646 \u0646\u0645\u0628\u0631\u0648\u06ba \u06a9\u06cc \u0637\u0631\u0641 \u0627\u0634\u0627\u0631\u06c1 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-trap-3-an-empty-covariate-list\">\u067e\u0650\u0679\u0641\u0627\u0644 3: \u06a9\u0648\u0648\u06cc\u0631\u06cc\u0679 \u06a9\u06cc \u062e\u0627\u0644\u06cc \u0641\u06c1\u0631\u0633\u062a<\/h3>\n<p>\u062a\u06cc\u0633\u0631\u06cc \u062e\u0631\u0627\u0628\u06cc \u06a9\u0648 \u0646\u0638\u0631 \u0627\u0646\u062f\u0627\u0632 \u06a9\u0631\u0646\u0627 \u0622\u0633\u0627\u0646 \u06c1\u06d2\u06d4 CI \u0645\u06cc\u06ba\u060c \u0622\u067e \u0641\u0627\u0626\u0644 \u06cc\u0627 \u0634\u06cc\u0644 \u0645\u062a\u063a\u06cc\u0631 \u0633\u06d2 covariates \u06a9\u06cc \u0641\u06c1\u0631\u0633\u062a \u0628\u0646\u0627 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0627\u06af\u0631 \u0648\u06c1 \u0641\u0627\u0626\u0644 \u062e\u0627\u0644\u06cc \u06c1\u06d2 \u06cc\u0627 \u0645\u062a\u063a\u06cc\u0631 \u06a9\u06d2 \u0646\u0627\u0645 \u0645\u06cc\u06ba \u06a9\u0648\u0626\u06cc \u0679\u0627\u0626\u067e\u0646\u06af \u06c1\u06d2\u060c \u062a\u0648 \u06a9\u0645\u0627\u0646\u0688 0 covariates \u06a9\u06d2 \u0633\u0627\u062a\u06be \u062e\u062a\u0645 \u06c1\u0648 \u062c\u0627\u0626\u06d2 \u06af\u06cc\u06d4<\/p>\n<p>\u0645\u06cc\u0631\u06d2 \u0645\u062c\u0645\u0648\u0639\u06cc \u0679\u0648\u0644 \u06a9\u0627 \u0627\u06cc\u06a9 \u067e\u0631\u0627\u0646\u0627 \u0648\u0631\u0698\u0646 \u0627\u0633 \u06a9\u0648 \u0642\u0628\u0648\u0644 \u06a9\u0631\u06d2 \u06af\u0627 \u0627\u0648\u0631 \u0627\u06cc\u06a9 PASS \u067e\u0631\u0646\u0679 \u06a9\u0631\u06d2 \u06af\u0627\u060c \u0686\u06cc\u06a9 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0635\u062d\u062a \u06a9\u0627 \u0635\u0627\u0641 \u0628\u0644\u060c \u0627\u0633 \u0633\u0627\u0631\u06d2 \u06a9\u0627\u0645 \u06a9\u0648 \u0686\u06be\u0648\u0691 \u06a9\u0631\u06d4<\/p>\n<pre><code class=\"language-bash\">python3 mini_lint.py --target FEMA_NRI.risk_score --covariates\n<\/code><\/pre>\n<p><img decoding=\"async\" src=\"https:\/\/umang.pk\/wp-content\/uploads\/2026\/09\/1789885977_406_Python-\u0627\u0648\u0631-\u0627\u0646\u062d\u0635\u0627\u0631-\u06af\u0631\u0627\u0641-\u06a9\u0627-\u0627\u0633\u062a\u0639\u0645\u0627\u0644-\u06a9\u0631\u062a\u06d2-\u06c1\u0648\u0626\u06d2-\u0639\u0648\u0627\u0645\u06cc-\u0688\u06cc\u0679\u0627\u0633\u06cc\u0679\u0633.png\" alt=\"\u0679\u0631\u0645\u06cc\u0646\u0644 \u0622\u0624\u0679 \u067e\u0679\u06d4 argparse \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06d2 \u067e\u06cc\u063a\u0627\u0645\u0627\u062a \u0627\u0648\u0631 \u063a\u0644\u0637\u06cc\u0627\u06ba \u067e\u0631\u0646\u0679 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \" style=\"display: block;\" width=\"600\" height=\"400\" loading=\"lazy\" argument --covariates: expected at least one and the exit code is title=\"\"><\/p>\n<p><em>\u062e\u0627\u0644\u06cc<\/em> <code>--covariates<\/code> <em>\u0641\u06c1\u0631\u0633\u062a \u0627\u0628 \u0627\u06cc\u06af\u0632\u0679 \u06a9\u0648\u0688 2 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0679\u0631\u0627\u0648\u0631\u0633\u0646\u06af \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0622\u0631\u06af \u067e\u0627\u0631\u0633 \u067e\u0631 \u0639\u0645\u0644\u062f\u0631\u0622\u0645\u062f \u0631\u0648\u06a9 \u062f\u06cc\u062a\u06cc \u06c1\u06d2\u06d4<\/em><\/p>\n<p>\u0645\u06cc\u06ba <code>mini_lint.py<\/code>\u060c <code>nargs=\"+\"<\/code> \u0627\u0631\u06af \u067e\u0627\u0631\u0633 \u06a9\u0648 \u06cc\u06c1 \u0628\u062a\u0627\u0626\u06cc\u06ba: <code>--covariates<\/code> \u06a9\u0645 \u0627\u0632 \u06a9\u0645 \u0627\u06cc\u06a9 \u0642\u062f\u0631 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2\u06d4 <code>required=True<\/code> \u062c\u06be\u0646\u0688\u0627 \u062e\u0648\u062f \u06a9\u0648 \u0644\u0627\u0632\u0645\u06cc \u0642\u0631\u0627\u0631 \u062f\u06cc\u06ba\u06d4 \u0627\u0628 \u0627\u06cc\u06a9 \u062e\u0627\u0644\u06cc \u0641\u06c1\u0631\u0633\u062a \u0627\u06cc\u06af\u0632\u0679 \u06a9\u0648\u0688 2 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u067e\u0627\u0626\u067e \u0644\u0627\u0626\u0646 \u06a9\u0648 \u0633\u0631\u062e \u06a9\u0631 \u062f\u06cc\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-step-8-run-the-check-automatically-in-ci\">\u0645\u0631\u062d\u0644\u06c1 8: CI \u067e\u0631 \u062e\u0648\u062f \u0628\u062e\u0648\u062f \u0686\u06cc\u06a9 \u0686\u0644\u0627\u0626\u06cc\u06ba\u06d4<\/h2>\n<p>\u0645\u0633\u0644\u0633\u0644 \u0627\u0646\u0636\u0645\u0627\u0645 (CI) \u062c\u0628 \u0628\u06be\u06cc \u0622\u067e \u06a9\u0648\u0688 \u06a9\u0648 \u0622\u06af\u06d2 \u0628\u0691\u06be\u0627\u062a\u0627 \u06c1\u06d2 \u0686\u06cc\u06a9 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 GitHub \u0627\u06cc\u06a9\u0634\u0646\u0632 \u0648\u0631\u06a9 \u0641\u0644\u0648 \u06c1\u0631 \u067e\u0634 \u0627\u0648\u0631 \u06c1\u0631 \u067e\u0644 \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u06a9 \u0644\u0646\u0679\u0631 \u0686\u0644\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0628\u0637\u0648\u0631 \u0645\u062d\u0641\u0648\u0638 \u06a9\u0631\u06cc\u06ba\u06d4 <code>.github\/workflows\/lineage.yml<\/code> \u0627\u067e\u0646\u06d2 \u0630\u062e\u06cc\u0631\u06d2 \u0645\u06cc\u06ba <code>mini_lint.py<\/code> \u0627\u0648\u0631 <code>mini-manifest.yaml<\/code> \u0627\u0633 \u06a9\u06cc \u062c\u0691\u0648\u06ba \u0633\u06d2:<\/p>\n<pre><code class=\"language-yaml\">name: lineage-check\n\non: [push, pull_request]\n\njobs:\n  lint-lineage:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions\/checkout@v5\n      - uses: actions\/setup-python@v6\n        with:\n          python-version: \"3.12\"\n      - run: pip install pyyaml\n      - name: Check covariates against the target's lineage\n        run: |\n          python3 mini_lint.py \n            --target FEMA_NRI.risk_score \n            --covariates $(cat features.txt)\n<\/code><\/pre>\n<p>covariate \u0646\u0627\u0645 <code>features.txt<\/code> \u0631\u06cc\u067e\u0648\u0632\u0679\u0631\u06cc \u0631\u0648\u0679 \u0645\u06cc\u06ba \u0641\u06cc \u0644\u0627\u0626\u0646 \u0627\u06cc\u06a9 \u0646\u0627\u0645:<\/p>\n<pre><code class=\"language-text\">SAT.chirps_rainfall\n<\/code><\/pre>\n<p>\u06a9\u06c1 <code>$(cat features.txt)<\/code> \u062d\u0635\u06c1 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0627\u0633 \u0646\u0627\u0645 \u06a9\u0648 \u06a9\u0645\u0627\u0646\u0688 \u0645\u06cc\u06ba \u067e\u06cc\u0633\u0679 \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 \u0627\u0633 \u0641\u0627\u0626\u0644 \u06a9\u0648 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u060c \u0622\u067e\u0631\u06cc\u0634\u0646 \u06af\u0632\u0631 \u062c\u0627\u0626\u06d2 \u06af\u0627 \u0627\u0648\u0631 \u06cc\u06c1 \u0633\u0628\u0632 \u06c1\u0648 \u062c\u0627\u0626\u06d2 \u06af\u06cc\u06d4 \u0628\u0639\u062f \u0645\u06cc\u06ba\u060c \u0627\u06af\u0631 \u06a9\u0648\u0626\u06cc \u0627\u0633 \u0637\u0631\u062d \u0644\u06cc\u06a9\u06cc \u06a9\u0648\u0648\u0627\u0631\u06cc\u0679 \u0634\u0627\u0645\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2: <code>ACS.EP_UNEMP<\/code>\u06a9\u0627\u0645 \u06a9\u0648\u0688 1 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u062e\u062a\u0645 \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0633\u0631\u062e \u06c1\u0648 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u06af\u0631 \u06a9\u0648\u0626\u06cc \u062e\u0627\u0644\u06cc \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 <code>features.txt<\/code> \u0627\u062a\u0641\u0627\u0642 \u0633\u06d2 \u0622\u0631\u06af \u067e\u0627\u0631\u0633 \u06a9\u0648\u0688 2 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0628\u0627\u06c1\u0631 \u0646\u06a9\u0644\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0679\u0627\u0633\u06a9 \u0628\u06be\u06cc \u0633\u0631\u062e \u06c1\u0648 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<table>\n<thead>\n<tr>\n<th>\u0628\u0627\u06c1\u0631 \u0646\u06a9\u0644\u0646\u06d2 \u06a9\u0627 \u06a9\u0648\u0688<\/th>\n<th>\u0645\u0639\u0646\u06cc<\/th>\n<th>CI \u06a9\u06d2 \u0646\u062a\u0627\u0626\u062c<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>0<\/td>\n<td>\u0686\u06cc\u06a9 \u0628\u06be\u0627\u06af \u06af\u06cc\u0627 \u0627\u0648\u0631 PASS\u060c REVIEW\u060c \u06cc\u0627 UNTRACED \u0648\u0627\u067e\u0633 \u0622\u06cc\u0627\u06d4<\/td>\n<td>\u0633\u0628\u0632<\/td>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>\u0627\u06cc\u06a9 \u0686\u06cc\u06a9 \u0686\u0644\u0627\u06cc\u0627 \u06af\u06cc\u0627 \u0627\u0648\u0631 \u0644\u06cc\u06a9 \u06a9\u0627 \u067e\u062a\u06c1 \u0686\u0644\u0627\u06d4<\/td>\n<td>\u0633\u0631\u062e<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>\u0645\u06cc\u0646\u06cc \u0641\u06cc\u0633\u0679 \u062e\u0631\u0627\u0628 \u06c1\u06d2 \u06cc\u0627 \u06a9\u0645\u0627\u0646\u0688 \u062e\u0631\u0627\u0628 \u06c1\u06d2\u06d4<\/td>\n<td>\u0633\u0631\u062e<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>REVIEW \u0627\u0648\u0631 UNTRACED \u0628\u06be\u06cc \u06a9\u0648\u0688 0 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0628\u0627\u06c1\u0631 \u0646\u06a9\u0644\u06cc\u06ba\u06d4 \u0627\u06af\u0631 \u0622\u067e \u0686\u0627\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u067e\u0627\u0626\u067e \u0644\u0627\u0626\u0646 \u06cc\u06c1\u0627\u06ba \u0628\u06be\u06cc \u0631\u06a9 \u062c\u0627\u0626\u06d2 \u062a\u0648 \u0622\u062e\u0631\u06cc \u0644\u0627\u0626\u0646 \u06a9\u0648 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u06cc\u06ba: <code>main<\/code> PASS \u06a9\u06d2 \u0639\u0644\u0627\u0648\u06c1 \u062a\u0645\u0627\u0645 \u0641\u06cc\u0635\u0644\u06d2 1 \u06a9\u06d2 \u06a9\u0648\u0688 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u062e\u062a\u0645 \u06c1\u0648\u06ba \u06af\u06d2\u06d4<\/p>\n<p>\u0633\u0627\u062a\u06be\u06cc \u0631\u06cc\u067e\u0648\u0632\u0679\u0631\u06cc \u0627\u0633\u06cc \u0648\u0631\u06a9 \u0641\u0644\u0648 \u06a9\u0648 \u0686\u0644\u0627\u062a\u06cc \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0622\u067e \u0631\u06cc\u067e\u0648\u0632\u0679\u0631\u06cc \u06a9\u06d2 \u0622\u067e\u0631\u06cc\u0634\u0646\u0632 \u0679\u06cc\u0628 \u0645\u06cc\u06ba \u0646\u062a\u0627\u0626\u062c \u062f\u06cc\u06a9\u06be \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-step-9-learn-from-my-mistakes\">\u0645\u0631\u062d\u0644\u06c1 9: \u0645\u06cc\u0631\u06cc \u063a\u0644\u0637\u06cc\u0648\u06ba \u0633\u06d2 \u0633\u06cc\u06a9\u06be\u06cc\u06ba\u06d4<\/h2>\n<p>\u0627\u06cc\u06a9 \u0645\u06a9\u0645\u0644 \u0645\u06cc\u0646\u06cc \u0641\u06cc\u0633\u0679 \u0644\u06a9\u06be\u0646\u06d2 \u0633\u06d2 \u0645\u062c\u06be\u06d2 \u06cc\u06c1 \u0633\u06a9\u06be\u0627\u06cc\u0627 \u06af\u06cc\u0627 \u06a9\u06c1 \u0627\u06cc\u06a9 \u0644\u0646\u0679\u0631 \u0635\u0631\u0641 \u0627\u062a\u0646\u0627 \u06c1\u06cc \u0627\u0686\u06be\u0627 \u06c1\u06d2 \u062c\u062a\u0646\u0627 \u06cc\u06c1 \u06af\u0631\u0627\u0641 \u067e\u0691\u06be\u062a\u0627 \u06c1\u06d2\u06d4 \u0645\u062c\u06be\u06d2 \u0645\u062e\u0627\u0644\u0641 \u0633\u0645\u062a \u0645\u06cc\u06ba \u062f\u0648 \u0628\u0627\u0631 SVI \u063a\u0644\u0637 \u0645\u0644\u0627\u06d4 \u062f\u0648\u0646\u0648\u06ba \u063a\u0644\u0637\u06cc\u0627\u06ba \u0641\u0627\u0626\u0644 \u06a9\u06d2 \u06a9\u0627\u0644\u0645\u0648\u06ba \u067e\u0631 \u0628\u06be\u0631\u0648\u0633\u06c1 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0627\u06cc\u06a9 \u06c1\u06cc \u0639\u0627\u062f\u062a \u0633\u06d2 \u067e\u06cc\u062f\u0627 \u06c1\u0648\u0626\u06cc\u06ba \u0646\u06c1 \u06a9\u06c1 \u0627\u0646 \u06a9\u06d2 \u067e\u06cc\u0686\u06be\u06d2 \u0637\u0631\u06cc\u0642\u06c1 \u06a9\u0627\u0631\u06d4<\/p>\n<p><strong>\u063a\u0644\u0637\u06cc 1:<\/strong> SVI California \u0641\u0627\u0626\u0644 \u0645\u06cc\u06ba 24 \u06a9\u0627\u0644\u0645 \u06c1\u06cc\u06ba \u062c\u0646 \u06a9\u06d2 \u0646\u0627\u0645 \u0633\u06d2 \u0634\u0631\u0648\u0639 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba: <code>EP_<\/code>\u062a\u0627\u06c1\u0645\u060c \u0633\u06cc \u0688\u06cc \u0633\u06cc \u0646\u06d2 \u0627\u0646 \u0645\u06cc\u06ba \u0633\u06d2 \u0635\u0631\u0641 16 \u06a9\u0648 \u0627\u0646\u0688\u06cc\u06a9\u0633 \u0645\u06cc\u06ba \u0634\u0627\u0645\u0644 \u06a9\u06cc\u0627\u06d4 \u0645\u06cc\u0631\u06d2 \u067e\u06c1\u0644\u06d2 \u0645\u06cc\u0646\u06cc \u0641\u06cc\u0633\u0679 \u0646\u06d2 \u062a\u0645\u0627\u0645 24 \u06a9\u0648 \u0634\u0645\u0627\u0631 \u0627\u0648\u0631 \u0631\u06cc\u06a9\u0627\u0631\u0688 \u06a9\u06cc\u0627\u06d4 <code>EP_NOINT<\/code> \u06c1\u0645 (\u0628\u0631\u0627\u0688 \u0628\u06cc\u0646\u0688 \u0633\u0628\u0633\u06a9\u0631\u067e\u0634\u0646\u0632) \u06a9\u0648 \u0627\u0646\u0688\u06cc\u06a9\u0633 \u06a9\u06d2 \u062c\u0632\u0648 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u06a9\u0646\u0627\u0631\u06d2 \u06a9\u0648 \u06c1\u0679\u0627 \u062f\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0648\u06c1 \u06a9\u0627\u0644\u0645 \u0641\u0627\u0626\u0644 \u0645\u06cc\u06ba \u06c1\u06d2 \u0627\u0648\u0631 CDC \u0627\u0633\u06d2 \u062f\u0631\u062c\u06c1 \u0628\u0646\u062f\u06cc \u0633\u06d2 \u062e\u0627\u0631\u062c \u06a9\u0631 \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p><strong>\u063a\u0644\u0637\u06cc 2:<\/strong> \u0627\u0633 \u06a9\u06d2 \u0628\u0639\u062f \u06c1\u0645 \u0646\u06d2 \u062a\u0645\u0627\u0645 \u0622\u0679\u06be \u063a\u06cc\u0631 \u062f\u0631\u062c\u06c1 \u0628\u0646\u062f\u06cc \u0648\u0627\u0644\u06d2 \u06a9\u0627\u0644\u0645\u0648\u06ba \u06a9\u0648 \u062d\u062f \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u062f\u0631\u0633\u062a \u06a9\u06cc\u0627 \u0627\u0648\u0631 \u0627\u0646\u06c1\u06cc\u06ba \u0627\u0646\u0688\u06cc\u06a9\u0633 \u06a9\u06d2 \u0622\u06af\u06d2 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062f\u06c1 \u0645\u062d\u0641\u0648\u0638 \u0631\u0627\u06c1\u06af\u06cc\u0631\u0648\u06ba \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u062f\u0631\u062c \u06a9\u06cc\u0627\u06d4 \u0627\u0646 \u0622\u0679\u06be \u0645\u06cc\u06ba \u0633\u06d2 \u0633\u0627\u062a \u0646\u0633\u0644 \u0627\u0648\u0631 \u0646\u0633\u0644\u06cc \u06a9\u0627\u0644\u0645 \u06c1\u06cc\u06ba\u06d4 \u062c\u0628 \u0645\u06cc\u06ba \u0646\u06d2 \u062e\u0627\u0645 \u06af\u0646\u062a\u06cc \u06a9\u06cc \u062c\u0627\u0646\u0686 \u06a9\u06cc \u062a\u0648 \u0648\u06c1 7 \u06c1\u0648 \u06af\u0626\u06d2\u06d4 <code>E_MINRTY<\/code> \u062a\u0645\u0627\u0645 9,109 \u0679\u0631\u06cc\u06a9\u0679\u0633 \u0645\u06cc\u06ba \u0633\u0628 \u0633\u06d2 \u0628\u0691\u0627 \u0641\u0631\u0642 0 \u062a\u06be\u0627\u06d4<\/p>\n<p><code>EP_MINRTY<\/code>    \u06cc\u06c1 \u062a\u06be\u06cc\u0645 3 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u06a9 \u06c1\u06cc \u0627\u0646 \u067e\u0679 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u062a\u06be\u06cc\u0645 3 \u0622\u067e \u06a9\u0648 \u0645\u06a9\u0645\u0644 \u0627\u0646\u0688\u06cc\u06a9\u0633 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/umang.pk\/wp-content\/uploads\/2026\/09\/1789885977_336_Python-\u0627\u0648\u0631-\u0627\u0646\u062d\u0635\u0627\u0631-\u06af\u0631\u0627\u0641-\u06a9\u0627-\u0627\u0633\u062a\u0639\u0645\u0627\u0644-\u06a9\u0631\u062a\u06d2-\u06c1\u0648\u0626\u06d2-\u0639\u0648\u0627\u0645\u06cc-\u0688\u06cc\u0679\u0627\u0633\u06cc\u0679\u0633.png\" alt=\"\u0686\u0627\u0631\u0679 \u0633\u0627\u062a \u0646\u0633\u0644 \u0627\u0648\u0631 \u0646\u0633\u0644\u06cc \u06a9\u0627\u0644\u0645\u0648\u06ba \u06a9\u0627 \u0645\u062c\u0645\u0648\u0639\u06c1 EP_MINRTY \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0628\u0627\u0644\u06a9\u0644 \u0645\u0644\u062a\u0627 \u06c1\u06d2\u060c \u062c\u0648 RPL_THEME3 (\u06c1\u0627\u067e 1) \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u060c \u062c\u0648 RPL_THEMES (\u06c1\u0627\u067e 2) \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4 EP_NOINT \u0646\u0642\u0637\u06d2 \u0648\u0627\u0644\u06d2 \u0628\u0627\u06a9\u0633 \u06a9\u06d2 \u0622\u06af\u06d2 \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0633\u06d2 \u0627\u0633\u06cc \u0641\u0627\u0626\u0644 \u0645\u06cc\u06ba \u0627\u0648\u0631 \u0627\u0646\u0688\u06cc\u06a9\u0633 \u0633\u06d2 \u0628\u0627\u06c1\u0631 \u0628\u06be\u06cc\u062c\u06d2 \u062c\u0627\u0646\u06d2 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0646\u0634\u0627\u0646 \u0632\u062f \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2\u06d4\" style=\"display: block;\" width=\"600\" height=\"400\" loading=\"lazy\" title=\"\"><\/p>\n<p><em>\u0633\u0627\u062a \u0633\u062a\u0648\u0646 \u06a9\u06cc\u0648\u06ba \u0646\u06c1\u06cc\u06ba \u06c1\u06cc\u06ba\u061f \u0627\u0646 \u06a9\u0627 \u0645\u062c\u0645\u0648\u0639\u06c1 \u0628\u0627\u0644\u06a9\u0644 \u06cc\u06c1 \u06c1\u06d2:<\/em> <code>EP_MINRTY<\/code><em>\u062a\u06be\u06cc\u0645 3 \u062a\u06a9 \u0627\u06cc\u06a9 \u06c1\u0627\u067e\u060c \u0627\u0648\u0631 \u0627\u06cc\u06a9 \u06c1\u0627\u067e \u0645\u06a9\u0645\u0644 \u0627\u0646\u0688\u06cc\u06a9\u0633 \u062a\u06a9 \u06a9\u06be\u0644\u0627\u0626\u06cc\u06ba\u06d4<\/em> <code>EP_NOINT<\/code><em>\u06cc\u06c1 \u0688\u0627\u0679\u0688 \u0628\u0627\u06a9\u0633 \u0645\u06cc\u06ba \u0627\u0633\u06cc \u0641\u0627\u0626\u0644 \u0645\u06cc\u06ba \u0622\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0633\u06d2 \u0627\u0646\u0688\u06cc\u06a9\u0633 \u0633\u06d2 \u0628\u0627\u06c1\u0631 \u0631\u06a9\u06be\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/em><\/p>\n<p>\u062a\u0648 \u0648\u06c1 7 \u06a9\u0627\u0644\u0645 \u0627\u0646\u0688\u06cc\u06a9\u0633 \u06a9\u06d2 \u0622\u0628\u0627\u0624 \u0627\u062c\u062f\u0627\u062f \u06c1\u06cc\u06ba \u0627\u0648\u0631 2 \u06c1\u0627\u067e\u0633 \u0627\u067e \u06c1\u06cc\u06ba\u06d4 \u0645\u06cc\u0631\u06d2 \u0627\u067e\u0646\u06d2 \u0644\u0646\u0679\u0631 \u0646\u06d2 \u0627\u0633\u06d2 \u0627\u06cc\u0633 \u0648\u06cc \u0622\u0626\u06cc \u0679\u0627\u0631\u06af\u0679 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u06a9 \u0645\u062d\u0641\u0648\u0638 \u06a9\u0648\u0648\u06cc\u0631\u06cc\u0679 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u06c1\u0679\u0627 \u062f\u06cc\u0627\u060c \u062c\u0648 \u0628\u0627\u0644\u06a9\u0644 \u0627\u0633\u06cc \u0642\u0633\u0645 \u06a9\u06cc \u062c\u06be\u0648\u0679\u06cc \u06c1\u0679\u0627\u0646\u06d2 \u06a9\u0648 \u0631\u0648\u06a9\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u0648\u062c\u0648\u062f \u06c1\u06d2\u06d4<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/umang.pk\/wp-content\/uploads\/2026\/09\/1789885977_161_Python-\u0627\u0648\u0631-\u0627\u0646\u062d\u0635\u0627\u0631-\u06af\u0631\u0627\u0641-\u06a9\u0627-\u0627\u0633\u062a\u0639\u0645\u0627\u0644-\u06a9\u0631\u062a\u06d2-\u06c1\u0648\u0626\u06d2-\u0639\u0648\u0627\u0645\u06cc-\u0688\u06cc\u0679\u0627\u0633\u06cc\u0679\u0633.png\" alt=\"\u06a9\u0631\u0627\u0633 \u062a\u0648\u062b\u06cc\u0642 \u0634\u062f\u06c1 R2 \u0627\u0642\u062f\u0627\u0631 \u06a9\u0627 \u0628\u0627\u0631 \u0686\u0627\u0631\u0679\u06d4 RPL_THEME3 1 \u0627\u0646 \u067e\u0679 \u06a9\u06d2 \u0633\u0627\u062a\u06be: 1.000\u06d4 RPL_THEME1 5 \u0627\u0646 \u067e\u0679 \u06a9\u06d2 \u0633\u0627\u062a\u06be: 0.998\u06d4 RPL_THEME4 5 \u0627\u0646 \u067e\u0679 \u06a9\u06d2 \u0633\u0627\u062a\u06be: 0.996\u06d4 RPL_THEME2 5 \u0627\u0646 \u067e\u0679 \u06a9\u06d2 \u0633\u0627\u062a\u06be: 0.992\u06d4 RPL_THEME3 7 \u0646\u0633\u0644 \u0627\u0648\u0631 \u0646\u0633\u0644\u06cc \u06a9\u0627\u0644\u0645\u0648\u06ba \u06a9\u06d2 \u0644\u06cc\u06d2: 0.992\u06d4 RPL_THEMES 16 \u0627\u0646 \u067e\u0679 \u06a9\u06d2 \u0633\u0627\u062a\u06be: 0.987\u06d4 RPL_THEMES \u0635\u0631\u0641 EP_NOINT \u06a9\u06d2 \u0633\u0627\u062a\u06be: 0.384\" style=\"display: block;\" width=\"600\" height=\"400\" loading=\"lazy\" title=\"\"><\/p>\n<p><em>\u06c1\u0631 \u067e\u0631\u0648\u0688\u06a9\u0679 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u0631\u0627\u0633 \u062a\u0648\u062b\u06cc\u0642 \u0634\u062f\u06c1 R\u00b2 \u06a9\u0627 \u062a\u062e\u0645\u06cc\u0646\u06c1 \u0627\u0633 \u06a9\u06d2 \u0622\u06af\u06d2 \u062f\u0631\u062c \u06a9\u0627\u0644\u0645 \u0645\u06cc\u06ba \u0644\u06af\u0627\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2\u06d4 \u06c1\u0645\u0627\u0631\u06d2 \u0627\u067e\u0646\u06d2 \u0627\u0646 \u067e\u0679 \u0633\u06d2 \u067e\u06cc\u0634 \u06af\u0648\u0626\u06cc \u06a9\u06cc \u06af\u0626\u06cc \u062a\u0645\u0627\u0645 \u0645\u0635\u0646\u0648\u0639\u0627\u062a \u0646\u06d2 0.987 \u0633\u06d2 \u0627\u0648\u067e\u0631 \u0627\u0633\u06a9\u0648\u0631 \u06a9\u06cc\u0627\u06d4<\/em> <code>EP_NOINT<\/code><em>\u0635\u0631\u0641 \u0627\u0646\u0688\u06cc\u06a9\u0633 \u06a9\u06d2 \u0622\u06af\u06d2 \u067e\u06c1\u0646\u0686\u0627\u06cc\u0627 \u06af\u06cc\u0627\u060c \u06cc\u06c1 0.384 \u062a\u06a9 \u067e\u06c1\u0646\u0686 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/em><\/p>\n<p>\u0686\u0627\u0631\u0679 \u0648\u0627\u0636\u062d \u0637\u0648\u0631 \u067e\u0631 \u0641\u0631\u0642 \u062f\u06a9\u06be\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u062c\u0628\u06a9\u06c1 \u0633\u0627\u062a \u0646\u0633\u0644 \u0627\u0648\u0631 \u0646\u0633\u0644\u06cc \u06a9\u0627\u0644\u0645 R\u00b2 = 0.992 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u062a\u06be\u06cc\u0645 3 \u06a9\u0648 \u0631\u06cc \u0641\u0631\u06cc\u0645 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 <code>EP_NOINT<\/code> \u0628\u0630\u0627\u062a \u062e\u0648\u062f\u060c \u06cc\u06c1 \u067e\u0648\u0631\u06d2 \u0627\u0646\u0688\u06cc\u06a9\u0633 \u06a9\u06d2 \u0645\u0642\u0627\u0628\u0644\u06d2 \u0645\u06cc\u06ba \u0635\u0631\u0641 0.384 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0628 \u0645\u06cc\u06ba \u06a9\u0633\u06cc \u0628\u06be\u06cc \u06a9\u0627\u0644\u0645 \u06a9\u0648 \u0645\u062d\u0641\u0648\u0638 \u06a9\u06d2 \u0628\u0637\u0648\u0631 \u0646\u0634\u0627\u0646 \u0632\u062f \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0633\u062e\u062a \u0642\u0648\u0627\u0646\u06cc\u0646 \u06a9\u06cc \u067e\u06cc\u0631\u0648\u06cc \u06a9\u0631\u062a\u0627 \u06c1\u0648\u06ba\u06d4 \u067e\u06c1\u0644\u06d2 \u0637\u0631\u06cc\u0642\u06c1 \u06a9\u0627\u0631 \u06a9\u0648 \u067e\u0691\u06be\u06cc\u06ba \u0627\u0648\u0631 \u067e\u06be\u0631 \u0688\u06cc\u0679\u0627 \u0645\u06cc\u06ba \u0631\u0634\u062a\u0648\u06ba \u06a9\u06cc \u062c\u0627\u0646\u0686 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<p>\u0645\u06a9\u0645\u0644 \u0645\u06cc\u0646\u06cc \u0641\u06cc\u0633\u0679 \u062f\u0631\u062c \u0630\u06cc\u0644 \u0641\u06cc\u0644\u0688\u0632 \u0645\u06cc\u06ba \u0646\u062a\u0627\u0626\u062c \u06a9\u0648 \u0631\u06cc\u06a9\u0627\u0631\u0688 \u06a9\u0631\u062a\u0627 \u06c1\u06d2: <code>coPublishedNonInputs<\/code>\u06cc\u06c1 \u0627\u0646 \u06a9\u0627\u0644\u0645\u0648\u06ba \u06a9\u06cc \u0641\u06c1\u0631\u0633\u062a \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2 \u062c\u0648 \u0627\u0646\u0688\u06cc\u06a9\u0633 \u062c\u06cc\u0633\u06cc \u0641\u0627\u0626\u0644 \u0645\u06cc\u06ba \u0622\u062a\u06d2 \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u062d\u0633\u0627\u0628 \u0645\u06cc\u06ba \u0628\u0627\u0644\u06a9\u0644 \u062d\u0635\u06c1 \u0646\u06c1\u06cc\u06ba \u0644\u06cc\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 SVI \u06a9\u06d2 \u0644\u06cc\u06d2\u060c <code>EP_NOINT<\/code> \u0627\u0628 \u06cc\u06c1 \u0648\u0627\u062d\u062f \u0634\u06d2 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0633 \u0679\u06cc\u0648\u0679\u0648\u0631\u06cc\u0644 \u0645\u06cc\u06ba \u0645\u0646\u06cc \u0644\u0646\u0679\u0631 \u0628\u0646\u06cc\u0627\u062f\u06cc \u062e\u06cc\u0627\u0644\u0627\u062a \u06a9\u0627 \u0627\u062d\u0627\u0637\u06c1 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0645\u06a9\u0645\u0644 \u067e\u0631\u0627\u062c\u06cc\u06a9\u0679 \u0634\u0627\u0645\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2:<\/p>\n<ul>\n<li>\n<p>US \u0627\u0648\u0631 \u0639\u0627\u0644\u0645\u06cc \u0688\u06cc\u0679\u0627 \u0645\u06cc\u06ba 60 \u0645\u0635\u0646\u0648\u0639\u0627\u062a \u0627\u0648\u0631 75 \u0627\u062e\u0630 \u06a9\u0631\u062f\u06c1 \u06a9\u0646\u0627\u0631\u0648\u06ba \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0638\u0627\u06c1\u0631 \u06a9\u0631\u06cc\u06ba\u060c \u0628\u0634\u0645\u0648\u0644 CDC PLACES\u060c FEMA \u06a9\u0627 \u0646\u06cc\u0634\u0646\u0644 \u0631\u0633\u06a9 \u0627\u0646\u0688\u06cc\u06a9\u0633\u060c WorldPop\u060c AlphaEarth \u0633\u06cc\u0679\u0644\u0627\u0626\u0679 \u0627\u06cc\u0645\u0628\u06cc\u0688\u0632\u060c \u0627\u0648\u0631 WFP \u06a9\u0627 HungerMap LIVE<\/p>\n<\/li>\n<li>\n<p>\u062a\u0645\u0627\u0645 \u06a9\u0646\u0627\u0631\u0648\u06ba \u0648\u0627\u0644\u06cc \u0645\u0635\u0646\u0648\u0639\u0627\u062a \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u06a9 \u062a\u062d\u0631\u06cc\u0631\u06cc \u062b\u0628\u0648\u062a \u0646\u0648\u0679 \u0627\u0648\u0631 <code>correction<\/code> \u0648\u06c1 \u0639\u0644\u0627\u0642\u06d2 \u062c\u06c1\u0627\u06ba \u0633\u0627\u0628\u0642\u06c1 \u200b\u200b\u062f\u0639\u0648\u06d2 \u063a\u0644\u0637 \u062b\u0627\u0628\u062a \u06c1\u0648\u0626\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<\/li>\n<li>\n<p>\u06a9\u0648\u0626\u06cc \u0631\u0627\u0633\u062a\u06c1 \u0646\u06c1\u06cc\u06ba <code>--graph<\/code> \u067e\u0648\u0631\u06d2 \u0627\u062e\u0630 \u06a9\u0631\u062f\u06c1 \u06af\u0631\u0627\u0641 \u06a9\u0648 \u067e\u0631\u0646\u0679 \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u0645\u0648\u0688<\/p>\n<\/li>\n<li>\n<p>\u062d\u0642\u06cc\u0642\u06cc \u062f\u0646\u06cc\u0627 \u06a9\u06d2 \u0622\u0688\u0679 \u06a9\u06cc 8 \u0645\u062b\u0627\u0644\u06cc\u06ba \u0628\u0644\u0679 \u0627\u0646 \u06c1\u06cc\u06ba\u06d4<\/p>\n<\/li>\n<li>\n<p>\u06a9\u0648\u0626\u06cc \u0631\u0627\u0633\u062a\u06c1 \u0646\u06c1\u06cc\u06ba <code>reproduce_svi.py<\/code> \u0627\u06cc\u06a9 \u0627\u0633\u06a9\u0631\u067e\u0679 \u062c\u0648 \u0627\u0633 \u062f\u0633\u062a\u0627\u0648\u06cc\u0632 \u0645\u06cc\u06ba \u062a\u0645\u0627\u0645 R\u00b2 \u0646\u0645\u0628\u0631\u0632 \u06a9\u0648 \u0644\u0627\u0626\u06cc\u0648 CDC \u0641\u0627\u0626\u0644 \u06a9\u06d2 \u062e\u0644\u0627\u0641 \u0686\u06cc\u06a9 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<\/li>\n<li>\n<p>\u0686\u0648\u0646\u06a9\u06c1 \u06cc\u06c1 \u0627\u06cc\u06a9 \u0641\u06a9\u0633\u0688 \u0688\u0627\u06a9\u0631 \u0641\u0627\u0626\u0644 \u06c1\u06d2\u060c \u0627\u0633 \u0644\u06cc\u06d2 \u0646\u0645\u0628\u0631\u0632 \u06a9\u0648 \u062f\u0631\u0633\u062a \u0637\u0631\u06cc\u0642\u06d2 \u0633\u06d2 \u062f\u0648\u0628\u0627\u0631\u06c1 \u067e\u06cc\u0634 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<\/li>\n<\/ul>\n<p>\u0627\u0633\u06d2 \u0622\u0632\u0645\u0627\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2\u060c \u0627\u0646 \u0627\u0642\u062f\u0627\u0645\u0627\u062a \u067e\u0631 \u0639\u0645\u0644 \u06a9\u0631\u06cc\u06ba:<\/p>\n<pre><code class=\"language-bash\">git clone https:\/\/github.com\/Adeniyikayodee\/dependency_manifest.git\ncd dependency_manifest\npython3 lint_lineage.py\npython3 lint_lineage.py --graph\npython3 reproduce_svi.py\n<\/code><\/pre>\n<p><img decoding=\"async\" src=\"https:\/\/umang.pk\/wp-content\/uploads\/2026\/09\/1789885977_313_Python-\u0627\u0648\u0631-\u0627\u0646\u062d\u0635\u0627\u0631-\u06af\u0631\u0627\u0641-\u06a9\u0627-\u0627\u0633\u062a\u0639\u0645\u0627\u0644-\u06a9\u0631\u062a\u06d2-\u06c1\u0648\u0626\u06d2-\u0639\u0648\u0627\u0645\u06cc-\u0688\u06cc\u0679\u0627\u0633\u06cc\u0679\u0633.png\" alt=\"\u067e\u0648\u0631\u06d2 \u0679\u0648\u0644 \u06a9\u0627 \u0679\u0631\u0645\u06cc\u0646\u0644 \u0622\u0624\u0679 \u067e\u0679\u06d4 \u06c1\u06cc\u0688\u0631 60 \u0645\u0635\u0646\u0648\u0639\u0627\u062a \u0627\u0648\u0631 75 \u0627\u062e\u0630 \u06a9\u0631\u062f\u06c1 \u06a9\u0646\u0627\u0631\u0648\u06ba \u06a9\u0648 \u067e\u0691\u06be\u062a\u0627 \u06c1\u06d2\u06d4 \u062e\u0644\u0627\u0635\u06c1 \u062f\u06a9\u06be\u0627\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 5 \u0646\u0627\u06a9\u0627\u0645 \u06c1\u0648\u0626\u06d2\u060c 1 \u06a9\u0627 \u062c\u0627\u0626\u0632\u06c1 \u0644\u06cc\u0627 \u06af\u06cc\u0627\u060c 1 \u067e\u0627\u0633 \u06c1\u0648\u0627\u060c 1 \u06a9\u0627 \u067e\u062a\u06c1 \u0646\u06c1\u06cc\u06ba \u0644\u06af\u0627\u06cc\u0627 \u06af\u06cc\u0627\u060c \u0627\u0648\u0631 8 \u06a9\u0627 \u0622\u0688\u0679 \u06c1\u0648\u0627\u06d4\" style=\"display: block;\" width=\"600\" height=\"400\" loading=\"lazy\" title=\"\"><\/p>\n<p><em>\u067e\u0648\u0631\u06d2 \u0645\u06cc\u0646\u06cc \u0641\u06cc\u0633\u0679 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u06a9\u0645\u0644 \u0679\u0648\u0644: 60 \u067e\u0631\u0648\u0688\u06a9\u0679\u0633\u060c 75 \u0627\u062e\u0630 \u06a9\u0631\u062f\u06c1 \u06a9\u0646\u0627\u0631\u06d2\u060c 8 \u0622\u0688\u0679 \u0648\u0627\u067e\u0633 \u0622\u062a\u06d2 \u06c1\u06cc\u06ba 5 \u0641\u06cc\u0644\u060c 1 \u062c\u0627\u0626\u0632\u06c1\u060c 1 \u067e\u0627\u0633\u060c 1 \u0628\u06d2 \u067e\u062a\u06c1\u06d4<\/em><\/p>\n<p>\u0645\u0646\u0634\u0648\u0631 \u06a9\u06cc \u0648\u0627\u0636\u062d \u062d\u062f\u0648\u062f \u06c1\u06cc\u06ba\u06d4 \u06cc\u06c1 \u062f\u0646\u06cc\u0627 \u0628\u06be\u0631 \u0645\u06cc\u06ba \u062a\u0642\u0631\u06cc\u0628\u0627\u064b 400+ \u0622\u0641\u06cc\u0634\u0644 \u06a9\u0645\u067e\u0648\u0632\u0679 \u0627\u0646\u0688\u06cc\u06a9\u0633\u0632 \u0645\u06cc\u06ba \u0633\u06d2 60 \u06a9\u0627 \u0627\u062d\u0627\u0637\u06c1 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u062c\u0633 \u0645\u06cc\u06ba \u0686\u0627\u0631 \u06a9\u0646\u0627\u0631\u0648\u06ba \u067e\u0631 \u0627\u0628\u06be\u06cc \u0628\u06be\u06cc \u0646\u0634\u0627\u0646 \u0644\u06af\u0627 \u06c1\u0648\u0627 \u06c1\u06d2\u06d4 <code>inferred<\/code>. \u0641\u0627\u0626\u0644 \u06a9\u06d2 \u067e\u06c1\u0644\u06d2 \u0622\u0688\u0679 \u0645\u06cc\u06ba \u0686\u06be \u063a\u0644\u0637\u06cc\u0627\u06ba \u067e\u0627\u0626\u06cc \u06af\u0626\u06cc\u06ba\u060c \u062c\u0646 \u0645\u06cc\u06ba \u0633\u06d2 \u0686\u0627\u0631 \u06a9\u0646\u0627\u0631\u0648\u06ba \u067e\u0631 \u062a\u06be\u06cc\u06ba \u062c\u0646 \u067e\u0631 \u0645\u06cc\u06ba \u0646\u06d2 \u067e\u06c1\u0644\u06d2 \u06c1\u06cc \u0644\u06cc\u0628\u0644 \u0644\u06af\u0627 \u062f\u06cc\u0627 \u062a\u06be\u0627\u06d4 <code>certain<\/code> \u06cc\u0627 <code>documented<\/code>.<\/p>\n<p>\u0627\u0633 \u0642\u0633\u0645 \u06a9\u06d2 \u0631\u06cc\u06a9\u0627\u0631\u0688 \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0633\u0628 \u0633\u06d2 \u0628\u06c1\u062a\u0631 \u0644\u0648\u06af \u062e\u0648\u062f \u0627\u062f\u0627\u0631\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0627\u0633 \u06a9\u06cc \u0648\u062c\u06c1 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0627\u06cc\u062c\u0646\u0633\u06cc \u067e\u06c1\u0644\u06d2 \u06c1\u06cc \u067e\u06cc \u0688\u06cc \u0627\u06cc\u0641 \u0641\u0627\u0631\u0645\u06cc\u0679 \u0645\u06cc\u06ba \u0637\u0631\u06cc\u0642\u06c1 \u06a9\u06cc \u0648\u0636\u0627\u062d\u062a \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4 \u067e\u0628\u0644\u06a9 \u0688\u06cc\u0679\u0627 \u0627\u0633\u06a9\u06cc\u0645\u0627 \u0645\u06cc\u06ba \u062f\u0648 \u0646\u0626\u06d2 \u0641\u06cc\u0644\u0688\u0632 <code>derivesFrom<\/code> \u0627\u0648\u0631 <code>measurementBasis<\/code>\u06cc\u06c1 \u06c1\u0631 \u067e\u0631\u0648\u0688\u06cc\u0648\u0633\u0631 \u06a9\u0648 \u0627\u0633 \u0686\u06cc\u0632 \u06a9\u0648 \u0630\u062e\u06cc\u0631\u06c1 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u062c\u06af\u06c1 \u062f\u06d2 \u06af\u0627 \u062c\u0648 \u0648\u06c1 \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u062c\u0627\u0646\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u06af\u0631 \u0622\u067e \u0639\u0648\u0627\u0645\u06cc \u0688\u06cc\u0679\u0627 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u06a9\u0627\u0645 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062a\u0648 \u0622\u067e \u0627\u0646 \u067e\u0631\u0648\u0688\u06a9\u0679\u0633 \u06a9\u0648 \u0634\u0627\u0645\u0644 \u06a9\u0631\u06a9\u06d2 \u06cc\u0627 \u062f\u06a9\u06be\u0627\u0626\u06d2 \u06af\u0626\u06d2 \u06a9\u0648\u0646\u0648\u06ba \u06a9\u0648 \u0686\u06cc\u06a9 \u06a9\u0631\u06a9\u06d2 \u0645\u062f\u062f \u06a9\u0631\u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 <code>inferred<\/code> \u0627\u0635\u0644 \u062f\u0633\u062a\u0627\u0648\u06cc\u0632 \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-conclusion\">\u0646\u062a\u06cc\u062c\u06c1<\/h2>\n<p>\u0639\u0648\u0627\u0645\u06cc \u0688\u06cc\u0679\u0627 \u06a9\u06d2 \u0679\u0627\u0631\u06af\u0679\u0688 \u0644\u06cc\u06a9 \u0627\u0646 \u062a\u0631\u06a9\u06cc\u0628\u0648\u06ba \u06a9\u06d2 \u0627\u0646\u062f\u0631 \u0686\u06be\u067e\u06d2 \u06c1\u0648\u0626\u06d2 \u06c1\u06cc\u06ba \u062c\u0646\u06c1\u06cc\u06ba \u0627\u062f\u0627\u0631\u06d2 \u0627\u067e\u0646\u06d2 \u0627\u0634\u0627\u0631\u06cc\u06c1 \u0633\u0627\u0632\u06cc \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0627\u06cc\u06a9 \u0645\u0627\u0688\u0644 \u0627\u0646 \u0645\u06cc\u06ba \u0633\u06d2 \u06a9\u0633\u06cc \u0627\u06cc\u06a9 \u062a\u0631\u06a9\u06cc\u0628 \u06a9\u0648 \u062f\u0648\u0628\u0627\u0631\u06c1 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0631 \u06a9\u06d2 \u0642\u0631\u06cc\u0628 \u0642\u0631\u06cc\u0628 \u06a9\u0627\u0645\u0644 \u0633\u06a9\u0648\u0631 \u062d\u0627\u0635\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u06cc\u06c1 \u0633\u06a9\u0648\u0631 \u06c1\u0645\u06cc\u06ba \u062d\u0642\u06cc\u0642\u06cc \u062f\u0646\u06cc\u0627 \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u0628\u06c1\u062a \u06a9\u0645 \u0628\u062a\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0633 \u0679\u06cc\u0648\u0679\u0648\u0631\u06cc\u0644 \u0645\u06cc\u06ba \u0622\u067e \u06a9\u0631\u06cc\u06ba \u06af\u06d2:<\/p>\n<ul>\n<li>\n<p>\u06c1\u0645 \u0646\u06d2 R\u00b2 = 0.998 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0627\u067e\u0646\u06d2 5 \u0627\u0646 \u067e\u0679 \u06a9\u0627\u0644\u0645\u0648\u06ba \u0633\u06d2 CDC \u06a9\u06d2 \u062a\u06be\u06cc\u0645 1 \u06a9\u06cc \u062a\u0634\u06a9\u06cc\u0644 \u0646\u0648 \u06a9\u06cc\u06d4<\/p>\n<\/li>\n<li>\n<p>\u0645\u0627\u062e\u0630 (\u062c\u06c1\u0627\u06ba \u0646\u0645\u0628\u0631 \u0622\u06cc\u0627 \u06c1\u06d2) \u0627\u0633 \u06a9\u06d2 \u0627\u062e\u0630 \u0633\u06d2 \u0627\u0644\u06af \u06c1\u06d2 (\u0627\u0633 \u06a9\u0627 \u062d\u0633\u0627\u0628 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2)<\/p>\n<\/li>\n<li>\n<p>\u0645\u06cc\u06ba \u0646\u06d2 \u0627\u06cc\u06a9 YAML \u0645\u06cc\u0646\u06cc \u0641\u06cc\u0633\u0679 \u0644\u06a9\u06be\u0627 \u06c1\u06d2 \u062c\u0648 \u0627\u0646 \u06a9\u06d2 \u062a\u0639\u0644\u0642\u0627\u062a \u0627\u0648\u0631 \u0627\u0639\u062a\u0645\u0627\u062f \u06a9\u06cc \u0633\u0637\u062d \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0627\u062e\u0630 \u06a9\u0631\u062f\u06c1 \u06a9\u0646\u0627\u0631\u0648\u06ba \u06a9\u0648 \u0631\u06cc\u06a9\u0627\u0631\u0688 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<\/li>\n<li>\n<p>\u0645\u06cc\u06ba \u0646\u06d2 \u0627\u06cc\u06a9 \u0644\u0646\u0679\u0631 \u0628\u0646\u0627\u06cc\u0627 \u06c1\u06d2 \u062c\u0648 \u067e\u06c1\u0644\u06d2 \u06a9\u06cc \u062a\u0644\u0627\u0634 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0622\u0628\u0627\u0624 \u0627\u062c\u062f\u0627\u062f \u06a9\u0648 \u062a\u0644\u0627\u0634 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u06af\u06c1\u0631\u0627\u0626\u06cc \u0633\u06d2 \u067e\u06c1\u0644\u06cc \u062a\u0644\u0627\u0634 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u062a\u0645\u0627\u0645 \u0631\u0627\u0633\u062a\u0648\u06ba \u06a9\u06cc \u0641\u06c1\u0631\u0633\u062a \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<\/li>\n<li>\n<p>\u0679\u0627\u0626\u067e\u0648\u0632\u060c \u0688\u067e\u0644\u06cc\u06a9\u06cc\u0679 YAML \u06a9\u06cc\u0632\u060c \u0633\u0627\u0626\u06cc\u06a9\u0644\u060c \u0627\u0648\u0631 \u062e\u0627\u0644\u06cc \u06a9\u0648\u0648\u06cc\u0631\u06cc\u0679 \u0641\u06c1\u0631\u0633\u062a\u0648\u06ba \u06a9\u06cc \u0648\u062c\u06c1 \u0633\u06d2 \u0644\u0646\u0679\u0631 \u0628\u0631\u06cc \u0637\u0631\u062d \u0646\u0627\u06a9\u0627\u0645 \u06c1\u0648 \u06af\u06cc\u0627\u06d4<\/p>\n<\/li>\n<li>\n<p>\u0645\u06cc\u06ba \u0646\u06d2 \u0648\u0627\u0636\u062d \u0627\u06cc\u06af\u0632\u0679 \u06a9\u0648\u0688 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0686\u06cc\u06a9 \u06a9\u0648 GitHub \u0627\u06cc\u06a9\u0634\u0646\u0632 \u0633\u06d2 \u0645\u0646\u0633\u0644\u06a9 \u06a9\u06cc\u0627\u06d4<\/p>\n<\/li>\n<\/ul>\n<p>\u0639\u0648\u0627\u0645\u06cc \u0627\u0639\u062f\u0627\u062f \u0648 \u0634\u0645\u0627\u0631 \u0633\u06d2 \u0627\u0639\u0644\u06cc \u0627\u0633\u06a9\u0648\u0631 \u067e\u0631 \u0628\u06be\u0631\u0648\u0633\u06c1 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2\u060c \u0627\u067e\u0646\u06d2 \u0622\u067e \u0633\u06d2 \u067e\u0648\u0686\u06be\u06cc\u06ba \u06a9\u06c1 \u0622\u067e \u06a9\u06d2 \u0645\u0642\u0627\u0635\u062f \u06a9\u06cc\u0627 \u06c1\u06cc\u06ba\u06d4 \u0627\u06af\u0631 \u0622\u067e \u062c\u0648\u0627\u0628 \u0644\u06a9\u06be\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062a\u0648 \u06c1\u0631 \u0628\u0627\u0631 \u062c\u0628 \u0622\u067e \u0627\u067e\u0646\u06d2 \u0645\u0627\u0688\u0644 \u06a9\u0648 \u062a\u0631\u0628\u06cc\u062a \u062f\u06cc\u062a\u06d2 \u06c1\u06cc\u06ba \u062a\u0648 \u0622\u067e \u0627\u0633\u06d2 \u0627\u0632\u06af\u0631 \u06a9\u06cc \u0686\u0646\u062f \u0633\u0637\u0631\u0648\u06ba \u0633\u06d2 \u0686\u06cc\u06a9 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u0633 \u0679\u06cc\u0648\u0679\u0648\u0631\u06cc\u0644 \u06a9\u0627 \u06a9\u0648\u0688 \u0679\u06cc\u0648\u0679\u0648\u0631\u06cc\u0644 \u0633\u06d2 \u0679\u06cc\u0648\u0679\u0648\u0631\u06cc\u0644 \u0645\u06cc\u06ba \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0622\u067e \u0645\u06a9\u0645\u0644 \u0679\u0648\u0644\u0632\u060c \u0645\u06cc\u0646\u06cc \u0641\u06cc\u0633\u0679\u060c \u0627\u0648\u0631 \u0631\u06cc \u067e\u0644\u06d2 \u0627\u0633\u06a9\u0631\u067e\u0679 \u06a9\u0648 \u0645\u06cc\u0646 \u0627\u0646\u062d\u0635\u0627\u0631_\u0645\u06cc\u0646\u06cc\u0641\u0633\u0679 \u0631\u06cc\u067e\u0648\u0632\u0679\u0631\u06cc \u0645\u06cc\u06ba \u062a\u0644\u0627\u0634 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0627\u0633 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u06a9\u0648 DOI 10.5281\/zenodo.22274757 \u06a9\u06d2 \u062a\u062d\u062a Zenodo \u0645\u06cc\u06ba \u0645\u062d\u0641\u0648\u0638 \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u06cc\u06c1 CC0 \u0644\u0627\u0626\u0633\u0646\u0633 \u06a9\u06d2 \u062a\u062d\u062a \u0622\u0632\u0627\u062f\u0627\u0646\u06c1 \u0637\u0648\u0631 \u067e\u0631 \u062f\u0633\u062a\u06cc\u0627\u0628 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-sources\">\u0630\u0631\u06cc\u0639\u06c1<\/h3>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u06a9\u0686\u06be \u0639\u0631\u0635\u06c1 \u067e\u06c1\u0644\u06d2\u060c \u0645\u06cc\u06ba \u0646\u06d2 \u0627\u06cc\u06a9 \u0645\u0634\u06cc\u0646 \u0644\u0631\u0646\u0646\u06af \u0645\u0627\u0688\u0644 \u06a9\u0648 \u067e\u0628\u0644\u06a9 CDC \u0688\u06cc\u0679\u0627\u0633\u06cc\u0679 \u0633\u06d2 \u067e\u0627\u0646\u0686 \u06a9\u0627\u0644\u0645 \u062f\u06cc\u0627 \u0627\u0648\u0631 \u0627\u0633 \u0633\u06d2 \u06a9\u06c1\u0627 \u06a9\u06c1 \u0648\u06c1 \u0627\u0633\u06cc \u0641\u0627\u0626\u0644 \u0633\u06d2 \u0686\u06be\u0679\u06d2 \u06a9\u0627\u0644\u0645 \u06a9\u06cc \u067e\u06cc\u0634\u06cc\u0646 \u06af\u0648\u0626\u06cc \u06a9\u0631\u06d2\u06d4 \u0627\u0633 \u0645\u0627\u0688\u0644 \u06a9\u06d2 \u0644\u06cc\u06d2 R\u00b2 \u0633\u06a9\u0648\u0631 0.998 \u06c1\u06d2\u060c \u062c\u0648 \u0628\u0627\u0644\u06a9\u0644 \u0627\u062a\u0646\u0627 \u06c1\u06cc \u0642\u0631\u06cc\u0628 \u06c1\u06d2 \u062c\u062a\u0646\u0627 \u0627\u06cc\u06a9 \u062d\u0642\u06cc\u0642\u06cc \u0645\u0627\u0688\u0644 \u062d\u0627\u0635\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u0633\u06a9\u0648\u0631 [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":29615,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1],"tags":[],"class_list":["post-29614","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"_links":{"self":[{"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/posts\/29614","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/comments?post=29614"}],"version-history":[{"count":1,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/posts\/29614\/revisions"}],"predecessor-version":[{"id":29616,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/posts\/29614\/revisions\/29616"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/media\/29615"}],"wp:attachment":[{"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/media?parent=29614"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/categories?post=29614"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/tags?post=29614"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}