Commit Graph

2252 Commits

Author SHA1 Message Date
Jinyang
7baa887589
remove bcbio-nextgen 2026-03-19 09:51:28 +04:00
Vinta Chen
716464e726
fix: improve CSS polish with active states, font smoothing, and text wrapping
Add active-state press feedback (scale transform) to buttons, filter clear,
and tags. Add moz-osx-font-smoothing for consistent antialiasing on Firefox/Mac.
Apply text-wrap: balance to headings and text-wrap: pretty to body text and
expanded row descriptions. Add text-underline-offset to links and highlight
active table rows with bg-hover.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-19 02:41:56 +08:00
Vinta Chen
4ea3134ba3
fix: move group tag into category cell and hide on mobile
- Relocate group tag from expand row to category column so it appears inline beside the category tag
- Add margin between stacked tags with .col-cat .tag + .tag spacing rule
- Remove fixed width from .col-cat; narrow .col-name from 35% to 30% to give category column room
- Hide .tag-group on screens ≤900px and widen .col-name to 50% to reclaim space

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-19 02:36:40 +08:00
Vinta Chen
4077051813
docs: clarify VS Code Python extension entry name
Rename 'Python' to 'Python for VSCode' in the Editor Plugins section
to disambiguate the extension from the Python language itself.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-19 02:29:07 +08:00
Vinta Chen
e967722a5d
fix: improve mobile table layout with auto sizing and tighter spacing
Switch table-layout back to auto on mobile to let columns size naturally,
add uniform cell padding overrides, shrink num/arrow columns further,
pin stars column width, reduce edge padding, and left-align the number
column to avoid awkward right-aligned single digits.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-19 02:24:23 +08:00
Vinta Chen
ca350ebaf9
fix: use table-layout fixed on mobile to prevent column width inflation
Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-19 02:11:23 +08:00
Vinta Chen
fb2a693dbb
fix: reduce number and arrow column widths on mobile for tighter table layout
Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-19 02:05:34 +08:00
Vinta Chen
ac9b69a0b2
fix: reduce table padding on mobile for better centering and arrow visibility
Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-19 02:00:07 +08:00
Vinta Chen
926ba010b7
chore: split AI & Data into AI & ML and Data & Science
AI & ML: AI and Agents, Machine Learning, Deep Learning, Computer Vision,
Natural Language Processing, Recommender Systems, Robotics.

Data & Science: Data Analysis, Data Validation, Data Visualization,
Geolocation, Science, Quantum Computing.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 01:55:18 +08:00
Vinta Chen
8b518664d8
chore: redistribute Specialized group across existing groups
Remove the Specialized catchall group. Redistribute its categories:
- Web & API: Admin Panels, CMS, Email, Static Site Generator, URL Manipulation
- AI & Data: Geolocation, Robotics
- Content & Media: Game Development, Internationalization
- System & Runtime: Date and Time, Hardware, Microsoft Windows
- Development Tools: Algorithms and Design Patterns

