阿川私房教材:學程式,拿 offer!

63 個專案實戰,直接上手!
無需補習,按步驟打造你的面試作品。

立即解鎖你的轉職秘笈

幾乎每個開發人員都會使用開源工具,無論是在學習編碼還是建立實際應用程式時。

Python 最近超越 JavaScript 成為 GitHub 上最受歡迎的語言。現在,兩者都是開源領域中排名前兩位的程式語言。

在本文中,我將向 Python 和 JavaScript 開發人員分享 7 個開源工具,它們可以幫助您建立更好的專案。

讓我們深入了解一下吧! 🚀

動圖

您可以在您的專案中使用這些工具,甚至可以為它們做出貢獻以使其變得更好。


Crawlee - 建造可靠的爬蟲

克勞利

Crawlee是一個用於網頁抓取和瀏覽器自動化的開源程式庫。它支援 HTTP 請求和使用 Puppeteer 和 Playwright 等工具進行無頭瀏覽器爬行。

其反屏蔽功能,例如代理輪換和瀏覽器指紋辨識,可以更輕鬆地避免檢測。 Crawlee 還可以自動擴展並支援 TypeScript,使其能夠可靠且有效率地完成任何規模的任務。

克勞利

最好的部分? Crawlee 可以與Node.jsPython無縫協作。如果網站需要 JavaScript 渲染,您可以輕鬆切換到基於瀏覽器的爬蟲。稍後,如果您發現更快的 API 可以滿足您的需求,只需切換回 HTTP 抓取即可,無需重寫您的專案

若要執行 Crawlee 快速啟動,請安裝 Crawlee CLI 以及必要的依賴項和樣板程式碼:

npx crawlee create my-crawler

Crawlee 提供了三個主要的爬蟲類: CheerioCrawlerPuppeteerCrawlerPlaywrightCrawler ,它們具有相同的介面。

您可以使用以下命令在專案中執行 Crawlee:

npm install crawlee

讓我們看一下使用 Crawlee “抓取網站上的所有連結”的範例:

import { PlaywrightCrawler } from 'crawlee';

const crawler = new PlaywrightCrawler({
    async requestHandler({ request, enqueueLinks, log }) {
        log.info(request.url);
        // Add all links from page to RequestQueue
        await enqueueLinks();
    },
    maxRequestsPerCrawl: 10, // Limitation for only 10 requests (do not use if you want to crawl all links)
});

// Run the crawler with initial request
await crawler.run(['https://crawlee.dev']);

此範例使用enqueueLinks()方法在爬網程式瀏覽頁面時將新連結新增至RequestQueue 。透過刪除maxRequestsPerCrawl選項,您可以使用它來尋找網域上的所有 URL。

您可以從其文件中找到更多範例和資源,以便在您的專案中正確使用 Crawlee。

他們在GitHub上擁有 15k+ star,專案不斷發展和完善。

https://github.com/apify/crawlee GitHub 上的 Star Crawlee ⭐️


🚨 贈品提醒! 🚨

克勞利贈品

Crawlee 向社區贈送 3 件獨家連帽衫。

  1. 點選下方按鈕在 GitHub 上星標 Crawlee

  2. 將您的 GitHub 使用者名稱放入本文的評論部分。

就是這樣!

Crawlee 將於2024 年 12 月 31 日選出幸運獲獎者。

https://github.com/apify/crawlee 參與贈品活動


Marimo - Python 反應式筆記本

球藻

Marimo是一個基於 Python 的開源筆記本環境,讓資料處理更加互動和直覺。它支援 Python 腳本和筆記本,允許透過 Git 進行無縫版本控制。

Marimo 的突出功能是其反應式 UI,筆記本某一部分的變更會自動更新其他相關部分,使其成為即時資料探索的理想選擇。

它易於使用,並為高級用戶提供了大量功能。例如,它可用於建立互動式工具,例如嵌入視覺化工具。

球藻

您可以透過在終端機中執行以下安裝命令來快速啟動 Marimo

pip install marimo  # or conda install -c conda-forge marimo
marimo tutorial intro

使用以下命令建立或編輯筆記本:

marimo edit

執行應用程式:

marimo run your_notebook.py

