{ "$schema": "./schema/catalog-v1.schema.json", "schema_version": 1, "catalog": { "reviewed_on": "2026-09-06", "status": "active" }, "paths": [ { "id": "foundations", "order": 1, "title_en": "Python foundations", "title_zh": "Python åºç¡", "summary_en": "Learn the language, environments, dependencies, typing, and tests that reliable Python work depends on.", "summary_zh": "ææ¡è¯è¨åºç¡ãç¯å¢ãä¾èµãç±»å䏿µè¯ï¼ä¸ºå¯é ç Python é¡¹ç®æå¥½æ ¹åºã" }, { "id": "web-apis", "order": 2, "title_en": "Web and APIs", "title_zh": "Web ä¸ API", "summary_en": "Build typed services and applications that connect Python logic to users and other systems.", "summary_zh": "æå»ºæç±»å约æçæå¡ååºç¨ï¼æ Python é»è¾è¿æ¥å°ç¨æ·ä¸å ¶ä»ç³»ç»ã" }, { "id": "automation", "order": 3, "title_en": "Automation", "title_zh": "èªå¨å", "summary_en": "Turn repeatable work into maintainable scripts, browser workflows, and data pipelines.", "summary_zh": "æéå¤å·¥ä½åæå¯ç»´æ¤çèæ¬ãæµè§å¨å·¥ä½æµåæ°æ®ç®¡éã" }, { "id": "ai-agents", "order": 4, "title_en": "AI agents", "title_zh": "AI Agent", "summary_en": "Learn tools, structured output, state, evaluation, and the safety boundaries of agent systems.", "summary_zh": "çè§£å·¥å ·è°ç¨ãç»æåè¾åºãç¶æãè¯æµä»¥å Agent ç³»ç»çå®å ¨è¾¹çã" } ], "resources": [ { "id": "python-tutorial", "path": "foundations", "title": "The Python Tutorial", "url": "https://docs.python.org/3/tutorial/", "source_type": "official-docs", "level": "beginner", "language": "en", "why_en": "The primary introduction to Python syntax, data structures, modules, errors, classes, and the standard library.", "why_zh": "Python 宿¹å ¥é¨æç¨ï¼è¦çè¯æ³ãæ°æ®ç»æã模åãå¼å¸¸ãç±»ä¸æ ååºã", "reviewed_on": "2026-08-31", "status": "active", "requires_key": false, "risk": "low", "featured": true, "order": 1 }, { "id": "python-venv", "path": "foundations", "title": "venv â Creation of virtual environments", "url": "https://docs.python.org/3/library/venv.html", "source_type": "official-docs", "level": "beginner", "language": "en", "why_en": "The standard-library reference for creating isolated Python environments and understanding their behavior.", "why_zh": "Python æ ååºçèæç¯å¢åèï¼è¯´æå¦ä½å建é离ç¯å¢åå ¶è¿è¡æ¹å¼ã", "reviewed_on": "2026-08-31", "status": "active", "requires_key": false, "risk": "low", "featured": false, "order": 2 }, { "id": "python-packaging-guide", "path": "foundations", "title": "Python Packaging User Guide", "url": "https://packaging.python.org/en/latest/tutorials/packaging-projects/", "source_type": "official-docs", "level": "intermediate", "language": "en", "why_en": "The PyPA tutorial for project layout, build metadata, distributions, and publishing Python packages.", "why_zh": "PyPA 宿¹æç¨ï¼è¦ç项ç®ç»æãæå»ºå æ°æ®ãååå ä¸ Python å åå¸ã", "reviewed_on": "2026-08-31", "status": "active", "requires_key": false, "risk": "low", "featured": false, "order": 3 }, { "id": "uv-docs", "path": "foundations", "title": "uv documentation", "url": "https://docs.astral.sh/uv/", "source_type": "official-project", "level": "all-levels", "language": "en", "why_en": "A modern workflow for Python versions, virtual environments, dependencies, lockfiles, and project commands.", "why_zh": "ç°ä»£ Python 工使µï¼ç»ä¸ç®¡ççæ¬ãèæç¯å¢ãä¾èµãéæä»¶å项ç®å½ä»¤ã", "reviewed_on": "2026-08-31", "status": "active", "requires_key": false, "risk": "low", "featured": true, "order": 4 }, { "id": "pytest-docs", "path": "foundations", "title": "pytest documentation", "url": "https://docs.pytest.org/en/stable/", "source_type": "official-project", "level": "intermediate", "language": "en", "why_en": "The official guide to test discovery, assertions, fixtures, parametrization, and maintainable test suites.", "why_zh": "pytest 宿¹æåï¼è¦çæµè¯åç°ãæè¨ãfixtureãåæ°ååå¯ç»´æ¤æµè¯å¥ä»¶ã", "reviewed_on": "2026-08-31", "status": "active", "requires_key": false, "risk": "low", "featured": false, "order": 5 }, { "id": "typing-docs", "path": "foundations", "title": "Python typing documentation", "url": "https://typing.python.org/en/latest/", "source_type": "official-docs", "level": "intermediate", "language": "en", "why_en": "The canonical home for Python's type-system specification, guides, and typing best practices.", "why_zh": "Python ç±»åç³»ç»è§èãæåä¸ç±»åæ æ³¨å®è·µçæå¨å ¥å£ã", "reviewed_on": "2026-08-31", "status": "active", "requires_key": false, "risk": "low", "featured": false, "order": 6 }, { "id": "ruff-docs", "path": "foundations", "title": "Ruff documentation", "url": "https://docs.astral.sh/ruff/", "source_type": "official-project", "level": "all-levels", "language": "en", "why_en": "An extremely fast Python linter and code formatter written in Rust, replacing Flake8, Black, isort, and more.", "why_zh": "æéç Rust é©±å¨ Python ä»£ç æ£æ¥ä¸æ ¼å¼åå·¥å ·ï¼ç»ä¸æ¿ä»£ Flake8ãBlack ä¸ isortã", "reviewed_on": "2026-09-02", "status": "active", "requires_key": false, "risk": "low", "featured": true, "order": 7 }, { "id": "mypy-docs", "path": "foundations", "title": "Mypy documentation", "url": "https://mypy.readthedocs.io/en/stable/", "source_type": "official-project", "level": "intermediate", "language": "en", "why_en": "The standard static type checker for Python to catch bugs and verify type contracts before running code.", "why_zh": "Python 宿¹ä¸ç¤¾åºä¸»æµçéæç±»åæ£æ¥å¨ï¼å¨è¿è¡åæ¦æªç±»åé误并éªè¯ä»£ç å¥çº¦ã", "reviewed_on": "2026-09-02", "status": "active", "requires_key": false, "risk": "low", "featured": false, "order": 8 }, { "id": "fastapi-docs", "path": "web-apis", "title": "FastAPI documentation", "url": "https://fastapi.tiangolo.com/", "source_type": "official-docs", "level": "intermediate", "language": "en", "why_en": "A direct route from typed Python functions to tested APIs with validation and generated documentation.", "why_zh": "ä»å¸¦ç±»åç Python 彿°åºåï¼æå»ºå ·å¤éªè¯ãæµè¯åèªå¨ææ¡£ç APIã", "reviewed_on": "2026-08-31", "status": "active", "requires_key": false, "risk": "low", "featured": true, "order": 1 }, { "id": "django-tutorial", "path": "web-apis", "title": "Django documentation: First steps", "url": "https://docs.djangoproject.com/en/stable/intro/tutorial01/", "source_type": "official-docs", "level": "beginner", "language": "en", "why_en": "The official path through Django projects, models, views, templates, forms, tests, and reusable apps.", "why_zh": "Django 宿¹å ¥é¨è·¯å¾ï¼è¦ç项ç®ã模åãè§å¾ã模æ¿ã表åãæµè¯åå¯å¤ç¨åºç¨ã", "reviewed_on": "2026-08-31", "status": "active", "requires_key": false, "risk": "low", "featured": false, "order": 2 }, { "id": "flask-docs", "path": "web-apis", "title": "Flask documentation", "url": "https://flask.palletsprojects.com/en/stable/", "source_type": "official-docs", "level": "beginner", "language": "en", "why_en": "The maintained reference and tutorial for Flask applications, requests, templates, testing, and deployment.", "why_zh": "Flask 宿¹åè䏿ç¨ï¼è¦çåºç¨ã请æ±ã模æ¿ãæµè¯åé¨ç½²ã", "reviewed_on": "2026-08-31", "status": "active", "requires_key": false, "risk": "low", "featured": false, "order": 3 }, { "id": "pydantic-docs", "path": "web-apis", "title": "Pydantic documentation", "url": "https://pydantic.dev/docs/validation/latest/get-started/", "source_type": "official-docs", "level": "intermediate", "language": "en", "why_en": "The primary guide to validating untrusted data and expressing typed contracts at Python system boundaries.", "why_zh": "å¨ Python ç³»ç»è¾¹çéªè¯ä¸å¯ä¿¡æ°æ®ãå®ä¹ç±»åå¥çº¦ç宿¹æåã", "reviewed_on": "2026-08-31", "status": "active", "requires_key": false, "risk": "low", "featured": false, "order": 4 }, { "id": "httpx-docs", "path": "web-apis", "title": "HTTPX documentation", "url": "https://www.python-httpx.org/", "source_type": "official-project", "level": "intermediate", "language": "en", "why_en": "The official reference for synchronous and asynchronous HTTP clients, timeouts, streaming, and transport control.", "why_zh": "忥ä¸å¼æ¥ HTTP 客æ·ç«¯ãè¶ æ¶ãæµå¼ååºåä¼ è¾æ§å¶ç宿¹åèã", "reviewed_on": "2026-08-31", "status": "active", "requires_key": false, "risk": "low", "featured": false, "order": 5 }, { "id": "sqlalchemy-docs", "path": "web-apis", "title": "SQLAlchemy documentation", "url": "https://docs.sqlalchemy.org/en/20/", "source_type": "official-project", "level": "intermediate", "language": "en", "why_en": "The definitive Python SQL toolkit and Object Relational Mapper, providing type-safe database access and migrations.", "why_zh": "Python æå¨ç SQL å·¥å ·å ä¸å¯¹è±¡å ³ç³»æ å°å¨ï¼ORMï¼ï¼æä¾ç±»åå®å ¨çæ°æ®æä¹ åä¸è®¿é®ã", "reviewed_on": "2026-09-02", "status": "active", "requires_key": false, "risk": "low", "featured": false, "order": 6 }, { "id": "alembic-docs", "path": "web-apis", "title": "Alembic documentation", "url": "https://alembic.sqlalchemy.org/en/latest/", "source_type": "official-project", "level": "intermediate", "language": "en", "why_en": "Database migration tool for SQLAlchemy, providing transactional schema changes and rollback support.", "why_zh": "åºäº SQLAlchemy çæ°æ®åºè¿ç§»äºå®æ åå·¥å ·ï¼æä¾äºå¡æ§æ¶ææ¼è¿ä¸çæ¬åæ»æ¯æã", "reviewed_on": "2026-09-02", "status": "active", "requires_key": false, "risk": "medium", "featured": false, "order": 7 }, { "id": "pathlib-docs", "path": "automation", "title": "pathlib â Object-oriented filesystem paths", "url": "https://docs.python.org/3/library/pathlib.html", "source_type": "official-docs", "level": "beginner", "language": "en", "why_en": "The standard-library reference for readable, cross-platform file and directory automation.", "why_zh": "使ç¨å¯è¯»ã跨平å°ç对象å¼è·¯å¾å®ææä»¶ä¸ç®å½èªå¨åçæ ååºåèã", "reviewed_on": "2026-08-31", "status": "active", "requires_key": false, "risk": "low", "featured": false, "order": 1 }, { "id": "subprocess-docs", "path": "automation", "title": "subprocess â Subprocess management", "url": "https://docs.python.org/3/library/subprocess.html", "source_type": "official-docs", "level": "intermediate", "language": "en", "why_en": "The standard-library contract for launching processes, capturing output, handling failures, and avoiding unsafe shell usage.", "why_zh": "å¯å¨è¿ç¨ãæè·è¾åºãå¤ç失败并é¿å ä¸å®å ¨ shell ç¨æ³çæ ååºå¥çº¦ã", "reviewed_on": "2026-08-31", "status": "active", "requires_key": false, "risk": "medium", "featured": false, "order": 2 }, { "id": "playwright-python", "path": "automation", "title": "Playwright for Python", "url": "https://playwright.dev/python/docs/intro", "source_type": "official-docs", "level": "intermediate", "language": "en", "why_en": "The official Python guide to reliable browser automation, locators, assertions, traces, and isolated contexts.", "why_zh": "å¯é æµè§å¨èªå¨åãå®ä½å¨ãæè¨ã追踪åé离ä¸ä¸æç Python 宿¹æåã", "reviewed_on": "2026-08-31", "status": "active", "requires_key": false, "risk": "medium", "featured": false, "order": 3 }, { "id": "scrapy-tutorial", "path": "automation", "title": "Scrapy tutorial", "url": "https://docs.scrapy.org/en/latest/intro/tutorial.html", "source_type": "official-docs", "level": "intermediate", "language": "en", "why_en": "The official introduction to crawl structure, extraction, item pipelines, persistence, and responsible operation.", "why_zh": "ç¬è«ç»æãæ°æ®æåãitem pipelineãæä¹ åä¸è´è´£ä»»è¿è¡ç宿¹å ¥é¨ã", "reviewed_on": "2026-08-31", "status": "active", "requires_key": false, "risk": "medium", "featured": false, "order": 4 }, { "id": "pandas-getting-started", "path": "automation", "title": "pandas getting started guides", "url": "https://pandas.pydata.org/docs/getting_started/index.html", "source_type": "official-docs", "level": "beginner", "language": "en", "why_en": "The primary entry point for tabular data loading, cleaning, transformation, analysis, and export.", "why_zh": "è¡¨æ ¼æ°æ®è¯»åãæ¸ æ´ã转æ¢ãåæå导åºç宿¹å ¥é¨å ¥å£ã", "reviewed_on": "2026-08-31", "status": "active", "requires_key": false, "risk": "low", "featured": false, "order": 5 }, { "id": "polars-docs", "path": "automation", "title": "Polars documentation", "url": "https://docs.pola.rs/", "source_type": "official-project", "level": "intermediate", "language": "en", "why_en": "Lightning-fast DataFrame library built on Apache Arrow and Rust, optimized for efficient data pipelines and parallel processing.", "why_zh": "åºäº Apache Arrow å Rust æå»ºçæé DataFrame åºï¼ä¸ä¸ºå¹¶è¡è®¡ç®ä¸ç°ä»£æ°æ®ç®¡éä¼åã", "reviewed_on": "2026-09-02", "status": "active", "requires_key": false, "risk": "low", "featured": false, "order": 6 }, { "id": "duckdb-docs", "path": "automation", "title": "DuckDB Python API documentation", "url": "https://duckdb.org/docs/api/python/overview", "source_type": "official-project", "level": "intermediate", "language": "en", "why_en": "Fast in-process analytical SQL engine for automated data transformation, Parquet querying, and embedded analytics.", "why_zh": "è¿ç¨å 髿§è½åæå SQL 弿ï¼éç¨äºèªå¨åæ°æ®è½¬æ¢ãParquet æä»¶å¿«éæ¥è¯¢ä¸åµå ¥å¼åæã", "reviewed_on": "2026-09-02", "status": "active", "requires_key": false, "risk": "low", "featured": false, "order": 7 }, { "id": "openai-agents-sdk", "path": "ai-agents", "title": "OpenAI Agents SDK", "url": "https://openai.github.io/openai-agents-python/", "source_type": "official-docs", "level": "intermediate", "language": "en", "why_en": "The official Python toolkit for agents, tools, handoffs, guardrails, sessions, tracing, and orchestration.", "why_zh": "é¢å Agentãå·¥å ·ãhandoffãguardrailãsessionã追踪ä¸ç¼æç宿¹ Python å·¥å ·å ã", "reviewed_on": "2026-08-31", "status": "active", "requires_key": true, "risk": "medium", "featured": true, "order": 1 }, { "id": "pydantic-ai", "path": "ai-agents", "title": "Pydantic AI", "url": "https://pydantic.dev/docs/ai/overview/", "source_type": "official-docs", "level": "intermediate", "language": "en", "why_en": "Typed agent development built around validated inputs, structured output, tools, testing, and model portability.", "why_zh": "以è¾å ¥éªè¯ãç»æåè¾åºãå·¥å ·ãæµè¯å模åå¯ç§»æ¤æ§ä¸ºæ ¸å¿çç±»åå®å ¨ Agent å¼åã", "reviewed_on": "2026-08-31", "status": "active", "requires_key": true, "risk": "medium", "featured": true, "order": 2 }, { "id": "model-context-protocol", "path": "ai-agents", "title": "Model Context Protocol", "url": "https://modelcontextprotocol.io/docs/getting-started/intro", "source_type": "official-standard", "level": "intermediate", "language": "en", "why_en": "The open protocol and reference documentation for connecting AI applications to tools, data, and reusable context.", "why_zh": "è¿æ¥ AI åºç¨ãå·¥å ·ãæ°æ®ä¸å¯å¤ç¨ä¸ä¸æç弿¾åè®®åæå¨åèã", "reviewed_on": "2026-08-31", "status": "active", "requires_key": false, "risk": "medium", "featured": true, "order": 3 }, { "id": "langgraph-python", "path": "ai-agents", "title": "LangGraph overview", "url": "https://docs.langchain.com/oss/python/langgraph/overview", "source_type": "official-docs", "level": "advanced", "language": "en", "why_en": "The official Python guide to stateful graph workflows, durable execution, memory, interrupts, and human review.", "why_zh": "æç¶æå¾å·¥ä½æµãæä¹ æ§è¡ãè®°å¿ã䏿ä¸äººå·¥å®¡æ ¸ç Python 宿¹æåã", "reviewed_on": "2026-08-31", "status": "active", "requires_key": true, "risk": "medium", "featured": false, "order": 4 }, { "id": "google-adk", "path": "ai-agents", "title": "Google Agent Development Kit", "url": "https://adk.dev/", "source_type": "official-docs", "level": "advanced", "language": "en", "why_en": "Google's official documentation for developing, evaluating, and deploying modular agent systems.", "why_zh": "Google 宿¹æ¨¡åå Agent ç³»ç»å¼åãè¯æµä¸é¨ç½²ææ¡£ã", "reviewed_on": "2026-08-31", "status": "active", "requires_key": true, "risk": "medium", "featured": false, "order": 5 }, { "id": "instructor-docs", "path": "ai-agents", "title": "Instructor documentation", "url": "https://python.useinstructor.com/", "source_type": "official-project", "level": "intermediate", "language": "en", "why_en": "Structured outputs and validation for LLMs powered by Pydantic, enabling predictable tool calling and schema enforcement.", "why_zh": "åºäº Pydantic ç大模åç»æåè¾åºä¸ä¸¥æ ¼éªè¯æ¡æ¶ï¼ç¡®ä¿å·¥å ·è°ç¨ä¸æ°æ®æåçç¡®å®æ§ã", "reviewed_on": "2026-09-02", "status": "active", "requires_key": true, "risk": "medium", "featured": false, "order": 6 }, { "id": "anthropic-mcp-docs", "path": "ai-agents", "title": "Model Context Protocol Python SDK", "url": "https://github.com/modelcontextprotocol/python-sdk", "source_type": "official-project", "level": "intermediate", "language": "en", "why_en": "Official Python implementation of the Model Context Protocol for building MCP servers and clients.", "why_zh": "Model Context Protocol 宿¹ Python SDKï¼ç¨äºå¿«éæå»ºåéææ åç MCP å·¥å ·ä¸æå¡ã", "reviewed_on": "2026-09-02", "status": "active", "requires_key": false, "risk": "medium", "featured": false, "order": 7 }, { "id": "mcp-2026-07-28-spec-release", "path": "ai-agents", "title": "MCP 2026-07-28 specification release", "url": "https://blog.modelcontextprotocol.io/posts/2026-07-28/", "source_type": "official-docs", "level": "intermediate", "language": "en", "why_en": "The official release announcement for the 2026-07-28 Model Context Protocol specification, covering the stateless redesign and breaking changes.", "why_zh": "Model Context Protocol 2026-07-28 è§èç宿¹åå¸å ¬åï¼è¯´ææ ç¶æéæä¸ç ´åæ§åæ´ã", "reviewed_on": "2026-09-06", "status": "active", "requires_key": false, "risk": "low", "featured": false, "order": 8 }, { "id": "mcp-2026-07-28-release-candidate", "path": "ai-agents", "title": "MCP 2026-07-28 release candidate overview", "url": "https://blog.modelcontextprotocol.io/posts/2026-07-28-release-candidate/", "source_type": "official-docs", "level": "intermediate", "language": "en", "why_en": "The official release-candidate post that enumerates the 2026-07-28 breaking changes and the migration window for SDK maintainers.", "why_zh": "宿¹ RC åå¸è¯´æï¼é项ååº 2026-07-28 çç ´åæ§åæ´ä»¥åçç» SDK ç»´æ¤è çè¿ç§»çªå£ã", "reviewed_on": "2026-09-06", "status": "active", "requires_key": false, "risk": "low", "featured": false, "order": 9 }, { "id": "anthropic-mcp-aaif-donation", "path": "ai-agents", "title": "Anthropic donating MCP to the Agentic AI Foundation", "url": "https://www.anthropic.com/news/donating-the-model-context-protocol-and-establishing-of-the-agentic-ai-foundation", "source_type": "official-docs", "level": "intermediate", "language": "en", "why_en": "Anthropic's announcement establishing neutral Linux Foundation governance for MCP under the Agentic AI Foundation.", "why_zh": "Anthropic 宿¹å ¬åï¼å®£å¸å° MCP äº¤ç± Linux åºé伿ä¸ç Agentic AI Foundation ä¸ç«æ²»çã", "reviewed_on": "2026-09-06", "status": "active", "requires_key": false, "risk": "low", "featured": false, "order": 10 }, { "id": "aaif-model-context-protocol", "path": "ai-agents", "title": "MCP under the Agentic AI Foundation", "url": "https://aaif.io/projects/model-context-protocol", "source_type": "official-project", "level": "intermediate", "language": "en", "why_en": "The Agentic AI Foundation project page for MCP, the neutral governance home for specification development and roadmaps.", "why_zh": "Agentic AI Foundation ç MCP 项ç®ä¸»é¡µï¼æ¯è§èå¼åä¸è·¯çº¿å¾çä¸ç«æ²»çå ¥å£ã", "reviewed_on": "2026-09-06", "status": "active", "requires_key": false, "risk": "low", "featured": false, "order": 11 } ] }