Commit Graph

1996 Commits

Author SHA1 Message Date
Vinta Chen
143abbf201 build: remove markdown dependency, replaced by markdown-it-py
The markdown package is no longer used after switching the README parser
to markdown-it-py in the feature branch.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-18 17:28:50 +08:00
Vinta Chen
0f374970dd refactor: extract parsing logic from build.py into readme_parser module
slugify, parse_readme, count_entries, extract_preview, render_content_html,
and related helpers are moved to a dedicated readme_parser module.
build.py now imports from readme_parser rather than defining these inline.
Tests for the removed functions are dropped from test_build.py since they
now live with the module they test.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-18 17:27:14 +08:00
Vinta Chen
03ac212880 test: add integration tests against the real README.md
Adds TestParseRealReadme covering category count, slug generation,
descriptions, entry counts, previews, content HTML, subcategory
rendering, also-see links, and description link stripping.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-18 17:25:12 +08:00
Vinta Chen
a83809886c feat: implement HTML rendering for readme sections
Replace the _render_section_html stub with a working implementation that
converts parsed bullet-list nodes into classed div elements (entry,
entry-sub, subcat). Add _render_bullet_list_html to handle nested
structure and XSS escaping. Cover all cases with a new
TestRenderSectionHtml suite.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-18 17:24:24 +08:00
Vinta Chen
3d015bc630 feat(parser): implement entry extraction from bullet list AST nodes
Replace _parse_section_entries stub with full implementation that walks
bullet_list AST nodes to extract ParsedEntry records, including support
for subcategory labels (text-only list items) and also_see nested links.

Add _parse_list_entries, helper finders (_find_inline, _find_first_link,
_find_child), and _extract_description_html with separator stripping.

Extend test suite with TestParseSectionEntries covering flat entries,
link-only entries, subcategorized entries, also_see, entry_count, preview
first-four, and XSS escaping in description HTML.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-18 17:23:11 +08:00
Vinta Chen
1c67c9f0e6 feat: replace regex README parser with markdown-it-py AST parser
Introduce parse_readme() which uses MarkdownIt to build a full AST
instead of line-by-line regex matching. The function splits the document
at the thematic break, groups nodes by h2 heading, extracts category
descriptions from leading italic paragraphs, and separates the
Categories, Resources, and Contributing sections cleanly.

Add markdown-it-py==4.0.0 (+ mdurl) as a runtime dependency to support
the new parser.

Tests cover section counts, names, slugs, descriptions, content
presence, boundary conditions (no separator, no description), and mixed
description markup.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-18 17:21:49 +08:00
Vinta Chen
5fa7c7d1a6 feat(website): add markdown-it-py README parser and inline renderer tests
Introduce readme_parser.py which parses README.md into structured
section data using the markdown-it-py AST. Includes TypedDicts for
ParsedEntry/ParsedSection, slugify(), render_inline_html(), and
render_inline_text(). Add test_readme_parser.py covering HTML escaping,
link rendering, emphasis, strong, and code_inline for both renderers.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-18 17:20:23 +08:00
Vinta Chen
c5caa5a5e1 ci: hardcode deployment URL to https://awesome-python.com
The deploy-pages action outputs http:// despite HTTPS being enforced.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 14:03:50 +08:00
Vinta Chen
a732751923 Merge pull request #2969 from vinta/feature/relaunch-website
Relaunch website with custom build system
2026-03-18 13:59:01 +08:00
Vinta Chen
7eb9b11a67 data: remove zipline entry from github_stars.json
Follows the removal of zipline from README.md (see bd73b1f).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-18 13:57:36 +08:00
Vinta Chen
87a16f47ea build: load .env in Makefile and rename fetch_stars to site_fetch_stats
Adds -include .env with export so environment variables (e.g. GitHub
token) are available to uv commands without manual export. Renames the
target to match the site_ prefix convention used by the other targets.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-18 13:57:32 +08:00
Vinta Chen
2fe0f5c2bd ci: bump actions/checkout to v6 and upload-pages-artifact to v4
Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-18 13:57:26 +08:00
Vinta Chen
cd7b8f6bb0 update README description and remove Resources section
- Add 'tools' to the description tagline
- Remove the Resources TOC entry (Newsletters, Podcasts) and corresponding
  section — content is no longer relevant to the relaunched site
- Remove uv from the Environment Management section (it's now a dev dependency
  managed by pyproject.toml, not a curated list entry)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-18 13:48:53 +08:00
