Week Service
Futbol maçlarını haftalara bölen ve puan durumu tablolarını oluşturan yüksek performanslı servis.
🚀 Kurulum
pip install week-service
📋 Özellikler
- ⚡ Yüksek Performans: COPY komutu ile toplu veri işleme
- 📊 Haftalık Bölümleme: Maçları otomatik haftalara böler
- 🏆 Puan Durumu: Haftalık ve güncel puan durumlarını hesaplar
- 🔒 .env Desteği: Güvenli veritabanı yapılandırması
- 🎯 Esnek Filtreleme: Status bazlı akıllı filtreleme
⚙️ Yapılandırma
.env dosyası oluşturun:
DB_HOST=localhost
DB_PORT=5432
DB_NAME=football_db
DB_USER=your_user
DB_PASSWORD=your_password
MIN_MATCHES=5
BATCH_SIZE=10
💻 Kullanım
CLI (Command Line)
# Güncel sezonları işle
week-service
# Tüm sezonları işle
week-service --all
# Minimum maç sayısı belirle
week-service --min-matches 10
# Test için limit koy
week-service --limit 50
Python Kodu
from week_service import WeekService
# Servis oluştur
service = WeekService()
# Tüm ligleri işle
service.process_all_leagues_bulk(
min_matches=5,
limit=None
)
📊 Veritabanı Tabloları
match_weeks
Maçların haftalık bölümlenmesi:
match_id,season_id,week_numberhome_team,away_team,statusmatch_date,match_time
weekly_standings
Haftalık puan durumları:
season_id,week_number,team_idposition,played,wins,draws,lossespoints,goals_for,goals_against
current_standings
Güncel puan durumları (son hafta)
📈 Performans
- 77,701 maç → 6 dakika
- 401 lig → Tek batch işlem
- 155,733 puan durumu → COPY ile toplu kayıt
🗂️ Proje Yapısı
week_service/
├── core/
│ ├── database.py # .env destekli DB bağlantısı
│ ├── match_loader.py # Maç yükleme
│ ├── week_divider.py # Hafta bölme
│ └── standings_calculator.py # Puan durumu
├── utils/
│ └── logger.py # Loglama
├── cli.py # CLI arayüzü
├── week_service.py # Ana servis
└── setup.py # PyPI paketi
📄 Lisans
MIT License
🤝 Katkıda Bulunma
Pull request'ler memnuniyetle karşılanır!
Release files for week-service 1.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| week_service-1.0.2.tar.gz | 17.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| week_service-1.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 34.8 kB
Release files / week_service-1.0.2.tar.gz
| Download URL | week_service-1.0.2.tar.gz |
|---|---|
| Size | 17.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0070600763fb34cd789d6585d4562ab5758dd3bfe3dbaa7f9bcfa5d1c3411599
|
|
BLAKE2b-256 checksum How to use checksums |
7db103a9b01697b513e99c980a9d64ea5a566bdec95f8728d51d39909b11a23d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|
Release files / week_service-1.0.2-py3-none-any.whl
| Download URL | week_service-1.0.2-py3-none-any.whl |
|---|---|
| Size | 17.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
40f9bf74f677f4e503d8e91f6947012341ee04191bcf30f026d55bf24ab438e8
|
|
BLAKE2b-256 checksum How to use checksums |
209046aa05e46a4aa7fde01c065d7337c8376d200f3035c4bc5fbe241f0624ff
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|