Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
884 commits
Select commit Hold shift + click to select a range
08e15d0
Typo
spekulatius Nov 3, 2020
e76501a
Merge pull request #1669 from SpekBin/master
vinta Nov 4, 2020
2d48b11
Add Zato to Enterprise Application Integrations.
Nov 13, 2020
fa49dbf
Merge pull request #1677 from dsuch/master
vinta Nov 17, 2020
e628307
Add "Enterprise Application Integrations" to the table of contents.
dsuch Nov 17, 2020
d513969
Merge pull request #1679 from dsuch/master
vinta Nov 17, 2020
e0ed13b
add Think Python Fixes #1670
vinta Nov 18, 2020
4d33c0e
Readability
spekulatius Dec 4, 2020
55bb9e0
Merge pull request #1685 from SpeksForks/master
vinta Dec 4, 2020
c7b0461
refactor: change pdfminer to pdfminer.six
howiezhao Dec 14, 2020
069da96
🗑 Remove profiling
SamPetherbridge Jan 8, 2021
d19f5d5
🗑 Remove pygeoip
SamPetherbridge Jan 8, 2021
954dca3
Add clickhouse-driver
Jan 16, 2021
5fc66f8
Merge pull request #1714 from kdiri/master
vinta Jan 21, 2021
c0ade8e
add SQlite category and sqlite3 driver
norweeg Jan 21, 2021
2ebe6fe
Merge pull request #1706 from SamPetherbridge/patch-3
vinta Jan 22, 2021
a124a5e
Merge pull request #1707 from SamPetherbridge/patch-5
vinta Jan 22, 2021
adc73bb
Merge pull request #1718 from norweeg/add_sqlite3
vinta Jan 22, 2021
5e52e9e
fixed spelling error
norweeg Jan 22, 2021
98f9992
Merge pull request #1720 from norweeg/add_sqlite3
vinta Jan 22, 2021
c64a010
Fix gunicorn description
yhay81 Jan 25, 2021
9d41288
Merge pull request #1725 from yhay81/master
vinta Jan 25, 2021
39d97c1
Fix dramatiq spelling
ramonsaraiva Feb 3, 2021
545b053
Merge pull request #1730 from ramonsaraiva/fix-dramatiq
vinta Feb 4, 2021
6831740
remove wifi Close #1712
vinta May 14, 2021
19dcbb0
Update README.md
VaishnaviMudaliar Jul 25, 2021
aa4e0ee
Update CONTRIBUTING.md
VaishnaviMudaliar Jul 25, 2021
b39086d
Merge pull request #1795 from VaishnaviMudaliar/fixed-typo-in-contrib…
vinta Jul 25, 2021
2125821
Merge pull request #1794 from VaishnaviMudaliar/Updating-readme
vinta Jul 25, 2021
05fc6b3
arcade link updated
pranavarora1895 Dec 17, 2021
edf110d
Merge pull request #1899 from pranavarora1895/link-updated-Arcade
vinta Dec 17, 2021
2750cb4
Add Hatch
ofek Apr 30, 2022
7172dff
fix errors in README.md
nishans08 Jul 26, 2022
933e607
Merge pull request #2122 from nishans08/master
vinta Jul 27, 2022
cee5f3e
Apply suggestions from code review
ofek Aug 12, 2022
e787557
Update README.md
anuragrao04 Oct 23, 2022
1f3d73e
Merge pull request #2209 from anuragrao04/patch-1
vinta Oct 24, 2022
b153dfe
Add correct description of Saleor
timuric Dec 3, 2022
10643e1
Merge pull request #2247 from timuric/master
vinta Dec 4, 2022
58d3398
Remove abandoned project pyannotate
hofrob Jan 3, 2023
091e9e6
Merge pull request #2297 from hofrob/remove-abandoned-project-pyannotate
vinta Jan 5, 2023
1df5568
New link for Pyston
renatocfrancisco Feb 6, 2023
ee32476
Update README.md
liufeigit Feb 13, 2023
86e581e
Fixed Zappa link
DanielTatarkin Mar 24, 2023
808fd55
Fixed error of files section not linking.
conder13 Mar 24, 2023
20b81c7
Changed files section name
conder13 Mar 24, 2023
bd29ca3
Merge pull request #2402 from DanielTatarkin/patch-1
vinta Mar 27, 2023
1681865
Merge pull request #2403 from conder13/conder13-patch-1
vinta Mar 27, 2023
fcf4aeb
Merge pull request #2350 from liufeigit/liufeigit-patch-1
vinta Mar 30, 2023
22a34e0
Merge branch 'vinta:master' into patch-1
renatocfrancisco Jun 22, 2023
173b05c
Merge pull request #2343 from renatocfrancisco/patch-1
vinta Jul 1, 2023
eb335c5
added deep learning framework Lighting
Jul 12, 2023
c52dba9
Merge pull request #2498 from arunachalamev/add-lighting
vinta Jul 13, 2023
651618a
Fixed psycopg2's homepage link
canhuynh1998 Sep 14, 2023
6d8b6c6
Fixed a Number of Dead Links
DAVEALLCAPS Nov 8, 2023
426aaaa
Updated some hyperlinks in README.md
Atharva1723 Nov 15, 2023
98a2857
Fix pylint link
massi1008 Nov 16, 2023
12551e1
Update README.md
Atharva1723 Nov 16, 2023
0677c6f
Update README.md
EpicSprout Jan 6, 2024
57b3382
Merge pull request #2546 from EpicSprout/master
vinta Feb 22, 2024
ed0262d
Merge pull request #2533 from massi1008/patch-1
vinta Feb 22, 2024
a2ffa0a
Merge branch 'master' into master
vinta Feb 22, 2024
398abe3
Merge pull request #2532 from Atharva1723/master
vinta Feb 22, 2024
c6a8632
Merge pull request #2529 from DAVEALLCAPS/master
vinta Feb 22, 2024
7811815
Merge branch 'master' into canhuynh-dev
vinta Feb 22, 2024
e0ec224
Merge pull request #2518 from canhuynh1998/canhuynh-dev
vinta Feb 22, 2024
dd3d284
remove projects
vinta Feb 22, 2024
e2763c0
link to github
vinta Feb 22, 2024
94c79f2
remove old projects
vinta Feb 22, 2024
9106143
clean up
vinta Feb 22, 2024
4b29059
clean up Code Analysis
vinta Feb 22, 2024
ca8c161
refine Command-line Interface Development
vinta Feb 22, 2024
8eec1a7
refine Command-line Tools
vinta Feb 22, 2024
9b63444
remove Compatibility section
vinta Feb 22, 2024
5b283d6
refine Database Drivers
vinta Feb 22, 2024
253a600
merge sections
vinta Feb 22, 2024
17d98fb
refine
vinta Feb 22, 2024
8524f28
clean up
vinta Feb 22, 2024
433e90d
clean up
vinta Feb 22, 2024
3d9af26
update README
vinta Feb 22, 2024
0b8a5d1
Update README.md
R055A Apr 8, 2024
1b70a45
Update README.md
R055A Apr 8, 2024
4248513
Added streamlit
rajan-poudel Apr 13, 2024
b5bd4d0
Merge pull request #2578 from r-a-j-a-n/master
vinta Apr 15, 2024
71499de
Add dynaconf
rochacbruno Apr 17, 2024
cf5dc71
Merge pull request #1694 from howiezhao/patch-1
vinta Jun 16, 2024
8bfda02
Update FUNDING.yml
vinta Jun 16, 2024
2252650
Merge pull request #2575 from R055A/stable-baselines-3
vinta Jul 17, 2024
c344c59
Add watchfiles
K-dash Jul 28, 2024
aaacefa
Add FastHTML
juanfrank77 Aug 11, 2024
adc907e
add polifactory to Testing:Object factory
hectorcanto Aug 31, 2024
b600ab2
Added PyPodcats Podcast
noatamir Sep 4, 2024
247f5ce
add jax
wanikhawar Sep 5, 2024
4f887d5
Add ruff linter
MatteoGuadrini Sep 17, 2024
f387123
Change repo of ruff
MatteoGuadrini Sep 18, 2024
0bcbb50
Update README.md: new xonsh description
anki-code Jan 17, 2025
cd9811c
Ensure consistency by adding missing period in README
shaymolcho Jan 23, 2025
07f4b90
Update README.md
itsfuad Feb 2, 2025
b82e3e2
Remove Orator ORM which is no longer maintained
pei-lun Feb 7, 2025
3cc9d3c
Update README.md
KunchaChennikaWangmai Apr 2, 2025
a235359
Update README.md
v479038280 Apr 15, 2025
4f5c48d
Added django-unfold to admin panels
d-handy Apr 21, 2025
6a31ced
Add DuckDB to the database section
Apr 29, 2025
3375109
Update README.md
JaydenChao101 May 17, 2025
e015238
add machine learning library
solegalli Jun 28, 2025
0d5468c
Merge pull request #2614 from MatteoGuadrini/MatteoGuadrini-patch-1
vinta Jul 5, 2025
6f7e2f3
add uv
vinta Jul 17, 2025
86d4e64
Remove Eel from python GUI Development libraries (no longer maintaine…
RonydaEssam Jul 26, 2025
49f0d06
Add mpi4py
chillenb Jul 30, 2025
8863a98
add granian
zffocussss Aug 15, 2025
9358397
titile
zffocussss Aug 15, 2025
53a4500
Add Typer to Command-line Interface Development section
TS-SAHANA Aug 17, 2025
ce6ba41
Add Flet
FeodorFitsner Aug 24, 2025
66d7655
Update README.md
hyjc Aug 28, 2025
dbc69ac
Update README.md
hyjc Aug 28, 2025
6efba6a
Add SQLModel to ORM section
NajeebFarhan Sep 7, 2025
0b736f8
Update Selenium links
cgoldberg Sep 16, 2025
529f906
Merge pull request #2759 from cgoldberg/selenium-links
vinta Sep 17, 2025
993d821
Merge pull request #2750 from flet-dev/flet
vinta Sep 17, 2025
5cba934
add Warp sponsorship
vinta Oct 2, 2025
48940ed
Merge pull request #2766 from vinta/feature/warp-sponsorship
vinta Oct 16, 2025
b274cb0
Update WinPython description for Windows version compatibility
kimtth Oct 19, 2025
a1cdf60
Add func-to-web to Admin Panels section
offerrall Oct 26, 2025
0d351f7
Add Pathway to Data Analysis section
Anony-mous-224 Nov 6, 2025
61ef122
Update README.md
VinciGit00 Nov 11, 2025
18d6892
Add Desbordante
chernishev Nov 12, 2025
391eed0
Merge pull request #2795 from VinciGit00/master
vinta Nov 17, 2025
5454e85
Merge pull request #2797 from chernishev/chernishev-awesome-python
vinta Nov 20, 2025
d7e656a
add ultraplot
cvanelteren Dec 6, 2025
8e5454b
Add strawberry-django
bellini666 Dec 6, 2025
c976bf8
Add JustHTML library to README.md
EmilStenstrom Dec 9, 2025
fed9749
Add pikepdf
qooxzuub Dec 10, 2025
294b5f2
Add Polars to Data Analysis section
Dec 18, 2025
fe8f366
Add PraisonAI to Machine Learning section
MervinPraison Dec 18, 2025
5cabd27
Add memory-graph
bterwijn Dec 23, 2025
6936494
Fix punctuation in Refactoring section
iscompg Dec 25, 2025
a652ecb
docs: restructure CONTRIBUTING.md with detailed acceptance criteria
vinta Jan 8, 2026
2ade497
docs: add CLAUDE.md for AI-assisted curation context
vinta Jan 8, 2026
65eba38
ci: add Claude Code GitHub Actions workflows
vinta Jan 8, 2026
e803fd3
ci: remove generic Claude workflows
vinta Jan 8, 2026
e65cc49
ci: add focused Claude workflows with context-aware prompts
vinta Jan 8, 2026
f9a0444
chore: remove redundant issue templates
vinta Jan 8, 2026
a514645
docs: remove manual alphabetical sorting requirement
vinta Jan 8, 2026
e5d4d4f
ci: remove Claude mention workflow
vinta Jan 8, 2026
026e658
Merge pull request #2833 from vinta/feature/minimal-automation
vinta Jan 8, 2026
7d215c3
ci: add id-token write permission for OIDC authentication
vinta Jan 8, 2026
43046d9
ci: update workflow trigger label to 'claude review'
vinta Jan 8, 2026
e05cd24
docs: clarify id-token permission comment in workflow
vinta Jan 8, 2026
436e6ce
docs: restructure CONTRIBUTING.md review process
vinta Jan 8, 2026
e87d33b
chore: add Claude Code configuration
vinta Jan 8, 2026
e3e282c
Merge pull request #2824 from bterwijn/master
vinta Jan 8, 2026
e3a32ce
Merge pull request #2825 from iscompg/fix-refactoring-punctuation
vinta Jan 8, 2026
6620334
Merge pull request #2823 from MervinPraison/add-praisonai
vinta Jan 8, 2026
f7a33c6
Merge pull request #2822 from mberke1597/add-polars-data-analysis
vinta Jan 8, 2026
9f61770
Merge pull request #2819 from qooxzuub/add-pikepdf
vinta Jan 8, 2026
fd7d334
Merge pull request #2818 from EmilStenstrom/patch-1
vinta Jan 8, 2026
936e628
Merge pull request #2816 from bellini666/add-strawberry-django
vinta Jan 8, 2026
8c854f2
Merge pull request #2815 from cvanelteren/add-ultraplot
vinta Jan 8, 2026
68d9d4a
Merge pull request #2790 from Hasan-8326/add-pathway-entry
vinta Jan 8, 2026
a3f5887
Merge pull request #2776 from kimtth/patch-1
vinta Jan 8, 2026
fdf2af0
Merge pull request #2753 from hyjc/master
vinta Jan 8, 2026
4e6ab53
Merge pull request #2757 from NajeebFarhan/master
vinta Jan 8, 2026
02cdd7f
Merge pull request #2782 from offerrall/add-functoweb
vinta Jan 8, 2026
ef2e10b
Merge pull request #2747 from TS-SAHANA/patch-1
vinta Jan 8, 2026
1a72508
Merge pull request #2745 from zffocussss/add-granian
vinta Jan 8, 2026
7bd0b99
Merge pull request #2737 from RonydaEssam/patch-1
vinta Jan 8, 2026
34e390e
Merge pull request #2740 from chillenb/master
vinta Jan 8, 2026
3aabfb8
docs: update automatic rejection criteria
vinta Jan 8, 2026
80cbbfe
refactor: replace single PR review with bulk review command
vinta Jan 8, 2026
d7d9c1b
Merge pull request #2673 from KunchaChennikaWangmai/patch-1
vinta Jan 8, 2026
ecd0656
Merge pull request #2705 from JaydenChao101/patch-1
vinta Jan 8, 2026
f97bfdb
Merge pull request #2651 from pei-lun/remove-orator-orm
vinta Jan 8, 2026
9140f50
Merge pull request #2650 from itsfuad/patch-1
vinta Jan 8, 2026
1054db4
Merge pull request #2647 from shaymolcho/master
vinta Jan 8, 2026
4b9fc72
Merge pull request #2603 from juanfrank77/master
vinta Jan 8, 2026
d8ae9e6
Merge pull request #2643 from anki-code/patch-3
vinta Jan 8, 2026
c7551f3
Merge pull request #2687 from d-handy/master
vinta Jan 8, 2026
9bd47d2
Merge pull request #2601 from K-dash/watchfiles
vinta Jan 8, 2026
34c29a9
Merge pull request #2608 from hectorcanto/add_polyfactory
vinta Jan 8, 2026
4117b23
docs: improve PR review workflow command
vinta Jan 8, 2026
5682e60
config: add Claude permissions settings
vinta Jan 8, 2026
6a7a1d6
config: add frontmatter metadata to PR review command
vinta Jan 8, 2026
5ceef61
Merge pull request #2609 from noatamir/add-pypodcats-podcast
vinta Jan 8, 2026
6bfa12f
Merge pull request #2612 from wanikhawar/patch-1
vinta Jan 8, 2026
ae0a04d
Merge pull request #2692 from ajinkyaasm/add-duckdb
vinta Jan 8, 2026
36f76cc
Merge pull request #2683 from v479038280/master
vinta Jan 8, 2026
55c7a04
Merge branch 'master' of https://github.com/vinta/awesome-python
vinta Jan 8, 2026
0d53c4f
docs: optimize PR review workflow for efficiency
vinta Jan 8, 2026
d2a562a
chore: remove Travis CI configuration
vinta Jan 8, 2026
3ae2cdf
chore: remove GitHub funding configuration
vinta Jan 8, 2026
dbb805c
feat: add structured decision format and auto-close for rejected PRs
vinta Jan 8, 2026
d6a6bdc
chore: enforce alphabetical ordering of entries
vinta Jan 8, 2026
f143318
style: remove extra blank line in README
vinta Jan 8, 2026
cb08c2e
remove theano: deprecated since 2017
vinta Jan 8, 2026
6791185
remove model_mommy: archived, renamed to model_bakery
vinta Jan 8, 2026
bf0d530
remove PySimpleGUI: changed to commercial license in 2024
vinta Jan 8, 2026
fe2cf06
remove NuPIC: maintenance mode since 2019, Python 2 only
vinta Jan 8, 2026
ff18e9c
remove vowpal_porpoise: abandoned since 2013
vinta Jan 8, 2026
33ecf16
remove Python(x,y): discontinued in 2015, Python 2 only
vinta Jan 8, 2026
f0495a5
remove fake2db: unmaintained since 2019
vinta Jan 8, 2026
75332fb
remove fileconveyor: inactive since 2021, dead link
vinta Jan 8, 2026
eabcc4d
remove localshop: inactive for 12+ months
vinta Jan 8, 2026
aaeec57
remove bleach: deprecated by Mozilla in January 2023
vinta Jan 8, 2026
0cbcdba
remove eventlet: deprecated, maintenance mode only
vinta Jan 8, 2026
aa03c4b
remove pythonlibs: Gohlke retired, site discontinued in 2022
vinta Jan 8, 2026
848afca
remove Bicycle Repair Man: unmaintained since 2003
vinta Jan 8, 2026
44baf26
remove hot-redis: inactive, no releases in 12+ months
vinta Jan 8, 2026
49a9a3a
remove redisco: inactive, discontinued project
vinta Jan 8, 2026
87046cb
remove sixpack: inactive with security vulnerabilities
vinta Jan 8, 2026
4204126
remove gunnery: inactive since March 2022
vinta Jan 8, 2026
5e55b37
remove radar: inactive, no releases in 12+ months
vinta Jan 8, 2026
bfc06bc
remove Tagging category: too thin (1 entry)
vinta Jan 8, 2026
93404f0
chore: remove thin categories and reorganize DevOps section
vinta Jan 8, 2026
2d98426
remove Third-party APIs category: redundant
vinta Jan 8, 2026
464bb46
style: standardize markdown formatting in README
vinta Jan 8, 2026
1d63278
added pyside to gui
Sakth1 Jan 8, 2026
b257659
updated pyqt link
Sakth1 Jan 8, 2026
87f11bc
Update PySide description in README
Sakth1 Jan 8, 2026
259c26a
Add CustomTkinter to GUI libraries section
Sakth1 Jan 8, 2026
00a0742
Add cx_freeze to distribution libraries list
Sakth1 Jan 8, 2026
7acd4d3
Add Reflex
Sivani-kn Jan 8, 2026
40b6aab
Update CustomTkinter link in README.md
Sakth1 Jan 8, 2026
3f0dda1
make changes as requested README.md
solegalli Jan 8, 2026
3d5d1c8
Update PySide description for clarity
Sakth1 Jan 8, 2026
e858779
fix: quote if condition to fix YAML parsing error
vinta Jan 9, 2026
94532ae
Merge pull request #2838 from Sakth1/pyqt
vinta Jan 9, 2026
e2405a6
Merge branch 'master' into pyside
vinta Jan 9, 2026
36b8519
Merge pull request #2839 from Sakth1/pyside
vinta Jan 9, 2026
4e0ae3a
Merge pull request #2836 from Sivani-kn/add-reflex-entry
vinta Jan 9, 2026
799d542
Merge pull request #2837 from Sakth1/CTK
vinta Jan 9, 2026
a5c3d15
Merge pull request #2835 from Sakth1/cx_freeze
vinta Jan 9, 2026
a79a6cc
Merge branch 'master' into patch-1
ofek Jan 9, 2026
8d59989
Merge pull request #2014 from ofek/patch-1
vinta Jan 9, 2026
fdbec25
Merge branch 'master' into patch-2
rochacbruno Jan 9, 2026
6f2fb4a
Add Chaos Toolkit
Lawouach Jan 9, 2026
7fe6a84
Merge pull request #2842 from Lawouach/add-chaostoolkit
vinta Jan 10, 2026
188622b
Merge pull request #2580 from rochacbruno/patch-2
vinta Jan 10, 2026
a4ea52b
Merge branch 'master' into patch-1
solegalli Jan 11, 2026
163dab2
Merge pull request #2724 from solegalli/patch-1
vinta Jan 11, 2026
5e8a25e
Reorganize CONTRIBUTING.md for better clarity
vinta Jan 11, 2026
a504dd5
Clarify PR template checklist wording
vinta Jan 11, 2026
a085ede
Add orjson library to serialization section
JinyangWang27 Jan 11, 2026
deed9da
Update README.md
Sakth1 Jan 12, 2026
448d795
Add Transformers framework to the README
Sakth1 Jan 12, 2026
636f038
Update README.md
Sakth1 Jan 12, 2026
849bca6
Merge pull request #2844 from Sakth1/bleak
vinta Jan 12, 2026
46427b6
Merge pull request #2846 from Sakth1/diffuser
vinta Jan 12, 2026
fd08065
Merge pull request #2845 from Sakth1/transformers
vinta Jan 12, 2026
4ff7129
Merge pull request #2843 from JinyangWang27/master
vinta Jan 12, 2026
2b27453
Improve PR template with project section and clarified checklist
vinta Jan 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
69 changes: 69 additions & 0 deletions .claude/commands/review-pending-prs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
---
description: Review pending PRs against CONTRIBUTING.md acceptance criteria.
allowed-tools: Bash(gh api:*), Bash(gh pr close:*), Bash(gh pr diff:*), Bash(gh pr edit:*), Bash(gh pr list:*)
---

## Usage

```
/review-pending-prs
```

## Instructions

1. Fetch 10 open PRs with details: `gh pr list --repo vinta/awesome-python --limit 10 --search "-label:\"claude reviewed\"" --json number,title,author,url,body,files,mergeable,mergeStateStatus`
2. Fetch all PR diffs in parallel: `gh pr diff <number> --repo vinta/awesome-python`
3. Run quick rejection checks (no API calls needed):
- Has merge conflicts? (from `mergeable`/`mergeStateStatus`)
- Adds more than one project? (from diff)
- Duplicate entry? (from diff - URL already in README)
- Not a project submission? (from diff - e.g., random files, contributor list)
4. For PRs passing quick checks, fetch repo stats: `gh api repos/<owner>/<repo> --jq '{stars: .stargazers_count, created: .created_at, updated: .pushed_at, language: .language, archived: .archived}'`
5. Review against all criteria in [CONTRIBUTING.md](../../CONTRIBUTING.md)
6. Present summary table with recommendations
7. Ask user:

```
Would you like me to:

1. Close the rejected PRs with comments?
2. Add "claude reviewed" label to the passed PRs?
3. Do all
```

## Quick Rejection Checks

Check these rules first - if any fail, recommend rejection:

- PR has merge conflicts
- Add more than one project per PR
- Duplicate of existing entry
- Placed under an inappropriate category
- Project is archived or abandoned (no commits in 12+ months)
- No documentation or unclear use case
- Less than 100 GitHub stars AND not justified as a hidden gem

## Output Format

Provide a simple review:

1. **Rejection Check** - table with the above rules and PASS/REJECT
2. **Recommendation** - PASS or REJECT

## Close PRs

If user asks to close/reject:

```bash
gh pr close <number> --repo vinta/awesome-python --comment "<brief reason>"
```

## Mark as Passed

```bash
gh pr edit <number> --repo vinta/awesome-python --add-label "claude reviewed"
```

## Extra Instructions (If Provided)

$ARGUMENTS
18 changes: 18 additions & 0 deletions .claude/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"permissions": {
"allow": [
"Bash(gh api:*)",
"Bash(gh pr close:*)",
"Bash(gh pr comment:*)",
"Bash(gh pr diff:*)",
"Bash(gh pr edit:*)",
"Bash(gh pr list:*)",
"Bash(gh pr view:*)",
"Bash(gh run list:*)",
"Bash(gh run rerun:*)",
"Bash(gh run view:*)",
"Bash(gh search:*)"
],
"deny": []
}
}
25 changes: 21 additions & 4 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,24 @@
## Why this framework/library/software/resource is awesome?
## Project