Only Miscellaneous remains ungrouped (falls into Other).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 01:54:46 +08:00
Vinta Chen
46caf8cec4
docs: add AI and Agents category with autoresearch
New category for LLM integrations, agent frameworks, and AI applications.
Move agno, instructor, langchain, llama_index, praisonai, pydantic-ai,
ragflow from Machine Learning. Add autoresearch (karpathy).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 01:45:24 +08:00
Vinta Chen
9761bac1e0
docs: lowercase 8 project names to match their import names
eyeD3→eyed3, Gooey→gooey, gTTS→gtts, MechanicalSoup→mechanicalsoup,
MonkeyType→monkeytype, PraisonAI→praisonai, PyMySQL→pymysql,
Zappa→zappa.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 01:39:49 +08:00
Vinta Chen
e70b25d42d
docs: fix tkinter entry to use stdlib format
Lowercase name, link to official docs, add stdlib label.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 01:33:44 +08:00
Vinta Chen
55db9c7f64
docs: rename Box to box, PathPicker to fpp
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 01:30:57 +08:00
Vinta Chen
2cbb2d7c60
docs: normalize entry names to lowercase
Standardize display names to lowercase across all categories (audioFlux,
EasyOCR, UltraPlot, PySpark, cx_Freeze, OpenBB, DearPyGui, WeasyPrint,
Pillow, Quads, TaskFlow, Metrics, spaCy, funNLP, PynamoDB, Surprise,
Bowler, zeroRPC, SimPy, XlsxWriter, HTTPretty) for consistent formatting.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-19 01:27:54 +08:00
Vinta Chen
6204196083
docs: add naming convention rule to CONTRIBUTING.md
Prefer PyPI package name as display name so developers can copy it
directly to pip install. Fall back to GitHub repo name if not on PyPI.
Also update examples to use lowercase PyPI names.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 01:24:26 +08:00
Vinta Chen
8a131b7874
docs: rename Spark ML to spark.ml in Machine Learning
Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-19 00:58:11 +08:00
Vinta Chen
7a0abca2e5
docs: remove dataclasses and DottedDict from Data Structures
Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-19 00:58:09 +08:00
Vinta Chen
5036fe8201
docs: normalize entry names to lowercase for django.db.models and reportlab
Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-19 00:49:52 +08:00
Vinta Chen
3d534f57d7
docs: lowercase H2O and PyMC display names
H2O→h2o, PyMC→pymc (drop version suffixes from repo names).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 00:44:23 +08:00
Vinta Chen
6ad2a77bb4
docs: rename Jupyter Notebook (IPython) to jupyter
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 00:43:01 +08:00
Vinta Chen
fb3112d8d2
docs: match 11 more display names to their GitHub repo names
Django MongoDB Backend→django-mongodb-backend, Karate Club→karateclub,
Open Babel→openbabel, Robot Framework→robotframework,
Feature-engine→feature_engine, memory-graph→memory_graph, Jinja2→jinja,
Cocos2d→cocos, LlamaIndex→llama_index, VCR.py→vcrpy,
Spiff→SpiffWorkflow.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 00:40:50 +08:00
Vinta Chen
4a0db0dee6
docs: match project display names to their GitHub repo names
Update 79 entries where the display name differed from the GitHub
repository name only in casing (e.g. NumPy→numpy, LangChain→langchain,
SQLAlchemy→sqlalchemy, DuckDB→duckdb).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 00:11:45 +08:00
Vinta Chen
65db5ab5e7
Merge pull request #2975 from vinta/chore/cleanup
Cleanup: replace deprecated entries, fix categories, add new entries
2026-03-18 23:52:00 +08:00
Vinta Chen
79c0be0a5c
docs: move docling and textract to Text Processing
docling (document-to-structured-data conversion) and textract (text
extraction from Office/PDF files) are document parsing tools, not
data analysis or web scraping tools, so Text Processing > General
is a more accurate placement.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-18 23:50:25 +08:00
Vinta Chen
a7c5d84ce9
docs: split Downloader into General and Financial Data subcategories
The financial data tools (akshare, edgartools, OpenBB, yfinance) are a
distinct cluster from general-purpose downloaders (s3cmd, youtube-dl),
so grouping them into subcategories improves discoverability.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-18 23:50:13 +08:00
Vinta Chen
057081ff91
docs: move Beanie to ORM > NoSQL Databases from Database Drivers
Beanie is an ODM (Object-Document Mapper), not a raw database driver,
so it fits better under ORM > NoSQL Databases alongside mongoengine and ODMantic.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-18 23:49:59 +08:00
Vinta Chen
d48c1b8904
docs: move streamlit to Data Visualization from Admin Panels
streamlit is primarily a data visualization and dashboard framework,
so it better fits the Data Visualization category.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-18 23:49:47 +08:00
Vinta Chen
02dab03848
chore(text-processing): restructure Markdown subsection and add TOML
- Replace Jimmy, Mistune, Python-Markdown with markdown-it-py, markdown,
  markitdown, and mistune (lowercased names, added CommonMark parser)
- Add new TOML subsection with stdlib tomllib entry

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-18 23:41:54 +08:00
Vinta Chen
5f44045f64
chore(files): move markitdown to Text Processing > Markdown
markitdown converts documents to Markdown, so it belongs under the
Markdown subcategory of Text Processing rather than the generic Files
section.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-18 23:41:45 +08:00
Vinta Chen
0cd4ccaec2
chore(dates-times): replace pytz with zoneinfo
Remove the third-party pytz in favour of the stdlib zoneinfo module
(Python 3.9+), which ships the IANA tz database directly.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-18 23:41:32 +08:00
Vinta Chen
7b8002426d
feat(website): add co-maintainer credit and bump hero-sub font size
- Replace 'Curated by @vinta since 2014' with 'Maintained by @vinta
  and @JinyangWang27' to reflect the new co-maintainer
