پورٹ فولیو · روشنی کیسے بنی
بجلی کمپنی کی پی ڈی ایف سے اس صفحے تک، ہر روز
روشنی ایک چھوٹا ڈیٹا پلیٹ فارم ہے۔ یہ شائع شدہ شیڈول اور رپورٹیں جمع کرتی ہے، انہیں ڈیٹا گودام میں جانچتی اور ترتیب دیتی ہے، مختلف ذرائع کے نام آپس میں ملاتی ہے اور یہ سادہ ویب سائٹ شائع کرتی ہے۔ نیچے ہر مرحلہ پائتھن کے ایک ہی کمانڈ لائن ٹول کی ایک کمانڈ ہے، اور گٹ ہب ایکشنز انہیں ہر روز ترتیب سے چلاتا ہے۔
ڈیٹا کا سفر
چراغ اسی ترتیب سے جلتے ہیں جس میں ڈیٹا آگے بڑھتا ہے۔
- 01
عوامی ذرائع
آئیسکو اور کے الیکٹرک کے لوڈ شیڈنگ شیڈول، آئیسکو کی طے شدہ بندشوں کی پریس ریلیز، ادارۂ شماریات کی مردم شماری 2023، نیپرا کی کارکردگی رپورٹیں اور منظور شدہ خبری فیڈز۔ صرف منظور شدہ ذرائع، اور ہر ویب سائٹ کی روبوٹس فائل پہلے دیکھی جاتی ہے۔
- robots.txt
- httpx
- Beautiful Soup
- RSS
- 02
شائستہ نقول
روزانہ کا ایک کام ہر ذریعے سے ایک سیکنڈ میں زیادہ سے زیادہ ایک بار رابطہ کرتا ہے، صرف بدلی ہوئی فائلیں مانگتا ہے، اور ہر نئی فائل ایک بار، اس کی ہیش اور لانے کے وقت کے ساتھ، الگ شاخ پر محفوظ کرتا ہے۔
- GitHub Actions
- SHA-256
- ETag / If-Modified-Since
- git
- 03
پڑھنا اور جانچنا
ہر ذریعے کا اپنا پارسر پی ڈی ایف اور اسپریڈشیٹ کو باقاعدہ قطاروں میں بدلتا ہے۔ جو قطار پڑھی نہ جا سکے وہ وجہ کے ساتھ الگ رکھی جاتی ہے، اور ہر جدول کو توقعات کے مجموعوں سے جانچا جاتا ہے۔
- Python
- Docker
- poppler pdftotext
- openpyxl
- pydantic
- Parquet
- Great Expectations
- 04
ڈیٹا گودام
ایس کیو ایل ماڈل ابتدائی جدول، جوڑ اور حتمی جدول بناتے ہیں، اور ہر ماڈل پر ٹیسٹ چلتے ہیں۔ یہی ماڈل بغیر تبدیلی کے ڈیٹابرکس پر بھی چلتے ہیں۔
- dbt
- DuckDB
- Databricks
- 05
ملانا اور تجزیہ
فیڈروں کے نام مختلف ذرائع میں ناموں کی مشابہت سے ملائے جاتے ہیں۔ بالکل یکساں نام خود قبول ہوتے ہیں؛ باقی کا فیصلہ پہلے لکھے ہوئے اصول، پھر ایک لسانی ماڈل جو صرف دیے گئے امیدواروں میں سے چنتا ہے، اور پھر کلاڈ کرتا ہے، اور ہر فیصلے کے ساتھ اعتماد کی شرح محفوظ ہوتی ہے۔ اس کے بعد وضاحتی اعداد و شمار اور ہفتہ وار خلاصہ بنتا ہے: ماڈل صرف عبارت لکھتا ہے اور اس کا ہر عدد جانچا جاتا ہے۔
- RapidFuzz
- OpenRouter
- Claude
- 06
برآمد اور اشاعت
جدول ورژن والی فائلوں میں برآمد ہوتے ہیں، ایک طے شدہ ڈھانچے کے مطابق جانچے جاتے ہیں اور سائٹ میں استعمال ہوتے ہیں، جو انگریزی اور اردو میں سادہ صفحات کی صورت بن کر گٹ ہب پیجز پر شائع ہوتی ہے۔
- JSON Schema
- Next.js
- React
- TypeScript
- Tailwind CSS
- GitHub Pages
اسے کون چلاتا ہے
اصل کام گٹ ہب ایکشنز پر چلتا ہے: روزانہ نقول کا کام، پھر اشاعت کا کام (پڑھنا، جانچنا، ماڈل بنانا، ملانا، رپورٹ، برآمد، سائٹ)، اور خبری فیڈز ہر تین گھنٹے بعد۔ ناکامی پر ایک مسئلہ خود درج ہو جاتا ہے۔ نمائش کے لیے ایئرفلو یہی کمانڈز مقامی طور پر ڈوکر میں چلاتا ہے۔
- GitHub Actions
- Apache Airflow
- Docker Compose
- Typer CLI
- uv
اسے دیانت دار کیا رکھتا ہے
ہر پارسر کے معیاری ٹیسٹ، پڑھے گئے جدولوں پر توقعات اور ہر ماڈل پر ٹیسٹ۔ سائٹ کے اپنے دروازے ہیں: کراچی والے صفحے کا ہر عدد برآمد شدہ فائل تک واپس جانچا جاتا ہے، ترجمے جانچے جاتے ہیں، صفحات کی رسائی روشن اور تاریک دونوں انداز میں جانچی جاتی ہے، اور براؤزر کا حساب پائتھن کے حساب سے پوری برآمد پر ملایا جاتا ہے۔
- pytest
- ruff
- pre-commit
- dbt tests
- Great Expectations
- Vitest
- axe-core
- ESLint
آج کی تعمیر میں
- زیر استعمال شیڈول فائلیں
- 8
- شائع شدہ شیڈول والے فیڈر
- 1,719
- طے شدہ بندشوں کے اوقات
- 2,675
- نیپرا سے کمپنی وار سال
- 130
- محفوظ سرخیاں
- 12
یہ تعداد شائع شدہ فائلوں سے ہے۔ آخری تازہ کاری:
اندر جھانکیں
یہ کن اصولوں پر چلتی ہے
- شیڈول پیمائش نہیں: کسی طے شدہ وقت کو کبھی اصل بندش نہیں کہا جاتا۔
- کچھ گھڑا نہیں جاتا: ناقابلِ فہم قطاریں وجہ کے ساتھ الگ رکھی جاتی ہیں اور معلوم بے قاعدگیوں کی نشاندہی کی جاتی ہے۔
- وقت پاکستان کے وقت (UTC+5) میں دکھایا اور UTC میں محفوظ کیا جاتا ہے۔
- تقریبی مطابقت کے ساتھ ہمیشہ اعتماد کی شرح اور قبول کرنے والے کا ذکر ہوتا ہے۔
شائع شدہ سائٹ کا ماخذ: github.com/azzammasood/roshni-site
لوگو اپنے مالکان کے تجارتی نشان ہیں اور یہاں صرف استعمال شدہ اوزاروں کی نشاندہی کے لیے دکھائے گئے ہیں۔ جن اوزاروں کا کوئی شائع شدہ نشان نہیں، وہ حروف والے خانوں میں دکھائے گئے ہیں۔