Skip to content

Commit f7dc9ef

Browse files
Policy for removing stale packages (run-llama#16975)
1 parent 850d646 commit f7dc9ef

File tree

2 files changed

+438
-0
lines changed

2 files changed

+438
-0
lines changed

STALE.md

+65
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# Stale Package Policy
2+
3+
## Overview
4+
5+
To maintain high quality across all LlamaIndex integrations, we periodically review packages for staleness. Packages marked as "stale" are moved to a `stale_packages` branch but remain published on PyPI. This policy ensures that our main branch contains only well-maintained, tested integrations while preserving access to historical integrations.
6+
7+
## Staleness Criteria
8+
9+
Packages are evaluated using an automated health check that considers:
10+
11+
1. **Test Coverage (50% of score)**
12+
13+
- Full credit (1.0): 5+ test functions
14+
- Partial credit (0.5): 2-4 test functions
15+
- No credit (0.0): 0-1 test functions
16+
17+
2. **Download Activity (40% of score)**
18+
19+
- Measured relative to llama-index-core
20+
- Considers monthly download counts
21+
- Weighted towards recent activity
22+
23+
3. **Commit Activity (10% of score)**
24+
- Measured relative to llama-index-core
25+
- Considers commit frequency and consistency
26+
- Weighted towards recent commits
27+
28+
The resulting score is then used to determine the health of the package.
29+
30+
## Moving to Stale Status
31+
32+
A package may be moved to the `stale_packages` branch if:
33+
34+
1. It has a low health score (typically below 0.005)
35+
2. AND lacks adequate test coverage
36+
3. OR has known breaking issues that haven't been addressed
37+
38+
The final decision to mark a package as stale involves human review and is not purely automated.
39+
40+
## Effects of Stale Status
41+
42+
When a package is marked as stale:
43+
44+
1. The package code is moved to the `stale_packages` branch
45+
2. Documentation is removed from the main documentation site
46+
3. The package remains published on PyPI
47+
48+
## Reactivating a Stale Package
49+
50+
Any contributor can reactivate a stale package by:
51+
52+
1. Creating a PR to move any package from the `stale_packages` branch to `main`
53+
2. Ensuring the package has adequate test coverage (minimum 2 tests)
54+
3. Verifying that all tests pass
55+
4. Updating documentation as needed
56+
57+
## Questions or Concerns
58+
59+
If you maintain a package that has been marked as stale, or have questions about this policy:
60+
61+
1. Open a GitHub issue for discussion
62+
2. Reach out to the maintainers on Discord
63+
3. Submit a PR to reactivate your package with improvements
64+
65+
We aim to be transparent and collaborative in maintaining package quality while preserving access to all integrations.

0 commit comments

Comments
 (0)