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.4.tar.gz (9.3 kB view details)

Uploaded Source

Built Distribution

murat_python_package-0.0.4-py2.py3-none-any.whl (12.6 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

  • Download URL: murat_python_package-0.0.4.tar.gz
  • Upload date:
  • Size: 9.3 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.4.tar.gz
Algorithm Hash digest
SHA256 9f8f52c7b81a09066074de7b21489a4a754220bfb80bb2b4d4c8e0a727d79fd3
MD5 1e800e658a81ebba75a491b4728f3c4a
BLAKE2b-256 d8e26343c33b14e2831674c718451842dee56e8ac5f70f3fc28e8bf9f949b91b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: murat_python_package-0.0.4-py2.py3-none-any.whl
  • Upload date:
  • Size: 12.6 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.4-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 764eab593629ce2f73093b23ece67c606351c6bc2a4990dca36476a5280ff35c
MD5 ee641c88ee424383928c78e51e3cfaf6
BLAKE2b-256 c2549dcb0e27b5d555fc5de1dc3e69dcaef5994ef5e4927780e07e397bb4e34c

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