# isyatirimhisse v5.0.0
## Türkçe tercih edenler için:
***Those who prefer English can scroll down the page.***
## Açıklama
`isyatirimhisse`, İş Yatırım'ın web sitesinden hisse senedi, endeks ve finansal tablo verilerini kolayca çekmek için geliştirilmiş bir Python kütüphanesidir.
*** UYARI ***
`isyatirimhisse`, resmi İş Yatırım Menkul Değerler A.Ş. kütüphanesi değildir ve şirket tarafından doğrulanmamıştır. Kullanıcılar, kütüphaneyi kullanmadan önce ilgili tüm verilere erişim için İş Yatırım Menkul Değerler A.Ş.'nin kullanım koşullarını ve haklarını incelemelidir. `isyatirimhisse`, yalnızca kişisel kullanım amaçları için tasarlanmıştır.
İş Yatırım web sitesinden hisse senedi verileri ve finansal tablolara erişmek için Python paketini kullanırken, aşırı talep göndermenin potansiyel sonuçlarına dikkat etmek çok önemlidir. Aşırı talep aşağıdaki çeşitli olumsuz etkilere neden olabilir:
* **Performans Etkisi:** Kısa bir süre içinde çok fazla talep göndermek, İş Yatırım web sitesinin performansını ve yanıt verme hızını ciddi şekilde etkileyebilir.
* **Hizmet Kesintisi:** Yoğun veri çekme işlemleri, web sitesindeki güvenlik önlemlerini tetikleyebilir ve geçici hizmet kesintilerine neden olabilir.
* **IP Engelleme:** Tekrarlayan veya agresif veri çekme davranışları, IP adresinizin web sitesine erişimini geçici veya kalıcı olarak engellemesine yol açabilir.
Bu sorunlardan kaçınmak ve sorunsuz bir işlem sağlamak için aşağıdaki önerileri dikkate alabilirsiniz.
* Taleplerinizin hızını, web sitesinin kapasitesini dikkate alarak makul bir seviyede tutun.
* Sıkça çekilen verileri yerel olarak saklamaya çalışın. Böylece tekrarlayan taleplere gerek kalmayacaktır.
Bu kurallara uymak, kesinti riskini en aza indirgeyebilir ve İş Yatırım web sitesinin hem sizin hem de diğer kullanıcılar için güvenilir bir deneyim sunmasını sağlar.
## Kurulum
Kütüphaneyi kullanmak için aşağıdaki adımları izleyin:
1. Python'ı sisteminize yükleyin: https://www.python.org/downloads/
2. Terminali açın ve paketi yüklemek için aşağıdaki komutu çalıştırın:
```bash
pip install isyatirimhisse
```
Spesifik bir versiyona ait kurulum yapacaksanız aşağıdaki örnekte olduğu gibi komutu çalıştırabilirsiniz.
```bash
pip install isyatirimhisse==5.0.0
```
Yüklü paketin versiyonuna aşağıdaki komut yardımıyla ulaşabilirsiniz.
```bash
pip show isyatirimhisse
```
## Kullanım
### Kütüphanenin İçeri Aktarılması
```python
from isyatirimhisse import fetch_stock_data, fetch_index_data, fetch_financials
```
### Fonksiyonlar ve Parametreleri
#### Hisse Senedi Verisi Çekme (`fetch_stock_data`)
```python
df = fetch_stock_data(
symbols="THYAO",
start_date="01-01-2023",
end_date="18-07-2025",
save_to_excel=True
)
```
* `symbols`: (str | list) - Bir veya birden fazla hisse kodu.
* `start_date`: (str) - Veri başlangıç tarihi, 'GG-AA-YYYY' formatında.
* `end_date`: (str, opsiyonel) - Veri bitiş tarihi, 'GG-AA-YYYY' formatında.
* `save_to_excel`: (bool, opsiyonel) - Sonuçları Excel dosyasına kaydet (varsayılan: False).
#### Endeks Verisi Çekme (`fetch_index_data`)
```python
df = fetch_index_data(
indices="XU100",
start_date="01-01-2023",
end_date="18-07-2025",
save_to_excel=True
)
```
* `indices`: (str | list) - Bir veya birden fazla endeks kodu.
* `start_date`: (str) - Veri başlangıç tarihi, 'GG-AA-YYYY' formatında.
* `end_date`: (str, opsiyonel) - Veri bitiş tarihi, 'GG-AA-YYYY' formatında.
* `save_to_excel`: (bool, opsiyonel) - Sonuçları Excel dosyasına kaydet (varsayılan: False).
#### Finansal Tablo Verisi Çekme (`fetch_financials`)
```python
df = fetch_financials(
symbols="THYAO",
start_year=2023,
end_year=2025,
exchange="TRY",
financial_group='1',
save_to_excel=True
)
```
* `symbols`: (str | list) - Bir veya birden fazla hisse kodu.
* `start_year`: (int | str) - Başlangıç yılı.
* `end_year`: (int | str, opsiyonel) - Bitiş yılı.
* `exchange`: (str, opsiyonel) - Döviz türü ('TRY' veya 'USD'), varsayılan 'TRY'.
* `financial_group`: (str) - Finansal tablo grubu.
* '1': XI_29
* '2': UFRS
* '3': UFRS_K
* `save_to_excel`: (bool, opsiyonel) - Sonuçları Excel dosyasına kaydet (varsayılan: False).
### İpuçları:
* Birden fazla hisse veya endeks ile çalışırken, string yerine mutlaka köşeli parantezli (`[]`) liste kullanınız.
* Liste girilmediği durumda, tek bir sembol için doğrudan string yazabilirsiniz.
## Notlar
* Kütüphane, İş Yatırım'ın web sitesindeki verilere bağımlıdır. Bu nedenle, verilerin doğruluğu ve sürekliliği için lütfen ilgili web sitesini kontrol edin: [İş Yatırım](https://www.isyatirim.com.tr/tr-tr/Sayfalar/default.aspx)
* Kütüphanenin geliştirilmesi ve iyileştirilmesi için geri bildirimlerinizi bekliyorum. GitHub reposuna katkıda bulunun: [GitHub Repo](https://github.com/urazakgul/isyatirimhisse)
* Herhangi bir sorun veya öneride lütfen GitHub reposundaki "Issue" bölümünden yeni bir konu açarak bildirim sağlayın: [GitHub Issues](https://github.com/urazakgul/isyatirimhisse/issues)
## Sürüm Notları
### v0.1.0 - 25/07/2023
* İlk sürüm yayınlandı.
### v0.1.1 - 27/07/2023
* `veri_cek` fonksiyonundaki parametreleri kontrol eden koşul ifadeleri güncellendi.
* `json` kütüphanesi kaldırıldı.
* `veri_cek` fonksiyonuna `200` HTTP kodu koşul ile beraber eklendi ve takibe alındı.
### v0.2.0 - 30/07/2023
* `veri_gorsel` fonksiyonu eklendi. Fonksiyon, 3 farklı veri türünde görselleştirme yapma imkanı sunuyor.
* `veri_cek` fonksiyonuna pandas DataFrame'i excel olarak kaydedecek parametreler eklendi.
### v0.2.1 - 31/07/2023
* 0.2.0 sürümündeki kurulum hatası giderildi.
* Dokümantasyondaki Türkçe karakter problemi giderildi.
* Dokümantasyonda görünmeyen görseller görünür hale getirildi.
### v1.0.0 - 05/08/2023
* Fonksiyonlar İngilizce diline çevrildi.
* `veri_cek`: `fetch_data`
* `veri_gorsel`: `visualize_data`
* Finansal (Mali) tabloları alabilmeyi sağlayan `fetch_financials` fonksiyonu eklendi.
* Fonksiyonlara çıktıları iki dilde (İngilizce ve Türkçe) alabilme özelliği eklendi.
* `fetch_data` fonksiyonu, hisse senetlerinin TL bazlı fiyatlarının yanı sıra USD bazlı fiyatlarını da alabilme imkanı sunacak şekilde güncellendi.
* `visualize_data` fonksiyonuna ekstra özellik ekleyebilmeyi sağlayan **kwargs parametreleri genişletildi.
* Dokümantasyon içeriği Türkçe ve İngilizce olacak şekilde güncellendi.
### v2.0.0 - 10/08/2023
* `fetch_data` fonksiyonundaki `currency` parametresi `exchange` olarak değiştirildi.
* `fetch_financials` fonksiyonundaki `selenium` paketi bağımlılığı kaldırıldı.
* `fetch_financials` fonksiyonu ile finansal tablolar tek bir tablo olarak alınacak şekilde güncellendi.
* `fetch_financials` fonksiyonundaki `start_period` ve `end_period` parametreleri sırasıyla `start_year` ve `end_year` olarak güncellendi.
* `fetch_financials` fonksiyonuna `exchange` ve `financial_group` parametreleri eklendi.
* `fetch_data` ve `fetch_financials` fonksiyonlarındaki kontroller artırıldı.
### v2.1.0 - 12/08/2023
* `fetch_data` fonksiyonuna endekslere ait verileri çekmeyi sağlayacak `stock_market_index` parametresi eklenmiştir.
* `fetch_financials` fonksiyonları ile çekilen finansalların kalemlerinde bulunan boşluklar kaldırılmıştır.
### v2.1.1 - 13/08/2023
* `fetch_data` fonksiyonu ile gönderilen istekler kontrol edilecek.
### v2.1.2 - 13/08/2023
* 2.1.1 sürümündeki kod hatası düzeltilmiştir.
### v2.1.3 - 13/08/2023
* Gönderilen isteklerdeki zaman kısıtlaması iyileştirildi.
### v3.0.0 - 19/08/2023
* `fetch_data` fonksiyonu asenkron yapıya geçirilmiştir.
* `fetch_data` fonksiyonundaki sembol parametresi 400 sembol ile sınırlandırılmıştır.
* `visualize_data` fonksiyonunun çalıştırılma şekli asenkron yapı nedeniyle değişmiştir.
### v3.0.1 - 20/08/2023
* Veri çerçevesindeki tarih aralığı problemi düzeltildi.
### v3.0.2 - 05/10/2023
* 400 olan sembol sınırlaması kaldırıldı.
### v4.0.0 - 07/10/2023
* `StockData` ve `Financials` isimli iki sınıf oluşturuldu.
* `StockData` sınıfındaki `get_data` ve `Financials` sınıfındaki `get_data` metotlarının parametreleri güncellendi.
* Tablo çıktılarının yapısı değiştirildi.
* Veri görselleştirme özelliği kaldırıldı.
* Asenkron yapı kaldırıldı.
### v5.0.0 - 19/07/2025
* Sınıf yapısı kaldırıldı, fonksiyon tabanlı API yapısına geçildi.
* `fetch_stock_data`, `fetch_index_data`, `fetch_financials` fonksiyonları eklendi.
* Kod ve dökümantasyon sadeleştirildi.
## Lisans
Bu proje MIT Lisansı altında lisanslanmıştır.
## For those who prefer English:
## Description
`isyatirimhisse` is a Python library developed to easily fetch stock, index, and financial statement data from the Is Investment website.
*** WARNING ***
`isyatirimhisse` is not the official library of Is Investment Securities Inc. and has not been verified by the company. Before using the library, users should review Is Investment Securities Inc.'s terms of use and rights regarding data access. `isyatirimhisse` is designed for personal use only.
When using the Python package to access stock and financial statement data from the Is Investment website, it is very important to be aware of the potential consequences of sending excessive requests. Excessive requests can cause various negative effects, such as:
* **Performance Impact:** Sending too many requests in a short period can seriously affect the performance and response speed of the Is Investment website.
* **Service Disruption:** Intensive data fetching operations can trigger the website’s security measures and cause temporary service interruptions.
* **IP Blocking:** Repetitive or aggressive data fetching behaviors can cause your IP address to be temporarily or permanently blocked from accessing the website.
To avoid these issues and ensure smooth operation, please consider the following recommendations:
* Keep the speed of your requests at a reasonable level, considering the website's capacity.
* Try to store frequently fetched data locally, so you won’t need to make repetitive requests.
Following these rules will minimize the risk of interruption and help ensure that the Is Investment website provides a reliable experience for both you and other users.
## Installation
To use the library, follow these steps:
1. Install Python on your system: https://www.python.org/downloads/
2. Open the terminal and run the following command to install the package:
```bash
pip install isyatirimhisse
```
If you want to install a specific version, run the command as shown below:
```bash
pip install isyatirimhisse==5.0.0
```
You can check the installed package version using the following command:
```bash
pip show isyatirimhisse
```
## Usage
### Importing the Library
```python
from isyatirimhisse import fetch_stock_data, fetch_index_data, fetch_financials
```
### Functions and Parameters
#### Fetching Stock Data (`fetch_stock_data`)
```python
df = fetch_stock_data(
symbols="THYAO",
start_date="01-01-2023",
end_date="18-07-2025",
save_to_excel=True
)
```
* `symbols`: (str | list) - One or more stock tickers.
* `start_date`: (str) - Start date for the data, in 'DD-MM-YYYY' format.
* `end_date`: (str, optional) - End date for the data, in 'DD-MM-YYYY' format.
* `save_to_excel`: (bool, optional) - Save results to an Excel file (default: False).
#### Fetching Index Data (`fetch_index_data`)
```python
df = fetch_index_data(
indices="XU100",
start_date="01-01-2023",
end_date="18-07-2025",
save_to_excel=True
)
```
* `indices`: (str | list) - One or more index codes.
* `start_date`: (str) - Start date for the data, in 'DD-MM-YYYY' format.
* `end_date`: (str, optional) - End date for the data, in 'DD-MM-YYYY' format.
* `save_to_excel`: (bool, optional) - Save results to an Excel file (default: False).
#### Fetching Financial Statement Data (`fetch_financials`)
```python
df = fetch_financials(
symbols="THYAO",
start_year=2023,
end_year=2025,
exchange="TRY",
financial_group='1',
save_to_excel=True
)
```
* `symbols`: (str | list) - One or more stock tickers.
* `start_year`: (int | str) - Start year.
* `end_year`: (int | str, optional) - End year.
* `exchange`: (str, optional) - Currency ('TRY' or 'USD'), default is 'TRY'.
* `financial_group`: (str) - Financial statement group.
* '1': XI_29
* '2': IFRS
* '3': IFRS_K
* `save_to_excel`: (bool, optional) - Save results to an Excel file (default: False).
### Tips
* When working with multiple stocks or indices, always use a list with square brackets (`[]`) instead of a string.
* For a single symbol, you can provide it directly as a string.
## Notes
* The library depends on the data available on the Is Investment website. Therefore, please check the relevant website for the accuracy and continuity of the data: [IS Investment](https://www.isyatirim.com.tr/tr-tr/Sayfalar/default.aspx)
* I welcome your feedback and contributions for the development and improvement of the library. Please contribute to the GitHub repo: [GitHub Repo](https://github.com/urazakgul/isyatirimhisse)
* For any problems or suggestions, please open a new issue in the "Issues" section of the GitHub repo: [GitHub Issues](https://github.com/urazakgul/isyatirimhisse/issues)
## Release Notes
### v0.1.0 - 25/07/2023
* First release.
### v0.1.1 - 27/07/2023
* Updated conditional statements checking parameters in the `veri_cek` function.
* Removed the `json` library.
* Added HTTP code `200` condition to the `veri_cek` function and started tracking it.
### v0.2.0 - 30/07/2023
* Added the `veri_gorsel` function, providing visualization in 3 different data types.
* Added parameters to the `veri_cek` function to save pandas DataFrame as Excel.
### v0.2.1 - 31/07/2023
* Fixed the installation error present in version 0.2.0.
* Fixed Turkish character problems in the documentation.
* Made previously invisible images in the documentation visible.
### v1.0.0 - 05/08/2023
* Functions translated into English:
* `veri_cek` -> `fetch_data`
* `veri_gorsel` -> `visualize_data`
* Added the `fetch_financials` function for fetching financial statements.
* Added the option to receive outputs in both English and Turkish.
* Updated the `fetch_data` function to fetch USD-based as well as TRY-based prices.
* Extended **kwargs in the `visualize_data` function to allow extra features.
* Updated documentation to be available in both Turkish and English.
### v2.0.0 - 10/08/2023
* Changed the `currency` parameter in the `fetch_data` function to `exchange`.
* Removed the `selenium` dependency from the `fetch_financials` function.
* Updated the `fetch_financials` function to fetch financial statements as a single table.
* Renamed `start_period` and `end_period` parameters to `start_year` and `end_year` in the `fetch_financials function`.
* Added `exchange` and `financial_group` parameters to the `fetch_financials` function.
* Added more checks and validation to both `fetch_data` and `fetch_financials`.
### v2.1.0 - 12/08/2023
* Added `stock_market_index` parameter to the `fetch_data` function for index data.
* Removed spaces in the items of financial statements fetched with `fetch_financials`.
### v2.1.1 - 13/08/2023
* Requests sent with the `fetch_data` function will be checked.
### v2.1.2 - 13/08/2023
* Fixed a code bug present in version 2.1.1.
### v2.1.3 - 13/08/2023
* Improved time restriction for requests sent.
### v3.0.0 - 19/08/2023
* `fetch_data` function made asynchronous.
* Symbol parameter in `fetch_data` limited to 400 symbols.
* The way `visualize_data` is executed changed due to asynchronous structure.
### v3.0.1 - 20/08/2023
* Fixed date range problem in data frames.
### v3.0.2 - 05/10/2023
* Removed the 400-symbol limit.
### v4.0.0 - 07/10/2023
* Created two classes: `StockData` and `Financials`.
* Updated parameters for the `get_data` methods of both classes.
* Modified the structure of table outputs.
* Removed data visualization feature.
* Removed asynchronous structure.
### v5.0.0 - 19/07/2025
* Removed class structure; switched to a function-based API.
* Added `fetch_stock_data`, `fetch_index_data`, and `fetch_financials` functions.
* Simplified code and documentation.
## License
This project is licensed under the MIT License.
Raw data
{
"_id": null,
"home_page": "https://github.com/urazakgul/isyatirimhisse",
"name": "isyatirimhisse",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": null,
"author": "Uraz Akg\u00fcl",
"author_email": "urazdev@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/70/cf/43c9c04d6aa2256ef5f7ddb0152f621e1875d6c43cc4d23e56be5ae09615/isyatirimhisse-5.0.0.tar.gz",
"platform": null,
"description": "# isyatirimhisse v5.0.0\r\n\r\n## T\u00fcrk\u00e7e tercih edenler i\u00e7in:\r\n\r\n***Those who prefer English can scroll down the page.***\r\n\r\n## A\u00e7\u0131klama\r\n\r\n`isyatirimhisse`, \u0130\u015f Yat\u0131r\u0131m'\u0131n web sitesinden hisse senedi, endeks ve finansal tablo verilerini kolayca \u00e7ekmek i\u00e7in geli\u015ftirilmi\u015f bir Python k\u00fct\u00fcphanesidir.\r\n\r\n*** UYARI ***\r\n\r\n`isyatirimhisse`, resmi \u0130\u015f Yat\u0131r\u0131m Menkul De\u011ferler A.\u015e. k\u00fct\u00fcphanesi de\u011fildir ve \u015firket taraf\u0131ndan do\u011frulanmam\u0131\u015ft\u0131r. Kullan\u0131c\u0131lar, k\u00fct\u00fcphaneyi kullanmadan \u00f6nce ilgili t\u00fcm verilere eri\u015fim i\u00e7in \u0130\u015f Yat\u0131r\u0131m Menkul De\u011ferler A.\u015e.'nin kullan\u0131m ko\u015fullar\u0131n\u0131 ve haklar\u0131n\u0131 incelemelidir. `isyatirimhisse`, yaln\u0131zca ki\u015fisel kullan\u0131m ama\u00e7lar\u0131 i\u00e7in tasarlanm\u0131\u015ft\u0131r.\r\n\r\n\u0130\u015f Yat\u0131r\u0131m web sitesinden hisse senedi verileri ve finansal tablolara eri\u015fmek i\u00e7in Python paketini kullan\u0131rken, a\u015f\u0131r\u0131 talep g\u00f6ndermenin potansiyel sonu\u00e7lar\u0131na dikkat etmek \u00e7ok \u00f6nemlidir. A\u015f\u0131r\u0131 talep a\u015fa\u011f\u0131daki \u00e7e\u015fitli olumsuz etkilere neden olabilir:\r\n\r\n* **Performans Etkisi:** K\u0131sa bir s\u00fcre i\u00e7inde \u00e7ok fazla talep g\u00f6ndermek, \u0130\u015f Yat\u0131r\u0131m web sitesinin performans\u0131n\u0131 ve yan\u0131t verme h\u0131z\u0131n\u0131 ciddi \u015fekilde etkileyebilir.\r\n\r\n* **Hizmet Kesintisi:** Yo\u011fun veri \u00e7ekme i\u015flemleri, web sitesindeki g\u00fcvenlik \u00f6nlemlerini tetikleyebilir ve ge\u00e7ici hizmet kesintilerine neden olabilir.\r\n\r\n* **IP Engelleme:** Tekrarlayan veya agresif veri \u00e7ekme davran\u0131\u015flar\u0131, IP adresinizin web sitesine eri\u015fimini ge\u00e7ici veya kal\u0131c\u0131 olarak engellemesine yol a\u00e7abilir.\r\n\r\nBu sorunlardan ka\u00e7\u0131nmak ve sorunsuz bir i\u015flem sa\u011flamak i\u00e7in a\u015fa\u011f\u0131daki \u00f6nerileri dikkate alabilirsiniz.\r\n\r\n* Taleplerinizin h\u0131z\u0131n\u0131, web sitesinin kapasitesini dikkate alarak makul bir seviyede tutun.\r\n\r\n* S\u0131k\u00e7a \u00e7ekilen verileri yerel olarak saklamaya \u00e7al\u0131\u015f\u0131n. B\u00f6ylece tekrarlayan taleplere gerek kalmayacakt\u0131r.\r\n\r\nBu kurallara uymak, kesinti riskini en aza indirgeyebilir ve \u0130\u015f Yat\u0131r\u0131m web sitesinin hem sizin hem de di\u011fer kullan\u0131c\u0131lar i\u00e7in g\u00fcvenilir bir deneyim sunmas\u0131n\u0131 sa\u011flar.\r\n\r\n## Kurulum\r\n\r\nK\u00fct\u00fcphaneyi kullanmak i\u00e7in a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 izleyin:\r\n\r\n1. Python'\u0131 sisteminize y\u00fckleyin: https://www.python.org/downloads/\r\n2. Terminali a\u00e7\u0131n ve paketi y\u00fcklemek i\u00e7in a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n:\r\n\r\n```bash\r\npip install isyatirimhisse\r\n```\r\n\r\nSpesifik bir versiyona ait kurulum yapacaksan\u0131z a\u015fa\u011f\u0131daki \u00f6rnekte oldu\u011fu gibi komutu \u00e7al\u0131\u015ft\u0131rabilirsiniz.\r\n\r\n```bash\r\npip install isyatirimhisse==5.0.0\r\n```\r\n\r\nY\u00fckl\u00fc paketin versiyonuna a\u015fa\u011f\u0131daki komut yard\u0131m\u0131yla ula\u015fabilirsiniz.\r\n\r\n```bash\r\npip show isyatirimhisse\r\n```\r\n\r\n## Kullan\u0131m\r\n\r\n### K\u00fct\u00fcphanenin \u0130\u00e7eri Aktar\u0131lmas\u0131\r\n\r\n```python\r\nfrom isyatirimhisse import fetch_stock_data, fetch_index_data, fetch_financials\r\n```\r\n\r\n### Fonksiyonlar ve Parametreleri\r\n\r\n#### Hisse Senedi Verisi \u00c7ekme (`fetch_stock_data`)\r\n\r\n```python\r\ndf = fetch_stock_data(\r\n symbols=\"THYAO\",\r\n start_date=\"01-01-2023\",\r\n end_date=\"18-07-2025\",\r\n save_to_excel=True\r\n)\r\n```\r\n\r\n* `symbols`: (str | list) - Bir veya birden fazla hisse kodu.\r\n* `start_date`: (str) - Veri ba\u015flang\u0131\u00e7 tarihi, 'GG-AA-YYYY' format\u0131nda.\r\n* `end_date`: (str, opsiyonel) - Veri biti\u015f tarihi, 'GG-AA-YYYY' format\u0131nda.\r\n* `save_to_excel`: (bool, opsiyonel) - Sonu\u00e7lar\u0131 Excel dosyas\u0131na kaydet (varsay\u0131lan: False).\r\n\r\n#### Endeks Verisi \u00c7ekme (`fetch_index_data`)\r\n\r\n```python\r\ndf = fetch_index_data(\r\n indices=\"XU100\",\r\n start_date=\"01-01-2023\",\r\n end_date=\"18-07-2025\",\r\n save_to_excel=True\r\n)\r\n```\r\n\r\n* `indices`: (str | list) - Bir veya birden fazla endeks kodu.\r\n* `start_date`: (str) - Veri ba\u015flang\u0131\u00e7 tarihi, 'GG-AA-YYYY' format\u0131nda.\r\n* `end_date`: (str, opsiyonel) - Veri biti\u015f tarihi, 'GG-AA-YYYY' format\u0131nda.\r\n* `save_to_excel`: (bool, opsiyonel) - Sonu\u00e7lar\u0131 Excel dosyas\u0131na kaydet (varsay\u0131lan: False).\r\n\r\n#### Finansal Tablo Verisi \u00c7ekme (`fetch_financials`)\r\n\r\n```python\r\ndf = fetch_financials(\r\n symbols=\"THYAO\",\r\n start_year=2023,\r\n end_year=2025,\r\n exchange=\"TRY\",\r\n financial_group='1',\r\n save_to_excel=True\r\n)\r\n```\r\n\r\n* `symbols`: (str | list) - Bir veya birden fazla hisse kodu.\r\n* `start_year`: (int | str) - Ba\u015flang\u0131\u00e7 y\u0131l\u0131.\r\n* `end_year`: (int | str, opsiyonel) - Biti\u015f y\u0131l\u0131.\r\n* `exchange`: (str, opsiyonel) - D\u00f6viz t\u00fcr\u00fc ('TRY' veya 'USD'), varsay\u0131lan 'TRY'.\r\n* `financial_group`: (str) - Finansal tablo grubu.\r\n * '1': XI_29\r\n * '2': UFRS\r\n * '3': UFRS_K\r\n* `save_to_excel`: (bool, opsiyonel) - Sonu\u00e7lar\u0131 Excel dosyas\u0131na kaydet (varsay\u0131lan: False).\r\n\r\n### \u0130pu\u00e7lar\u0131:\r\n\r\n* Birden fazla hisse veya endeks ile \u00e7al\u0131\u015f\u0131rken, string yerine mutlaka k\u00f6\u015feli parantezli (`[]`) liste kullan\u0131n\u0131z.\r\n* Liste girilmedi\u011fi durumda, tek bir sembol i\u00e7in do\u011frudan string yazabilirsiniz.\r\n\r\n## Notlar\r\n\r\n* K\u00fct\u00fcphane, \u0130\u015f Yat\u0131r\u0131m'\u0131n web sitesindeki verilere ba\u011f\u0131ml\u0131d\u0131r. Bu nedenle, verilerin do\u011frulu\u011fu ve s\u00fcreklili\u011fi i\u00e7in l\u00fctfen ilgili web sitesini kontrol edin: [\u0130\u015f Yat\u0131r\u0131m](https://www.isyatirim.com.tr/tr-tr/Sayfalar/default.aspx)\r\n* K\u00fct\u00fcphanenin geli\u015ftirilmesi ve iyile\u015ftirilmesi i\u00e7in geri bildirimlerinizi bekliyorum. GitHub reposuna katk\u0131da bulunun: [GitHub Repo](https://github.com/urazakgul/isyatirimhisse)\r\n* Herhangi bir sorun veya \u00f6neride l\u00fctfen GitHub reposundaki \"Issue\" b\u00f6l\u00fcm\u00fcnden yeni bir konu a\u00e7arak bildirim sa\u011flay\u0131n: [GitHub Issues](https://github.com/urazakgul/isyatirimhisse/issues)\r\n\r\n## S\u00fcr\u00fcm Notlar\u0131\r\n\r\n### v0.1.0 - 25/07/2023\r\n\r\n* \u0130lk s\u00fcr\u00fcm yay\u0131nland\u0131.\r\n\r\n### v0.1.1 - 27/07/2023\r\n\r\n* `veri_cek` fonksiyonundaki parametreleri kontrol eden ko\u015ful ifadeleri g\u00fcncellendi.\r\n* `json` k\u00fct\u00fcphanesi kald\u0131r\u0131ld\u0131.\r\n* `veri_cek` fonksiyonuna `200` HTTP kodu ko\u015ful ile beraber eklendi ve takibe al\u0131nd\u0131.\r\n\r\n### v0.2.0 - 30/07/2023\r\n\r\n* `veri_gorsel` fonksiyonu eklendi. Fonksiyon, 3 farkl\u0131 veri t\u00fcr\u00fcnde g\u00f6rselle\u015ftirme yapma imkan\u0131 sunuyor.\r\n* `veri_cek` fonksiyonuna pandas DataFrame'i excel olarak kaydedecek parametreler eklendi.\r\n\r\n### v0.2.1 - 31/07/2023\r\n\r\n* 0.2.0 s\u00fcr\u00fcm\u00fcndeki kurulum hatas\u0131 giderildi.\r\n* Dok\u00fcmantasyondaki T\u00fcrk\u00e7e karakter problemi giderildi.\r\n* Dok\u00fcmantasyonda g\u00f6r\u00fcnmeyen g\u00f6rseller g\u00f6r\u00fcn\u00fcr hale getirildi.\r\n\r\n### v1.0.0 - 05/08/2023\r\n\r\n* Fonksiyonlar \u0130ngilizce diline \u00e7evrildi.\r\n * `veri_cek`: `fetch_data`\r\n * `veri_gorsel`: `visualize_data`\r\n* Finansal (Mali) tablolar\u0131 alabilmeyi sa\u011flayan `fetch_financials` fonksiyonu eklendi.\r\n* Fonksiyonlara \u00e7\u0131kt\u0131lar\u0131 iki dilde (\u0130ngilizce ve T\u00fcrk\u00e7e) alabilme \u00f6zelli\u011fi eklendi.\r\n* `fetch_data` fonksiyonu, hisse senetlerinin TL bazl\u0131 fiyatlar\u0131n\u0131n yan\u0131 s\u0131ra USD bazl\u0131 fiyatlar\u0131n\u0131 da alabilme imkan\u0131 sunacak \u015fekilde g\u00fcncellendi.\r\n* `visualize_data` fonksiyonuna ekstra \u00f6zellik ekleyebilmeyi sa\u011flayan **kwargs parametreleri geni\u015fletildi.\r\n* Dok\u00fcmantasyon i\u00e7eri\u011fi T\u00fcrk\u00e7e ve \u0130ngilizce olacak \u015fekilde g\u00fcncellendi.\r\n\r\n### v2.0.0 - 10/08/2023\r\n\r\n* `fetch_data` fonksiyonundaki `currency` parametresi `exchange` olarak de\u011fi\u015ftirildi.\r\n* `fetch_financials` fonksiyonundaki `selenium` paketi ba\u011f\u0131ml\u0131l\u0131\u011f\u0131 kald\u0131r\u0131ld\u0131.\r\n* `fetch_financials` fonksiyonu ile finansal tablolar tek bir tablo olarak al\u0131nacak \u015fekilde g\u00fcncellendi.\r\n* `fetch_financials` fonksiyonundaki `start_period` ve `end_period` parametreleri s\u0131ras\u0131yla `start_year` ve `end_year` olarak g\u00fcncellendi.\r\n* `fetch_financials` fonksiyonuna `exchange` ve `financial_group` parametreleri eklendi.\r\n* `fetch_data` ve `fetch_financials` fonksiyonlar\u0131ndaki kontroller art\u0131r\u0131ld\u0131.\r\n\r\n### v2.1.0 - 12/08/2023\r\n\r\n* `fetch_data` fonksiyonuna endekslere ait verileri \u00e7ekmeyi sa\u011flayacak `stock_market_index` parametresi eklenmi\u015ftir.\r\n* `fetch_financials` fonksiyonlar\u0131 ile \u00e7ekilen finansallar\u0131n kalemlerinde bulunan bo\u015fluklar kald\u0131r\u0131lm\u0131\u015ft\u0131r.\r\n\r\n### v2.1.1 - 13/08/2023\r\n\r\n* `fetch_data` fonksiyonu ile g\u00f6nderilen istekler kontrol edilecek.\r\n\r\n### v2.1.2 - 13/08/2023\r\n\r\n* 2.1.1 s\u00fcr\u00fcm\u00fcndeki kod hatas\u0131 d\u00fczeltilmi\u015ftir.\r\n\r\n### v2.1.3 - 13/08/2023\r\n\r\n* G\u00f6nderilen isteklerdeki zaman k\u0131s\u0131tlamas\u0131 iyile\u015ftirildi.\r\n\r\n### v3.0.0 - 19/08/2023\r\n\r\n* `fetch_data` fonksiyonu asenkron yap\u0131ya ge\u00e7irilmi\u015ftir.\r\n* `fetch_data` fonksiyonundaki sembol parametresi 400 sembol ile s\u0131n\u0131rland\u0131r\u0131lm\u0131\u015ft\u0131r.\r\n* `visualize_data` fonksiyonunun \u00e7al\u0131\u015ft\u0131r\u0131lma \u015fekli asenkron yap\u0131 nedeniyle de\u011fi\u015fmi\u015ftir.\r\n\r\n### v3.0.1 - 20/08/2023\r\n\r\n* Veri \u00e7er\u00e7evesindeki tarih aral\u0131\u011f\u0131 problemi d\u00fczeltildi.\r\n\r\n### v3.0.2 - 05/10/2023\r\n\r\n* 400 olan sembol s\u0131n\u0131rlamas\u0131 kald\u0131r\u0131ld\u0131.\r\n\r\n### v4.0.0 - 07/10/2023\r\n\r\n* `StockData` ve `Financials` isimli iki s\u0131n\u0131f olu\u015fturuldu.\r\n* `StockData` s\u0131n\u0131f\u0131ndaki `get_data` ve `Financials` s\u0131n\u0131f\u0131ndaki `get_data` metotlar\u0131n\u0131n parametreleri g\u00fcncellendi.\r\n* Tablo \u00e7\u0131kt\u0131lar\u0131n\u0131n yap\u0131s\u0131 de\u011fi\u015ftirildi.\r\n* Veri g\u00f6rselle\u015ftirme \u00f6zelli\u011fi kald\u0131r\u0131ld\u0131.\r\n* Asenkron yap\u0131 kald\u0131r\u0131ld\u0131.\r\n\r\n### v5.0.0 - 19/07/2025\r\n\r\n* S\u0131n\u0131f yap\u0131s\u0131 kald\u0131r\u0131ld\u0131, fonksiyon tabanl\u0131 API yap\u0131s\u0131na ge\u00e7ildi.\r\n* `fetch_stock_data`, `fetch_index_data`, `fetch_financials` fonksiyonlar\u0131 eklendi.\r\n* Kod ve d\u00f6k\u00fcmantasyon sadele\u015ftirildi.\r\n\r\n## Lisans\r\n\r\nBu proje MIT Lisans\u0131 alt\u0131nda lisanslanm\u0131\u015ft\u0131r.\r\n\r\n## For those who prefer English:\r\n\r\n## Description\r\n\r\n`isyatirimhisse` is a Python library developed to easily fetch stock, index, and financial statement data from the Is Investment website.\r\n\r\n*** WARNING ***\r\n\r\n`isyatirimhisse` is not the official library of Is Investment Securities Inc. and has not been verified by the company. Before using the library, users should review Is Investment Securities Inc.'s terms of use and rights regarding data access. `isyatirimhisse` is designed for personal use only.\r\n\r\nWhen using the Python package to access stock and financial statement data from the Is Investment website, it is very important to be aware of the potential consequences of sending excessive requests. Excessive requests can cause various negative effects, such as:\r\n\r\n* **Performance Impact:** Sending too many requests in a short period can seriously affect the performance and response speed of the Is Investment website.\r\n\r\n* **Service Disruption:** Intensive data fetching operations can trigger the website\u2019s security measures and cause temporary service interruptions.\r\n\r\n* **IP Blocking:** Repetitive or aggressive data fetching behaviors can cause your IP address to be temporarily or permanently blocked from accessing the website.\r\n\r\nTo avoid these issues and ensure smooth operation, please consider the following recommendations:\r\n\r\n* Keep the speed of your requests at a reasonable level, considering the website's capacity.\r\n\r\n* Try to store frequently fetched data locally, so you won\u2019t need to make repetitive requests.\r\n\r\nFollowing these rules will minimize the risk of interruption and help ensure that the Is Investment website provides a reliable experience for both you and other users.\r\n\r\n## Installation\r\n\r\nTo use the library, follow these steps:\r\n\r\n1. Install Python on your system: https://www.python.org/downloads/\r\n\r\n2. Open the terminal and run the following command to install the package:\r\n\r\n```bash\r\npip install isyatirimhisse\r\n```\r\n\r\nIf you want to install a specific version, run the command as shown below:\r\n\r\n```bash\r\npip install isyatirimhisse==5.0.0\r\n```\r\n\r\nYou can check the installed package version using the following command:\r\n\r\n```bash\r\npip show isyatirimhisse\r\n```\r\n\r\n## Usage\r\n\r\n### Importing the Library\r\n\r\n```python\r\nfrom isyatirimhisse import fetch_stock_data, fetch_index_data, fetch_financials\r\n```\r\n\r\n### Functions and Parameters\r\n\r\n#### Fetching Stock Data (`fetch_stock_data`)\r\n\r\n```python\r\ndf = fetch_stock_data(\r\n symbols=\"THYAO\",\r\n start_date=\"01-01-2023\",\r\n end_date=\"18-07-2025\",\r\n save_to_excel=True\r\n)\r\n```\r\n\r\n* `symbols`: (str | list) - One or more stock tickers.\r\n* `start_date`: (str) - Start date for the data, in 'DD-MM-YYYY' format.\r\n* `end_date`: (str, optional) - End date for the data, in 'DD-MM-YYYY' format.\r\n* `save_to_excel`: (bool, optional) - Save results to an Excel file (default: False).\r\n\r\n#### Fetching Index Data (`fetch_index_data`)\r\n\r\n```python\r\ndf = fetch_index_data(\r\n indices=\"XU100\",\r\n start_date=\"01-01-2023\",\r\n end_date=\"18-07-2025\",\r\n save_to_excel=True\r\n)\r\n```\r\n\r\n* `indices`: (str | list) - One or more index codes.\r\n* `start_date`: (str) - Start date for the data, in 'DD-MM-YYYY' format.\r\n* `end_date`: (str, optional) - End date for the data, in 'DD-MM-YYYY' format.\r\n* `save_to_excel`: (bool, optional) - Save results to an Excel file (default: False).\r\n\r\n#### Fetching Financial Statement Data (`fetch_financials`)\r\n\r\n```python\r\ndf = fetch_financials(\r\n symbols=\"THYAO\",\r\n start_year=2023,\r\n end_year=2025,\r\n exchange=\"TRY\",\r\n financial_group='1',\r\n save_to_excel=True\r\n)\r\n```\r\n\r\n* `symbols`: (str | list) - One or more stock tickers.\r\n* `start_year`: (int | str) - Start year.\r\n* `end_year`: (int | str, optional) - End year.\r\n* `exchange`: (str, optional) - Currency ('TRY' or 'USD'), default is 'TRY'.\r\n* `financial_group`: (str) - Financial statement group.\r\n * '1': XI_29\r\n * '2': IFRS\r\n * '3': IFRS_K\r\n* `save_to_excel`: (bool, optional) - Save results to an Excel file (default: False).\r\n\r\n### Tips\r\n\r\n* When working with multiple stocks or indices, always use a list with square brackets (`[]`) instead of a string.\r\n* For a single symbol, you can provide it directly as a string.\r\n\r\n## Notes\r\n\r\n* The library depends on the data available on the Is Investment website. Therefore, please check the relevant website for the accuracy and continuity of the data: [IS Investment](https://www.isyatirim.com.tr/tr-tr/Sayfalar/default.aspx)\r\n* I welcome your feedback and contributions for the development and improvement of the library. Please contribute to the GitHub repo: [GitHub Repo](https://github.com/urazakgul/isyatirimhisse)\r\n* For any problems or suggestions, please open a new issue in the \"Issues\" section of the GitHub repo: [GitHub Issues](https://github.com/urazakgul/isyatirimhisse/issues)\r\n\r\n## Release Notes\r\n\r\n### v0.1.0 - 25/07/2023\r\n\r\n* First release.\r\n\r\n### v0.1.1 - 27/07/2023\r\n\r\n* Updated conditional statements checking parameters in the `veri_cek` function.\r\n* Removed the `json` library.\r\n* Added HTTP code `200` condition to the `veri_cek` function and started tracking it.\r\n\r\n### v0.2.0 - 30/07/2023\r\n\r\n* Added the `veri_gorsel` function, providing visualization in 3 different data types.\r\n* Added parameters to the `veri_cek` function to save pandas DataFrame as Excel.\r\n\r\n### v0.2.1 - 31/07/2023\r\n\r\n* Fixed the installation error present in version 0.2.0.\r\n* Fixed Turkish character problems in the documentation.\r\n* Made previously invisible images in the documentation visible.\r\n\r\n### v1.0.0 - 05/08/2023\r\n\r\n* Functions translated into English:\r\n * `veri_cek` -> `fetch_data`\r\n * `veri_gorsel` -> `visualize_data`\r\n* Added the `fetch_financials` function for fetching financial statements.\r\n* Added the option to receive outputs in both English and Turkish.\r\n* Updated the `fetch_data` function to fetch USD-based as well as TRY-based prices.\r\n* Extended **kwargs in the `visualize_data` function to allow extra features.\r\n* Updated documentation to be available in both Turkish and English.\r\n\r\n### v2.0.0 - 10/08/2023\r\n\r\n* Changed the `currency` parameter in the `fetch_data` function to `exchange`.\r\n* Removed the `selenium` dependency from the `fetch_financials` function.\r\n* Updated the `fetch_financials` function to fetch financial statements as a single table.\r\n* Renamed `start_period` and `end_period` parameters to `start_year` and `end_year` in the `fetch_financials function`.\r\n* Added `exchange` and `financial_group` parameters to the `fetch_financials` function.\r\n* Added more checks and validation to both `fetch_data` and `fetch_financials`.\r\n\r\n### v2.1.0 - 12/08/2023\r\n\r\n* Added `stock_market_index` parameter to the `fetch_data` function for index data.\r\n* Removed spaces in the items of financial statements fetched with `fetch_financials`.\r\n\r\n### v2.1.1 - 13/08/2023\r\n\r\n* Requests sent with the `fetch_data` function will be checked.\r\n\r\n### v2.1.2 - 13/08/2023\r\n\r\n* Fixed a code bug present in version 2.1.1.\r\n\r\n### v2.1.3 - 13/08/2023\r\n\r\n* Improved time restriction for requests sent.\r\n\r\n### v3.0.0 - 19/08/2023\r\n\r\n* `fetch_data` function made asynchronous.\r\n* Symbol parameter in `fetch_data` limited to 400 symbols.\r\n* The way `visualize_data` is executed changed due to asynchronous structure.\r\n\r\n### v3.0.1 - 20/08/2023\r\n\r\n* Fixed date range problem in data frames.\r\n\r\n### v3.0.2 - 05/10/2023\r\n\r\n* Removed the 400-symbol limit.\r\n\r\n### v4.0.0 - 07/10/2023\r\n\r\n* Created two classes: `StockData` and `Financials`.\r\n* Updated parameters for the `get_data` methods of both classes.\r\n* Modified the structure of table outputs.\r\n* Removed data visualization feature.\r\n* Removed asynchronous structure.\r\n\r\n### v5.0.0 - 19/07/2025\r\n\r\n* Removed class structure; switched to a function-based API.\r\n* Added `fetch_stock_data`, `fetch_index_data`, and `fetch_financials` functions.\r\n* Simplified code and documentation.\r\n\r\n## License\r\n\r\nThis project is licensed under the MIT License.\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Fetches data from the IS Investment website.",
"version": "5.0.0",
"project_urls": {
"Homepage": "https://github.com/urazakgul/isyatirimhisse"
},
"split_keywords": [],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "f2bfacf9c06a0f80a2fafa4188b69db8da2758e9e17eb0229f0e978f3ff34521",
"md5": "60990991bd90ba9ac80262afa2f9e15a",
"sha256": "89b6f6b2122db02c34497d157375735304df9a61ef38497aeda05bfbac5b2b33"
},
"downloads": -1,
"filename": "isyatirimhisse-5.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "60990991bd90ba9ac80262afa2f9e15a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 12837,
"upload_time": "2025-07-18T22:14:58",
"upload_time_iso_8601": "2025-07-18T22:14:58.652361Z",
"url": "https://files.pythonhosted.org/packages/f2/bf/acf9c06a0f80a2fafa4188b69db8da2758e9e17eb0229f0e978f3ff34521/isyatirimhisse-5.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "70cf43c9c04d6aa2256ef5f7ddb0152f621e1875d6c43cc4d23e56be5ae09615",
"md5": "c09d61812fe0c3d83d5f7c3d6cac2919",
"sha256": "b83c3d53307f149a4f830d646c19404cf1c426bc0bb3f5f2bab244a4c7987b99"
},
"downloads": -1,
"filename": "isyatirimhisse-5.0.0.tar.gz",
"has_sig": false,
"md5_digest": "c09d61812fe0c3d83d5f7c3d6cac2919",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 16286,
"upload_time": "2025-07-18T22:14:59",
"upload_time_iso_8601": "2025-07-18T22:14:59.830101Z",
"url": "https://files.pythonhosted.org/packages/70/cf/43c9c04d6aa2256ef5f7ddb0152f621e1875d6c43cc4d23e56be5ae09615/isyatirimhisse-5.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-18 22:14:59",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "urazakgul",
"github_project": "isyatirimhisse",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "isyatirimhisse"
}