Türkçe metin araçları ve Türkiye'ye özgü doğrulayıcılar: slug, doğru büyük/küçük harf, TC kimlik no, IBAN, plaka.
Project description
trkit
Türkçe metin araçları ve Türkiye'ye özgü doğrulayıcılar. Bağımlılığı hafif, tip bilgisi tam, hem kütüphane hem komut satırı aracı olarak kullanılabilir.
Turkish text utilities and Türkiye-specific validators: locale-correct case conversion, slugify, national ID (TCKN) and IBAN validation, licence-plate lookup. Usable as a library or a CLI.
Neden?
Python'un yerleşik metotları Türkçe'nin noktalı/noktasız i ayrımını bilmez:
"istanbul".upper() # 'ISTANBUL' ← yanlış
"IĞDIR".lower() # 'iğdır' ← yanlış
trkit bu dönüşümleri doğru yapar ve yanına Türkiye'de sık gereken birkaç
doğrulayıcı ekler.
Kurulum
pip install trkit
Kütüphane olarak kullanım
from trkit import upper, lower, title, slugify, asciify
from trkit import is_valid_tckn, is_valid_iban
from trkit import city_from_plate, plate_from_city
upper("istanbul") # 'İSTANBUL'
lower("IĞDIR") # 'ığdır'
title("izmir kuş cenneti") # 'İzmir Kuş Cenneti'
asciify("Çiğdem Şahin") # 'Cigdem Sahin'
slugify("Çığır Açan Şeyler") # 'cigir-acan-seyler'
slugify("Merhaba Dünya", "_") # 'merhaba_dunya'
is_valid_tckn("10000000146") # True
is_valid_iban("TR33 0006 1005 1978 6457 8413 26") # True
city_from_plate(35) # 'İzmir'
plate_from_city("İSTANBUL") # 34
Komut satırından kullanım
$ trkit slug "Çığır Açan Şeyler"
cigir-acan-seyler
$ trkit upper istanbul
İSTANBUL
$ trkit plaka 35
İzmir
$ trkit plaka İzmir
35
$ trkit tckn 10000000146
geçerli
Doğrulama komutları anlamlı çıkış kodu döndürür (geçerli → 0, geçersiz → 1),
böylece kabuk betiklerinde doğrudan kullanılabilir:
if trkit iban "$IBAN" > /dev/null; then
echo "IBAN kabul edildi"
fi
Tüm komutlar için: trkit --help
API
| Fonksiyon | Açıklama |
|---|---|
upper(text) |
Türkçe kurallarına göre BÜYÜK harf |
lower(text) |
Türkçe kurallarına göre küçük harf |
title(text) |
Her Kelimenin İlk Harfi Büyük |
asciify(text) |
Türkçe harfleri ASCII'ye indirger |
slugify(text, separator="-") |
URL'de kullanılabilir slug üretir |
is_valid_tckn(value) |
TC kimlik no algoritma kontrolü |
is_valid_iban(value) |
Türkiye IBAN mod-97 kontrolü |
city_from_plate(code) |
Plaka kodu → il adı |
plate_from_city(city) |
İl adı → plaka kodu |
PLATES |
{kod: il} sözlüğü (81 il) |
is_valid_tckn yalnızca matematiksel bir kontroldür; numaranın gerçekten
birine ait olduğunu göstermez.
Geliştirme
git clone https://github.com/ardazeybek-dev/trkit.git
cd trkit
python -m venv .venv
.venv\Scripts\activate # Linux/macOS: source .venv/bin/activate
pip install -e ".[dev]"
pytest # testler
ruff check . # lint
Lisans
MIT © Arda Zeybek
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file trkit-0.1.0.tar.gz.
File metadata
- Download URL: trkit-0.1.0.tar.gz
- Upload date:
- Size: 10.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fc5118c6bf9974d6fe77acff30cc3f5b11f2d3d3dda159d0738f1dd18767afd7
|
|
| MD5 |
5a99c2d8996a3ea868b1d2687ad721d0
|
|
| BLAKE2b-256 |
09fa710d8e1be042d53640d80c6dd574d6f870cbc9c5b2fcf6471acdf9b9a14d
|
Provenance
The following attestation bundles were made for trkit-0.1.0.tar.gz:
Publisher:
publish.yml on ardazeybek-dev/trkit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
trkit-0.1.0.tar.gz -
Subject digest:
fc5118c6bf9974d6fe77acff30cc3f5b11f2d3d3dda159d0738f1dd18767afd7 - Sigstore transparency entry: 2280598104
- Sigstore integration time:
-
Permalink:
ardazeybek-dev/trkit@50cfa443ea014e7e8d5535ff21089419fc93c46e -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/ardazeybek-dev
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@50cfa443ea014e7e8d5535ff21089419fc93c46e -
Trigger Event:
release
-
Statement type:
File details
Details for the file trkit-0.1.0-py3-none-any.whl.
File metadata
- Download URL: trkit-0.1.0-py3-none-any.whl
- Upload date:
- Size: 10.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dee689a77f3f7b09ced00818dbb9580b521e3e0d73f55cc3b65d580b858a4bfd
|
|
| MD5 |
4d87152abce8cf5ee6765e7d513e56ed
|
|
| BLAKE2b-256 |
c56dd9f4d1b2405c9c12dc0de31e00e2f1878f004e0de5a788c38ef016707e92
|
Provenance
The following attestation bundles were made for trkit-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on ardazeybek-dev/trkit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
trkit-0.1.0-py3-none-any.whl -
Subject digest:
dee689a77f3f7b09ced00818dbb9580b521e3e0d73f55cc3b65d580b858a4bfd - Sigstore transparency entry: 2280598141
- Sigstore integration time:
-
Permalink:
ardazeybek-dev/trkit@50cfa443ea014e7e8d5535ff21089419fc93c46e -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/ardazeybek-dev
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@50cfa443ea014e7e8d5535ff21089419fc93c46e -
Trigger Event:
release
-
Statement type: