Skip to main content

A small example package

Project description

Bu paket şu işe yarar şunları yapar vs vs gibi birşeyler tazması gerkiyor ancak biz paket kurulum örneği yaptığımız için bununla ilgili detayları pyalaşıyoruz.

aslında setup.cfg doyası kullanılmasa da olur. biz sadece bu da var demek için ekledik. setup.py ile wheel python2 ve 3 için zaten eskiye uyumluluk problemini çözüyor.

CLI uygulaması geliştirmek için click paketi kullanıldı. Amaç sadece ornek yapmak.

  • twine: pypi sitesine daha doğrusun api sine bağlanmak ve paketlerimizi deploy etmek için gerekli
  • wheel : Python Wheel, Python için standart kabul edilen paket dağıtım formatıdır. Wheel özel olarak biçimlendirilmiş (formatlanmış) bir dosya adı ve .whl uzantılı ZIP biçiminde bir arşiv dosyasıdır. Python'un egg formatı yerine getirilmiş ihtiyaç duyulan tüm Python içeriklerinin bir arada bulunmasını sağlayan bir arşiv dosyasıdır. Bu yazının yazıldığı tarih itibariyle PyPI yazılım deposunda en çok indirilen 360 paketten 263'ü wheel formatındadır. pip komutu ya source distribution (sdist) ya da wheel kurulumu yapmaktadır. Eğer PyPI yazılım deposunda her ikisi de mevcutsa pip, wheel formatındaki paketi kullanarak kurulum yapmayı tercih etmektedir. Source distribution (sdist) ile kıyaslandığında wheel ile daha hızlı kurulum yapılmaktadır. Wheel (.whl uzantılı) dosyayı aşağıdaki komutu çalıştırarak bilgisayarınıza kurabilirsiniz.
pip install paket_adi.whl

If you have a pure Python package that is not using 2to3 for Python 3 support, you've got it easy. Make sure Wheel is installed…

pip install wheel

…and when you'd normally run python setup.py sdist, run instead python setup.py sdist bdist_wheel. For a more in-depth explanation, see this guide on sharing your labor of love.

Note: If your project is Python 2 and 3 compatible you can create a universal wheel distribution. Create a file called setup.cfg with the following content and upload your package.

[bdist_wheel]
universal = 1

projenin paket haline getirilirken ihtiyacı olan bağımlılıkları için konulur. tam olarka sektorde oturmamış olsa da bir çok bilinen paket de bu doya kullanılır örneğin django. https://packaging.python.org/tutorials/packaging-projects/#creating-the-package-files

pyproject.toml adında bir dosya oluşturulur

[build-system]
requires = [
    "setuptools>=42",
    "wheel"
]
build-backend = "setuptools.build_meta"

build-system.requires gives a list of packages that are needed to build your package. Listing something here will only make it available during the build, not after it is installed.

build-system.build-backend is the name of Python object that will be used to perform the build. If you were to use a different build system, such as flit or poetry, those would go here, and the configuration details would be completely different than the setuptools configuration described below.

Build ve publish

python3 setup.py sdist bdist_wheel

# paketimiz hazır şimdi paketimizi doğrulayalım
twine check dist/*
#Checking dist/murat_python_package-0.0.1-py2.py3-none-any.whl: PASSED
#Checking dist/murat_python_package-0.0.1.tar.gz: PASSED

# upload için doğrulama. pupi.org domaini değl test.pypi.org sitesine ayrıca üye olmak gerekiyor.
twine upload -r testpypi dist/*
# eğer buraya publish yapabildiyseniz artık gerçek yere publish yapılabilir


twine upload dist/*

bazı kaynaklar:

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

murat_python_package-0.0.2.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

murat_python_package-0.0.2-py2.py3-none-any.whl (12.3 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file murat_python_package-0.0.2.tar.gz.

File metadata

  • Download URL: murat_python_package-0.0.2.tar.gz
  • Upload date:
  • Size: 9.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.5

File hashes

Hashes for murat_python_package-0.0.2.tar.gz
Algorithm Hash digest
SHA256 ab756fb83d24d4789d8712e9cbbe9ddfc8a062a515b346565a8f1a786cef7e3b
MD5 465cc8e39d7c8e88805290694f6f2ea5
BLAKE2b-256 33bad3a14d082e315115f0c7078f1f4e14cea492f200ab9a2f9444e58f645a39

See more details on using hashes here.

File details

Details for the file murat_python_package-0.0.2-py2.py3-none-any.whl.

File metadata

  • Download URL: murat_python_package-0.0.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 12.3 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.5

File hashes

Hashes for murat_python_package-0.0.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 231755b995abd06f928abe4392153a16e8d50a8ad8e4666da24ad4ff0dc4e87e
MD5 bb61cbba56dedf836f8df33ff2fe2cfc
BLAKE2b-256 27a6e301d3dda1d09a177840c713e09b31c53be1c6ca88bcf019f1edbd52abe6

See more details on using hashes here.

Supported by

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