Skip to main content

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

CI PyPI Python License: MIT

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

trkit-0.1.0.tar.gz (10.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

trkit-0.1.0-py3-none-any.whl (10.0 kB view details)

Uploaded Python 3

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

Hashes for trkit-0.1.0.tar.gz
Algorithm Hash digest
SHA256 fc5118c6bf9974d6fe77acff30cc3f5b11f2d3d3dda159d0738f1dd18767afd7
MD5 5a99c2d8996a3ea868b1d2687ad721d0
BLAKE2b-256 09fa710d8e1be042d53640d80c6dd574d6f870cbc9c5b2fcf6471acdf9b9a14d

See more details on using hashes here.

Provenance

The following attestation bundles were made for trkit-0.1.0.tar.gz:

Publisher: publish.yml on ardazeybek-dev/trkit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for trkit-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dee689a77f3f7b09ced00818dbb9580b521e3e0d73f55cc3b65d580b858a4bfd
MD5 4d87152abce8cf5ee6765e7d513e56ed
BLAKE2b-256 c56dd9f4d1b2405c9c12dc0de31e00e2f1878f004e0de5a788c38ef016707e92

See more details on using hashes here.

Provenance

The following attestation bundles were made for trkit-0.1.0-py3-none-any.whl:

Publisher: publish.yml on ardazeybek-dev/trkit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page