A few sentences describing the reason.
[Project Name](url)

## Vote for this pull request
## Checklist

Who agrees that this change should be merged could add your reactions (e.g. :+1:) to this pull request.
- [ ] One project per PR
- [ ] PR title format: `Add project-name`
- [ ] Entry format: `* [project-name](url) - Description ending with period.`
- [ ] Description is concise and short

## Why This Project Is Awesome

Which criterion does it meet? (pick one)

- [ ] **Industry Standard** - The go-to tool for a specific use case
- [ ] **Rising Star** - 5000+ stars in < 2 years, significant adoption
- [ ] **Hidden Gem** - Exceptional quality, solves niche problems elegantly

Explain:

## How It Differs

If similar entries exist, what makes this one unique?
58 changes: 58 additions & 0 deletions .github/workflows/claude-pr-review.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: Claude PR Review

on:
pull_request:
types: [opened, synchronize, ready_for_review, reopened, labeled]
paths:
- "README.md"

jobs:
claude-pr-review:
if: |
github.event.label.name == 'claude review' ||
github.event.pull_request.author_association == 'FIRST_TIME_CONTRIBUTOR' ||
github.event.pull_request.author_association == 'FIRST_TIMER' ||
github.event.pull_request.author_association == 'NONE'

runs-on: ubuntu-latest