最精彩的部分,與 Marimo 一起:

  • 將您的 Notebook 作為 Web 應用程式執行:透過隱藏 Python 程式碼,將您的 Notebook 轉變為互動式 Web 應用程式。

  • 作為腳本執行:直接從命令列將筆記本作為腳本執行。

  • 自動轉換:使用 CLI 自動將 Jupyter 筆記本轉換為 marimo 筆記本。

您可以透過其文件了解有關 Marimo 的更多訊息,並找到在下一個 Python 工作流程中正確使用它的資源。

他們在GitHub上擁有 8k+ star,社群正在快速發展!

https://github.com/marimo-team/marimo GitHub 上的 Star Marimo ⭐️


Deno - 現代 Web 的 JavaScript 執行時

德諾

Deno是一個開源 JavaScript 執行時,旨在提供現代且安全的開發人員體驗。 Deno 基於 V8 和 Rust 建置,預設為簡單性和安全性進行了最佳化。

透過執行單一命令在 Mac 或 Linux 上安裝 Deno:

curl -fsSL https://deno.land/install.sh | sh

對於 Windows,執行以下命令:

irm https://deno.land/install.ps1 | iex

它還原生支援 TypeScript,並包含用於執行程式碼檢查、格式化、測試和編譯為獨立可執行檔等任務的內建工具。

儘管 Deno 與 Node.js 有很大不同,但它提供了 Node.js 相容層,允許您以最少的更改執行現代 Node.js 專案。您也可以從 Node.js 遷移到 Deno,讓您的程式碼更加簡單有效率。

德諾

Deno 強制執行嚴格的權限模型,限制對檔案、網路和環境的存取,除非明確授予。其全面的 API 和最小的配置使其成為雲端和邊緣部署的強大選擇,為建置和執行應用程式提供可擴展的環境。

您可以了解有關 Deno 的更多訊息,並透過其文件找到在工作流程中正確使用它的資源。

他們在GitHub上擁有 98k+ 顆星,成千上萬的開發者正在使用 Deno!

https://github.com/denoland/deno GitHub 上的 dStar Deno ⭐️


Wasp - 更快的全端網路應用程式

黃蜂

Wasp是一個開源框架,旨在簡化全端 Web 開發。您可以透過 Wasp 輕鬆地在 React、Node.js 和 Prisma 之上進行建置。

它透過為您處理樣板程式碼和配置來簡化現代 Web 應用程式的設定和編排。憑藉其簡單的配置語言,Wasp 允許開發人員專注於應用程式的核心邏輯,同時自動執行重複任務,從而使開發更快、更有效率。

對於快速啟動 Wasp,請在Linux / OSX / WSL (Windows) 上執行下列安裝指令:

curl -sSL https://get.wasp-lang.dev/installer.sh | sh

建立新應用程式:

wasp new

現在,執行 Wasp 應用程式:

cd <my-project-name>
wasp start

您可以在http://localhost:3000/輕鬆查看全端 Web 應用程式

如果您想了解如何輕鬆地將 Wasp 用於下一個全端專案,請在此處查看他們的教學課程。

您可以了解有關 Wasp 框架的更多訊息,並透過其文件查找資源以在您的工作流程中正確使用它。

他們在GitHub上擁有 13k+ 的 star,並且擁有良好的社區支持!

https://github.com/wasp-lang/wasp GitHub 上的 Star Wasp ⭐️


PydanticAI - 代理框架

派丹蒂克人工智慧

PydanticAI是一個新的代理框架,旨在簡化生成式 AI 與生產級 Python 應用程式的整合。

一些突出的特點:

  • 結構化輸出驗證:它確保人工智慧產生的輸出與預先定義的資料模式匹配,最大限度地減少意外結果。

  • 依賴管理:提供輕鬆管理和使用依賴關係的工具,無論是同步或非同步。

  • 與模型無關:支援 OpenAI、Groq 和 Gemini 等各種 AI 模型,允許無縫適應不同的用例

基於 Pydantic 的優勢以及 OpenAI SDK、Anthropic SDK、LangChain、LlamaIndex、AutoGPT、Transformers、CrewAI、Instructor 等驗證層的優點。

PydanticAI 可在 PyPI 上使用,因此您可以透過執行以下命令進行安裝:

pip install pydantic-ai

您可以將其與可選的 Logfire 整合一起使用,或僅安裝範例:

pip install 'pydantic-ai[examples]'

