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

Uploaded Source

Built Distribution

murat_python_package-0.0.3-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.3.tar.gz.

File metadata

  • Download URL: murat_python_package-0.0.3.tar.gz
  • Upload date:
  • Size: 9.1 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.3.tar.gz
Algorithm Hash digest
SHA256 a8c2c7399c733ffd41609185612a6011011a7f02bcb136ef360dc8c4804991e7
MD5 fabc788eaddfc6c3b3dadeab80fe624d
BLAKE2b-256 f6122e00875641965488fc2390dbe3f2222184b6ac031ff1ae1d2a9bb8526260

See more details on using hashes here.

File details

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

File metadata

  • Download URL: murat_python_package-0.0.3-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.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 98c736979d926d0acd3b8c246ce8d0b2b68139adcb2f512c3d1510af691de8eb
MD5 3c464f3334a027048995913c7010f6f0
BLAKE2b-256 4ad18012eb054a1d9d1f8bb1099171f18adb545c45af471a3fdbbf0e770f62f2

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