permissions:
contents: read # Cannot merge PR
pull-requests: write
issues: read
actions: read # Required for Claude to read CI results on PRs
id-token: write # Required for Claude GitHub app to function

steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 1

- name: Run Claude Code Review
id: claude-review
uses: anthropics/claude-code-action@v1
with:
# See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
plugin_marketplaces: "https://github.com/anthropics/claude-code.git"
plugins: "code-review@claude-code-plugins"
prompt: |
Review this PR against the acceptance criteria in CONTRIBUTING.md.
Check for automatic rejection reasons (abandoned, duplicates, spam).

IMPORTANT: Only read README.md and CONTRIBUTING.md. Do not read or access any other files.

/code-review:code-review ${{ github.repository }}/pull/${{ github.event.pull_request.number }}

After your review, output your final decision on the LAST line in this exact format:
DECISION: REJECT or DECISION: PASS

- name: Close PR if rejected
if: "contains(steps.claude-review.outputs.response, 'DECISION: REJECT')"
env:
GH_TOKEN: ${{ github.token }}
run: |
gh pr close ${{ github.event.pull_request.number }} \
--repo ${{ github.repository }} \
--comment "This PR has been automatically closed based on the review. Please address the feedback and re-open the PR."
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,6 @@

docs/index.md
site/

# PyCharm IDE
.idea
10 changes: 0 additions & 10 deletions .travis.yml

This file was deleted.

32 changes: 32 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# CLAUDE.md

## Repository Overview

This is the awesome-python repository - a curated list of Python frameworks, libraries, software and resources. The repository serves as a comprehensive directory about Python ecosystem.

## PR Review Guidelines

**For all PR review tasks, refer to [CONTRIBUTING.md](CONTRIBUTING.md)** which contains:

- Acceptance criteria (Industry Standard, Rising Star, Hidden Gem)
- Quality requirements
- Automatic rejection criteria
- Entry format reference
- PR description template

## Architecture & Structure

The repository follows a single-file architecture:

- **README.md**: All content in hierarchical structure (categories, subcategories, entries)
- **CONTRIBUTING.md**: Submission guidelines and review criteria
- **sort.py**: Script to enforce alphabetical ordering

Entry format: `* [project-name](url) - Concise description ending with period.`

## Key Considerations

- This is a curated list, not a code project
- Quality over quantity - only "awesome" projects
- Alphabetical ordering within categories is mandatory
- README.md is the source of truth for all content
116 changes: 101 additions & 15 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,103 @@
# Contributing

Your contributions are always welcome!

## Guidelines

* Add one link per Pull Request.
* Add the link: `* [project-name](http://example.com/) - A short description ends with a period.`
* Keep descriptions concise.
* Add a section if needed.
* Add the section description.
* Add the section title to Table of Contents.
* Search previous suggestions before making a new one, as yours may be a duplicate.
* Don't mention `Python` in the description as it's implied.
* Check your spelling and grammar.
* Remove any trailing whitespace.
* Send a Pull Request with the reason why the library is awesome.
## Automatic Rejection

PRs will be **closed** if:

- Adding multiple projects in one PR
- Duplicate of existing entry or recently-closed PR
- Empty or placeholder PR descriptions
- Placed under an inappropriate category
- Project is archived or abandoned (no commits in 12+ months)
- No documentation or unclear use case
- Less than 100 GitHub stars without Hidden Gem justification
- Repository less than 3 months old

## Quality Requirements

All submissions must satisfy **ALL** of these:

1. **Python-first**: Primarily written in Python (>50% of codebase)
2. **Active**: Commits within the last 12 months
3. **Stable**: Production-ready, not alpha/beta/experimental
4. **Documented**: Clear README with examples and use cases
5. **Unique**: Adds distinct value, not "yet another X"
6. **Established**: Repository at least 1 month old

## Acceptance Criteria

Your submission must meet **ONE** of the following criteria:

### 1. Industry Standard

- The go-to tool that almost everyone uses for a specific use case
- Examples: Requests, Flask, Pandas, NumPy
- Limit: 1-3 tools per category

### 2. Rising Star

- Rapid growth: 5,000+ GitHub stars in less than 2 years
- Significant community buzz and adoption
- Solving problems in new or better ways
- Examples: FastAPI, Ruff, uv

### 3. Hidden Gem

- Exceptional quality despite fewer stars (100-500 stars preferred; < 100 requires strong justification)
- Solves niche problems elegantly
- Strong recommendation from experienced developers
- **Must demonstrate real-world usage** (not a project published last week)
- Repository must be at least 6 months old with consistent activity
- Must include compelling justification in PR description

## Entry Format Reference

### Standard Entry

```markdown
- [project-name](https://github.com/owner/repo) - Description ending with period.
```

### Standard Library Module

```markdown
- [module](https://docs.python.org/3/library/module.html) - (Python standard library) Description.
```

### Fork of Another Project

```markdown
- [new-name](https://github.com/owner/new-name) - Description ([original-name](original-url) fork).
```

### Entry with Related Awesome List

```markdown
- [project](https://github.com/owner/project) - Description.
- [awesome-project](https://github.com/someone/awesome-project)
```

### Subcategory Format

```markdown
- Subcategory Name
- [project](url) - Description.
```

## Adding a New Section

1. Add section description in italics: `*Libraries for doing X.*`
2. Add the section title to the Table of Contents
3. Keep sections in alphabetical order

## Review Process

PRs are reviewed by automated tools and maintainers:

1. **Format Check**: Entry follows the correct format
2. **Category Check**: Placed in the appropriate category/subcategory
3. **Duplicate Check**: Not already listed or previously rejected
4. **Activity Check**: Project shows recent activity
5. **Quality Check**: Meets acceptance criteria

Search previous Pull Requests and Issues before submitting, as yours may be a duplicate.
20 changes: 9 additions & 11 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,16 +1,14 @@
BASEDIR=$(CURDIR)
DOCDIR=$(BASEDIR)/docs
site_install:
pip install -r requirements.txt

install:
pip install mkdocs
site_link:
ln -sf $(CURDIR)/README.md $(CURDIR)/docs/index.md

link:
ln -sf $(BASEDIR)/README.md $(DOCDIR)/index.md

preview:
$(MAKE) link
site_preview: site_link
mkdocs serve

deploy:
$(MAKE) link
site_build: site_link
mkdocs build

site_deploy: site_link
mkdocs gh-deploy --clean
Loading