這些範例要求您使用 LLM 設定身份驗證並遵循其他步驟,在本文件中尋找所有內容。

PydanticAI 是一個新的代理框架,某些功能仍處於測試階段。如果您打算嘗試,可以儘早參與。

您可以了解有關 PydanticAI 代理框架的更多訊息,並透過其文件找到在工作流程中正確使用它的資源。

他們在GitHub上擁有超過 1,300 顆星,並有強大的 Pydantic 社群的大力支持!

https://github.com/pydantic/pydantic-ai 在 GitHub 上明星 PydanticAI ⭐️


PocketBase - 1 個檔案中的後端

袖珍底座

PocketBase是一款開源自託管後端解決方案,旨在建立全端應用程式,重點關注簡單性和可移植性。

它提供了身份驗證、文件儲存和即時 CRUD 操作等基本功能,所有這些功能都在單一伺服器實例中進行。非常適合中小型應用程式,例如行動應用程式後端和 SaaS 平台。

一些很棒的功能包括:

  • 支援多個前端堆疊,如 Svelte、Angular、React 等

  • JavaScript 和 Dart SDK

  • 自託管

PocketBase 的建立是為了幫助建立獨立的應用程式。對於需要輕量級後端且無需管理多個服務的複雜性的專案來說,這是一個不錯的選擇。

該專案完全開源,由志願者維護,無需任何資金。您可以參與或從文件中探索其功能和實作細節。

他們在GitHub上擁有 41k+ 顆星,並由兼職貢獻者維護。

https://github.com/pocketbase/pocketbase 在 GitHub 上明星 PocketBase ⭐️


KitOps - ML 協作變得簡單

套件操作

KitOps 是一款開源工具,它重新定義了資料科學家、開發人員和 SRE 在 AI/ML 模型、資料集和原始程式碼方面的協作方式。

透過利用 Modelkit(一種 OCI(開放容器計畫)標準打包格式),KitOps 提供了一種統一的方法來跨不同環境打包、版本控制和部署資源。

要使用 KitOps,您需要安裝 Kit CLI 並透過執行以下命令檢查版本:

kit version

登入符合 OCI 標準的註冊表。透過執行以下命令,Jozu Hub 是 KitOps 的首選:

kit login jozu.ml

登入後,從 Jozu Hub 中提取範例 Modelkit,並透過執行以下命令在工作流程中進行嘗試:

kit unpack jozu.ml/jozu-quickstarts/fine-tuning:latest

預設情況下,unpack 命令會將 ModelKit 內容解壓縮到目前目錄,您可以使用它來了解更多資訊。

模型套件

主要特點

  • 符合 OCI 的打包:將模型、資料集、配置和程式碼打包到 ModelKit 中,以簡化版本控制。

  • 註冊表靈活性:與任何符合 OCI 的註冊表相容,確保與現有 AI/ML 工作流程無縫整合。

  • 基於 YAML 的客製化:使用直覺的 YAML 檔案配置管道、微調 LLM 並建立 RAG 管道。

最好的部分?

如果您是一位資料科學家,在 Jupyter Notebooks 中與 AI 工程師團隊一起使用 LLM 模型建立 Python 腳本,那麼 KitOps 可以彌補這一差距。

它支援跨團隊的無縫協作,將不同的工作流程合併到統一的管道中,以實現最高效率。

您可以了解有關 KitOps 的更多訊息,並透過其文件查找資源以在您的工作流程中正確使用它。

他們在GitHub上擁有 500 多個 star,社群正在不斷壯大!

https://github.com/jozu-ai/kitops GitHub 上的 Star KitOps ⭐️


就是這樣!我嘗試介紹一些主要針對 Python 和 JavaScript 開發人員的有用工具。如果您知道其他很棒的工具,請在評論中寫下來!

希望您覺得這篇文章有用。如果是的話,請隨時與您的開發者朋友分享!

另外,追蹤我,了解更多類似內容:

https://dev.to/arindam_1729

如需付費合作,請發送電子郵件至: [email protected]

感謝您的閱讀!

動圖


原文出處:https://dev.to/arindam_1729/7-must-try-open-source-tools-for-python-and-javascript-developers-4c56

按讚的人:

共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。

阿川私房教材:學程式,拿 offer!

63 個專案實戰,直接上手!
無需補習,按步驟打造你的面試作品。

立即解鎖你的轉職秘笈