Makefiles और classifiers

Python पैकेज विकसित करना

James Fulton

Climate informatics researcher

Classifiers

  • आपके पैकेज के लिए मेटाडेटा
  • यूज़र्स को PyPI पर आपका पैकेज खोजने में मदद करता है
  • आपको शामिल करना चाहिए
    • पैकेज स्टेटस
    • लक्षित ऑडियंस
    • लाइसेंस टाइप
    • भाषा
    • सपोर्टेड Python वर्ज़न
  • और भी कई classifiers हैं https://pypi.org/classifiers

mysklearn के setup.py के अंदर

setup(
    ...
    classifiers=[
        'Development Status :: 2 - Pre-Alpha',
        'Intended Audience :: Developers',
        'License :: OSI Approved :: MIT License',
        'Natural Language :: English',
        'Programming Language :: Python :: 3',
        'Programming Language :: Python :: 3.6',
        'Programming Language :: Python :: 3.7',
        'Programming Language :: Python :: 3.8',
    ],
    ...
)
Python पैकेज विकसित करना

Makefiles किस काम आते हैं?

  • आपके पैकेज को बिल्ड करने के कुछ हिस्सों को ऑटोमेट करने के लिए उपयोग होते हैं
mysklearn/
...
|-- README.md
|-- setup.py
|-- Makefile  <---
...
Python पैकेज विकसित करना

Makefile में क्या होता है?

Makefile के अंदर

...

dist: ## सोर्स और व्हील पैकेज बनाता है
    python3 setup.py sdist bdist_wheel

clean-build: ## बिल्ड आर्टिफैक्ट्स हटाएँ rm -fr build/ rm -fr dist/ rm -fr .eggs/
test: ## डिफॉल्ट Python से जल्दी टेस्ट चलाएँ pytest
release: dist ## पैकेज करें और रिलीज़ अपलोड करें twine upload dist/*
Python पैकेज विकसित करना

Makefile का उपयोग कैसे करें?

make <function-name>
mysklearn/ <--- यहाँ नेविगेट करें
...
|-- README.md
|-- setup.py
|-- Makefile  
...
Python पैकेज विकसित करना

Makefile का उपयोग कैसे करें?

dist फंक्शन उपयोग करने के लिए टर्मिनल में यह टाइप करें

make dist

Makefile के अंदर

...

dist: ## सोर्स और व्हील पैकेज बनाता है
    python3 setup.py sdist bdist_wheel

clean-build: ## बिल्ड आर्टिफैक्ट्स हटाएँ
    rm -fr build/
    rm -fr dist/
    rm -fr .eggs/

test: ## डिफॉल्ट Python से जल्दी टेस्ट चलाएँ
    pytest

release: dist ## पैकेज करें और रिलीज़ अपलोड करें
    twine upload dist/*
Python पैकेज विकसित करना

Makefile सारांश

make help
clean                सभी build, test, coverage और Python आर्टिफैक्ट्स हटाएँ
clean-build          build आर्टिफैक्ट्स हटाएँ
clean-pyc            Python फाइल आर्टिफैक्ट्स हटाएँ
clean-test           test और coverage आर्टिफैक्ट्स हटाएँ
lint                 flake8 से स्टाइल जाँचें
test                 डिफॉल्ट Python से जल्दी टेस्ट चलाएँ
test-all             हर Python वर्ज़न पर tox से टेस्ट चलाएँ
release              पैकेज करें और रिलीज़ अपलोड करें
dist                 सोर्स और व्हील पैकेज बनाता है
install              सक्रिय Python के site-packages में पैकेज इंस्टॉल करें
Python पैकेज विकसित करना

अभ्यास करते हैं!

Python पैकेज विकसित करना

Preparing Video For Download...