Skip to content

Commit 32a7bd6

Browse files
committed
Create
1 parent 93b2379 commit 32a7bd6

33 files changed

+6735
-2
lines changed

PYTHON_DOCSTRING_example.md

Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
<h1 align="center"> PYTHON DOCSTRING [TR]</h1>
2+
3+
<br>
4+
5+
Docstring yapısı, Python projelerinde kodun amacını, kullanımını ve özelliklerini açıklamak için kullanılır.
6+
7+
Aşağıda, bir Python projesi için örnek bir docstring yapısı verilmiştir.
8+
9+
Bu yapıyı kendi projenize uyarlayabilirsiniz.
10+
11+
> *author:* [mefamex](https://mefamex.com) <br> *last_modify: 2025-07-20*
12+
13+
14+
<hr><br><br>
15+
16+
```python
17+
#!/usr/bin/env python3
18+
# -*- coding: utf-8 -*-
19+
20+
"""
21+
===========================================================
22+
ornek-proje
23+
===========================================================
24+
25+
Description:
26+
Bu proje, [kısa bir şekilde projenin amacını belirtin] amacıyla geliştirilmiştir.
27+
Proje, [projedeki ana özellikler ve işlevler listesi] özelliklerine sahiptir.
28+
29+
Author:
30+
Ad (posta@posta.com) (https://web_sitesi.com)
31+
32+
Features:
33+
- Ozellikleri madde madde veya metin olarak yazabilirsiniz.
34+
35+
Modules:
36+
- modul1: [Modul 1 açıklaması]
37+
- modul2: [Modul 2 açıklaması]
38+
- ...
39+
40+
Classes:
41+
- Sinif1: [Sinif1 açıklaması]
42+
- Sinif2: [Sinif2 açıklaması]
43+
- ...
44+
45+
Functions:
46+
- fonksiyon1(parametre1, parametre2): [Fonksiyon1 açıklaması]
47+
- fonksiyon2(parametre1): [Fonksiyon2 açıklaması]
48+
- ...
49+
50+
Usage:
51+
[Projeyi nasıl kullanacağınızı açıklayın. Örnekler ekleyebilirsiniz.]
52+
53+
Requirements:
54+
- Python 3.8 veya üstü
55+
- Dependencies:
56+
- paket1 (>= sürüm)
57+
- paket2 (latest)
58+
- ...
59+
60+
Installation:
61+
- Proje klonlama: `git clone [repo adresi]`
62+
- Gerekli bağımlılıkları kurma: `pip install -r requirements.txt`
63+
64+
Documentation:
65+
- Detaylı belgeler için: `README.md`
66+
67+
License:
68+
MIT Lisansı (https://opensource.org/licenses/MIT)
69+
70+
Changelog:
71+
- 1.0.0 (2024-02-03): İlk sürüm
72+
- 1.1.0 (2024-02-04): [Yapılan değişiklikler]
73+
- ...
74+
75+
Contributors:
76+
[Projeye katkıda bulunanların adları ve iletişim bilgileri]
77+
78+
Contact:
79+
[Projeye ilişkin sorular için e-posta adresi veya diğer iletişim bilgileri]
80+
81+
Additional Information:
82+
[Projeye ilişkin ek bilgiler, bağlantılar, belgeler vb.]
83+
84+
Notes:
85+
- Bu proje, [proje amacını ve kullanımını açıklayan kısa bir not] içermektedir.
86+
- Proje, [proje ile ilgili önemli notlar veya uyarılar] içermektedir.
87+
88+
Disclaimer and Legal Notice:
89+
Bu yazılım, herhangi bir garanti olmaksızın "olduğu gibi" sağlanmaktadır. Yazar, bu yazılımın kullanımı sonucunda oluşabilecek herhangi bir zarardan sorumlu değildir. Kullanıcılar, yazılımı kendi sorumlulukları altında kullanmalıdır.
90+
Bu yazılım, açık kaynak lisansı altında dağıtılmaktadır ve kullanıcılar, lisans koşullarına uymakla yükümlüdür. Yazılımın herhangi bir şekilde değiştirilmesi, dağıtılması veya kullanılması, lisans koşullarına uygun olarak yapılmalıdır.
91+
===========================================================
92+
"""
93+
94+
__version__ = "1.0.0"
95+
__author__ = "topluluk veya kisi adi"
96+
__email__ = "posta@posta.com"
97+
__license__ = "MIT"
98+
__status__ = "DEVELOPMENT" # or PRODUCTION, BETA, ALPHA, PROTOTYPE, STABLE, DEPRECATED, MAINTENANCE, EXPERIMENTAL, PREVIEW, ARCHIVED
99+
100+
__project_name__ = "ornek-proje"
101+
__url__ = "https://website.com/ornek-proje"
102+
__url_github__ = "https://github.com/kullanici/ornek-proje"
103+
__copyright__ = "Telif Hakki (c) 2050 company"
104+
__description__ = "Ornek Proje açıklama"
105+
__date__ = "2024-02-03" # YYYY-MM-DD
106+
__date_modify__ = "2024-02-04" # YYYY-MM-DD
107+
__python_version__ = ">=3.8"
108+
__dependencies__ = {
109+
"python": ">=3.8",
110+
"package1": ">=1.0.0",
111+
"package2": None, # latest or specific version
112+
# ...
113+
}
114+
115+
116+
# Projenin ana kodlari buraya gelir
117+
#================================================================================
118+
#============================ SEPARATER =========================================
119+
120+
```
121+
122+
<br><br><hr>
123+
124+
> Connected :
125+
><br> - [website/projects](https://mefamex.com/projects)
126+
><br> - [Github/Mefamex/python-code-snippets](https://github.com/Mefamex/python-code-snippets)

README.md

Lines changed: 58 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,58 @@
1-
# python-code-snippets
2-
Some code snippets for developers to use in Python
1+
# Python Code Snippets
2+
3+
> *author*: [Mefamex](https://github.com/Mefamex) <br>
4+
> *last_modify: 2025-07-20*
5+
6+
7+
Geliştirme sürecinde ihtiyaç duyduğum Python araçlarını ve kod parçalarını bir arada tutmak için oluşturduğum koleksiyon. Bu repository büyük bir framework değil, pratik çözümler sunan bağımsız araçların derlemesidir.
8+
9+
Her araç kendi başına çalışır ve farklı geliştirme ihtiyaçlarına yanıt verir.
10+
11+
12+
- **Bağımsız Araçlar:** Her proje tek başına çalışabilir, birbirine bağımlı değil
13+
- **Standart Kütüphane:** Harici bağımlılık yok, sadece Python built-in modülleri kullanılır
14+
- **Detaylı Dokümantasyon:** Her araç için ayrı README ve kullanım örnekleri
15+
- **Versiyon Geçmişi:** Her projenin versions klasöründe eski sürümleri mevcut
16+
- **Kolay Entegrasyon:** Projelere doğrudan kopyalayıp kullanabilirsiniz
17+
18+
19+
20+
<br>
21+
22+
## İçindekiler
23+
24+
- [check_file_dependencies](check_file_dependencies/)
25+
- [`check_file_dependencies.py`](check_file_dependencies/check_file_dependencies.py)
26+
- [`README.md`](check_file_dependencies/README.md)
27+
28+
- [directory_explorer](directory_explorer/)
29+
- [`directory_explorer.py`](directory_explorer/directory_explorer.py)
30+
- [`README.md`](directory_explorer/README.md)
31+
32+
- [multiThread](multiThread/)
33+
- [`threadpool.py`](multiThread/threadpool.py)
34+
- [`README.md`](multiThread/README.md)
35+
36+
- [web_FileTreeCreator](web_FileTreeCreator/)
37+
- [`FileTreeCreator.py`](web_FileTreeCreator/FileTreeCreator.py)
38+
- [`README.md`](web_FileTreeCreator/README.md)
39+
40+
- [web_LinkTreeCreator](web_LinkTreeCreator/)
41+
- [`LinkTreeCreator.py`](web_LinkTreeCreator/LinkTreeCreator.py)
42+
- [`README.md`](web_LinkTreeCreator/README.md)
43+
44+
45+
<br>
46+
47+
48+
## Projeler
49+
50+
**check_file_dependencies:** Python projelerinde modül bağımlılıklarını otomatik kontrol eden, eksik olanları yükleyen araç . [incele](check_file_dependencies/README.md)
51+
52+
**directory_explorer:** Dizin yapısını özyinelemeli olarak tarayan, boyutları hesaplayan ve JSON/TXT formatında dışa aktaran araç . [incele](directory_explorer/README.md)
53+
54+
**multiThread:** Paralel görev yürütümü için thread pool implementasyonu . [incele](multiThread/README.md)
55+
56+
**web_FileTreeCreator:** Web sitesi dosya ağacı oluşturmak için dizinleri tarayan ve JSON çıktısı üreten araç . [incele](web_FileTreeCreator/README.md)
57+
58+
**web_LinkTreeCreator:** Web sitesi navigasyonu için HTML dosyalarını tarayarak link ağacı oluşturan araç . [incele](web_LinkTreeCreator/README.md)

check_file_dependencies/README.md

Lines changed: 206 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,206 @@
1+
# Check File Dependencies
2+
3+
Check File Dependencies, Python projelerinde modül bağımlılıklarını otomatik olarak kontrol eden, yükleyen ve güncelleyen güçlü bir araçtır.
4+
5+
Tek veya çoklu modüllerin yüklü olup olmadığını kontrol eder, eksik olanları otomatik yükler ve sürüm uyumluluğunu doğrular.
6+
7+
Proje geliştirme sürecinde bağımlılık yönetimini otomatikleştirmek için tasarlanmıştır.
8+
9+
> *last_modify: 2025-07-20*
10+
11+
<br>
12+
13+
14+
## Özellikler
15+
- Tek veya çoklu modül bağımlılık kontrolü
16+
- Eksik modüllerin otomatik yüklenmesi
17+
- Sürüm uyumluluğu kontrolü (>=, <=, ==, !=, >, <, ~=)
18+
- Otomatik modül güncelleme özelliği
19+
- Detaylı hata yönetimi ve özel exception sınıfları
20+
- Verbose mod ile detaylı çıktı kontrolü
21+
- Timeout yönetimi
22+
23+
24+
<br>
25+
26+
27+
## Gereksinimler
28+
- Python 3.6 veya üzeri
29+
- pip package manager
30+
- İnternet bağlantısı (modül yükleme için)
31+
- Sadart kütüphane modülleri: `subprocess`, `sys`, `importlib`, `re`, `warnings`, `typing`
32+
33+
34+
<br>
35+
36+
37+
## Kurulum
38+
1. Dosyayı `check_file_dependencies.py` olarak kaydedin.
39+
2. Ekstra bağımlılık gerekmez (sadece standart kütüphane kullanılır).
40+
3. Import ederek kullanın:
41+
```python
42+
from check_file_dependencies import CheckFileDependencies
43+
```
44+
45+
46+
<br>
47+
48+
49+
## Kullanım
50+
1. Modülleri import edin ve CheckFileDependencies sınıfını kullanın.
51+
2. Kontrol edilecek modül(ler)i belirtin (sürüm gereksinimleri opsiyonel).
52+
3. Tek modül: `CheckFileDependencies.ensure_module("numpy>=1.20.0")`
53+
4. Çoklu modül: `CheckFileDependencies.check_multiple_modules(["requests", "pandas>=1.3.0"])`
54+
5. Sonuç olarak modüller otomatik yüklenecek/güncellenecek ve kontrol edilecektir.
55+
56+
57+
<br>
58+
59+
60+
## Örnek (Tek Modül)
61+
```python
62+
from check_file_dependencies import CheckFileDependencies
63+
64+
# Basit kontrol
65+
CheckFileDependencies.ensure_module("requests")
66+
67+
# Sürüm belirterek kontrol
68+
CheckFileDependencies.ensure_module("numpy>=1.20.0")
69+
CheckFileDependencies.ensure_module("pandas==1.3.5")
70+
```
71+
72+
## Örnek (Çoklu Modül)
73+
```python
74+
from check_file_dependencies import CheckFileDependencies
75+
76+
# Çoklu modül kontrolü
77+
modules = ["requests", "numpy>=1.20.0", "matplotlib", "pandas>=1.3.0"]
78+
results = CheckFileDependencies.check_multiple_modules(modules)
79+
80+
# Sonuçları kontrol et
81+
failed = [module for module, success in results.items() if not success]
82+
if failed:
83+
print(f"Eksik modüller: {', '.join(failed)}")
84+
else:
85+
print("Tüm bağımlılıklar hazır!")
86+
```
87+
88+
## Örnek (Konfigürasyon)
89+
```python
90+
from check_file_dependencies import CheckFileDependencies
91+
92+
# Ayarları değiştir
93+
CheckFileDependencies.AUTO_UPDATE = False # Otomatik güncelleme kapalı
94+
CheckFileDependencies.VERBOSE = True # Detaylı çıktı açık
95+
CheckFileDependencies.TIMEOUT = 120 # 2 dakika timeout
96+
97+
# Kontrol et
98+
CheckFileDependencies.ensure_module("tensorflow>=2.0.0")
99+
```
100+
101+
102+
<br>
103+
104+
105+
## Desteklenen Sürüm Operatörleri
106+
- `>=`: Büyük eşit (örn: `numpy>=1.20.0`)
107+
- `<=`: Küçük eşit (örn: `pandas<=1.5.0`)
108+
- `==`: Eşit (örn: `requests==2.25.0`)
109+
- `!=`: Eşit değil (örn: `matplotlib!=3.0.0`)
110+
- `>`: Büyük (örn: `scipy>1.0.0`)
111+
- `<`: Küçük (örn: `flask<2.0.0`)
112+
- `~=`: Uyumlu sürüm (örn: `django~=4.0.0`)
113+
114+
115+
<br>
116+
117+
118+
## Hata Yönetimi
119+
```python
120+
from check_file_dependencies import CheckFileDependencies, DependencyError
121+
122+
try:
123+
CheckFileDependencies.ensure_module("tensorflow>=2.0.0")
124+
print("TensorFlow hazır!")
125+
except DependencyError as e:
126+
print(f"Bağımlılık hatası: {e}")
127+
```
128+
129+
130+
<br>
131+
132+
133+
## Örnek Çıktı
134+
```
135+
[MODULE] Starting dependency check for 3 modules...
136+
============================================================
137+
[MODULE] ✅ ready to use: requests (v2.28.1)
138+
[MODULE] ❓ not exist : numpy
139+
[MODULE] 📥 downloading : numpy>=1.20.0
140+
[MODULE] ✅ installed : numpy
141+
[MODULE] 🔄 updating : matplotlib
142+
[MODULE] ✅ updated : matplotlib
143+
============================================================
144+
[MODULE] Summary: 3/3 successful
145+
```
146+
147+
148+
<br>
149+
150+
151+
## API Referansı
152+
153+
### CheckFileDependencies.ensure_module()
154+
```python
155+
ensure_module(module_name: str, auto_update: bool = None, verbose: bool = None) -> bool
156+
```
157+
Tek bir modülü kontrol eder ve gerekirse yükler.
158+
159+
### CheckFileDependencies.check_multiple_modules()
160+
```python
161+
check_multiple_modules(modules_list: List[str], auto_update: bool = None, verbose: bool = None) -> Dict[str, bool]
162+
```
163+
Birden fazla modülü kontrol eder ve sonuçları dict olarak döner.
164+
165+
### CheckFileDependencies.get_installed_version()
166+
```python
167+
get_installed_version(module_name: str) -> Optional[str]
168+
```
169+
Yüklü modülün sürümünü döner.
170+
171+
### CheckFileDependencies.compare_versions()
172+
```python
173+
compare_versions(current_version: str, required_version: str) -> bool
174+
```
175+
İki sürümü karşılaştırır.
176+
177+
178+
<br>
179+
180+
181+
## Lisans
182+
MIT Lisansı (https://opensource.org/licenses/MIT)
183+
184+
185+
<br>
186+
187+
188+
## Yazar
189+
- @mefamex (info@mefamex.com)
190+
- GitHub: [github.com/Mefamex](https://github.com/Mefamex)
191+
- www: [mefamex.com](https://mefamex.com)
192+
193+
194+
<br>
195+
196+
197+
## Yasal Uyarı
198+
Bu yazılım, herhangi bir garanti olmaksızın "olduğu gibi" sağlanmaktadır. Kullanım riski kullanıcıya aittir. Production ortamlarında kullanımdan önce test edilmesi önerilir.
199+
200+
201+
202+
<br><br><hr>
203+
204+
> Connected :
205+
><br> - [website/projects](https://mefamex.com/projects)
206+
><br> - [Github/Mefamex/python-code-snippets](https://github.com/Mefamex/python-code-snippets)

0 commit comments

Comments
 (0)