- Increase .hero-sub font size from --text-sm to --text-base for
  better readability

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-18 23:30:47 +08:00
Vinta Chen
56ccdfae8f
Merge pull request #2973 from vinta/fix/replace-non-github-urls-with-github-repos
Replace non-GitHub URLs with GitHub repo URLs
2026-03-18 23:24:37 +08:00
Vinta Chen
f7a5ed8050
docs: move Automatic Rejection section to end; note GitHub URL preference
Positive criteria (Quality Requirements, Acceptance Criteria, Entry
Format) now appear before the rejection list, reducing friction for
contributors reading top-to-bottom. Adds a note that GitHub URLs are
preferred because awesome-python.com ranks entries by GitHub stars.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-18 23:15:39 +08:00
Vinta Chen
c1a4e69309
fix: replace non-GitHub URLs with GitHub repo URLs in README
Projects on awesome-python.com are ranked by GitHub stars; linking
directly to GitHub enables star fetching and improves discoverability.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-18 23:15:34 +08:00
Vinta Chen
fa00f10922
Merge pull request #2972 from vinta/feature/fetch-stats-workflow
ci: consolidate star fetch into deploy workflow with Actions cache
2026-03-18 22:57:43 +08:00
Vinta Chen
957d685ff4
ci: run fetch-stars step on every workflow trigger
Removed the 'if: github.event_name == schedule' guard so the step also
runs on manual dispatches and push-triggered deploys, not only on the
nightly schedule.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-18 22:55:29 +08:00
Vinta Chen
6148c13c0c
feat: skip fetching repos whose cache entry is still fresh
Introduce CACHE_MAX_AGE_HOURS (12 h) and filter current_repos before
the fetch loop so repos that were updated recently are not re-requested.
Prints a breakdown of fetched vs cached count.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-18 22:55:21 +08:00
Vinta Chen
484515775f
gitignore website/data 2026-03-18 22:48:20 +08:00
Vinta Chen
0d9dfb2713
ci: consolidate star fetch into deploy workflow using Actions cache
Replace the separate fetch-github-stars.yml workflow (which committed
star data back to git) with an inline fetch step in deploy-website.yml.
Star data is now stored in Actions cache between runs, eliminating the
workflow_run trigger chain and the need to track github_stars.json in
the repository.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-18 22:44:29 +08:00
Vinta Chen
3c3f371791
fix: use canonical GitHub Actions bot email with numeric ID
The generic email 'github-actions[bot]@users.noreply.github.com' does not
match GitHub's actual bot account. Using the numeric-prefixed form
'41898282+github-actions[bot]@users.noreply.github.com' ensures commits
made by the workflow are correctly attributed to the bot account.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-18 22:28:25 +08:00
Vinta Chen
bfed6a5c81
ci: trigger deploy after fetch-github-stars workflow succeeds
Adds a workflow_run trigger so the site is rebuilt whenever fresh
star data lands on master, in addition to the existing push trigger.
The build job guard ensures it only runs on direct pushes or when
the upstream workflow concluded successfully.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-18 22:18:10 +08:00
Vinta Chen
bbe145cb36
ci: add workflow to fetch and commit GitHub stars daily
Runs on a nightly schedule, installs deps with uv, calls make
fetch_github_stars, and pushes an update commit only when the
star data file actually changed.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-18 22:18:04 +08:00
Vinta Chen
d65c6ccd64
refactor: rename fetch_stats target and remove cache age gating
Rename the Makefile target from fetch_stats to fetch_github_stars to
match the script name. Remove CACHE_MAX_AGE_DAYS and the staleness
check so every run fetches all repos unconditionally.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-18 22:08:35 +08:00
Vinta Chen
b6d1bf9307
ci: use uv dependency groups and Makefile target for deploy workflow
Switches install step from --no-dev to --group build for explicit
dependency group selection, and replaces the bare python invocation
with `make build` to use the canonical build entrypoint.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-18 21:33:57 +08:00
Vinta Chen
ab18c7e54c
refactor: reformat build.py to Black style and add llms.txt output
Reformats dict and list literals to trailing-comma multiline style
throughout. Also copies README.md to llms.txt in the site output so
LLM crawlers can discover the full content.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-18 21:33:51 +08:00
Vinta Chen
539edc4e20
Merge pull request #2971 from vinta/feature/markdown-it-py-parser
feat: replace regex README parser with markdown-it-py AST parser
2026-03-18 20:35:06 +08:00
Vinta Chen
280f250ce0
feat: migrate README parser to markdown-it-py and refresh website
Switch readme_parser.py from regex-based parsing to markdown-it-py for
more robust and maintainable Markdown AST traversal. Update build pipeline,
templates, styles, and JS to support the new parser output. Refresh GitHub
stars data and update tests to match new parser behavior.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-18 20:33:36 +08:00
Vinta Chen
95b6b3cc69
feat: improve table accessibility and mobile expand tags
- Add sr-only headings for search/filter and results regions
- Add role=region and aria-label to .table-wrap for landmark navigation
- Add tabindex=0 and focus outline to .table-wrap for keyboard reachability
- Add sr-only text to empty Details column header
- Add role=button to expandable rows
- Add .expand-tags-mobile to show category/group tags in expand row on mobile
- Show .expand-tags-mobile via media query at <=900px breakpoint

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-18 18:49:52 +08:00
Vinta Chen
15a38caaf9
style: simplify footer layout and update links
Replace two-column footer (links left, attribution right) with a
single inline row of slash-separated items. Update attribution text
to 'Made by Vinta' with a link to vinta.ws, align footer links to
match standard anchor color/hover behavior.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-18 18:43:08 +08:00