Vinta Chen
177183d9bd add custom website build system
Replaces MkDocs with a bespoke Python site generator using Jinja2 templates
and Markdown. Adds uv for dependency management, GitHub Actions workflow for
deployment, and Makefile targets for local development (fetch_stars, build,
preview, deploy).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-18 13:48:49 +08:00
Vinta Chen
4af84dac8e remove mkdocs site infrastructure
Replace the MkDocs-based build (mkdocs.yml, requirements.txt, docs/CNAME,
docs/css/extra.css) with a custom website builder as part of the site relaunch.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-18 13:48:45 +08:00
Jinyang
1f7757f62b Merge pull request #2968 from JinyangWang27/remove-zipline
remove zipline
2026-03-18 08:35:03 +04:00
Jinyang
bd73b1faf0 remove zipline
No longer maintained and out-dated.
2026-03-18 07:57:37 +04:00
Vinta Chen
a8eac91658 add sponsorship 2026-03-17 19:23:40 +08:00
Jinyang
5ef25f1f38 Merge pull request #2950 from hiSandog/add-agno
Add Agno to Machine Learning section
2026-03-17 07:38:30 +04:00
Jinyang
742c99aa3c fix entry order 2026-03-17 07:37:53 +04:00
Jinyang
8b9dc48096 Merge pull request #2962 from Ashi-tha/add-pgmpy-library 2026-03-16 06:21:15 +04:00
AshithaT
9eb21b268e Add pgmpy library to Machine Learning section 2026-03-15 22:58:19 +05:30
Jinyang
0c9df33da2 Merge pull request #2961 from zainsardar-tech/master 2026-03-15 08:04:01 +04:00
Muhammad Zain ul abidin
bdeb5b90e8 Fix duplicate entry for feedparser in README
Fixed Alphabetic Order
2026-03-13 11:03:59 +05:00
Muhammad Zain ul abidin
c07522717f Add crawl4ai to web scraping libraries list
Crawl4AI correct url
2026-03-13 11:00:23 +05:00
Jinyang
6c1fa49291 Merge pull request #2955 from LincolnBurrows2017/fix-nose2-backtick
Fix missing closing backtick in nose2 description
2026-03-11 07:55:01 +01:00
OpenClaw
9101ad17bb Fix missing closing backtick in nose2 description
The description 'based on unittest2.' was missing the closing backtick, causing incorrect Markdown rendering.
2026-03-10 23:13:39 +00:00
陈家名
61d69eeff8 Add Agno to Machine Learning section 2026-03-08 21:12:05 +08:00
Vinta Chen
d71e38771c Remove Warp sponsorship banner from README
Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-05 01:16:33 +08:00
Vinta Chen
852202a1a4 Remove Claude PR review GitHub Actions workflow
Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-05 01:16:30 +08:00
Jinyang
625f698c47 Merge pull request #2941 from CarlosAlbertoFurtado/add-instructor
Add Instructor
2026-03-04 10:48:15 +01:00
Vinta Chen
89eb268536 Merge pull request #2940 from Rohan5commit/fix-pathlib-grammar
docs: fix grammar in pathlib description
2026-03-04 15:43:32 +08:00
CarlosAlbertoFurtado
68544e2892 Add Instructor to Machine Learning section 2026-03-03 07:49:13 -03:00
rohan436
5888b93f7e docs: fix grammar in pathlib description 2026-03-03 16:56:40 +08:00
Jinyang
33a89c7eaf Merge pull request #2918 from yfedoseev/add-pdf-oxide
Add pdf_oxide to PDF section
2026-03-02 06:14:00 +01:00
Jinyang
d7edf9e86a Merge pull request #2938 from vitali87/add-code-graph-rag
feat: add code-graph-rag to Code Analysis section
2026-03-02 06:10:08 +01:00
Vitali Avagyan
2e07687dc8 feat: add code-graph-rag to Code Analysis section 2026-03-01 22:00:26 +00:00
Jinyang
ad2a55ff91 Merge pull request #2924 from CipherGaurav/master
Fix double period in bidict description
2026-02-25 07:09:33 +01:00
Vinta Chen
270198816b Merge pull request #2932 from CarlosAlbertoFurtado/fix-http-to-https
Fix insecure HTTP links to HTTPS
2026-02-24 23:36:12 +08:00
CarlosAlbertoFurtado
067160a787 Fix insecure HTTP links to HTTPS 2026-02-23 17:44:55 -03:00
CipherGaurav
c0703f2d7d Fix typo in bidict description in README.md 2026-02-20 20:12:25 +05:30
Jinyang
6ddc60423f Merge pull request #2920 from dakshp26/dakshp26-add-cirq
Add cirq
2026-02-19 17:47:31 +01:00
Daksh
062545c83b add cirq library to quantum computing section 2026-02-18 12:56:25 +00:00
Jinyang
8d2b9573d1 Merge pull request #2919 from dakshp26/dakshp26-add-pennylane-quantum
add Pennylane
2026-02-17 21:08:27 +01:00
Daksh
ae59607ad0 added Pennylane library to README 2026-02-17 19:27:23 +00:00
Jinyang
1fff1ddcca Merge pull request #2917 from dakshp26/dakshp26-add-quantum-libraries
Add Qiskit library under new section Quantum Computing
2026-02-17 12:35:24 +01:00
Yury Fedoseev
80a7409afb Add pdf_oxide to PDF section
Fast PDF library for text extraction, image extraction, and markdown
conversion. Rust-powered via PyO3 with Python 3.8-3.14 support.
MIT/Apache-2.0 licensed.

https://github.com/yfedoseev/pdf_oxide
https://pypi.org/project/pdf-oxide/
2026-02-16 13:40:57 -08:00
Daksh
2332d846c5 following one project per PR rule 2026-02-16 19:50:20 +00:00
Daksh
bd643f0e5f moved qutip to quantum computing section 2026-02-16 19:43:04 +00:00
Daksh
2a7a2dd2af added quantum computing section and move qutip 2026-02-16 19:37:27 +00:00