首頁 >後端開發 >Python教學 >開始為流行的開源項目做出貢獻

開始為流行的開源項目做出貢獻

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-01-29 04:13:09901瀏覽

Taipy:一個基於Python的網頁框架,助力數據驅動應用開發

Taipy是一個使用Python構建數據驅動型Web應用的框架。開發者僅需Python即可創建Web應用,這對於數據科學家和分析專業人士尤其便捷,並在業界日益流行。截至本文撰寫之時,Taipy在GitHub上已擁有1.9k個fork和17.6k顆星。

Start contributing to a Popular Open Source Project

我已參與Taipy項目貢獻一段時間。起初,源於我對數據科學和分析的濃厚興趣,並且我的技術技能與該項目契合良好。貢獻過程讓我獲得了寶貴的實踐經驗,能夠解決使用該框架的開發人員遇到的問題,並從經驗豐富的維護人員那裡學到了很多。在Hacktoberfest期間,我發現許多開發者在本地環境測試更新時遇到了困難。因此,我決定分享我的工作流程,希望能幫助其他有意貢獻Taipy的開發者。

高效工作流程設置

開始為項目貢獻代碼時,首先應查閱CONTRIBUTING.md文件。閱讀貢獻指南後,你會發現Taipy在後台使用了React,即使用戶無需接觸任何JavaScript代碼。

我的大部分貢獻都集中在React部分。要檢查更新,需要構建React,將更新後的Taipy安裝到Python環境中,並運行測試Taipy腳本。每次都這麼做比較繁瑣,所以我創建了一個bash腳本。

taipy-build.sh

<code class="language-bash">#!/bin/bash
# 自动化Taipy代码库的构建过程

# 构建taipy-gui
cd ~/projects/taipy/frontend/taipy-gui/dom;
npm i;
cd ..;
npm i --omit=optional;
npm run build;

# 构建taipy
cd ~/projects/taipy/frontend/taipy;
npm i;
npm run build;

# 安装新的taipy

cd ~/projects/test-taipy;
source venv/bin/activate
pip install ../taipy</code>

運行此腳本後,只需在虛擬環境中運行taipy run --use-reloader main.py即可查看更新後的效果。

pip install ../taipy非常重要,它用於在本地安裝Taipy。請確保指向文件系統中的Taipy目錄。

示例PR

讓我們來看一下我在2025年提交給Taipy的第一個PR。

一位開發者發現,在單選模式下,Selector組件的高度屬性無效。

Start contributing to a Popular Open Source Project

首先,需要創建一個簡單的Python腳本重現此bug。否則,無法檢查更新是否修復了問題。在這個問題中,維護人員提供了一個腳本,所以我使用了他的腳本。

重現bug後,我開始查看Taipy的代碼庫。在搜索“Selector”時,我找到了需要處理此問題的文件“Selector.tsx”。我還發現,在Selector組件中,高度屬性在單選模式和復選模式下未使用。我需要以某種方式傳遞高度屬性。參考其他樣式屬性的處理方式,最好使用useMemo並創建高度。

Start contributing to a Popular Open Source Project

最初,我將Sx傳遞給父元素(FormControl),效果符合預期,但維護人員反饋最好在RadioGroup/FormGroup級別控製樣式,因為標籤在Taipy應用程序中仍然可見。這對我來說是一個挑戰,因為這種方式的樣式不起作用。

Start contributing to a Popular Open Source Project

在瀏覽器開發者工具中調整樣式時,我發現flexFlow: column wrap是導致此行為的原因。我在heightSx中添加了flexFlow: 'column nowrap'。安裝更新後的Taipy後,我使用測試腳本驗證了此修復方案。

實現修復後,需要創建單元測試。添加新的測試用例並不難,因為我可以從現有的測試中看到很多示例。我為單选和複選模式的高度樣式添加了新的測試。

這看起來很簡單,但我嘗試了很多次才成功。在與維護人員的反饋進行改進後,我的PR最終被批准並合併了。 ??

Start contributing to a Popular Open Source Project

選擇適合自己的問題

我知道你渴望完成令人印象深刻的工作,但是,如果你選擇超出你能力範圍的難題,對你和維護人員來說都是不可持續的。選擇簡單的問題可以讓你熟悉項目,並學習新知識。我通常會在申請任務之前先研究一下問題,以確保自己能夠處理。

正如藤田智(Tomo Fujita)所說:

不要擔心 不要比較 不要期望太快 善待自己

如果貢獻Taipy代碼庫對你來說太難,你也可以關注taipy-doc。文檔對於庫來說非常重要。

總結

為Taipy貢獻代碼是一段有益的旅程。無論你是修復bug、增強功能還是改進文檔,每一次貢獻都很重要。不要猶豫,從小事做起——你的努力可能會幫助下一個遇到同樣問題的開發者!

以上是開始為流行的開源項目做出貢獻的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn