பராமரிப்பாளர் வழிகாட்டி¶
இந்த ஆவணம் ஒரு * மேம்பாட்டாளர் * கொள்கை சலுகைகளைக் கொண்டு வரையறுக்கிறது. இங்கு விரிவான தகவல்கள் பெரும்பாலும் Qiskit வெளியீடுகள் மற்றும் பிற உள்ளார்ந்த பணிகளைத் தொடர்புபடுத்துகிறது.
நிலையான கிளை கொள்கை¶
நிலையான கிளை வெளியீட்டிலிருந்து மாஸ்டரில் சரி செய்யப்பட்ட உயர்-தாக்க பிழைகள் மற்றும் பாதுகாப்பு சிக்கல்களுக்கான தீர்வுகளின் பாதுகாப்பான ஆதாரமாக கருதப்படுகிறது. ஒரு நிலையான கிளை PR ஐ மறுபரிசீலனை செய்யும் போது, எந்தவொரு பேட்சின் ஆபத்தையும் நிலையான கிளையின் பயனர்களுக்கு வழங்கும் மதிப்புடன் சமப்படுத்த வேண்டும். நிலையான கிளையில் சேர்க்க ஒரு குறிப்பிட்ட வகை மாற்றங்கள் மட்டுமே பொருத்தமானவை. ஒரு பெரிய சிக்கலுக்கான ஒரு பெரிய, ஆபத்தான இணைப்பு அர்த்தமுள்ளதாக இருக்கலாம், இது மிகவும் தெளிவற்ற பிழை-கையாளுதல் வழக்கிற்கான ஒரு சிறிய தீர்வாக இருக்கலாம். மாற்றத்தைக் கருத்தில் கொள்ளும்போது பல காரணிகளை எடைபோட வேண்டும்:
பின்னடைவின் ஆபத்து: மிகச்சிறிய மாற்றங்கள் கூட எதையாவது உடைக்கும் அபாயத்தைக் கொண்டுள்ளன, மேலும் நிலையான கிளையில் பின்னடைவைத் தவிர்க்க விரும்புகிறோம்.
பயனர் தெரிவுநிலை நன்மை: பயனர்கள் உண்மையில் கவனிக்கக்கூடிய ஒன்றை நாம் சரிசெய்கிறோமா, அப்படியானால், அது எவ்வளவு முக்கியம்?
பிழைத்திருத்தம் எவ்வாறு தன்னியக்கமானது: இது ஒரு குறிப்பிடத் தக்க சிக்கலைச் சரிசெய்தாலும், நிறைய குறியீட்டை மாற்றியமைத்தால், குறைவான ஆபத்தான பிழைத்திருத்தம் எப்படி இருக்கும் என்பதைப் பற்றிச் சிந்திக்க வேண்டியது அவசியம்.
பிழைத்திருத்தம் ஏற்கனவே மாஸ்டரில் உள்ளதா என்பது: மாற்றம் மாஸ்டருக்கு வெறுமனே புரியவில்லை என்றால், ஒரு மாற்றம் ஏற்கனவே மாஸ்டரில் இணைக்கப்பட்ட மாற்றத்தின் பின்னிணைப்பாக இருக்க வேண்டும்.
பின்னணி செயல்முறை:¶
ஒரு பேட்சை மாஸ்டரிலிருந்து நிலையானதாக மாற்றும்போது, மாஸ்டரின் மாற்றத்தைப் பற்றிய குறிப்பை வைத்திருக்க விரும்புகிறோம். நிலையான PR க்காக நீங்கள் கிளையை உருவாக்கும்போது, :: ஐப் பயன்படுத்தவும்
$ git cherry-pick -x $master_commit_id
இருப்பினும், இது மாஸ்டரிடமிருந்து சிறிய தன்னிறைவான பேட்ச்களுக்கு மட்டுமே வேலை செய்கிறது. மாஸ்டரிடமிருந்து ஒரு பெரிய கமிட்டின் துணைக்குழுவை (எடுத்துக்காட்டாக, ஸ்குவாஷ் செய்யப்பட்ட ஒரு PR) மாஸ்டரிடமிருந்து இதைக் கைமுறையாகச் செய்யுங்கள். இந்தச் சந்தர்ப்பங்களில், :: ஐ சேர்க்கவும்
Backported from: #master pr number
எனவே, கண்டிப்பான செர்ரி-தேர்வுக்கு ' அர்த்தமில்லை என்றாலும், மாற்றத்தின் துணைக்குழுவின் மூலத்தைக் கண்காணிக்க முடியும்.
நீங்கள் முன்மொழிகின்ற இணைப்பு செர்ரி-பிக் சுத்தமாக இருக்காது என்றால், மோதல்களை நீங்களே தீர்த்துக் கொண்டு, அதன் விளைவாக வரும் பேட்சை முன்மொழியலாம். நிலையான இணைப்பை மதிப்பாய்வு செய்ய உதவுவதற்கு தயவுசெய்து மோதல் வரிகளை உறுதி செய்தியில் வைக்கவும்.
பின்னணிஅடையாளக் குறியீடு¶
stable backport potential
உடன் குறிக்கப்பட்ட பிழைகள் அல்லது PR கள் நிலையான வெளியீட்டிற்கும் பொருந்தும் பிழைகள் மற்றும் மாஸ்டரில் ஒரு பிழைத்திருத்தம் வந்தவுடன் பின்செலுத்தலுக்கு ஏற்றதாக இருக்கலாம். பேக்போர்ட் முன்மொழியப்பட்டவுடன், குறிச்சொல் அகற்றப்பட வேண்டும்.
இலக்குக் கிளையை நிலையானதாக அமைப்பது தவறு அல்ல என்பதற்கான அடையாளமாக, நிலையான கிளைக்கு எதிராக PR இன் தலைப்பில் [Stable]
சேர்க்கவும். மேலும், நீங்கள் போர்ட்டிங் செய்யும் மாஸ்டரில் உள்ள PR எண்ணைக் குறிப்பிடவும்.
Qiskit பதிப்பு¶
Qiskit திட்டமானது பல கூறுகளால் ஆனது, ஒவ்வொன்றும் வெவ்வேறு செயல்பாடுகளைச் செய்கிறது. ஒவ்வொன்றும் தனித்தனியாகப் பயனுள்ளவை மற்றும் அவற்றின் சொந்தமாகப் பயன்படுத்தப்படலாம், ஆனால் வசதிக்காக இந்தக் களஞ்சியத்தையும் மெட்டா-தொகுப்பையும் ஒரே நேரத்தில் அனைத்து உறுப்புகளையும் நிறுவ ஒரே நுழைவுப் புள்ளியை வழங்குகிறோம். இது நிறுவல் செயல்முறையை எளிதாக்குவது மற்றும் இறுதிப் பயனர்களுக்கு ஒரு ஒருங்கிணைந்த இடைமுகத்தை வழங்குவதாகும். இருப்பினும், ஒவ்வொரு Qiskit உறுப்புக்கும் அதன் சொந்த வெளியீடுகள் மற்றும் பதிப்புகள் இருப்பதால், வெவ்வேறு களஞ்சியங்களுக்கு இடையில் பதிப்புகளைக் கையாளும் போது சில கவனம் தேவை. இந்த ஆவணம் Qiskit உறுப்புகள் மற்றும் மெட்டா-பேக்கேஜ் ஆகிய இரண்டின் பதிப்புகள் மற்றும் வெளியீடுகளைக் கையாள்வதற்கான வழிகாட்டுதல்களை கோடிட்டுக் காட்டுகிறது.
இந்த வழிகாட்டியின் மீதமுள்ள தரநிலை சொற்பொருள் பதிப்பு பெயரிடல் பயன்படுத்தப்படும்: Major.Minor.Patch
பதிப்பு எண்ணின் வெவ்வேறு கூறுகளைக் குறிக்க உதவுகிறது. உதாரணமாக, பதிப்பு எண் 0.7.1
என்றால், முக்கிய பதிப்பு 0
, சிறிய பதிப்பு 7
, மற்றும் இணைப்புப் பதிப்பு 1
.
மெட்டா-தொகுப்பு பதிப்பு¶
Qiskit மெட்டா-தொகுப்பு பதிப்பு என்பது ஒரு சுயாதீன மதிப்பு, இது கண்காணிக்கப்படும் ஒவ்வொரு உறுப்புகளின் வெளியீடுகளால் தீர்மானிக்கப்படுகிறது. ஒவ்வொரு முறையும் மெட்டா-தொகுப்பு தேவைகளுக்கு ஒரு வெளியீட்டை கண்காணிக்கும் கூறுக்கு (அல்லது ஒரு உறுப்பைச் சேர்க்க) தள்ளுகிறோம், மேலும் பதிப்பு புதுப்பிக்கப்பட்டு புதிய வெளியீடு வெளியிடப்பட வேண்டும். உறுப்பு வெளியீடுகளுடன் மெட்டா-தொகுப்பு வெளியீடுகள் கண்காணிக்கப்படுவதை உறுதி செய்ய உறுப்புகளின் வெளியீட்டுடன் நேரத்தை ஒருங்கிணைக்க வேண்டும்.
புதிய கண்காணிக்கப்பட்ட கூறுகளைச் சேர்த்தல்¶
மெட்டா-தொகுப்பு தேவைகளில் ஒரு புதிய Qiskit உறுப்பு சேர்க்கப்படும்போது, மெட்டா-தொகுப்பு Minor பதிப்பை அதிகரிக்க வேண்டும்.
எடுத்துக்காட்டாக, மெட்டா-பேக்கேஜ் qiskit-aer
மற்றும் qiskit-terra
ஆகிய 2 உறுப்புகளைக் கண்காணித்து, அதன் பதிப்பு 0.7.4
ஆக இருந்தால். மெட்டா பேக்கேஜில் சேர்க்க உத்தேசித்துள்ள qiskit-ignis
என்ற புதிய உறுப்பை வெளியிடுகிறோம். மெட்டா பேக்கேஜில் புதிய உறுப்பைச் சேர்க்கும்போது, பதிப்பை 0.8.0
ஆக அதிகரிக்கிறோம்.
இணைப்புப் பதிப்பு அதிகரிக்கிறது¶
மெட்டா-தொகுப்பால் ஏற்கனவே கண்காணிக்கப்படும் எந்த Qiskit உறுப்பு ஒரு வெளியீட்டில் பிழைகளைச் சரிசெய்ய ஒரு பேட்ச் பதிப்பை வெளியிடும்போது, நமக்குத் தேவைப்படும் setup.py
இல் உள்ள தேவையைப் பம்ப் செய்து பின்னர் மெட்டா-தொகுப்பின் பேட்ச் பதிப்பை அதிகரிக்கும்.
எடுத்துக்காட்டாக, மெட்டா-தொகுப்பு 2 கூறுகளை கண்காணிக்கிறதென்றால் qiskit-terra == 0.8.1
, qiskit-aer==0.2.1
, மற்றும் qiskit-ignis==0.1.4` `தற்போதைய பதிப்பில் ``0.9.6
. ஒரு பிழையை சரிசெய்ய qiskit-terra ஒரு புதிய இணைப்பு பதிப்பை வெளியிடும் போது 0.8.2
மெட்டா-தொகுப்பு அதன் இணைப்பு பதிப்பையும் வெளியீட்டையும் அதிகரிக்க வேண்டும், இது 0.9.7
ஆகிறது.
கூடுதலாக, மெட்டா-தொகுப்பில் எப்போதாவது பேக்கேஜிங் அல்லது பிற பிழைகள் உள்ளன, அவை புதிய வெளியீடுகளைத் தள்ளுவதன் மூலம் சரி செய்யப்பட வேண்டும். அவை எதிர்கொள்ளும்போது, உடைந்த வெளியீட்டிலிருந்து வேறுபடுவதற்கு இணைப்பு பதிப்பை அதிகரிக்க வேண்டும். எந்த சூழ்நிலையிலும் pypi இல் இருந்து உடைந்த அல்லது பழைய வெளியீடுகளை செய்ய வேண்டாம், அதற்கு பதிலாக இணைப்பு பதிப்பை அதிகரித்து புதிய வெளியீட்டைப் பதிவேற்றவும்.
சிறிய பதிப்பு அதிகரிக்கிறது¶
மெட்டா-தொகுப்பில் ஒரு புதிய உறுப்பைச் சேர்ப்பதைத் தவிர, மெட்டா-தொகுப்பின் சிறிய பதிப்பு ஒரு சிறிய பதிப்பு கண்காணிக்கப்பட்ட உறுப்பில் அதிகரிக்கும் போதெல்லாம் அதிகரிக்கப்பட வேண்டும்.
எடுத்துக்காட்டாக, மெட்டா-தொகுப்பு 2 கூறுகளைக் கண்காணிக்கிறதென்றால் qiskit-terra==0.7.0
மற்றும் qiskit-aer==0.1.1
மற்றும் தற்போதைய பதிப்பு 0.7.5
. qiskit-aer
உறுப்பு 0.2.0
ஐ வெளியிடும்போது, புதிய வெளியீட்டிற்கு ஒத்ததாக மெட்டா-தொகுப்பு பதிப்பை `` 0.8.0`` ஆக அதிகரிக்க வேண்டும்.
முக்கிய பதிப்பு அதிகரிக்கிறது¶
முக்கிய பதிப்பு மற்ற பதிப்பு எண் கூறுகளிலிருந்து வேறுபட்டது. கண்காணிக்கப்பட்ட ஒவ்வொரு உறுப்புடனும் பூட்டு படிநிலையில் புதுப்பிக்கப்படும் பிற பதிப்பு எண் கூறுகளைப் போலன்றி, கண்காணிக்கப்பட்ட அனைத்து பதிப்புகளும் மோதும்போது மட்டுமே முக்கிய பதிப்பு அதிகரிக்கும் (குறைந்தது 1.0.0
க்கு முன்). இப்போதே எல்லா உறுப்புகளும் 0
இன் முக்கிய பதிப்பு எண் கூறுகளைக் கொண்டுள்ளன, மேலும் மெட்டா-களஞ்சியத்தில் கண்காணிக்கப்படும் ஒவ்வொரு உறுப்புகளும் முக்கிய பதிப்பை >=1
என்று மெருகுவதன் மூலம் நிலையானதாகக் குறிக்கப்படும் வரை மெட்டா- தொகுப்பு பதிப்பு முக்கிய பதிப்பை அதிகரிக்கக்கூடாது.
அனைத்து உறுப்புகளும் >=1.0.0 இல் இருக்கும்போது முக்கிய பதிப்பு எண் கூறு கண்காணிப்பின் நடத்தை இன்னும் முடிவு செய்யப்படவில்லை.
விருப்பமான கூடுதல்¶
கண்காணிக்கப்பட்ட உறுப்புகளுக்கு மேலதிகமாக, Qiskit இன் மேல் கூடுதல் தொகுப்புகள் கட்டப்பட்டுள்ளன, அவை Qiskit உடன் இணைந்து உருவாக்கப்பட்டன, எடுத்துக்காட்டாக Qiskit-ஆப்டிமைசேஷன் போன்ற பயன்பாட்டு களஞ்சியங்கள். வசதிக்காக, இந்த தொகுப்புகள் Qiskit மெட்டாதொகுப்பு மூலம் Qiskit மூலம் நிறுவக்கூடிய கூடுதல் என கண்காணிக்கப்படுகிறது. இந்த விருப்பத்தேர்வு கீழ்நிலை திட்டங்களின் வெளியீடுகள் மெட்டாதொகுப்பு வெளியீட்டைத் தூண்டுவதில்லை, ஏனெனில் அவை பின் செய்யப்படாதவை மற்றும் மெட்டாதொகுப்பு பதிப்பை பாதிக்காது. Qiskit மற்றும் இந்த கீழ்நிலை விருப்ப சார்புநிலைகளுக்கு இடையே பொருந்தக்கூடிய சிக்கல் இருந்தால் மற்றும் குறைந்தபட்ச பதிப்பை ஒரு தனி வெளியீட்டில் சரிசெய்ய வேண்டும் என்றால் இது பேக்கேஜிங் பிழைத்திருத்தம் என்பதால் இது இணைப்பு பதிப்பு வெளியீடாக மட்டுமே செய்யப்படும்.
Qiskit உறுப்புத் தேவை கண்காணிப்பு¶
மெட்டா-தொகுப்பு மற்றும் கிஸ்கிட் பதிப்போடு கண்டிப்பாக தொடர்புடையதல்ல என்றாலும், மெட்டா-தொகுப்பின் தேவைகள் பட்டியலில் உள்ள உறுப்பு பதிப்புகளை நாங்கள் எவ்வாறு கண்காணிக்கிறோம் என்பது முக்கியம். Setup.py
இல் பட்டியலிடப்பட்டுள்ள ஒவ்வொரு உறுப்புகளும் ஒற்றை பதிப்பில் பொருத்தப்பட வேண்டும். இதன் பொருள் Qiskitடின் ஒவ்வொரு பதிப்பும் கண்காணிக்கப்பட்ட ஒவ்வொரு உறுப்புக்கும் ஒரு பதிப்பை மட்டுமே நிறுவ வேண்டும். எடுத்துக்காட்டாக, எந்த நேரத்திலும் தேவைகள் பட்டியல்:
requirements = [
"qiskit_terra==0.7.0",
"qiskit-aer==0.1.1",
]
இது பிழைத்திருத்தத்திற்கு உதவுவதாகும், ஆனால் பல உறுப்புகள் முழுவதும் பதிப்புகளைக் கண்காணிக்க மிகவும் வெளிப்படையானது.
ஆவண அமைப்பு¶
The way documentation is structured in Qiskit is to push as much of the actual documentation into the docstrings as possible. This makes it easier for additions and corrections to be made during development, because the majority of the documentation lives near the code being changed.
Refer to https://qiskit.github.io/qiskit_sphinx_theme/apidocs/index.html for how to create and write effective API documentation, such as setting up the RST files and docstrings.
qiskit-metapackage repository¶
Historically, Qiskit Ecosystem projects were hosted at https://qiskit.org/documentation/. Those projects now live under https://qiskit.org/ecosystem and https://qiskit.org/documentation is only for core Qiskit (aka Terra).
While we finish this migration, documentation for Qiskit is still built in
https://github.com/Qiskit/qiskit-metapackage. The metapackage will Git clone Terra to pull in its
API documentation, using whatever version of Terra is pinned in the setup.py
. This
means that fixes for incorrect API documentation will need to be
included in a new release. Documentation fixes are valid backports for a stable
patch release per the stable branch policy (see நிலையான கிளை கொள்கை).
This setup is temporary and we are migrating the metapackage documentation infrastructure to live in Terra. See https://github.com/Qiskit/RFCs/issues/41 to track the migration.