2012-02-11 25 views
17

निधि classifers की सूची है पर: http://pypi.python.org/pypi?:action=list_classifiersमैं कौन सा पायथन ट्राव क्लासिफायर का उपयोग करता हूं?

जब मैं एक PyPI पैकेज बना रहा हूं, मैं अनिश्चित मैं निधि classifiers कि स्पष्ट रूप से अपने प्रोजेक्ट को लागू करने के लिए 'माता-पिता की शामिल करने की जरूरत है कि क्या कर रहा हूँ।

उदाहरण के लिए, अगर मैं तो Windows XP पर अपने प्रोजेक्ट, परीक्षण किया है, निम्न में से मैं शामिल होना चाहिए जो:

'Operating System :: Microsoft', 
'Operating System :: Microsoft :: Windows', 
'Operating System :: Microsoft :: Windows :: Windows NT/2000', 

मैं केवल वास्तव में, Windows XP विंडो 7 पर परीक्षण या कभी कभी गए हैं। लेकिन इनमें से कोई भी क्लासिफायर सूची में विकल्प नहीं है, इसलिए मैं "एनटी/2000" को बंद मैच के रूप में चुन रहा हूं, और 'पैरेंट' क्लासिफायर समेत। क्या यह सही काम है जिसे करना चाहिए?

'Programming Language :: Python', 
'Programming Language :: Python :: 2', 

पहले एक सख्त 'माता-पिता है:

'Programming Language :: Python :: 2.7', 

मैं भी शामिल करने के लिए की जरूरत है:

इसी तरह, अगर अपने प्रोजेक्ट अजगर 2.7 के तहत परीक्षण किया जाता है, तो मैं स्पष्ट रूप से वर्गीकारक शामिल 'यदि मूल वर्गीकरणकर्ता, तो इसमें शामिल करना है या नहीं, संभवतया यह है कि उपरोक्त "विंडोज़" माता-पिता को शामिल करना है या नहीं।

नोट, हालांकि, "पायथन :: 2" "2.7" वर्गीकृत का अभिभावक नहीं है - यह एक भाई है। इसमें यह भी शामिल होगा कि यह इंगित करना है कि मेरा प्रोजेक्ट के तहत काम करता है 2.x पायथन रिलीज़ करता है, लेकिन यह नहीं है कि मेरा प्रोजेक्ट सभी 2.x रिलीज़ के तहत काम करता है।

उत्तर

13

तकनीकी रूप से, आपको मूल टैग शामिल करने की आवश्यकता नहीं है। उदाहरण के लिए lxml सूचीबद्ध करता है इन टैग (लेकिन उनके माता-पिता में से कोई भी):

Topic :: Text Processing :: Markup :: HTML 
Topic :: Text Processing :: Markup :: XML 

और वर्गीकृत Topic :: Text Processing :: Markup पैकेजों की सूची को ब्राउज़िंग, lxml शामिल है।

चाहे पैरेंट टैग समेत उपयोगकर्ताओं को यह स्पष्ट हो, मुझे यकीन नहीं है।

मैं Programming Language :: Python :: 2 ले जाएगा कुछ पायथन 2.x विज्ञप्ति, नहीं सभी पायथन 2.x मतलब करने के लिए - और यह कई परियोजनाओं (जैसे lxml फिर से) इस तरह इसका इस्तेमाल लगता है।

ऑपरेटिंग सिस्टम के लिए, मैं यह निर्धारित करने के लिए उपयोग करता हूं कि पैकेज पर काम करने के लिए अपेक्षित है, न केवल उन वातावरणों पर काम करने के लिए जो आप परीक्षण करने में सक्षम हैं। इसलिए मैं केवल विंडोज-विशिष्ट उपकरण के लिए एक विंडोज क्लासिफायर का उपयोग करता हूं जो अन्य ऑपरेटिंग सिस्टम पर काम नहीं कर सका। यह एक समर्थन अनुबंध का गठन नहीं करता है।

विंडोज और विंडोज एनटी/2000 टैग शायद अब तक समकक्ष हैं।

+2

समझ में आता है, और प्रश्न पूछने के बाद मौजूदा परियोजनाओं के आसपास अपनी खुद की ब्राउज़िंग के अनुरूप है। केवल शिकन "पायथन :: 2" और "पायथन :: 3" क्लासिफायर है, जो "पायथन :: 2.7" और "पायथन :: 3.2" प्रविष्टियों (वे भाई बहन हैं) के सख्ती से माता-पिता नहीं हैं और इसलिए संभवतः अगर आप अपनी परियोजना को "पायथन 2" या "पायथन 3" –

+1

हम्म के लिए खोज में दिखाना चाहते हैं तो स्पष्ट रूप से निर्दिष्ट करने की आवश्यकता है, मैंने कभी उस झुर्रियों को कभी नहीं देखा होगा।हां, आप सही हैं, मैं अधिक विशिष्ट वर्गीकरण के अलावा "पायथन :: 2" और/या "पायथन :: 3" सेट करूंगा। –

संबंधित मुद्दे