راهنمای شروع
tse-dara — نسخه یکپارچه 0.3.1a1
دامنه این تحویل
این نسخه برای تثبیت و سادهسازی بخش داده موجود است، نه تکمیل همه سرویسهای نقشه راه. هیچ الگوریتم تحلیل، اندیکاتور یا یادگیری ماشین اضافه نشده است. قابلیتهای قیمت، تاریخچه خام، دریافت گروهی، ذخیره خودکار، بازیابی آفلاین، اصلاحات تاریخچه و خروجی فایلهای قسمتهای اول تا سوم حفظ شدهاند. اصلاح Windows برای fsync نیز محفوظ است.
سند اصلی ارسالی در docs/design_v0_2/USER_SUPPLIED_REPORT.html بدون تغییر نگهداری شده است. docs/ROADMAP_REVIEW_FA.md طرح را با پیادهسازی واقعی مقایسه میکند. سند طراحی پیشین، بهتنهایی مدرک پیادهسازی نیست.
نصب یکباره یا ارتقا
پوشه tse-dara این ZIP را در محل دلخواه استخراج کن؛ برای جلوگیری از باقیماندن فایل نصب قدیمی، از پوشه تمیزِ استخراجشده استفاده کن. محیط پایتون و پایگاه داده قبلی را حذف نکن.
conda activate "G:\My progect\Python\TSE\venv"
cd /d "G:\My progect\Python\TSE\Lib\tse-dara"
python install.py
نصاب فقط Wheel همین بسته را نصب میکند. برای قابلیتهای Excel و Parquet و Notebook، وابستگیهای اختیاری را در همان مرحله درخواست میکند. نصب کاملاً آفلاین نیست؛ اگر وابستگیای موجود نباشد، اینترنت لازم است. برای نصب فقط هسته: python install.py --core-only.
نسخه عمومی PyPI در این تحویل منتشر نشده است. از نام بسته بهتنهایی برای نصب استفاده نکن. پس از نصب Kernel ژوپیتر را Restart کن و سپس بررسی کن:
import sys
import tse_dara
print(sys.executable)
print(tse_dara.__version__)
print(tse_dara.__file__)
نسخه باید 0.3.1a1 باشد. تغییر نسخه به حذف یا مهاجرت پایگاه SQLite قبلی نیاز ندارد.
تغییرهای اصلی
get_quotes()وget_history_many()علاوه بر list و tuple، ورودیpandas.Series،pandas.Indexو آرایه یکبعدی NumPy میپذیرند. ترتیب و تکرار ورودی حفظ میشود. null، جدول دوبعدی، مجموعه بیترتیب و شناسه عددیِ مبهم پیش از درخواست شبکه رد میشوند.get_quote_frame()وget_instrument_frame()مستقیماً DataFrame میدهند.get_quote()همچنان مدل Quote وget_price()همچنان Decimal میدهد؛ رفتار قدیمی عوض نشده است.Client(numeric="exact")میانبری برای تنظیم پروفایل عددی است. در حالت معمول جدولها Float64/Int64 nullable دارند و شناسهها رشته باقی میمانند.FetchPolicy.offline(allow_stale=True)استفاده صریح از کش قدیمی را ساده میکند.policy="offline"نیز اکنون پذیرفته میشود، اما اجازه استفاده از داده منقضی را خودکار صادر نمیکند.FetchPolicy.fresh()کش را برای درخواست تازه کنار میگذارد. این باpolicy="online"متفاوت است؛ حالت online ممکن است کش تازه را استفاده کند.- تاریخهای
pd.Timestampفقط اگر نیمهشب و بدون منطقه زمانی باشند در ورودی تاریخ روزانه پذیرفته میشوند. تقویم این شیء همیشه میلادی است؛ رشته شمسی نیازمندcalendar="jalali"است. - زمانهای ستونهای مرکزی به
datetime64[ns, UTC]یکدست شدهاند. این تغییر، اختلاف پیشفرض دقت زمانی میان نسخههای Pandas را کم میکند؛ به معنی آزمون عملی همه نسخهها نیست. - حفظ نوع رشته هنگام ذخیره و بازیابی دقیقتر شده و ورودی غلط مسیر یا قالب، خطای عمومی قابل فهم کتابخانه میدهد.
- مرجع امضای واقعی توابع داخل بسته و از طریق
data.api_reference()در دسترس است.
نمونه ساده و بدون تغییر به کد قدیمی
from tse_dara import data
price = data.get_price("فولاد")
quote_df = data.get_quote_frame("فولاد")
history = data.get_history("فولاد", include_jdate=True)
برای نمایش خلوتتر بدون تغییر جدول اصلی:
display(data.select_columns(history, "compact"))
نمای compact بعضی ستونهای شناسنامه را حذف میکند و در متادیتا این موضوع را اعلام میکند. برای آرشیو کامل، جدول اصلی را ذخیره کن؛ نمای خلوت جای مدرک منشأ داده نیست.
تنظیمات ساده پیش از اولین دریافت
from tse_dara import data
data.configure(
data_dir=r"G:\My progect\Python\TSE\dara-data",
numeric="analysis",
storage=True,
)
configure فایل یا شبکه ایجاد نمیکند. اگر قبلاً از توابع مستقیم data استفاده کردهای، ابتدا report = data.close() را اجرا و تکمیل ذخیره را بررسی کن؛ سپس تنظیمات جدید را اعمال کن. مسیر جدید، اطلاعات مسیر قدیمی را خودکار جابهجا نمیکند. تغییر تنظیمات Client مستقل، کلاینتهای دیگر را عوض نمیکند.
دریافت گروهی با Pandas
import pandas as pd
from tse_dara import data
symbols = pd.Series(["فولاد", "شستا", "فولاد"], dtype="string")
quotes = data.get_quotes(symbols, on_error="collect")
batch = data.get_history_many(symbols, on_error="collect")
display(quotes)
display(batch.requests)
display(batch.errors)
ورودی تکراری، سطر/گزارش مستقل دارد. برای تاریخچه گروهی، batch.data جدول داده و batch.errors جدول خطاهاست. on_error="collect" اجازه انتخاب تصادفی نماد مبهم را نمیدهد.
آفلاین و داده قدیمی
from tse_dara.data import Client, FetchPolicy
with Client() as client:
quote = client.get_quote(
"فولاد",
policy=FetchPolicy.offline(allow_stale=True),
)
print(quote.last_price, quote.trade_date)
print(quote.meta.quality_flags)
این دستور اینترنت ندارد، اما باید قبلاً پاسخ لازم در همین مسیر و همین فضای کش ذخیره شده باشد. stale_cached_response و StaleDataWarning خطای برنامه نیستند؛ میگویند داده قدیمی است. تاریخ منبع با زمان دریافت داده تفاوت دارد. قیمت آفلاین به قیمت لحظهای تبدیل نمیشود.
کار با جدول و کنترل کیفیت
schema = data.schema_info("daily_bars")
issues = data.validate_data(history)
metadata = data.frame_metadata(history)
display(schema)
display(issues)
گزارش خالی یعنی قواعد ساختاری اجراشده ایرادی پیدا نکردهاند، نه اینکه داده بورس از نظر اقتصادی یا تاریخی قطعاً کامل است. این ابزار آزمون نشت اطلاعات آینده یا تحلیل سرمایهگذاری نیست.
برای تبدیل جدول خارجی، نامها را خودت صریح تعیین کن:
normalized = data.normalize_data(
external_df,
columns={"نماد": "symbol", "تاریخ": "date", "پایانی": "closing_price"},
calendar="jalali",
)
ستونهای ناشناخته و رکوردها حفظ میشوند. مقدار گمشده پر نمیشود؛ شناسه float بهدروغ بازیابی نمیشود؛ سطر تکراری حذف و قیمت منفی بریده نمیشود. وجود نقص را با validate_data() بررسی کن. برای timestamp بدون timezone، پارامتر timezone لازم است.
ذخیره
data.save(history, "folad.csv", overwrite=True)
restored = data.load("folad.csv")
CSV به فایل همراه .csv.dara.json نیاز دارد. Excel و Parquet و SQLite خروجی نیز شناسنامه دارند. data.load() خواننده آرشیو Dara است، نه مفسر خودکار فایل دلخواه؛ فایل خارجی را با Pandas بخوان و سپس با نگاشت صریح عادیسازی کن.
شکست ذخیره خودکار، نتیجه معتبر دریافت را متوقف نمیکند. اما save/load/flush عملیات صریح هستند و شکست را اعلام میکنند. صف حافظه، دوام روی دیسک نیست.
از کدام دفترچه شروع کنیم؟
10_data_usability_offline.ipynb: مثال کامل امکانات سادهشده با داده مصنوعی.
11_pandas_validation.ipynb: نمونه کنترل نوع، نگاشت ستون، خطاها و حفظ ورودی.
12_data_review_live.ipynb: آزمون اختیاری روی سرور واقعی؛ پیشفرض دریافت زنده خاموش است.
هر ۹ دفترچه قبلی حفظ شدهاند. دفترچههای نمونه قیمت واقعی بازار نشان نمیدهند و کش نمونه از کش واقعی جداست.
هنوز آماده نیست
فهرست کامل و تاریخی تمام ابزارها، اتصال شناسههای قدیمی، دریافت بر اساس ISIN، تعدیل تأییدشده، API رسمی دارای حساب، دیدهبان، شاخصها، حقیقیحقوقی، مظنه، ریزمعاملات، صندوقها و اطلاعیهها هنوز به عنوان قابلیتهای کامل در این نسخه عرضه نشدهاند. مرحله بعد پیشنهادی، خانواده دادههای بازار P08 پس از تثبیت آزمونهای همین نسخه است.
توابع تحلیل و هوش مصنوعی بنا به درخواست فعلی اضافه نشدهاند. پرونده اصلی طراحی آنها بهعنوان سابقه باقی مانده، اما وابستگی ML نصب نمیشود.
آزمون و حدود تأیید
آمار دقیق و محیط آزمون نهایی در reports/review_031/VERIFICATION.json ثبت میشود. آزمونهای خودکار شبکه واقعی را مسدود میکنند. نبود خطا در نمونههای ساختگی، سلامت همیشگی API بورس را ثابت نمیکند. اگر آزمون Pandas 3، Windows یا Parquet اجرا نشده باشد، در گزارش صریحاً اجرانشده درج میشود.
بازبینی نقشه راه
بازبینی سند معماری و برنامه تکمیل بخش داده
نسخه کد این تحویل: 0.3.1a1 — مبنا: بسته یکپارچه 0.3.0a2 و فایل HTML معماری نسخه ۰٫۲ که کاربر فرستاد.
نتیجه اصلی
سند ارسالی، صریحاً «طرح پیشنهادی؛ نه بسته پیادهسازیشده» است. بنابراین وجود ۱۲۷ قرارداد در سند به معنی وجود ۱۲۷ تابع آماده در بسته نیست. این نسخه به درخواست کاربر، تحلیل و هوش مصنوعی را گسترش نمیدهد. تمرکز آن بستن شکافهای تجربه کاربر و Pandas در قابلیتهای دادهای است که قبلاً اجرا شدهاند.
مبنای فعلی کتابخانه قیمت، هویت، تاریخچه خام، ذخیره و بازیابی و همگامسازی محلی است. خانوادههای دیدهبان، شاخص، حقیقیحقوقی، ریزمعاملات، مالکیت و صندوق در سند برنامه دارند، اما هنوز همگی پیادهسازی نشدهاند. این تحویل ادعای تکمیل کل بخش data نقشه راه را ندارد.
آنچه از سند حفظ شد
بخش ۶ معماری و قواعد Pandas: خروجی جدول مستقیم DataFrame، شناسه رشتهای، تعداد صحیح nullable، قیمت تحلیلپذیر nullable، timestamp دارای UTC و شناسنامه داده. داده ناموجود صفر نشده و داده کاربر بدون درخواست تغییر نمیکند.
بخش ۷ و ذخیرهسازی: تحویل نتیجه معتبر مستقل از موفقیت نوشتن خودکار است. queue در حافظه با دوام روی دیسک متفاوت است. save و flush صریح حق دارند خطا بدهند.
بخش ۸ سیاست دسترسی: خواندن آفلاین شبکه ندارد؛ قیمت کهنه بدون اجازه صریح جای قیمت تازه معرفی نمیشود. انتخاب حالت ساده نباید این قاعده را تضعیف کند.
بخش ۱۰ دو رابط اجرا: Client و AsyncClient منطق پردازش یکسان دارند. برای نمونه، افزودن پشتیبانی Series در هر دو اجرا و با آزمون مشترک انجام شده، نه با تبدیل Async به asyncio.run در ژوپیتر.
مرز هویت و اطلاعات مالی: شناسه صفر در پاسخ قیمت فقط همان حالت ثبتشده سرویس قیمت است؛ شناسه متناقض و نماد مبهم همچنان خطاست. اتصال نماد قدیمی و جدید یا تعدیل بیروش، با ظاهر کاربرپسند توجیه نمیشود.
اصلاحها و افزودههای این نسخه
| موضوع | وضعیت قبلی | تغییر فعلی |
|---|---|---|
| ورودی گروهی | بعضی ساختارهای Pandas پذیرفته نمیشدند | Series، Index و آرایه یکبعدی با حفظ ترتیب و تکرار پشتیبانی میشوند |
| آفلاین ساده | فقط ساخت کامل FetchPolicy | رشته حالت پذیرفته میشود؛ اجازه داده کهنه همچنان صریح است |
| درخواست تازه | online ممکن بود با refresh اشتباه شود | FetchPolicy.fresh() با کنارگذاشتن کش و بدون stale fallback |
| تنظیمات | برای عدد دقیق ClientConfig جدا لازم بود | numeric در Client/AsyncClient و configure به صورت مستقیم |
| جدول یک نماد | مدل یا خروجی تبدیل جدا | get_quote_frame و get_instrument_frame در هر دو رابط |
| تاریخ پانداس | Timestamp همواره رد میشد | فقط Timestamp نیمهشب بدون timezone پذیرفته میشود؛ زمان مبهم رد میشود |
| دقت timestamp | ممکن بود تابع پیشفرض Pandas متفاوت باشد | نوع مرکزی timestamp صریحاً datetime64[ns, UTC] |
| اعتبارسنجی جدول | مرجع عمومی محلی نبود | validate/validate_data، بدون تغییر ورودی و بدون شبکه |
| عادیسازی | تابع عمومی نبود | normalize برای ستون استاندارد و normalize_data برای نگاشت صریح کاربر |
| راهنمای خروجی | کاربر مجبور به خواندن source بود | schema_info، frame_metadata و api_reference |
| نمایش جدول | همه ستونهای فنی در هر نمایش | select_columns با نمای compact و ثبت حذف ستونهای شواهد |
| نمونه مستقیم | ساخت sample_client لازم بود | load_sample برای جدول مصنوعیِ صریح |
| ورودی نامعتبر | بعضی مسیرها TypeError/AttributeError خام میدادند | بررسی ورودی مسیر، قالب، پروفایل، بولی و policy پیش از عملیات |
| حفظ dtype رشته | storage backend در manifest بود ولی کامل استفاده نمیشد | بازگرداندن backend رشته طبق manifest، در صورت پشتیبانی runtime |
این نامهای کمکی افزوده شدهاند تا اصل قراردادهای سند قابل استفاده شود؛ همه آنها عیناً در سند اولیه نامگذاری نشده بودند. فایل BLUEPRINT_DATA_COVERAGE.json تفاوت نام و دامنه را نشان میدهد.
مرز ابزارهای کنترل کیفیت
validate با قرارداد C071 همراستا است: خروجی شامل row_id، rule، severity و message است و strict=True روی خطای ساختاری استثنا میدهد. در خطای گروهی، row_id یگانه ممکن است خالی باشد؛ count و نمونه موقعیتهای سطر، دامنه خطا را توضیح میدهند. گزارش، کنترل کیفیت منبع یا نشت آینده را تضمین نمیکند.
normalize تنها نگاشت source="canonical" را عرضه میکند. منبع خام ناشناخته یا نگاشت حدسی به خطا منتهی میشود. normalize_data نگاشت دلخواه و صریح نام ستون را میپذیرد، اما منشأ داده خارجی را تأیید نمیکند.
frame_metadata نسخه مستقل دیکشنری متادیتا را برمیگرداند؛ معادل کامل مدل FrameManifest طرح نیست. هیچ بازیابی جادویی شناسنامه پس از عملیات دلخواه Pandas ادعا نشده است.
تکلیف مراحل بعدی، بدون افزودن تحلیل و هوش مصنوعی
| اولویت | مرحله سند | کاری که باید انجام شود | پیششرط پذیرش |
|---|---|---|---|
| ۱ | تکمیل پذیرش P01–P06 | اجرای نسخه فعلی روی Windows، Pandas 3 و هر چهار قالب | آزمون واقعی در محیط هدف؛ Parquet فقط پس از دسترسی به pyarrow |
| ۲ | P08.1 و P08.2 | دیدهبان، نمای بازار و حقیقیحقوقی جاری و تاریخی | ثبت پاسخ واقعی، schema ثابت، معنی فیلدهای ناموجود، زمان جداگانه هر مؤلفه |
| ۳ | P08.3 | شاخص روزانه/درونروز، هویت و اعضای شاخص | عدم ساخت تاریخچه اعضا از اعضای امروز؛ واحد شاخص با ریال اشتباه نشود |
| ۴ | بخش داده P07.1 | رویداد و روش تعدیل | روش، تاریخ مبنا و نسخه روشن؛ خام محفوظ؛ بدون معرفی به عنوان بازده کل |
| ۵ | بخشهای داده P09 | معاملات، مظنه، وضعیت و آستانه | حفظ توالی و ابطال؛ شکاف اطلاعات با fill پنهان نشود |
| ۶ | بخشهای داده P10 | مالکیت، تعداد سهام، صندوق، NAV و پیامها | تاریخ و شناسههای دقیق؛ بدون محاسبه نسبتهای تحلیلی |
| ۷ | P12 | API رسمی و بازارهای بیشتر | دسترسی مجاز واقعی، نقش و سقف مصرف و پوشش تأییدشده |
| ۸ | بخش انتشار P13 | بستهبندی، مستندات عمومی، مشارکت و نسخهبندی | اجرای ماتریس آزمون و بررسی مجوزهای داده و نام انتشار |
P07.2 تا P07.6، ساخت کندل تحلیلی P09.4، نسبتهای بنیادی P10.5 و بخش مدلسازی P11 فعلاً کنار گذاشته شدهاند. این کنارگذاشتن مطابق درخواست فعلی است، نه حذف از تاریخچه طرح. ثبت زمان و منشأ داده در data حفظ میشود، چون کیفیت داده مستقل از داشتن مدل هوش مصنوعی اهمیت دارد.
قراردادهای هنوز محدود یا پیادهسازینشده
get_instrument برای ISIN مستقل یا هویت تاریخی کامل آماده نیست. get_history برای adjustment='source'، سری متصل continuous_verified و بازسازی آنلاین as_of خطای صریح دارد. iter_history قطعهبندی محلی پاسخ کامل است، نه stream نامحدود شبکه. load_stored_history(as_of=...) انتخاب بر اساس شواهد محلی دریافت/ثبت است، نه اثبات نسخه در دسترس بازار در گذشته.
افزودن یک تابع نمایشی که فقط NotImplementedError بدهد، تکمیل قابلیت محسوب نمیشود. توابع جدید در مرجع runtime فقط در صورت داشتن پیادهسازی واقعی درج میشوند؛ محدودیت گزینههای همان تابع نیز کنار آنها نوشته میشود.
روش آزمون و دامنه اطمینان
تغییرهای موجود با پاسخهای مصنوعی، شبکه مسدود، آزمون حفظ dtype، roundtrip فایل، ورودیهای گروهی Pandas، سیاست آفلاین، برابری Sync/Async و عدم تغییر داده ورودی سنجیده میشوند. اصلاح Windows fsync از نسخه قبلی حفظ و آزمون آن تکرار میشود. هیچ آماری از گزارشهای قدیمی بهعنوان نتیجه آزمون این نسخه معرفی نمیشود.
فایل workflow ماتریس Windows/Linux و Python 3.12 تا 3.14 در بسته وجود دارد، اما وجود workflow به معنی اجرای موفق آن در GitHub نیست. نتیجه همین محیط در گزارش جاری جداگانه ثبت میشود. Parquet و Pandas 3 اگر نصبپذیر نباشند، با عبارت آزمودهنشده معرفی میشوند.
تصمیم انتشار
این بسته 0.3.1a1 است: ارتقای آزمایشیِ رابط داده، نه ادعای پایداری 1.0 و نه وعده پوشش همه APIهای بورس. یک پوشه و یک Wheel دارد. کتابخانه و فایلهای داده قبلی نباید دستی حذف شوند. دادههای SQLite قالب تازهای پیدا نکردهاند؛ این تغییر مهاجرت یا حذف داده لازم ندارد.
مرجع توابع موجود
مرجع فارسی رابط اجرایی بخش داده
نسخه کد: 0.3.1a1
این مرجع از امضاهای واقعی فایلهای کد ساخته شده است. وجود پارامتر رزرو به معنی پشتیبانی از آن گزینه نیست. جدول پوشش نقشه راه، جدا از امکانات اجرایی نگهداری میشود. نمادها و اعداد مثالهای آفلاین مصنوعیاند. کنترل ساختار جدول، تضمین صحت اقتصادی یا کفایت آن برای بازآزمایی تاریخی نیست.
قواعد مشترک
تابعهای جدولی DataFrame هستند؛ Quote و Decimal خروجیهای غیرجدولی ثابتاند. خطای ذخیره خودکار، دریافت معتبر را باطل نمیکند؛ save/load/flush عملیات صریحاند. رابط عادی بدون await و AsyncClient با await است.
search_instruments
جستوجوی نماد و برگرداندن جدول نتایج؛ بدون انتخاب حدسی اولین نتیجه.
search_instruments(query: 'str', *, market: 'Market | None' = None, include_inactive: 'bool' = True, limit: 'int | None' = None, policy: 'FetchPolicy | str | None' = None) -> 'pd.DataFrame'
| پارامتر | نوع واقعی | پیشفرض واقعی | معنا |
|---|---|---|---|
| query | str | required | متن غیرخالی جستوجو؛ نتیجه مبهم انتخاب خودکار ندارد. |
| market | Market | None | None | Market یا None؛ بازار فاقد پشتیبانی به بازار دیگر نگاشت حدسی نمیشود. |
| include_inactive | bool | True | نمایش نتیجه غیرفعال/نامعلوم؛ False تنها با شواهد فعالبودن اعمال میشود. |
| limit | int | None | None | تعداد محلی نتایج نمایش؛ None همه نتایج همین پاسخ، نه تمام ابزارهای جهان. |
| policy | FetchPolicy | str | None | None | FetchPolicy یا None یا رشته auto/online/offline؛ offline بهتنهایی اجازه stale نمیدهد. |
خروجی: pd.DataFrame
استثناهای اصلی: InvalidArgumentError, NetworkError, ApiError, SchemaMismatchError, DataQualityError, UnknownInstrumentError, AmbiguousInstrumentError, StaleDataError, OfflineDataUnavailableError
وابستگیها: pandas, Python standard library, HTTPX for network, platformdirs, tzdata, optional best-effort SQLite
همتای AsyncClient: دارد؛ همان معنا و نوع خروجی. عملیات بدون I/O مانند capabilities همگاماند.
شرح دقیق اجرایی از docstring:
Search symbols without silently selecting the first match. Returns a typed DataFrame, including for no matches. A limit only limits displayed results; it is not a server pagination parameter.
get_instrument
حل هویت یکتای نماد یا شناسه صریح؛ نتیجه مبهم خطاست.
get_instrument(instrument: 'InstrumentLike', *, market: 'Market | None' = None, as_of: 'date | None' = None, known_at: 'datetime | None' = None, policy: 'FetchPolicy | str | None' = None) -> 'InstrumentRecord'
| پارامتر | نوع واقعی | پیشفرض واقعی | معنا |
|---|---|---|---|
| instrument | InstrumentLike | required | نام نماد یا InstrumentRef؛ رشته عددی خودکار به شناسه تبدیل نمیشود. |
| market | Market | None | None | Market یا None؛ بازار فاقد پشتیبانی به بازار دیگر نگاشت حدسی نمیشود. |
| as_of | date | None | None | در بازیابی محلی cutoff آگاه از timezone؛ در هویت/تاریخچه آنلاین رزرو و صریحاً غیرقابلاستفاده است. |
| known_at | datetime | None | None | تاریخ دانستهشدن هویت؛ در این نسخه پشتیبانی نمیشود. |
| policy | FetchPolicy | str | None | None | FetchPolicy یا None یا رشته auto/online/offline؛ offline بهتنهایی اجازه stale نمیدهد. |
خروجی: InstrumentRecord
استثناهای اصلی: InvalidArgumentError, NetworkError, ApiError, SchemaMismatchError, DataQualityError, UnknownInstrumentError, AmbiguousInstrumentError, StaleDataError, OfflineDataUnavailableError
وابستگیها: pandas, Python standard library, HTTPX for network, platformdirs, tzdata, optional best-effort SQLite
همتای AsyncClient: دارد؛ همان معنا و نوع خروجی. عملیات بدون I/O مانند capabilities همگاماند.
شرح دقیق اجرایی از docstring:
Resolve one symbol or explicit InstrumentRef and verify its identity. Raises AmbiguousInstrumentError for multiple exact matches; use candidates or search_instruments to choose an ins_code. Historical identity and ISIN-only lookup remain unsupported.
get_quote
گزارش قیمت با زمان، واحد و شناسنامه؛ مستقل از تاریخچه.
get_quote(instrument: 'InstrumentLike', *, freshness: 'FreshnessPolicy | None' = None, policy: 'FetchPolicy | str | None' = None) -> 'Quote'
| پارامتر | نوع واقعی | پیشفرض واقعی | معنا |
|---|---|---|---|
| instrument | InstrumentLike | required | نام نماد یا InstrumentRef؛ رشته عددی خودکار به شناسه تبدیل نمیشود. |
| freshness | FreshnessPolicy | None | None | FreshnessPolicy صریح؛ بر freshness داخل policy مقدم است. |
| policy | FetchPolicy | str | None | None | FetchPolicy یا None یا رشته auto/online/offline؛ offline بهتنهایی اجازه stale نمیدهد. |
خروجی: Quote
استثناهای اصلی: InvalidArgumentError, NetworkError, ApiError, SchemaMismatchError, DataQualityError, UnknownInstrumentError, AmbiguousInstrumentError, StaleDataError, OfflineDataUnavailableError
وابستگیها: pandas, Python standard library, HTTPX for network, platformdirs, tzdata, optional best-effort SQLite
همتای AsyncClient: دارد؛ همان معنا و نوع خروجی. عملیات بدون I/O مانند capabilities همگاماند.
شرح دقیق اجرایی از docstring:
Fetch the latest report as an immutable Quote with source and retrieval timestamps. A last report may be from a past trading day. Use an explicit offline policy to permit stale cached data; autosave errors are reported separately.
get_price
دریافت یک قیمت Decimal؛ برای حفظ زمان و واحد از get_quote استفاده شود.
get_price(instrument: 'InstrumentLike', *, field: 'str' = 'last', freshness: 'FreshnessPolicy | None' = None, policy: 'FetchPolicy | str | None' = None) -> 'Decimal'
| پارامتر | نوع واقعی | پیشفرض واقعی | معنا |
|---|---|---|---|
| instrument | InstrumentLike | required | نام نماد یا InstrumentRef؛ رشته عددی خودکار به شناسه تبدیل نمیشود. |
| field | str | 'last' | last یا closing یا previous_reference؛ نام خام API پذیرفته نمیشود. |
| freshness | FreshnessPolicy | None | None | FreshnessPolicy صریح؛ بر freshness داخل policy مقدم است. |
| policy | FetchPolicy | str | None | None | FetchPolicy یا None یا رشته auto/online/offline؛ offline بهتنهایی اجازه stale نمیدهد. |
خروجی: Decimal
استثناهای اصلی: InvalidArgumentError, NetworkError, ApiError, SchemaMismatchError, DataQualityError, UnknownInstrumentError, AmbiguousInstrumentError, StaleDataError, OfflineDataUnavailableError, MissingValueError, UnsupportedQuoteUnitError
وابستگیها: pandas, Python standard library, HTTPX for network, platformdirs, tzdata, optional best-effort SQLite
همتای AsyncClient: دارد؛ همان معنا و نوع خروجی. عملیات بدون I/O مانند capabilities همگاماند.
شرح دقیق اجرایی از docstring:
Return a Decimal price. field is last, closing or previous_reference. Missing price raises MissingValueError and unverified price units raise UnsupportedQuoteUnitError. Use get_quote/get_quote_frame to retain time and unit metadata.
get_quotes
قیمت چند نماد با حفظ ترتیب ورودی و گزارش خطای هر مورد.
get_quotes(instruments: 'Sequence[InstrumentLike] | pd.Series | pd.Index | np.ndarray', *, on_error: 'str' = 'raise', freshness: 'FreshnessPolicy | None' = None, policy: 'FetchPolicy | str | None' = None) -> 'pd.DataFrame'
| پارامتر | نوع واقعی | پیشفرض واقعی | معنا |
|---|---|---|---|
| instruments | Sequence[InstrumentLike] | pd.Series | pd.Index | np.ndarray | required | list/tuple مرتب، Series یا Index پانداس، آرایه یکبعدی NumPy؛ تهی/نامعتبر رد میشود و ترتیب و تکرار حفظ میشوند. |
| on_error | str | 'raise' | raise با گزارش جزئی یا collect با ثبت خطای عضو؛ نوع خروجی ثابت است. |
| freshness | FreshnessPolicy | None | None | FreshnessPolicy صریح؛ بر freshness داخل policy مقدم است. |
| policy | FetchPolicy | str | None | None | FetchPolicy یا None یا رشته auto/online/offline؛ offline بهتنهایی اجازه stale نمیدهد. |
خروجی: pd.DataFrame
استثناهای اصلی: InvalidArgumentError, NetworkError, ApiError, SchemaMismatchError, DataQualityError, UnknownInstrumentError, AmbiguousInstrumentError, StaleDataError, OfflineDataUnavailableError, BatchDataError
وابستگیها: pandas, Python standard library, HTTPX for network, platformdirs, tzdata, optional best-effort SQLite
همتای AsyncClient: دارد؛ همان معنا و نوع خروجی. عملیات بدون I/O مانند capabilities همگاماند.
شرح دقیق اجرایی از docstring:
Fetch an ordered batch to a DataFrame. Accepts list/tuple, Series, Index or a 1D NumPy array. Duplicates and input order are preserved. on_error=collect records per-item errors; raise attaches partial_result to BatchDataError. No concurrency is implied.
get_history
تاریخچه روزانه خام یک شناسه در قالب DataFrame مرتبشده.
get_history(instrument: 'InstrumentLike', *, start: 'DateLike | None' = None, end: 'DateLike | None' = None, calendar: 'Calendar' = 'gregorian', adjustment: 'str' = 'none', series: 'str' = 'listing', as_of: 'datetime | None' = None, policy: 'FetchPolicy | str | None' = None, include_jdate: 'bool' = False) -> 'pd.DataFrame'
| پارامتر | نوع واقعی | پیشفرض واقعی | معنا |
|---|---|---|---|
| instrument | InstrumentLike | required | نام نماد یا InstrumentRef؛ رشته عددی خودکار به شناسه تبدیل نمیشود. |
| start | DateLike | None | None | ابتدای شامل بازه: date، رشته ISO یا Timestamp بدون زمان و timezone. |
| end | DateLike | None | None | انتهای شامل بازه؛ None حد دامنه موجود، نه تضمین کاملبودن تاریخچه. |
| calendar | Calendar | 'gregorian' | تقویم رشتهها: gregorian/jalali؛ date و Timestamp همیشه میلادیاند. |
| adjustment | str | 'none' | در این نسخه فقط none. درخواست source خطای قابلیت فاقد پشتیبانی میدهد. |
| series | str | 'listing' | فقط listing؛ اتصال شناسههای تاریخی تأییدشده هنوز پیادهسازی نشده. |
| as_of | datetime | None | None | در بازیابی محلی cutoff آگاه از timezone؛ در هویت/تاریخچه آنلاین رزرو و صریحاً غیرقابلاستفاده است. |
| policy | FetchPolicy | str | None | None | FetchPolicy یا None یا رشته auto/online/offline؛ offline بهتنهایی اجازه stale نمیدهد. |
| include_jdate | bool | False | افزودن ستون متنی شمسی؛ ستون date میلادی تغییر نمیکند. |
خروجی: pd.DataFrame
استثناهای اصلی: InvalidArgumentError, NetworkError, ApiError, SchemaMismatchError, DataQualityError, UnknownInstrumentError, AmbiguousInstrumentError, StaleDataError, OfflineDataUnavailableError, UnsupportedCapabilityError, PointInTimeUnavailableError, CoverageError
وابستگیها: pandas, Python standard library, HTTPX for network, platformdirs, tzdata, optional best-effort SQLite
همتای AsyncClient: دارد؛ همان معنا و نوع خروجی. عملیات بدون I/O مانند capabilities همگاماند.
شرح دقیق اجرایی از docstring:
Raw daily history, ascending and inclusive. No rows are forward-filled.
The full available endpoint response is fetched/cached, then filtered
locally. source adjustments, stitched identities and as_of are
reserved but raise explicit errors until their evidence is implemented.
get_history_many
تاریخچه چند نماد در BatchFrames با جدول داده، درخواستها و خطاها.
get_history_many(instruments: 'Sequence[InstrumentLike] | pd.Series | pd.Index | np.ndarray', *, start: 'DateLike | None' = None, end: 'DateLike | None' = None, calendar: 'Calendar' = 'gregorian', adjustment: 'str' = 'none', on_error: 'str' = 'raise', policy: 'FetchPolicy | str | None' = None, include_jdate: 'bool' = False) -> 'BatchFrames'
| پارامتر | نوع واقعی | پیشفرض واقعی | معنا |
|---|---|---|---|
| instruments | Sequence[InstrumentLike] | pd.Series | pd.Index | np.ndarray | required | list/tuple مرتب، Series یا Index پانداس، آرایه یکبعدی NumPy؛ تهی/نامعتبر رد میشود و ترتیب و تکرار حفظ میشوند. |
| start | DateLike | None | None | ابتدای شامل بازه: date، رشته ISO یا Timestamp بدون زمان و timezone. |
| end | DateLike | None | None | انتهای شامل بازه؛ None حد دامنه موجود، نه تضمین کاملبودن تاریخچه. |
| calendar | Calendar | 'gregorian' | تقویم رشتهها: gregorian/jalali؛ date و Timestamp همیشه میلادیاند. |
| adjustment | str | 'none' | در این نسخه فقط none. درخواست source خطای قابلیت فاقد پشتیبانی میدهد. |
| on_error | str | 'raise' | raise با گزارش جزئی یا collect با ثبت خطای عضو؛ نوع خروجی ثابت است. |
| policy | FetchPolicy | str | None | None | FetchPolicy یا None یا رشته auto/online/offline؛ offline بهتنهایی اجازه stale نمیدهد. |
| include_jdate | bool | False | افزودن ستون متنی شمسی؛ ستون date میلادی تغییر نمیکند. |
خروجی: BatchFrames
استثناهای اصلی: InvalidArgumentError, NetworkError, ApiError, SchemaMismatchError, DataQualityError, UnknownInstrumentError, AmbiguousInstrumentError, StaleDataError, OfflineDataUnavailableError, UnsupportedCapabilityError, PointInTimeUnavailableError, CoverageError, BatchDataError
وابستگیها: pandas, Python standard library, HTTPX for network, platformdirs, tzdata, optional best-effort SQLite
همتای AsyncClient: دارد؛ همان معنا و نوع خروجی. عملیات بدون I/O مانند capabilities همگاماند.
شرح دقیق اجرایی از docstring:
Bounded sequential batch. Each input, even repeated/empty, gets a report row.
iter_history
تقسیم محلی پاسخ تاریخچه به بازههای کوچک؛ نه صفحهبندی یا stream شبکه.
iter_history(instrument: 'InstrumentLike', *, start: 'DateLike', end: 'DateLike', calendar: 'Calendar' = 'gregorian', adjustment: 'str' = 'none', chunk_days: 'int' = 366, policy: 'FetchPolicy | str | None' = None, include_jdate: 'bool' = False) -> 'Iterator[pd.DataFrame]'
| پارامتر | نوع واقعی | پیشفرض واقعی | معنا |
|---|---|---|---|
| instrument | InstrumentLike | required | نام نماد یا InstrumentRef؛ رشته عددی خودکار به شناسه تبدیل نمیشود. |
| start | DateLike | required | ابتدای شامل بازه: date، رشته ISO یا Timestamp بدون زمان و timezone. |
| end | DateLike | required | انتهای شامل بازه؛ None حد دامنه موجود، نه تضمین کاملبودن تاریخچه. |
| calendar | Calendar | 'gregorian' | تقویم رشتهها: gregorian/jalali؛ date و Timestamp همیشه میلادیاند. |
| adjustment | str | 'none' | در این نسخه فقط none. درخواست source خطای قابلیت فاقد پشتیبانی میدهد. |
| chunk_days | int | 366 | تعداد روز تقویمی برای تقسیم محلی؛ نه درخواست صفحهبندی جدید به سرور. |
| policy | FetchPolicy | str | None | None | FetchPolicy یا None یا رشته auto/online/offline؛ offline بهتنهایی اجازه stale نمیدهد. |
| include_jdate | bool | False | افزودن ستون متنی شمسی؛ ستون date میلادی تغییر نمیکند. |
خروجی: Iterator[pd.DataFrame]
استثناهای اصلی: InvalidArgumentError, NetworkError, ApiError, SchemaMismatchError, DataQualityError, UnknownInstrumentError, AmbiguousInstrumentError, StaleDataError, OfflineDataUnavailableError
وابستگیها: pandas, Python standard library, HTTPX for network, platformdirs, tzdata, optional best-effort SQLite
همتای AsyncClient: دارد؛ همان معنا و نوع خروجی. عملیات بدون I/O مانند capabilities همگاماند.
شرح دقیق اجرایی از docstring:
Yield local calendar chunks. The underlying full HTTP response is NOT streamed.
Skips chunks without rows; yields one typed empty frame if the whole selected range is empty. Each frame records its actual and chunk range.
to_gregorian
تبدیل تاریخ مطابق قرارداد date و تقویم صریح.
to_gregorian(value: 'DateLike', *, calendar: 'Calendar' = 'jalali') -> 'date'
| پارامتر | نوع واقعی | پیشفرض واقعی | معنا |
|---|---|---|---|
| value | DateLike | required | رشته شناسه/نماد یا تاریخ طبق سازنده و نوع امضای واقعی. |
| calendar | Calendar | 'jalali' | تقویم رشتهها: gregorian/jalali؛ date و Timestamp همیشه میلادیاند. |
خروجی: date
استثناهای اصلی: InvalidArgumentError
وابستگیها: pandas, Python standard library
همتای AsyncClient: ندارد/نیازی نیست؛ تابع محلی یا نوع تنظیمات است.
شرح دقیق اجرایی از docstring:
to_jalali
تبدیل تاریخ مطابق قرارداد date و تقویم صریح.
to_jalali(value: 'DateLike') -> 'str'
| پارامتر | نوع واقعی | پیشفرض واقعی | معنا |
|---|---|---|---|
| value | DateLike | required | رشته شناسه/نماد یا تاریخ طبق سازنده و نوع امضای واقعی. |
خروجی: str
استثناهای اصلی: InvalidArgumentError
وابستگیها: pandas, Python standard library
همتای AsyncClient: ندارد/نیازی نیست؛ تابع محلی یا نوع تنظیمات است.
شرح دقیق اجرایی از docstring:
capabilities
نمایش وضعیت قابلیتهای همین نسخه؛ بدون شبکه یا ساخت کلاینت.
capabilities() -> 'pd.DataFrame'
| پارامتر | نوع واقعی | پیشفرض واقعی | معنا |
|---|
خروجی: pd.DataFrame
استثناهای اصلی:
وابستگیها: pandas, Python standard library
همتای AsyncClient: دارد؛ همان معنا و نوع خروجی. عملیات بدون I/O مانند capabilities همگاماند.
شرح دقیق اجرایی از docstring:
Return the implemented, conditional and deferred capability matrix. A source-reviewed endpoint is not a live-service guarantee.
storage_status
وضعیت ذخیره خودکار؛ وابسته به موفقیت دریافت قیمت نیست.
storage_status() -> 'StorageStatus'
| پارامتر | نوع واقعی | پیشفرض واقعی | معنا |
|---|
خروجی: StorageStatus
استثناهای اصلی:
وابستگیها: pandas, Python standard library
همتای AsyncClient: دارد؛ همان معنا و نوع خروجی. عملیات بدون I/O مانند capabilities همگاماند.
شرح دقیق اجرایی از docstring:
Return in-memory storage counters without querying the database. Queued work is not durable until committed.
get_write_receipt
خواندن آخرین وضعیت رسید نوشتن در این فرایند.
get_write_receipt(receipt_id: 'str') -> 'WriteReceipt'
| پارامتر | نوع واقعی | پیشفرض واقعی | معنا |
|---|---|---|---|
| receipt_id | str | required | شناسه رسید در فرایند جاری؛ توکن احراز هویت نیست. |
خروجی: WriteReceipt
استثناهای اصلی: UnknownReceiptError
وابستگیها: pandas, Python standard library
همتای AsyncClient: دارد؛ همان معنا و نوع خروجی. عملیات بدون I/O مانند capabilities همگاماند.
شرح دقیق اجرایی از docstring:
Read the receipt status for this process. Unknown IDs raise UnknownReceiptError. A queued receipt does not prove disk durability.
flush
انتظار محدود برای ثبت صف؛ queued با ذخیره قطعی یکسان نیست.
flush(*, timeout: 'float' = 5.0, raise_on_error: 'bool' = True) -> 'FlushReport'
| پارامتر | نوع واقعی | پیشفرض واقعی | معنا |
|---|---|---|---|
| timeout | float | 5.0 | مهلت انتظار عملیات صریح ذخیره؛ تضمین زمان پاسخ بورس نیست. |
| raise_on_error | bool | True | تبدیل خطای گزارششده به استثنا؛ False فقط گزارش میدهد. |
خروجی: FlushReport
استثناهای اصلی: StorageError, StorageFlushTimeout, ConfigurationError
وابستگیها: pandas, Python standard library
همتای AsyncClient: دارد؛ همان معنا و نوع خروجی. عملیات بدون I/O مانند capabilities همگاماند.
شرح دقیق اجرایی از docstring:
Explicitly wait up to timeout seconds for queued persistence. With raise_on_error=True incomplete or failed storage raises StorageError/StorageFlushTimeout. Normal automatic saving never waits for this call.
close
بستن منابع با مهلت تخلیه صف؛ گزارش complete بررسی شود.
close(*, flush_timeout: 'float' = 1.0) -> 'FlushReport'
| پارامتر | نوع واقعی | پیشفرض واقعی | معنا |
|---|---|---|---|
| flush_timeout | float | 1.0 | مهلت بستن و تخلیه صف؛ complete گزارش را بررسی کنید. |
خروجی: FlushReport
استثناهای اصلی: ConfigurationError
وابستگیها: pandas, Python standard library
همتای AsyncClient: ندارد/نیازی نیست؛ تابع محلی یا نوع تنظیمات است.
شرح دقیق اجرایی از docstring:
Close the default client. Explicitly flush first to require durable writes.
The selected configuration is retained; configure() can replace it after close.
get_quote_frame
گزارش قیمت تکردیفی Pandas همراه زمان و واحد.
get_quote_frame(instrument: 'InstrumentLike', *, freshness: 'FreshnessPolicy | None' = None, policy: 'FetchPolicy | str | None' = None) -> 'pd.DataFrame'
| پارامتر | نوع واقعی | پیشفرض واقعی | معنا |
|---|---|---|---|
| instrument | InstrumentLike | required | نام نماد یا InstrumentRef؛ رشته عددی خودکار به شناسه تبدیل نمیشود. |
| freshness | FreshnessPolicy | None | None | FreshnessPolicy صریح؛ بر freshness داخل policy مقدم است. |
| policy | FetchPolicy | str | None | None | FetchPolicy یا None یا رشته auto/online/offline؛ offline بهتنهایی اجازه stale نمیدهد. |
خروجی: pd.DataFrame
استثناهای اصلی: InvalidArgumentError, NetworkError, ApiError, SchemaMismatchError, DataQualityError, UnknownInstrumentError, AmbiguousInstrumentError, StaleDataError, OfflineDataUnavailableError
وابستگیها: pandas, Python standard library, HTTPX for network, platformdirs, tzdata, optional best-effort SQLite
همتای AsyncClient: دارد؛ همان معنا و نوع خروجی. عملیات بدون I/O مانند capabilities همگاماند.
شرح دقیق اجرایی از docstring:
A one-row Pandas quote with the same checks as get_quote; no second HTTP call.
get_instrument_frame
همان شناسایی معتبر ابزار در قالب DataFrame تکردیفی.
get_instrument_frame(instrument: 'InstrumentLike', *, market: 'Market | None' = None, as_of: 'date | None' = None, known_at: 'datetime | None' = None, policy: 'FetchPolicy | str | None' = None) -> 'pd.DataFrame'
| پارامتر | نوع واقعی | پیشفرض واقعی | معنا |
|---|---|---|---|
| instrument | InstrumentLike | required | نام نماد یا InstrumentRef؛ رشته عددی خودکار به شناسه تبدیل نمیشود. |
| market | Market | None | None | Market یا None؛ بازار فاقد پشتیبانی به بازار دیگر نگاشت حدسی نمیشود. |
| as_of | date | None | None | در بازیابی محلی cutoff آگاه از timezone؛ در هویت/تاریخچه آنلاین رزرو و صریحاً غیرقابلاستفاده است. |
| known_at | datetime | None | None | تاریخ دانستهشدن هویت؛ در این نسخه پشتیبانی نمیشود. |
| policy | FetchPolicy | str | None | None | FetchPolicy یا None یا رشته auto/online/offline؛ offline بهتنهایی اجازه stale نمیدهد. |
خروجی: pd.DataFrame
استثناهای اصلی: InvalidArgumentError, NetworkError, ApiError, SchemaMismatchError, DataQualityError, UnknownInstrumentError, AmbiguousInstrumentError, StaleDataError, OfflineDataUnavailableError
وابستگیها: pandas, Python standard library, HTTPX for network, platformdirs, tzdata, optional best-effort SQLite
همتای AsyncClient: دارد؛ همان معنا و نوع خروجی. عملیات بدون I/O مانند capabilities همگاماند.
شرح دقیق اجرایی از docstring:
Resolve exactly one instrument and return its typed one-row DataFrame.
configure
تنظیم کلاینت پیشفرض پیش از اولین دریافت؛ بدون شبکه و ساخت پایگاه.
configure(config: 'ClientConfig | None' = None, *, source: 'str | None' = None, mode: 'str | None' = None, storage: 'bool | None' = None, data_dir: 'str | Path | None' = None, numeric: 'str | None' = None) -> 'ClientConfig'
| پارامتر | نوع واقعی | پیشفرض واقعی | معنا |
|---|---|---|---|
| config | ClientConfig | None | None | ClientConfig تغییرناپذیر؛ پارامترهای غیر None سازنده بر آن مقدماند. |
| source | str | None | None | در Client فقط public؛ در normalize فقط canonical. سرویس رسمی یا نگاشت ناشناخته بهصورت حدسی اجرا نمیشود. |
| mode | str | None | None | auto/online/offline؛ online میتواند کش معتبر مصرف کند، fresh برای دورزدن کش است. |
| storage | bool | None | None | فعالبودن ذخیره خودکار؛ False بدون ذخیره محلی. |
| data_dir | str | Path | None | None | پوشه شامل dara.sqlite3؛ تغییر مسیر فایلهای قبلی را منتقل یا حذف نمیکند. |
| numeric | str | None | None | analysis با Float64 nullable؛ exact با Decimal برای قیمت/مقدار. شناسه رشته باقی میماند. |
خروجی: ClientConfig
استثناهای اصلی: ConfigurationError
وابستگیها: pandas, Python standard library
همتای AsyncClient: ندارد/نیازی نیست؛ تابع محلی یا نوع تنظیمات است.
شرح دقیق اجرایی از docstring:
Configure the lazy module-level client without HTTP or creating a database.
Call before using data.get_*; if a default client already exists, close it explicitly with data.close() first. This avoids silently losing queued work or changing the configuration of an in-flight request. Omitted settings use ClientConfig defaults (or the explicitly supplied config).
get_config
خواندن تنظیمات فعلی بدون ساخت کلاینت یا دسترسی به شبکه.
get_config() -> 'ClientConfig'
| پارامتر | نوع واقعی | پیشفرض واقعی | معنا |
|---|
خروجی: ClientConfig
استثناهای اصلی:
وابستگیها: pandas, Python standard library
همتای AsyncClient: ندارد/نیازی نیست؛ تابع محلی یا نوع تنظیمات است.
شرح دقیق اجرایی از docstring:
Return immutable default settings without creating a Client or any I/O.
save
خروجی صریح CSV/Excel/Parquet/SQLite همراه ساختار بازیابی؛ شکست ذخیره خطاست.
save(df: 'pd.DataFrame', path: 'str | Path', *, format: 'str | None' = None, dataset: 'str' = 'user_data', metadata: 'bool' = True, overwrite: 'bool' = False, safe_text: 'bool' = True) -> 'WriteReceipt'
| پارامتر | نوع واقعی | پیشفرض واقعی | معنا |
|---|---|---|---|
| df | pd.DataFrame | required | DataFrame معمولی؛ تابع محلی آن را درجا تغییر نمیدهد. |
| path | str | Path | required | مسیر غیرخالی str/Path؛ خروجی آرشیو را روی dara.sqlite3 کاری ننویسید. |
| format | str | None | None | csv/excel/parquet/sqlite یا None برای تشخیص از پسوند معتبر. |
| dataset | str | 'user_data' | نام مجموعه داخل آرشیو SQLite. |
| metadata | bool | True | حفظ attrs افزون بر اطلاعات ساختاری لازم؛ False checksum و انواع ضروری را حذف نمیکند. |
| overwrite | bool | False | اجازه جایگزینی همین خروجی؛ پیشفرض False، پایگاه کاری حذف نمیشود. |
| safe_text | bool | True | محافظت متنهای شبیه فرمول در خروجی؛ بازیابی حفاظت را معکوس میکند. |
خروجی: WriteReceipt
استثناهای اصلی: InvalidArgumentError, FileExistsDataError, StorageError, OptionalDependencyError
وابستگیها: pandas, Python standard library, openpyxl only for Excel, pyarrow only for Parquet, sqlite3 for SQLite
همتای AsyncClient: ندارد/نیازی نیست؛ تابع محلی یا نوع تنظیمات است.
شرح دقیق اجرایی از docstring:
Save a self-describing snapshot; return only after successful commit.
metadata=False omits df.attrs, not structural type/checksum information.
MultiIndex/unsupported object values are rejected. No network requests.
CSV + sidecar replace is not one filesystem transaction: a crash between
replacements is detected by load's SHA256 check, never silently accepted.
load
بازیابی آرشیو Dara؛ معادل خواننده عمومی هر فایل خارجی نیست.
load(path: 'str | Path', *, format: 'str | None' = None, dataset: 'str' = 'user_data', schema=None, verify: 'bool' = True) -> 'pd.DataFrame'
| پارامتر | نوع واقعی | پیشفرض واقعی | معنا |
|---|---|---|---|
| path | str | Path | required | مسیر غیرخالی str/Path؛ خروجی آرشیو را روی dara.sqlite3 کاری ننویسید. |
| format | str | None | None | csv/excel/parquet/sqlite یا None برای تشخیص از پسوند معتبر. |
| dataset | str | 'user_data' | نام مجموعه داخل آرشیو SQLite. |
| schema | documented in source | None | رزرو است؛ در این نسخه None باقی بماند. نوعها از شناسنامه آرشیو بازسازی میشوند. |
| verify | bool | True | کنترل ساختار و checksum آرشیو؛ امضای دیجیتال ناشر نیست. |
خروجی: pd.DataFrame
استثناهای اصلی: InvalidArgumentError, StorageError, OptionalDependencyError
وابستگیها: pandas, Python standard library, openpyxl only for Excel, pyarrow only for Parquet, sqlite3 for SQLite
همتای AsyncClient: ندارد/نیازی نیست؛ تابع محلی یا نوع تنظیمات است.
شرح دقیق اجرایی از docstring:
Read a Dara archive and verify its structure/content. This is not a signature.
For arbitrary externally-created files use pandas readers, then validate.
verify=False allows deliberate value edits, not code execution or a
different schema. CSV still requires its sidecar for dtype restoration.
sync_history
همگامسازی صریح تاریخچه با بازبینی انتهایی/کامل و گزارش مستقل ذخیره.
sync_history(instrument: 'InstrumentLike', *, full: 'bool' = False, overlap_days: 'int' = 14, full_refresh_days: 'float' = 7, wait: 'bool' = True, timeout: 'float' = 30.0, on_storage_error: 'str' = 'report') -> 'SyncResult'
| پارامتر | نوع واقعی | پیشفرض واقعی | معنا |
|---|---|---|---|
| instrument | InstrumentLike | required | نام نماد یا InstrumentRef؛ رشته عددی خودکار به شناسه تبدیل نمیشود. |
| full | bool | False | True درخواست بازبینی کامل به جای انتهایی. |
| overlap_days | int | 14 | همپوشانی روز تقویمی برای بازبینی اصلاحات اخیر؛ مقدار مثبت. |
| full_refresh_days | float | 7 | در فراخوانی بعدی sync، پس از این فاصله بازبینی کامل انجام شود؛ زمانبند پسزمینه نداریم. |
| wait | bool | True | انتظار صریح ذخیره در sync؛ False ممکن است queued بدهد. |
| timeout | float | 30.0 | مهلت انتظار عملیات صریح ذخیره؛ تضمین زمان پاسخ بورس نیست. |
| on_storage_error | str | 'report' | report داده دریافتشده را با گزارش شکست حفظ میکند؛ raise به موفقیت ذخیره صریح نیاز دارد. |
خروجی: SyncResult
استثناهای اصلی: InvalidArgumentError, NetworkError, ApiError, SchemaMismatchError, DataQualityError, UnknownInstrumentError, AmbiguousInstrumentError, StaleDataError, OfflineDataUnavailableError
وابستگیها: pandas, Python standard library, HTTPX for network, platformdirs, tzdata, optional best-effort SQLite
همتای AsyncClient: دارد؛ همان معنا و نوع خروجی. عملیات بدون I/O مانند capabilities همگاماند.
شرح دقیق اجرایی از docstring:
Explicit reconciliation into the local history index. full=True rechecks old corrections; overlap_days controls the tail window. wait=True may wait for storage. on_storage_error=report preserves fetched data with failure information; raise demands success. SyncResult.data is only this fetch, not the whole database.
load_stored_history
خواندن تاریخچه ذخیرهشده از SQLite بدون درخواست بورس.
load_stored_history(instrument: 'InstrumentLike', *, start: 'DateLike | None' = None, end: 'DateLike | None' = None, calendar: 'Calendar' = 'gregorian', include_jdate: 'bool' = False, as_of: 'datetime | None' = None) -> 'pd.DataFrame'
| پارامتر | نوع واقعی | پیشفرض واقعی | معنا |
|---|---|---|---|
| instrument | InstrumentLike | required | نام نماد یا InstrumentRef؛ رشته عددی خودکار به شناسه تبدیل نمیشود. |
| start | DateLike | None | None | ابتدای شامل بازه: date، رشته ISO یا Timestamp بدون زمان و timezone. |
| end | DateLike | None | None | انتهای شامل بازه؛ None حد دامنه موجود، نه تضمین کاملبودن تاریخچه. |
| calendar | Calendar | 'gregorian' | تقویم رشتهها: gregorian/jalali؛ date و Timestamp همیشه میلادیاند. |
| include_jdate | bool | False | افزودن ستون متنی شمسی؛ ستون date میلادی تغییر نمیکند. |
| as_of | datetime | None | None | در بازیابی محلی cutoff آگاه از timezone؛ در هویت/تاریخچه آنلاین رزرو و صریحاً غیرقابلاستفاده است. |
خروجی: pd.DataFrame
استثناهای اصلی: OfflineDataUnavailableError, StorageError, InvalidArgumentError, AmbiguousInstrumentError
وابستگیها: pandas, Python standard library
همتای AsyncClient: دارد؛ همان معنا و نوع خروجی. عملیات بدون I/O مانند capabilities همگاماند.
شرح دقیق اجرایی از docstring:
Read the versioned local history index; never sends HTTP. Dates are inclusive. as_of is a local observation/commit cutoff, not proof of historical public availability. Raises OfflineDataUnavailableError when no usable indexed data exists.
history_status
جدول وضعیت و دامنه تاریخچه ثبتشده محلی.
history_status() -> 'pd.DataFrame'
| پارامتر | نوع واقعی | پیشفرض واقعی | معنا |
|---|
خروجی: pd.DataFrame
استثناهای اصلی: StorageError
وابستگیها: pandas, Python standard library
همتای AsyncClient: دارد؛ همان معنا و نوع خروجی. عملیات بدون I/O مانند capabilities همگاماند.
شرح دقیق اجرایی از docstring:
Return per-instrument counts, ranges and latest fetch state from the local index. Explicit disk read; no HTTP. Counts do not certify full market history.
get_history_revisions
بازخوانی نسخههای ثبتشده رکوردهای تاریخچه.
get_history_revisions(instrument: 'InstrumentLike', *, start: 'DateLike | None' = None, end: 'DateLike | None' = None, calendar: 'Calendar' = 'gregorian') -> 'pd.DataFrame'
| پارامتر | نوع واقعی | پیشفرض واقعی | معنا |
|---|---|---|---|
| instrument | InstrumentLike | required | نام نماد یا InstrumentRef؛ رشته عددی خودکار به شناسه تبدیل نمیشود. |
| start | DateLike | None | None | ابتدای شامل بازه: date، رشته ISO یا Timestamp بدون زمان و timezone. |
| end | DateLike | None | None | انتهای شامل بازه؛ None حد دامنه موجود، نه تضمین کاملبودن تاریخچه. |
| calendar | Calendar | 'gregorian' | تقویم رشتهها: gregorian/jalali؛ date و Timestamp همیشه میلادیاند. |
خروجی: pd.DataFrame
استثناهای اصلی: StorageError, OfflineDataUnavailableError, InvalidArgumentError, UnsupportedCapabilityError, PointInTimeUnavailableError, CoverageError
وابستگیها: pandas, Python standard library
همتای AsyncClient: دارد؛ همان معنا و نوع خروجی. عملیات بدون I/O مانند capabilities همگاماند.
شرح دقیق اجرایی از docstring:
Return locally observed economic revisions in the requested inclusive range. This is local evidence, not all revisions ever published by the exchange.
reindex_history
فهرستسازی تاریخچه پاسخهای قبلاً ذخیرهشده؛ بدون دریافت مجدد اینترنتی.
reindex_history() -> 'dict'
| پارامتر | نوع واقعی | پیشفرض واقعی | معنا |
|---|
خروجی: dict
استثناهای اصلی: StorageError
وابستگیها: pandas, Python standard library
همتای AsyncClient: دارد؛ همان معنا و نوع خروجی. عملیات بدون I/O مانند capabilities همگاماند.
شرح دقیق اجرایی از docstring:
Explicitly rebuild missing normalized history from cached responses of previous releases, without HTTP. Existing history is not deleted. Return a dictionary report; durable storage can raise StorageError.
schema_info
نام، نوع، الزام و معنای ستونهای شمای پیادهسازیشده.
schema_info(schema: 'str' = 'daily_bars', *, numeric: 'str' = 'analysis') -> 'pd.DataFrame'
| پارامتر | نوع واقعی | پیشفرض واقعی | معنا |
|---|---|---|---|
| schema | str | 'daily_bars' | شمای پیادهسازیشده daily_bars/quote/quotes.batch/instruments؛ در load فقط None قابل استفاده است. |
| numeric | str | 'analysis' | analysis با Float64 nullable؛ exact با Decimal برای قیمت/مقدار. شناسه رشته باقی میماند. |
خروجی: pd.DataFrame
استثناهای اصلی: InvalidArgumentError
وابستگیها: pandas, Python standard library
همتای AsyncClient: ندارد/نیازی نیست؛ تابع محلی یا نوع تنظیمات است.
شرح دقیق اجرایی از docstring:
Return column names, expected dtypes and meanings for an implemented schema.
Parameters
schema : str, default 'daily_bars' One of daily_bars, quote, quotes.batch, instruments. numeric : {'analysis', 'exact'}, default 'analysis' Floating nullable columns or Decimal object columns for prices/quantities.
Returns
pandas.DataFrame column, dtype, required, description. It is a description, not market data.
validate_data
گزارش ساختار و مقادیر مسئلهدار؛ نه تأیید اقتصادی منبع یا کشف جامع نشت آینده.
validate_data(df: 'pd.DataFrame', *, schema: 'str' = 'daily_bars', raise_on_error: 'bool' = False, check_order: 'bool' = True) -> 'pd.DataFrame'
| پارامتر | نوع واقعی | پیشفرض واقعی | معنا |
|---|---|---|---|
| df | pd.DataFrame | required | DataFrame معمولی؛ تابع محلی آن را درجا تغییر نمیدهد. |
| schema | str | 'daily_bars' | شمای پیادهسازیشده daily_bars/quote/quotes.batch/instruments؛ در load فقط None قابل استفاده است. |
| raise_on_error | bool | False | تبدیل خطای گزارششده به استثنا؛ False فقط گزارش میدهد. |
| check_order | bool | True | گزارش ترتیب نامناسب بدون مرتبکردن ورودی. |
خروجی: pd.DataFrame
استثناهای اصلی: InvalidArgumentError, DataQualityError
وابستگیها: pandas, Python standard library
همتای AsyncClient: ندارد/نیازی نیست؛ تابع محلی یا نوع تنظیمات است.
شرح دقیق اجرایی از docstring:
Report schema/value issues without changing data or contacting TSETMC.
The report columns are severity, rule, column, count, row_positions, message. row_positions are zero-based positions (not possibly duplicated index labels). At most ten example positions are kept per rule. Warnings do not certify or invalidate financial truth. This function is NOT a point-in-time/leakage audit.
normalize_data
عادیسازی محلی انواع و نامهای صریح؛ بدون حذف، پرکردن یا ایجاد داده مالی حدسی.
normalize_data(df: 'pd.DataFrame', *, schema: 'str' = 'daily_bars', columns: 'Mapping[str, str] | None' = None, calendar: 'Calendar' = 'gregorian', numeric: 'str' = 'analysis', timezone: 'str | None' = None, sort: 'bool' = False) -> 'pd.DataFrame'
| پارامتر | نوع واقعی | پیشفرض واقعی | معنا |
|---|---|---|---|
| df | pd.DataFrame | required | DataFrame معمولی؛ تابع محلی آن را درجا تغییر نمیدهد. |
| schema | str | 'daily_bars' | شمای پیادهسازیشده daily_bars/quote/quotes.batch/instruments؛ در load فقط None قابل استفاده است. |
| columns | Mapping[str, str] | None | None | در select_columns فهرست یا compact/full؛ در normalize_data نگاشت نام قدیم به نام استاندارد. |
| calendar | Calendar | 'gregorian' | تقویم رشتهها: gregorian/jalali؛ date و Timestamp همیشه میلادیاند. |
| numeric | str | 'analysis' | analysis با Float64 nullable؛ exact با Decimal برای قیمت/مقدار. شناسه رشته باقی میماند. |
| timezone | str | None | None | منطقه زمانی صریح timestamp فاقد timezone؛ برای date روزانه استفاده نمیشود. |
| sort | bool | False | مرتبکردن صریح با حفظ سطرها؛ هیچ تکراری حذف نمیشود. |
خروجی: pd.DataFrame
استثناهای اصلی: InvalidArgumentError
وابستگیها: pandas, Python standard library
همتای AsyncClient: ندارد/نیازی نیست؛ تابع محلی یا نوع تنظیمات است.
شرح دقیق اجرایی از docstring:
Normalize only present known fields; never invent source/time/zero values.
columns is an explicit old-name -> standard-name mapping. Date strings
use the explicitly supplied calendar. Naive real timestamps require timezone.
Floating-point identifiers are rejected even when they look integral: original
digits may already be lost. Unknown columns are preserved, rows are not dropped,
duplicate keys are left for validate_data(), and the input/index are preserved
unless sort=True reorders rows. No investment calculation is performed.
select_columns
انتخاب کنترلشده ستونهای نمایشی یا صریح، بدون تغییر ورودی.
select_columns(df: 'pd.DataFrame', columns: 'Sequence[str] | str' = 'compact') -> 'pd.DataFrame'
| پارامتر | نوع واقعی | پیشفرض واقعی | معنا |
|---|---|---|---|
| df | pd.DataFrame | required | DataFrame معمولی؛ تابع محلی آن را درجا تغییر نمیدهد. |
| columns | Sequence[str] | str | 'compact' | در select_columns فهرست یا compact/full؛ در normalize_data نگاشت نام قدیم به نام استاندارد. |
خروجی: pd.DataFrame
استثناهای اصلی: InvalidArgumentError
وابستگیها: pandas, Python standard library
همتای AsyncClient: ندارد/نیازی نیست؛ تابع محلی یا نوع تنظیمات است.
شرح دقیق اجرایی از docstring:
Select explicit columns, or the documented 'compact'/'full' presentation.
Compact output is a view for users, not a provenance-complete archive. Full metadata is copied, and any removed evidence columns are listed in it. Unknown/duplicate column names raise InvalidArgumentError instead of being ignored.
frame_metadata
نسخه مستقل اطلاعات df.attrs؛ نبود اطلاعات به unknown تبدیل میشود.
frame_metadata(df: 'pd.DataFrame') -> 'dict'
| پارامتر | نوع واقعی | پیشفرض واقعی | معنا |
|---|---|---|---|
| df | pd.DataFrame | required | DataFrame معمولی؛ تابع محلی آن را درجا تغییر نمیدهد. |
خروجی: dict
استثناهای اصلی: InvalidArgumentError
وابستگیها: pandas, Python standard library
همتای AsyncClient: ندارد/نیازی نیست؛ تابع محلی یا نوع تنظیمات است.
شرح دقیق اجرایی از docstring:
Return a deep copy of df.attrs['tse_dara']; absent evidence stays unknown.
api_reference
مرجع قابل جستوجوی توابع پیادهسازیشده از داخل پایتون.
api_reference(name: 'str | None' = None) -> 'pd.DataFrame'
| پارامتر | نوع واقعی | پیشفرض واقعی | معنا |
|---|---|---|---|
| name | str | None | None | نام دقیق API یا نمونه مصنوعی مطابق توضیح همان تابع. |
خروجی: pd.DataFrame
استثناهای اصلی: InvalidArgumentError
وابستگیها: pandas, Python standard library
همتای AsyncClient: ندارد/نیازی نیست؛ تابع محلی یا نوع تنظیمات است.
شرح دقیق اجرایی از docstring:
Return signatures, inputs, outputs, errors and dependencies for this release.
name is an optional exact public function/class name. The catalog includes implemented API only; the HTML roadmap has separate not-yet-implemented plans.
validate
ورودی سازگار با نام قرارداد نقشه راه؛ strict=True برای خطای اعتبارسنجی.
validate(df: 'pd.DataFrame', *, schema: 'str', strict: 'bool' = True) -> 'pd.DataFrame'
| پارامتر | نوع واقعی | پیشفرض واقعی | معنا |
|---|---|---|---|
| df | pd.DataFrame | required | DataFrame معمولی؛ تابع محلی آن را درجا تغییر نمیدهد. |
| schema | str | required | شمای پیادهسازیشده daily_bars/quote/quotes.batch/instruments؛ در load فقط None قابل استفاده است. |
| strict | bool | True | در اعتبارسنجی، خطای صریح به جای ادامه با ساختار نامعتبر. |
خروجی: pd.DataFrame
استثناهای اصلی: InvalidArgumentError, DataQualityError
وابستگیها: pandas, Python standard library
همتای AsyncClient: ندارد/نیازی نیست؛ تابع محلی یا نوع تنظیمات است.
شرح دقیق اجرایی از docstring:
Roadmap-compatible validation entry point.
Returns row_id, rule, severity, message and additional grouped diagnostic columns. A grouped issue may have no single row_id; count and row_positions then describe it. strict=True raises DataQualityError with this same report. This verifies a structural contract, not source correctness or completeness.
normalize
نام قرارداد نقشه راه؛ در این نسخه فقط source=canonical، نه نگاشت خودکار APIهای دیگر.
normalize(df: 'pd.DataFrame', *, schema: 'str', source: 'str', strict: 'bool' = True) -> 'pd.DataFrame'
| پارامتر | نوع واقعی | پیشفرض واقعی | معنا |
|---|---|---|---|
| df | pd.DataFrame | required | DataFrame معمولی؛ تابع محلی آن را درجا تغییر نمیدهد. |
| schema | str | required | شمای پیادهسازیشده daily_bars/quote/quotes.batch/instruments؛ در load فقط None قابل استفاده است. |
| source | str | required | فقط canonical؛ برای نگاشت نامهای دلخواه، normalize_data(columns=...) را استفاده کنید. |
| strict | bool | True | در اعتبارسنجی، خطای صریح به جای ادامه با ساختار نامعتبر. |
خروجی: pd.DataFrame
استثناهای اصلی: InvalidArgumentError, DataQualityError, UnsupportedCapabilityError
وابستگیها: pandas, Python standard library
همتای AsyncClient: ندارد/نیازی نیست؛ تابع محلی یا نوع تنظیمات است.
شرح دقیق اجرایی از docstring:
Roadmap normalization entry point for already canonical column names.
source='canonical' is the currently reviewed mapping. Raw external API mappings are not inferred; use normalize_data(columns=...) for an explicit user mapping and then validate it. All unknown sources fail explicitly.
load_sample
داده مصنوعی آموزشی با نشانه synthetic؛ بدون HTTP واقعی و بدون SQLite.
load_sample(name: 'str' = 'daily_prices_v1') -> 'pd.DataFrame'
| پارامتر | نوع واقعی | پیشفرض واقعی | معنا |
|---|---|---|---|
| name | str | 'daily_prices_v1' | daily_prices_v1 یا quote_v1؛ fixture مصنوعی و بدون شبکه واقعی. |
خروجی: pd.DataFrame
استثناهای اصلی: InvalidArgumentError
وابستگیها: pandas, Python standard library
همتای AsyncClient: ندارد/نیازی نیست؛ تابع محلی یا نوع تنظیمات است.
شرح دقیق اجرایی از docstring:
Load explicit synthetic data with no database access or real network.
Names: daily_prices_v1 and quote_v1. These are teaching/test values, never current market prices, and they cannot become live data through fallback.
Client
کلاینت عادی؛ ساخت آن درخواست شبکه نمیفرستد. برای کاربرد معمول نیاز به await نیست.
Client(*, config: 'ClientConfig | None' = None, source: 'str | None' = None, mode: 'str | None' = None, storage: 'bool | None' = None, data_dir: 'str | Path | None' = None, numeric: 'str | None' = None, credentials=None, transport: 'httpx.BaseTransport | None' = None, _namespace: 'str' = 'public')
| پارامتر | نوع واقعی | پیشفرض واقعی | معنا |
|---|---|---|---|
| config | ClientConfig | None | None | ClientConfig تغییرناپذیر؛ پارامترهای غیر None سازنده بر آن مقدماند. |
| source | str | None | None | در Client فقط public؛ در normalize فقط canonical. سرویس رسمی یا نگاشت ناشناخته بهصورت حدسی اجرا نمیشود. |
| mode | str | None | None | auto/online/offline؛ online میتواند کش معتبر مصرف کند، fresh برای دورزدن کش است. |
| storage | bool | None | None | فعالبودن ذخیره خودکار؛ False بدون ذخیره محلی. |
| data_dir | str | Path | None | None | پوشه شامل dara.sqlite3؛ تغییر مسیر فایلهای قبلی را منتقل یا حذف نمیکند. |
| numeric | str | None | None | analysis با Float64 nullable؛ exact با Decimal برای قیمت/مقدار. شناسه رشته باقی میماند. |
| credentials | documented in source | None | رزرو برای سرویس رسمی؛ مقدار غیر None فعلاً رد میشود. |
| transport | httpx.BaseTransport | None | None | قلاب آزمون HTTPX؛ مصرف عادی نیاز به آن ندارد. |
| _namespace | str | 'public' | فضای داخلی/آزمون؛ در کار عادی مقدار پیشفرض را تغییر ندهید. |
خروجی: Client
استثناهای اصلی: ConfigurationError, UnsupportedCapabilityError
وابستگیها: pandas, Python standard library
همتای AsyncClient: ندارد/نیازی نیست؛ تابع محلی یا نوع تنظیمات است.
شرح دقیق اجرایی از docstring:
Identity, quotes and raw daily history client. Construct freely; close explicitly or use with.
Part 3 adds file interchange and local reconciliation; adjustments, analytics and ML remain deferred.
transport is a test/development hook, not a TSETMC authentication mechanism.
A Client is not intended for concurrent use from multiple OS threads.
AsyncClient
کلاینت Async بومی؛ مدلها و parser با رابط عادی مشترکاند.
AsyncClient(*, config: 'ClientConfig | None' = None, source: 'str | None' = None, mode: 'str | None' = None, storage: 'bool | None' = None, data_dir: 'str | Path | None' = None, numeric: 'str | None' = None, credentials=None, transport: 'httpx.AsyncBaseTransport | None' = None, _namespace: 'str' = 'public')
| پارامتر | نوع واقعی | پیشفرض واقعی | معنا |
|---|---|---|---|
| config | ClientConfig | None | None | ClientConfig تغییرناپذیر؛ پارامترهای غیر None سازنده بر آن مقدماند. |
| source | str | None | None | در Client فقط public؛ در normalize فقط canonical. سرویس رسمی یا نگاشت ناشناخته بهصورت حدسی اجرا نمیشود. |
| mode | str | None | None | auto/online/offline؛ online میتواند کش معتبر مصرف کند، fresh برای دورزدن کش است. |
| storage | bool | None | None | فعالبودن ذخیره خودکار؛ False بدون ذخیره محلی. |
| data_dir | str | Path | None | None | پوشه شامل dara.sqlite3؛ تغییر مسیر فایلهای قبلی را منتقل یا حذف نمیکند. |
| numeric | str | None | None | analysis با Float64 nullable؛ exact با Decimal برای قیمت/مقدار. شناسه رشته باقی میماند. |
| credentials | documented in source | None | رزرو برای سرویس رسمی؛ مقدار غیر None فعلاً رد میشود. |
| transport | httpx.AsyncBaseTransport | None | None | قلاب آزمون HTTPX؛ مصرف عادی نیاز به آن ندارد. |
| _namespace | str | 'public' | فضای داخلی/آزمون؛ در کار عادی مقدار پیشفرض را تغییر ندهید. |
خروجی: AsyncClient
استثناهای اصلی: ConfigurationError, UnsupportedCapabilityError
وابستگیها: pandas, Python standard library
همتای AsyncClient: ندارد/نیازی نیست؛ تابع محلی یا نوع تنظیمات است.
شرح دقیق اجرایی از docstring:
Use within one event loop and async context manager. No hidden asyncio.run().
ClientConfig
تنظیمات تغییرناپذیر کلاینت، شبکه و ذخیره.
ClientConfig(*, source: "Literal['public', 'official']" = 'public', mode: "Literal['auto', 'online', 'offline']" = 'auto', storage: 'StorageConfig | None' = None, network: 'NetworkConfig | None' = None, numeric: "Literal['analysis', 'exact']" = 'analysis', timezone: 'str' = 'Asia/Tehran', strict_schema: 'bool' = True) -> None
| پارامتر | نوع واقعی | پیشفرض واقعی | معنا |
|---|---|---|---|
| source | Literal['public', 'official'] | 'public' | در Client فقط public؛ در normalize فقط canonical. سرویس رسمی یا نگاشت ناشناخته بهصورت حدسی اجرا نمیشود. |
| mode | Literal['auto', 'online', 'offline'] | 'auto' | auto/online/offline؛ online میتواند کش معتبر مصرف کند، fresh برای دورزدن کش است. |
| storage | StorageConfig | None | None | فعالبودن ذخیره خودکار؛ False بدون ذخیره محلی. |
| network | NetworkConfig | None | None | NetworkConfig یا None؛ تنظیمات شبکه معتبر. |
| numeric | Literal['analysis', 'exact'] | 'analysis' | analysis با Float64 nullable؛ exact با Decimal برای قیمت/مقدار. شناسه رشته باقی میماند. |
| timezone | str | 'Asia/Tehran' | منطقه زمانی صریح timestamp فاقد timezone؛ برای date روزانه استفاده نمیشود. |
| strict_schema | bool | True | فعلاً True اجباری؛ فیلدهای ضروری بهصورت پنهانی نادیده گرفته نمیشوند. |
خروجی: ClientConfig
استثناهای اصلی: ConfigurationError
وابستگیها: pandas, Python standard library
همتای AsyncClient: ندارد/نیازی نیست؛ تابع محلی یا نوع تنظیمات است.
شرح دقیق اجرایی از docstring:
ClientConfig(*, source: "Literal['public', 'official']" = 'public', mode: "Literal['auto', 'online', 'offline']" = 'auto', storage: 'StorageConfig | None' = None, network: 'NetworkConfig | None' = None, numeric: "Literal['analysis', 'exact']" = 'analysis', timezone: 'str' = 'Asia/Tehran', strict_schema: 'bool' = True)
NetworkConfig
مهلتها، نرخ محلی و بودجه درخواست؛ این اعداد سهمیه رسمی بورس نیستند.
NetworkConfig(*, connect_timeout: 'float' = 5.0, read_timeout: 'float' = 20.0, operation_timeout: 'float' = 60.0, max_concurrency: 'int' = 4, max_retries: 'int' = 2, requests_per_second: 'float' = 0.5, request_budget: 'int' = 100, max_response_bytes: 'int' = 8388608, trust_env: 'bool' = True) -> None
| پارامتر | نوع واقعی | پیشفرض واقعی | معنا |
|---|---|---|---|
| connect_timeout | float | 5.0 | مهلت اتصال HTTP بر حسب ثانیه. |
| read_timeout | float | 20.0 | بودجه کوتاه خواندن اختیاری مخزن. |
| operation_timeout | float | 60.0 | بودجه کلی عملیات؛ وابسته به محدودیت سیستمعامل. |
| max_concurrency | int | 4 | سقف تنظیمشده همزمانی؛ حلقههای گروهی فعلی عمدتاً ترتیبیاند. |
| max_retries | int | 2 | سقف تلاش مجدد مجاز برای خطاهای موقت. |
| requests_per_second | float | 0.5 | نرخ محدودکننده محلی؛ نرخ مجاز رسمی بورس محسوب نمیشود. |
| request_budget | int | 100 | حداکثر درخواستهای یک عملیات. |
| max_response_bytes | int | 8388608 | سقف اندازه پاسخ HTTP. |
| trust_env | bool | True | پذیرش تنظیمات HTTPX از محیط، مانند proxyهای تنظیمشده کاربر. |
خروجی: NetworkConfig
استثناهای اصلی: ConfigurationError
وابستگیها: pandas, Python standard library
همتای AsyncClient: ندارد/نیازی نیست؛ تابع محلی یا نوع تنظیمات است.
شرح دقیق اجرایی از docstring:
NetworkConfig(*, connect_timeout: 'float' = 5.0, read_timeout: 'float' = 20.0, operation_timeout: 'float' = 60.0, max_concurrency: 'int' = 4, max_retries: 'int' = 2, requests_per_second: 'float' = 0.5, request_budget: 'int' = 100, max_response_bytes: 'int' = 8388608, trust_env: 'bool' = True)
StorageConfig
تنظیمات صف و SQLite بهترینتلاش؛ خرابی ذخیره خودکار دریافت را باطل نمیکند.
StorageConfig(*, enabled: 'bool' = True, backend: "Literal['sqlite']" = 'sqlite', path: 'str | Path | None' = None, queue_max_jobs: 'int' = 128, queue_max_bytes: 'int' = 67108864, queue_overflow: "Literal['drop_new']" = 'drop_new', read_timeout: 'float' = 0.05, offline_read_timeout: 'float' = 30.0, busy_timeout: 'float' = 0.1, failure_cooldown: 'float' = 60.0, raw_capture: 'bool' = True) -> None
| پارامتر | نوع واقعی | پیشفرض واقعی | معنا |
|---|---|---|---|
| enabled | bool | True | فعالبودن ذخیره خودکار. |
| backend | Literal['sqlite'] | 'sqlite' | فعلاً فقط sqlite؛ PostgreSQL کد اجرایی ندارد. |
| path | str | Path | None | None | مسیر غیرخالی str/Path؛ خروجی آرشیو را روی dara.sqlite3 کاری ننویسید. |
| queue_max_jobs | int | 128 | حداکثر تعداد کار منتظر در صف. |
| queue_max_bytes | int | 67108864 | حداکثر بایت محتوای منتظر؛ حافظه نامحدود نمیشود. |
| queue_overflow | Literal['drop_new'] | 'drop_new' | فعلاً drop_new؛ کار ذخیره جدید پذیرفته نمیشود اما داده معتبر تحویل میشود. |
| read_timeout | float | 0.05 | بودجه کوتاه خواندن اختیاری مخزن. |
| offline_read_timeout | float | 30.0 | بودجه خواندن ضروری آفلاین؛ شکست بهصورت صریح گزارش میشود. |
| busy_timeout | float | 0.1 | مهلت کوتاه مشغولبودن SQLite. |
| failure_cooldown | float | 60.0 | فاصله توقف موقت پس از خرابی ذخیره. |
| raw_capture | bool | True | در این معماری کش پاسخ باید True باشد؛ خاموشکردن کل ذخیره با storage=False. |
خروجی: StorageConfig
استثناهای اصلی: ConfigurationError
وابستگیها: pandas, Python standard library
همتای AsyncClient: ندارد/نیازی نیست؛ تابع محلی یا نوع تنظیمات است.
شرح دقیق اجرایی از docstring:
StorageConfig(*, enabled: 'bool' = True, backend: "Literal['sqlite']" = 'sqlite', path: 'str | Path | None' = None, queue_max_jobs: 'int' = 128, queue_max_bytes: 'int' = 67108864, queue_overflow: "Literal['drop_new']" = 'drop_new', read_timeout: 'float' = 0.05, offline_read_timeout: 'float' = 30.0, busy_timeout: 'float' = 0.1, failure_cooldown: 'float' = 60.0, raw_capture: 'bool' = True)
FreshnessPolicy
سیاست سن پاسخ و سن منبع؛ اجازه داده قدیمی باید صریح باشد.
FreshnessPolicy(*, max_age: 'timedelta | None' = None, allow_stale: 'bool' = False, max_stale: 'timedelta | None' = None, max_source_age: 'timedelta | None' = None) -> None
| پارامتر | نوع واقعی | پیشفرض واقعی | معنا |
|---|---|---|---|
| max_age | timedelta | None | None | سن مجاز پاسخ ذخیرهشده؛ timedelta یا None برای پیشفرض قابلیت. |
| allow_stale | bool | False | اجازه صریح پاسخ قدیمی؛ آن را live نمیکند. |
| max_stale | timedelta | None | None | حد نهایی سن پاسخ قدیمی به صورت timedelta یا None. |
| max_source_age | timedelta | None | None | حد سن زمان گزارششده منبع، مستقل از زمان دریافت. |
خروجی: FreshnessPolicy
استثناهای اصلی: ConfigurationError
وابستگیها: pandas, Python standard library
همتای AsyncClient: ندارد/نیازی نیست؛ تابع محلی یا نوع تنظیمات است.
شرح دقیق اجرایی از docstring:
FreshnessPolicy(*, max_age: 'timedelta | None' = None, allow_stale: 'bool' = False, max_stale: 'timedelta | None' = None, max_source_age: 'timedelta | None' = None)
FetchPolicy
سیاست دریافت همان فراخوانی؛ mode، freshness و coverage.
FetchPolicy(*, mode: "Literal['auto', 'online', 'offline'] | None" = None, freshness: 'FreshnessPolicy | None' = None, coverage: "Literal['raise', 'report']" = 'report', allow_official_offline: 'bool' = False) -> None
| پارامتر | نوع واقعی | پیشفرض واقعی | معنا |
|---|---|---|---|
| mode | Literal['auto', 'online', 'offline'] | None | None | auto/online/offline؛ online میتواند کش معتبر مصرف کند، fresh برای دورزدن کش است. |
| freshness | FreshnessPolicy | None | None | FreshnessPolicy صریح؛ بر freshness داخل policy مقدم است. |
| coverage | Literal['raise', 'report'] | 'report' | report محدودیت پوشش را گزارش میکند؛ raise به شواهد کافی نیاز دارد. |
| allow_official_offline | bool | False | رزرو مجوز آفلاین رسمی؛ قابلیت قراردادی جدید ایجاد نمیکند. |
خروجی: FetchPolicy
استثناهای اصلی: ConfigurationError
وابستگیها: pandas, Python standard library
همتای AsyncClient: ندارد/نیازی نیست؛ تابع محلی یا نوع تنظیمات است.
شرح دقیق اجرایی از docstring:
FetchPolicy(*, mode: "Literal['auto', 'online', 'offline'] | None" = None, freshness: 'FreshnessPolicy | None' = None, coverage: "Literal['raise', 'report']" = 'report', allow_official_offline: 'bool' = False)
متدهای کمکی نوعها
این متدها برخلاف getterهای شبکهای، خودشان داده بازار دریافت نمیکنند.
FetchPolicy.offline
ساخت سیاست آفلاین؛ allow_stale=False پیشفرض ایمن است.
FetchPolicy.offline(*, allow_stale: 'bool' = False, max_stale: 'timedelta | None' = None, coverage: "Literal['raise', 'report']" = 'report') -> 'FetchPolicy'
FetchPolicy.fresh
ساخت سیاست دریافت تازه با max_age=0 و بدون fallback قدیمی.
FetchPolicy.fresh(*, coverage: "Literal['raise', 'report']" = 'report') -> 'FetchPolicy'
InstrumentRef.by_ins_code
ساخت مرجع صریح شناسه داخلیِ رشتهای.
InstrumentRef.by_ins_code(value: 'str', *, market: 'Market | None' = None) -> 'InstrumentRef'
InstrumentRef.by_symbol
ساخت مرجع صریح نام نماد.
InstrumentRef.by_symbol(value: 'str', *, market: 'Market | None' = None) -> 'InstrumentRef'
InstrumentRef.by_isin
ساخت نوع مرجع ISIN؛ حل شبکهای ISIN هنوز پشتیبانی نشده است.
InstrumentRef.by_isin(value: 'str', *, market: 'Market | None' = None) -> 'InstrumentRef'
InstrumentRecord.to_frame
تبدیل اطلاعات هویتی به DataFrame، بدون شبکه.
InstrumentRecord.to_frame(self) -> 'pd.DataFrame'
InstrumentRecord.to_ref
ساخت مرجع دقیق از شناسه ابزار دریافتشده.
InstrumentRecord.to_ref(self) -> 'InstrumentRef'
Quote.to_frame
تبدیل Quote به DataFrame با numeric مشخص، بدون درخواست مجدد.
Quote.to_frame(self, *, numeric: "Literal['analysis', 'exact']" = 'analysis') -> 'pd.DataFrame'
مدلهای واقعی
مدلهای اجرایی و نوعهای خروجی
نسخه 0.3.1a1
این فهرست از dataclassها و enumهای خود کد ساخته شده، نه از مدلهای پیشنهادی نقشه راه. Frozen بودن مدلهای دارای DataFrame تنها مانع نسبتدادن دوباره صفت است؛ کاربر همچنان مالک جدول خود است.
InstrumentRef
| فیلد | نوع واقعی | پیشفرض |
|---|---|---|
| kind | Literal['symbol', 'ins_code', 'isin'] | الزامی |
| value | str | الزامی |
| market | Market | None | None |
RecordMeta
| فیلد | نوع واقعی | پیشفرض |
|---|---|---|
| provider | str | الزامی |
| endpoint_id | str | الزامی |
| retrieved_at | datetime | الزامی |
| source_timestamp | datetime | None | الزامی |
| row_id | str | الزامی |
| observation_id | str | الزامی |
| first_observed_at | datetime | الزامی |
| available_at | datetime | الزامی |
| payload_hash | str | الزامی |
| request_id | str | الزامی |
| scope_id | str | الزامی |
| schema_version | str | '1' |
| parser_version | str | '1' |
| availability_basis | str | 'observed' |
| raw_reference | str | None | None |
| quality_flags | tuple[str, ...] | () |
| assumptions | tuple[str, ...] | () |
| source_published_at | datetime | None | None |
| committed_at | datetime | None | None |
| from_cache | bool | False |
| is_stale | bool | False |
| storage_receipt_id | str | None | None |
InstrumentRecord
| فیلد | نوع واقعی | پیشفرض |
|---|---|---|
| ins_code | str | الزامی |
| symbol | str | الزامی |
| raw_symbol | str | الزامی |
| name | str | None | الزامی |
| instrument_id | str | None | الزامی |
| company_cisin | str | None | الزامی |
| market | Market | None | الزامی |
| raw_flow | str | None | الزامی |
| instrument_type | str | None | الزامی |
| is_active | bool | None | الزامی |
| quote_unit | QuoteUnit | الزامی |
| quantity_unit | QuantityUnit | الزامی |
| currency | str | None | الزامی |
| meta | RecordMeta | الزامی |
| valid_from | date | None | None |
| valid_to | date | None | None |
| first_trade_date | date | None | None |
Quote
| فیلد | نوع واقعی | پیشفرض |
|---|---|---|
| instrument | InstrumentRecord | الزامی |
| trade_date | date | None | الزامی |
| last_price | Decimal | None | الزامی |
| closing_price | Decimal | None | الزامی |
| previous_reference_price | Decimal | None | الزامی |
| open_price | Decimal | None | الزامی |
| high_price | Decimal | None | الزامی |
| low_price | Decimal | None | الزامی |
| trade_count | int | None | الزامی |
| volume | Decimal | None | الزامی |
| turnover | Decimal | None | الزامی |
| turnover_currency | str | None | الزامی |
| state | str | None | الزامی |
| raw_state | str | None | الزامی |
| source_timestamp | datetime | None | الزامی |
| retrieved_at | datetime | الزامی |
| meta | RecordMeta | الزامی |
| timestamp_kind | str | 'unknown' |
WriteReceipt
| فیلد | نوع واقعی | پیشفرض |
|---|---|---|
| receipt_id | str | الزامی |
| request_id | str | None | الزامی |
| state | str | الزامی |
| accepted_at | datetime | None | الزامی |
| committed_at | datetime | None | الزامی |
| rows | int | الزامی |
| payload_bytes | int | الزامی |
| reason | str | None | الزامی |
| destination | str | None | الزامی |
| content_hash | str | None | الزامی |
StorageStatus
| فیلد | نوع واقعی | پیشفرض |
|---|---|---|
| enabled | bool | الزامی |
| health | str | الزامی |
| path | str | None | الزامی |
| pending_jobs | int | الزامی |
| pending_bytes | int | الزامی |
| persisted_jobs | int | الزامی |
| failed_jobs | int | الزامی |
| skipped_jobs | int | الزامی |
| last_commit_at | datetime | None | الزامی |
| last_error | str | None | الزامی |
FlushReport
| فیلد | نوع واقعی | پیشفرض |
|---|---|---|
| complete | bool | الزامی |
| queued_at_start | int | الزامی |
| persisted | int | الزامی |
| failed | int | الزامی |
| skipped | int | الزامی |
| pending | int | الزامی |
| elapsed_seconds | float | الزامی |
| last_error | str | None | الزامی |
| receipts | object | الزامی |
BatchFrames
| فیلد | نوع واقعی | پیشفرض |
|---|---|---|
| data | pd.DataFrame | الزامی |
| errors | pd.DataFrame | الزامی |
| requests | pd.DataFrame | الزامی |
| manifest | dict | factory:dict |
SyncPlan
| فیلد | نوع واقعی | پیشفرض |
|---|---|---|
| ins_code | str | الزامی |
| symbol | str | الزامی |
| mode | str | الزامی |
| requested_rows | int | الزامی |
| overlap_start | date | None | الزامی |
| last_stored_date | date | None | الزامی |
| reason | str | الزامی |
| warnings | tuple[str, ...] | () |
SyncResult
| فیلد | نوع واقعی | پیشفرض |
|---|---|---|
| data | pd.DataFrame | الزامی |
| plan | SyncPlan | الزامی |
| summary | dict | الزامی |
| write_receipt | WriteReceipt | None | None |
ClientConfig
| فیلد | نوع واقعی | پیشفرض |
|---|---|---|
| source | Literal['public', 'official'] | 'public' |
| mode | Literal['auto', 'online', 'offline'] | 'auto' |
| storage | StorageConfig | None | None |
| network | NetworkConfig | None | None |
| numeric | Literal['analysis', 'exact'] | 'analysis' |
| timezone | str | 'Asia/Tehran' |
| strict_schema | bool | True |
NetworkConfig
| فیلد | نوع واقعی | پیشفرض |
|---|---|---|
| connect_timeout | float | 5.0 |
| read_timeout | float | 20.0 |
| operation_timeout | float | 60.0 |
| max_concurrency | int | 4 |
| max_retries | int | 2 |
| requests_per_second | float | 0.5 |
| request_budget | int | 100 |
| max_response_bytes | int | 8388608 |
| trust_env | bool | True |
StorageConfig
| فیلد | نوع واقعی | پیشفرض |
|---|---|---|
| enabled | bool | True |
| backend | Literal['sqlite'] | 'sqlite' |
| path | str | Path | None | None |
| queue_max_jobs | int | 128 |
| queue_max_bytes | int | 67108864 |
| queue_overflow | Literal['drop_new'] | 'drop_new' |
| read_timeout | float | 0.05 |
| offline_read_timeout | float | 30.0 |
| busy_timeout | float | 0.1 |
| failure_cooldown | float | 60.0 |
| raw_capture | bool | True |
FreshnessPolicy
| فیلد | نوع واقعی | پیشفرض |
|---|---|---|
| max_age | timedelta | None | None |
| allow_stale | bool | False |
| max_stale | timedelta | None | None |
| max_source_age | timedelta | None | None |
FetchPolicy
| فیلد | نوع واقعی | پیشفرض |
|---|---|---|
| mode | Literal['auto', 'online', 'offline'] | None | None |
| freshness | FreshnessPolicy | None | None |
| coverage | Literal['raise', 'report'] | 'report' |
| allow_official_offline | bool | False |
Market
TSE, IFB, BASE, DERIVATIVES, ENERGY, COMMODITY
این enum بهتنهایی وجود endpoint یا پشتیبانی همه بازارها را تضمین نمیکند.
QuoteUnit
PRICE, PERCENT, INDEX_POINTS, UNKNOWN
این enum بهتنهایی وجود endpoint یا پشتیبانی همه بازارها را تضمین نمیکند.
QuantityUnit
SHARE, CONTRACT, UNIT, MWH, UNKNOWN
این enum بهتنهایی وجود endpoint یا پشتیبانی همه بازارها را تضمین نمیکند.
ردیابی همه قراردادهای داده
Data blueprint coverage
Source contracts: 90. This is a scope comparison, not a claim of live endpoint verification. Original source has been preserved verbatim. Analytics/ML remain deferred at the user's request.
| ID | Original name | Status | Current implementation | Limits |
|---|---|---|---|---|
| C001 | Client | implemented_with_limits | Client | Official provider/credentials remain unsupported. |
| C002 | capabilities | implemented_scoped | capabilities | Implementation is present; consult the current signature and test report. |
| C003 | search_instruments | implemented_with_limits | search_instruments | Active filtering requires evidence; this is not a complete historical universe. |
| C004 | get_instrument | implemented_with_limits | get_instrument | ISIN/historical identity options remain explicitly unsupported. |
| C005 | get_instruments | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C006 | get_quote | implemented_scoped | get_quote | Implementation is present; consult the current signature and test report. |
| C007 | get_price | implemented_scoped | get_price | Implementation is present; consult the current signature and test report. |
| C008 | get_quotes | implemented_scoped | get_quotes | Implementation is present; consult the current signature and test report. |
| C009 | get_history | implemented_with_limits | get_history | Raw listing history only; no source adjustment, verified identity chain or online as_of. |
| C010 | iter_history | implemented_with_limits | iter_history | Local splitting of a full response; no network streaming. |
| C011 | get_history_many | implemented_with_limits | get_history_many | Raw history only; batch errors remain separate. |
| C012 | get_daily_market | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C013 | get_adjustments | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C014 | get_market_watch | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C015 | get_market_overview | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C016 | get_client_types | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C017 | get_client_type_history | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C018 | get_market_client_types | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C019 | get_indices | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C020 | get_index | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C021 | get_index_history | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C022 | get_index_intraday | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C023 | get_index_members | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C024 | get_index_impact | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C025 | get_order_book | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C026 | get_order_book_updates | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C027 | get_trades | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C028 | get_intraday_quotes | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C029 | get_instrument_states | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C030 | get_thresholds | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C031 | get_shareholders | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C032 | get_shareholder_history | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C033 | get_shareholder_holdings | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C034 | get_share_capital_history | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C035 | get_dividends | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C036 | get_funds | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C037 | get_fund | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C038 | get_fund_nav_history | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C039 | get_messages | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C040 | get_disclosures | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C041 | get_sectors | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C042 | get_subsectors | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C043 | get_boards | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C044 | get_market_sessions | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C045 | get_options | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C046 | get_futures | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C047 | get_opening_auction | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C048 | get_energy_instruments | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C049 | get_energy_auctions | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C050 | to_pandas | related_subset_not_full_contract | Quote.to_frame / InstrumentRecord.to_frame | Tables already return Pandas; no universal converter is implemented. |
| C051 | to_polars | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C053 | reconstruct_order_book | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C054 | plan_history_sync | related_subset_not_full_contract | sync_history | A SyncPlan is produced as part of sync; the general persistent plan API is not implemented. |
| C055 | run_download_plan | related_subset_not_full_contract | sync_history | Per-instrument sync exists, not the general multi-chunk download-plan executor. |
| C056 | load_sample | implemented_scoped | load_sample | Implementation is present; consult the current signature and test report. |
| C057 | AsyncClient | implemented_with_limits | AsyncClient | Official provider/credentials remain unsupported. |
| C058 | watch_market | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C059 | configure | implemented_with_limits | configure | Adds convenience overrides and returns ClientConfig; changing an active default client is rejected. |
| C060 | get_frame_manifest | related_subset_not_full_contract | frame_metadata | Returns a dict copy, not the full proposed FrameManifest model. |
| C061 | get_request_report | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C062 | storage_status | implemented_scoped | storage_status | Implementation is present; consult the current signature and test report. |
| C063 | flush | implemented_scoped | flush | Implementation is present; consult the current signature and test report. |
| C064 | close | implemented_scoped | close | Implementation is present; consult the current signature and test report. |
| C065 | aflush | related_subset_not_full_contract | AsyncClient.flush | Available on AsyncClient, not a separate module-level function. |
| C066 | aclose | related_subset_not_full_contract | AsyncClient.aclose | Available on AsyncClient, not a separate module-level function. |
| C067 | save | implemented_with_limits | save | Four formats implemented; Parquet not runtime-tested here without pyarrow. |
| C068 | load | implemented_with_limits | load | Dara archives only; schema overrides remain reserved; no arbitrary-file guessing. |
| C069 | load_stored | related_subset_not_full_contract | load_stored_history | Limited to the implemented daily history index. |
| C070 | make_snapshot | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C071 | validate | implemented_with_limits | validate | Structural reports only; grouped issues may not have a single row_id. |
| C072 | normalize | implemented_with_limits | normalize | source='canonical' only; normalize_data accepts explicit user mappings. |
| C104 | StorageConfig | implemented_with_limits | StorageConfig | SQLite response cache/history implemented; arbitrary storage backends are deferred. |
| C105 | NetworkConfig | implemented_with_limits | NetworkConfig | Concurrency is transport-limited; batches are intentionally sequential. |
| C106 | FreshnessPolicy | implemented_scoped | FreshnessPolicy | Implementation is present; consult the current signature and test report. |
| C107 | FetchPolicy | implemented_scoped | FetchPolicy | Implementation is present; consult the current signature and test report. |
| C108 | ClientConfig | implemented_with_limits | ClientConfig | Public source only, strict parsing required. |
| C109 | Credentials | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C110 | InstrumentRef | implemented_scoped | InstrumentRef | Exact typed reference constructor; no network. |
| C112 | InstrumentRef.by_ins_code | implemented_scoped | InstrumentRef.by_ins_code | Exact typed reference constructor; no network. |
| C113 | InstrumentRef.by_isin | model_only | InstrumentRef.by_isin | Reference can be constructed but network ISIN resolution is unsupported. |
| C114 | InstrumentRef.by_symbol | implemented_scoped | InstrumentRef.by_symbol | Exact typed reference constructor; no network. |
| C119 | get_fundamentals | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C120 | get_instrument_metrics | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C121 | get_related_instruments | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C122 | get_key_statistics | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C123 | get_market_map | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C124 | get_fund_rankings | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. | |
| C125 | get_write_receipt | implemented_scoped | get_write_receipt | Implementation is present; consult the current signature and test report. |
| C126 | load_snapshot | related_subset_not_full_contract | load | File snapshot archive only, not a general snapshot registry. |
| C127 | migrate_storage | planned_not_implemented | Not added to this data usability release; no stub is advertised as completed. |