跌跌撞撞也終於到這次鐵人賽的最後一天了,這次因為是趕在最後一天參賽,每天的主題也只有大概的安排,變成寫什麼就介紹什麼,所以篇幅安排應該會覺得滿跳的,今天就來好好做個總整理,把上傳套件的流程再完整介紹一次。
Git
相關的網站來管理我們的公開程式碼,在第一步的介紹文章有提到其中一個,就是 Github。不管是我們自己開發,或是去其他開源貢獻 Github 都是一個很好的開源資源,這個系列也有介紹怎麼創建自己的 repository,以及如何操作 git
來對程式碼進行版本控制,可以參考下面幾篇文章:功能介紹會從系列文章 Day 13 - Statcast Search 開始
功能完成後,就可以上傳到 PyPI 上面給別人下載,有手動的上傳介紹:Day 09 - 簡單上傳一版到 TestPyPI,跟使用 Github Actions 的上傳介紹:Day 11 - 用 Github Actions 建立 workflow、Day 12 - Github Actions 上傳 PyPI 版號問題,另外要記得同個版號不能重複上傳,記得在上傳前確認一下。最後附上我目前的設定檔:publish.yml,他會在我上傳 Github tag
的時候自動上傳到 PyPI 並且 release 到 Github 上。
以上大概就完成上傳套件的基本流程,也別忘了開源要附上 License,在這篇 Day 06 - Open Source License 有介紹到。其他還有一些不是一定必要,但可以幫助到使用者或其他貢獻者的工具,像是:
大家也都可以參考看看,希望對大家都有幫助。
其實這次的鐵人賽主題滿早之前就想好了,因為 pybaseball 已經一陣子沒更新,就想說自己來寫一個看看,但沒想到後來九月份我剛好工作遇到特別忙的專案,所以沒提前做準備,最後還趕在最後一天才開賽,導致內容安排有點凌亂,實在抱歉。最後也有些東西還沒講到,像是可能介紹文件的多國語化,或是運用多執行序來抓資料來讓效能變好等等,之後可能會繼續用這個系列繼續介紹也不一定。
跟上次比起來這次比較像是不斷有新內容,所以會打亂原本的安排,但我也學到滿多東西的,挺開心。上次因為大多數是已經是既定內容,每天要寫什麼大概都定好了,變成可能要自己想點延伸的東西內容才會比較豐富,只能說都是一個不錯的經驗。
最後附上套件的 Repo 連結:baseball-stats-python,我最近應該都會在上面繼續修修改改,歡迎大家有興趣一起來開發,或是有遇到問題開 Issue 也是完全沒問題的。另外這次內容很多參考 Python Packaging User Guide 以及 Python 官方文件,雖然文件裡還不是全部都是繁中,但一直有一群志工在幫忙翻譯,之後他們又有再開 Meet-up 可以去支持一下,社群連結如下:
還有偷偷宣傳一下,之前有受邀去 Hello World Dev Conference 演講,有介紹關於工程師如何在體育界發展的介紹,大家有興趣也可以去看看:運動x程式x工程師
最後的最後,感謝大家耐心地看完這個系列,一樣有任何問題或建議歡迎留言告訴我,或是直接 E-mail 我也沒問題,我們有緣再見了,掰掰。