depkeeper 0.1.0.dev1__tar.gz → 0.1.0.dev2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: depkeeper
3
- Version: 0.1.0.dev1
3
+ Version: 0.1.0.dev2
4
4
  Summary: Modern Python dependency management for requirements.txt files
5
5
  Author: depkeeper Contributors
6
6
  License: Apache-2.0
@@ -27,29 +27,29 @@ Description-Content-Type: text/markdown
27
27
  License-File: LICENSE
28
28
  Requires-Dist: click>=8.1.8
29
29
  Requires-Dist: packaging>=23.2
30
- Requires-Dist: httpx>=0.24.0
30
+ Requires-Dist: httpx[http2]>=0.24.1
31
31
  Requires-Dist: rich>=13.9.4
32
32
  Provides-Extra: dev
33
- Requires-Dist: pytest>=7.4.0; extra == "dev"
33
+ Requires-Dist: pytest>=7.4.4; extra == "dev"
34
34
  Requires-Dist: pytest-cov>=4.1.0; extra == "dev"
35
- Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
36
- Requires-Dist: pytest-mock>=3.11.0; extra == "dev"
35
+ Requires-Dist: pytest-asyncio>=0.23.8; extra == "dev"
36
+ Requires-Dist: pytest-mock>=3.14.1; extra == "dev"
37
37
  Requires-Dist: pytest-httpx>=0.22.0; extra == "dev"
38
- Requires-Dist: mypy>=1.5.0; extra == "dev"
38
+ Requires-Dist: mypy>=1.14.1; extra == "dev"
39
39
  Requires-Dist: types-setuptools; extra == "dev"
40
- Requires-Dist: pre-commit>=3.4.0; extra == "dev"
40
+ Requires-Dist: pre-commit>=3.5.0; extra == "dev"
41
41
  Provides-Extra: test
42
- Requires-Dist: pytest>=7.4.0; extra == "test"
42
+ Requires-Dist: pytest>=7.4.4; extra == "test"
43
43
  Requires-Dist: pytest-cov>=4.1.0; extra == "test"
44
- Requires-Dist: pytest-asyncio>=0.21.0; extra == "test"
45
- Requires-Dist: pytest-mock>=3.11.0; extra == "test"
44
+ Requires-Dist: pytest-asyncio>=0.23.8; extra == "test"
45
+ Requires-Dist: pytest-mock>=3.14.1; extra == "test"
46
46
  Requires-Dist: pytest-httpx>=0.22.0; extra == "test"
47
47
  Provides-Extra: docs
48
48
  Requires-Dist: mkdocs>=1.6.1; extra == "docs"
49
49
  Requires-Dist: mkdocs-material>=9.7.1; extra == "docs"
50
50
  Requires-Dist: mkdocstrings[python]>=0.26.1; extra == "docs"
51
51
 
52
- # depkeeper 🛡️🐍
52
+ # depkeeper
53
53
 
54
54
  [![Tests](https://github.com/rahulkaushal04/depkeeper/workflows/Tests/badge.svg)](https://github.com/rahulkaushal04/depkeeper/actions)
55
55
  [![Coverage](https://codecov.io/gh/rahulkaushal04/depkeeper/branch/main/graph/badge.svg)](https://codecov.io/gh/rahulkaushal04/depkeeper)
@@ -58,26 +58,31 @@ Requires-Dist: mkdocstrings[python]>=0.26.1; extra == "docs"
58
58
  [![License: Apache-2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
59
59
 
60
60
  Modern, intelligent Python dependency management for `requirements.txt` files.
61
- Keep your dependencies up-to-date, secure, and conflict-free — without switching from pip.
61
+ Keep your dependencies up-to-date and conflict-free — without switching from pip.
62
62
 
63
63
  ---
64
64
 
65
- ## ✨ Features
65
+ ## Features
66
66
 
67
- - 🔍 **Smart Version Checking** — discover available package updates automatically
68
- - 🛡️ **Security Scanning** — detect known vulnerabilities via advisories
69
- - 🔒 **Lock File Generation** — create reproducible environments
70
- - 📊 **Health Scoring** — measure package quality & maintainability
71
- - 🧠 **Dependency Resolution** — detect and resolve version conflicts
72
- - 🎯 **Update Strategies** — conservative, moderate, or aggressive upgrade modes
73
- - 🔄 **Format Conversion** — import/export: `requirements.txt`, `pyproject.toml`, Pipfile, Poetry, Conda
74
- - ⚡ **Fast & Concurrent** — async operations for maximum performance
75
- - 🎨 **Beautiful CLI** — rich terminal UI with progress bars & status indicators
76
- - 🤝 **Flexible** — works with pip instead of replacing it
67
+ - **Smart Version Checking** — discover available package updates with intelligent recommendations
68
+ - **Dependency Conflict Resolution** — detect and resolve version conflicts automatically
69
+ - **Safe Updates** — never cross major version boundaries to prevent breaking changes
70
+ - **Fast & Concurrent** — async PyPI queries for maximum performance
71
+ - **Beautiful CLI** — rich terminal UI with colors & status indicators
72
+ - **Multiple Output Formats** — table, simple text, or JSON for CI/CD integration
73
+ - **Full Requirements Parsing** — PEP 440/508 compliant with support for `-r`, `-c`, VCS URLs, and more
74
+ - **Flexible** — works alongside pip, not instead of it
75
+
76
+ ### Coming Soon
77
+
78
+ - **Security Scanning** — detect known vulnerabilities
79
+ - **Lock File Generation** — create reproducible environments
80
+ - **Health Scoring** — measure package quality & maintainability
81
+ - **Format Conversion** — import/export between `requirements.txt`, `pyproject.toml`, Pipfile, and more
77
82
 
78
83
  ---
79
84
 
80
- ## 🚀 Quick Start
85
+ ## Quick Start
81
86
 
82
87
  ### Installation
83
88
 
@@ -91,28 +96,69 @@ pip install depkeeper
91
96
  # Check for available updates
92
97
  depkeeper check
93
98
 
94
- # Update dependencies (safe, patch-level updates by default)
99
+ # Check and show only outdated packages
100
+ depkeeper check --outdated-only
101
+
102
+ # Output as JSON (for CI/CD pipelines)
103
+ depkeeper check --format json
104
+
105
+ # Update all packages to safe versions (within major version)
95
106
  depkeeper update
96
107
 
97
- # Run security audit
98
- depkeeper audit
108
+ # Preview updates without applying
109
+ depkeeper update --dry-run
110
+
111
+ # Update specific packages only
112
+ depkeeper update -p flask -p requests
113
+
114
+ # Create backup before updating and skip confirmation
115
+ depkeeper update --backup -y
116
+ ```
117
+
118
+ ---
119
+
120
+ ## Commands
121
+
122
+ ### `depkeeper check`
99
123
 
100
- # Generate lock file
101
- depkeeper lock
124
+ Analyze your `requirements.txt` file to identify packages with available updates.
102
125
 
103
- # Show dependency tree
104
- depkeeper tree
126
+ ```bash
127
+ depkeeper check [FILE] [OPTIONS]
128
+
129
+ Options:
130
+ --outdated-only Show only packages with available updates
131
+ -f, --format [table|simple|json]
132
+ Output format (default: table)
133
+ --strict-version-matching Only use exact version pins
134
+ --check-conflicts Check for dependency conflicts (default: enabled)
135
+ ```
136
+
137
+ ### `depkeeper update`
138
+
139
+ Update packages to their safe recommended versions (within major version boundaries).
140
+
141
+ ```bash
142
+ depkeeper update [FILE] [OPTIONS]
143
+
144
+ Options:
145
+ --dry-run Preview changes without applying
146
+ -y, --yes Skip confirmation prompt
147
+ --backup Create backup file before updating
148
+ -p, --packages TEXT Update only specific packages (repeatable)
149
+ --strict-version-matching Only use exact version pins
150
+ --check-conflicts Check for conflicts (default: enabled)
105
151
  ```
106
152
 
107
153
  ---
108
154
 
109
- ## 📚 Documentation
155
+ ## Documentation
110
156
 
111
157
  Full documentation will be available soon at **[https://docs.depkeeper.dev](https://docs.depkeeper.dev)**
112
158
 
113
159
  ---
114
160
 
115
- ## 💡 Why depkeeper?
161
+ ## Why depkeeper?
116
162
 
117
163
  Depkeeper bridges the gap between pip’s simplicity and Poetry’s sophistication:
118
164
 
@@ -121,12 +167,13 @@ Depkeeper bridges the gap between pip’s simplicity and Poetry’s sophisticati
121
167
  | simple | powerful | simple + powerful |
122
168
  | minimal tooling | strict workflow | flexible workflow |
123
169
  | limited dependency checking | strong resolver | strong resolver + update automation |
170
+ | no conflict detection | automatic | automatic with safe boundaries |
124
171
 
125
172
  **Focus on code — let depkeeper handle dependency hygiene.**
126
173
 
127
174
  ---
128
175
 
129
- ## 🤝 Contributing
176
+ ## Contributing
130
177
 
131
178
  We welcome contributions of all kinds!
132
179
  Please see our **[Contributing Guide](CONTRIBUTING.md)** for details.
@@ -150,24 +197,22 @@ pre-commit install
150
197
 
151
198
  ---
152
199
 
153
- ## 📄 License
200
+ ## License
154
201
 
155
202
  This project is licensed under the **Apache-2.0 License** — see the [LICENSE](LICENSE) file for details.
156
203
 
157
204
  ---
158
205
 
159
- ## 🙌 Acknowledgments
206
+ ## Acknowledgments
160
207
 
161
208
  - Built with amazing libraries like **Click**, **Rich**, and **httpx**
162
209
  - Inspired by tools such as **pip-tools**, **Poetry**, and **Dependabot**
163
210
 
164
211
  ---
165
212
 
166
- ## ❤️ Support
213
+ ## Support
167
214
 
168
- - 💬 GitHub Discussions: [https://github.com/rahulkaushal04/depkeeper/discussions](https://github.com/rahulkaushal04/depkeeper/discussions)
169
- - 🐞 Issues: [https://github.com/rahulkaushal04/depkeeper/issues](https://github.com/rahulkaushal04/depkeeper/issues)
215
+ - GitHub Discussions: [https://github.com/rahulkaushal04/depkeeper/discussions](https://github.com/rahulkaushal04/depkeeper/discussions)
216
+ - Issues: [https://github.com/rahulkaushal04/depkeeper/issues](https://github.com/rahulkaushal04/depkeeper/issues)
170
217
 
171
218
  ---
172
-
173
- **Made with ❤️ by the depkeeper team**
@@ -0,0 +1,167 @@
1
+ # depkeeper
2
+
3
+ [![Tests](https://github.com/rahulkaushal04/depkeeper/workflows/Tests/badge.svg)](https://github.com/rahulkaushal04/depkeeper/actions)
4
+ [![Coverage](https://codecov.io/gh/rahulkaushal04/depkeeper/branch/main/graph/badge.svg)](https://codecov.io/gh/rahulkaushal04/depkeeper)
5
+ [![PyPI version](https://badge.fury.io/py/depkeeper.svg)](https://badge.fury.io/py/depkeeper)
6
+ [![Python versions](https://img.shields.io/pypi/pyversions/depkeeper.svg)](https://pypi.org/project/depkeeper/)
7
+ [![License: Apache-2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
8
+
9
+ Modern, intelligent Python dependency management for `requirements.txt` files.
10
+ Keep your dependencies up-to-date and conflict-free — without switching from pip.
11
+
12
+ ---
13
+
14
+ ## Features
15
+
16
+ - **Smart Version Checking** — discover available package updates with intelligent recommendations
17
+ - **Dependency Conflict Resolution** — detect and resolve version conflicts automatically
18
+ - **Safe Updates** — never cross major version boundaries to prevent breaking changes
19
+ - **Fast & Concurrent** — async PyPI queries for maximum performance
20
+ - **Beautiful CLI** — rich terminal UI with colors & status indicators
21
+ - **Multiple Output Formats** — table, simple text, or JSON for CI/CD integration
22
+ - **Full Requirements Parsing** — PEP 440/508 compliant with support for `-r`, `-c`, VCS URLs, and more
23
+ - **Flexible** — works alongside pip, not instead of it
24
+
25
+ ### Coming Soon
26
+
27
+ - **Security Scanning** — detect known vulnerabilities
28
+ - **Lock File Generation** — create reproducible environments
29
+ - **Health Scoring** — measure package quality & maintainability
30
+ - **Format Conversion** — import/export between `requirements.txt`, `pyproject.toml`, Pipfile, and more
31
+
32
+ ---
33
+
34
+ ## Quick Start
35
+
36
+ ### Installation
37
+
38
+ ```bash
39
+ pip install depkeeper
40
+ ```
41
+
42
+ ### Basic Usage
43
+
44
+ ```bash
45
+ # Check for available updates
46
+ depkeeper check
47
+
48
+ # Check and show only outdated packages
49
+ depkeeper check --outdated-only
50
+
51
+ # Output as JSON (for CI/CD pipelines)
52
+ depkeeper check --format json
53
+
54
+ # Update all packages to safe versions (within major version)
55
+ depkeeper update
56
+
57
+ # Preview updates without applying
58
+ depkeeper update --dry-run
59
+
60
+ # Update specific packages only
61
+ depkeeper update -p flask -p requests
62
+
63
+ # Create backup before updating and skip confirmation
64
+ depkeeper update --backup -y
65
+ ```
66
+
67
+ ---
68
+
69
+ ## Commands
70
+
71
+ ### `depkeeper check`
72
+
73
+ Analyze your `requirements.txt` file to identify packages with available updates.
74
+
75
+ ```bash
76
+ depkeeper check [FILE] [OPTIONS]
77
+
78
+ Options:
79
+ --outdated-only Show only packages with available updates
80
+ -f, --format [table|simple|json]
81
+ Output format (default: table)
82
+ --strict-version-matching Only use exact version pins
83
+ --check-conflicts Check for dependency conflicts (default: enabled)
84
+ ```
85
+
86
+ ### `depkeeper update`
87
+
88
+ Update packages to their safe recommended versions (within major version boundaries).
89
+
90
+ ```bash
91
+ depkeeper update [FILE] [OPTIONS]
92
+
93
+ Options:
94
+ --dry-run Preview changes without applying
95
+ -y, --yes Skip confirmation prompt
96
+ --backup Create backup file before updating
97
+ -p, --packages TEXT Update only specific packages (repeatable)
98
+ --strict-version-matching Only use exact version pins
99
+ --check-conflicts Check for conflicts (default: enabled)
100
+ ```
101
+
102
+ ---
103
+
104
+ ## Documentation
105
+
106
+ Full documentation will be available soon at **[https://docs.depkeeper.dev](https://docs.depkeeper.dev)**
107
+
108
+ ---
109
+
110
+ ## Why depkeeper?
111
+
112
+ Depkeeper bridges the gap between pip’s simplicity and Poetry’s sophistication:
113
+
114
+ | pip | poetry | depkeeper |
115
+ | --------------------------- | --------------- | ----------------------------------- |
116
+ | simple | powerful | simple + powerful |
117
+ | minimal tooling | strict workflow | flexible workflow |
118
+ | limited dependency checking | strong resolver | strong resolver + update automation |
119
+ | no conflict detection | automatic | automatic with safe boundaries |
120
+
121
+ **Focus on code — let depkeeper handle dependency hygiene.**
122
+
123
+ ---
124
+
125
+ ## Contributing
126
+
127
+ We welcome contributions of all kinds!
128
+ Please see our **[Contributing Guide](CONTRIBUTING.md)** for details.
129
+
130
+ ### Development Setup
131
+
132
+ ```bash
133
+ # Clone the repository
134
+ git clone https://github.com/rahulkaushal04/depkeeper.git
135
+ cd depkeeper
136
+
137
+ # Run setup script
138
+ bash scripts/setup_dev.sh
139
+
140
+ # Or manually:
141
+ python -m venv venv
142
+ source venv/bin/activate # Windows: venv\Scripts\activate
143
+ pip install -e ".[dev]"
144
+ pre-commit install
145
+ ```
146
+
147
+ ---
148
+
149
+ ## License
150
+
151
+ This project is licensed under the **Apache-2.0 License** — see the [LICENSE](LICENSE) file for details.
152
+
153
+ ---
154
+
155
+ ## Acknowledgments
156
+
157
+ - Built with amazing libraries like **Click**, **Rich**, and **httpx**
158
+ - Inspired by tools such as **pip-tools**, **Poetry**, and **Dependabot**
159
+
160
+ ---
161
+
162
+ ## Support
163
+
164
+ - GitHub Discussions: [https://github.com/rahulkaushal04/depkeeper/discussions](https://github.com/rahulkaushal04/depkeeper/discussions)
165
+ - Issues: [https://github.com/rahulkaushal04/depkeeper/issues](https://github.com/rahulkaushal04/depkeeper/issues)
166
+
167
+ ---
@@ -9,4 +9,4 @@ allow tools (CLI, packaging, docs) to query the version reliably.
9
9
  from __future__ import annotations
10
10
 
11
11
  #: Current depkeeper version (PEP 440 compliant).
12
- __version__: str = "0.1.0.dev1"
12
+ __version__: str = "0.1.0.dev2"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: depkeeper
3
- Version: 0.1.0.dev1
3
+ Version: 0.1.0.dev2
4
4
  Summary: Modern Python dependency management for requirements.txt files
5
5
  Author: depkeeper Contributors
6
6
  License: Apache-2.0
@@ -27,29 +27,29 @@ Description-Content-Type: text/markdown
27
27
  License-File: LICENSE
28
28
  Requires-Dist: click>=8.1.8
29
29
  Requires-Dist: packaging>=23.2
30
- Requires-Dist: httpx>=0.24.0
30
+ Requires-Dist: httpx[http2]>=0.24.1
31
31
  Requires-Dist: rich>=13.9.4
32
32
  Provides-Extra: dev
33
- Requires-Dist: pytest>=7.4.0; extra == "dev"
33
+ Requires-Dist: pytest>=7.4.4; extra == "dev"
34
34
  Requires-Dist: pytest-cov>=4.1.0; extra == "dev"
35
- Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
36
- Requires-Dist: pytest-mock>=3.11.0; extra == "dev"
35
+ Requires-Dist: pytest-asyncio>=0.23.8; extra == "dev"
36
+ Requires-Dist: pytest-mock>=3.14.1; extra == "dev"
37
37
  Requires-Dist: pytest-httpx>=0.22.0; extra == "dev"
38
- Requires-Dist: mypy>=1.5.0; extra == "dev"
38
+ Requires-Dist: mypy>=1.14.1; extra == "dev"
39
39
  Requires-Dist: types-setuptools; extra == "dev"
40
- Requires-Dist: pre-commit>=3.4.0; extra == "dev"
40
+ Requires-Dist: pre-commit>=3.5.0; extra == "dev"
41
41
  Provides-Extra: test
42
- Requires-Dist: pytest>=7.4.0; extra == "test"
42
+ Requires-Dist: pytest>=7.4.4; extra == "test"
43
43
  Requires-Dist: pytest-cov>=4.1.0; extra == "test"
44
- Requires-Dist: pytest-asyncio>=0.21.0; extra == "test"
45
- Requires-Dist: pytest-mock>=3.11.0; extra == "test"
44
+ Requires-Dist: pytest-asyncio>=0.23.8; extra == "test"
45
+ Requires-Dist: pytest-mock>=3.14.1; extra == "test"
46
46
  Requires-Dist: pytest-httpx>=0.22.0; extra == "test"
47
47
  Provides-Extra: docs
48
48
  Requires-Dist: mkdocs>=1.6.1; extra == "docs"
49
49
  Requires-Dist: mkdocs-material>=9.7.1; extra == "docs"
50
50
  Requires-Dist: mkdocstrings[python]>=0.26.1; extra == "docs"
51
51
 
52
- # depkeeper 🛡️🐍
52
+ # depkeeper
53
53
 
54
54
  [![Tests](https://github.com/rahulkaushal04/depkeeper/workflows/Tests/badge.svg)](https://github.com/rahulkaushal04/depkeeper/actions)
55
55
  [![Coverage](https://codecov.io/gh/rahulkaushal04/depkeeper/branch/main/graph/badge.svg)](https://codecov.io/gh/rahulkaushal04/depkeeper)
@@ -58,26 +58,31 @@ Requires-Dist: mkdocstrings[python]>=0.26.1; extra == "docs"
58
58
  [![License: Apache-2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
59
59
 
60
60
  Modern, intelligent Python dependency management for `requirements.txt` files.
61
- Keep your dependencies up-to-date, secure, and conflict-free — without switching from pip.
61
+ Keep your dependencies up-to-date and conflict-free — without switching from pip.
62
62
 
63
63
  ---
64
64
 
65
- ## ✨ Features
65
+ ## Features
66
66
 
67
- - 🔍 **Smart Version Checking** — discover available package updates automatically
68
- - 🛡️ **Security Scanning** — detect known vulnerabilities via advisories
69
- - 🔒 **Lock File Generation** — create reproducible environments
70
- - 📊 **Health Scoring** — measure package quality & maintainability
71
- - 🧠 **Dependency Resolution** — detect and resolve version conflicts
72
- - 🎯 **Update Strategies** — conservative, moderate, or aggressive upgrade modes
73
- - 🔄 **Format Conversion** — import/export: `requirements.txt`, `pyproject.toml`, Pipfile, Poetry, Conda
74
- - ⚡ **Fast & Concurrent** — async operations for maximum performance
75
- - 🎨 **Beautiful CLI** — rich terminal UI with progress bars & status indicators
76
- - 🤝 **Flexible** — works with pip instead of replacing it
67
+ - **Smart Version Checking** — discover available package updates with intelligent recommendations
68
+ - **Dependency Conflict Resolution** — detect and resolve version conflicts automatically
69
+ - **Safe Updates** — never cross major version boundaries to prevent breaking changes
70
+ - **Fast & Concurrent** — async PyPI queries for maximum performance
71
+ - **Beautiful CLI** — rich terminal UI with colors & status indicators
72
+ - **Multiple Output Formats** — table, simple text, or JSON for CI/CD integration
73
+ - **Full Requirements Parsing** — PEP 440/508 compliant with support for `-r`, `-c`, VCS URLs, and more
74
+ - **Flexible** — works alongside pip, not instead of it
75
+
76
+ ### Coming Soon
77
+
78
+ - **Security Scanning** — detect known vulnerabilities
79
+ - **Lock File Generation** — create reproducible environments
80
+ - **Health Scoring** — measure package quality & maintainability
81
+ - **Format Conversion** — import/export between `requirements.txt`, `pyproject.toml`, Pipfile, and more
77
82
 
78
83
  ---
79
84
 
80
- ## 🚀 Quick Start
85
+ ## Quick Start
81
86
 
82
87
  ### Installation
83
88
 
@@ -91,28 +96,69 @@ pip install depkeeper
91
96
  # Check for available updates
92
97
  depkeeper check
93
98
 
94
- # Update dependencies (safe, patch-level updates by default)
99
+ # Check and show only outdated packages
100
+ depkeeper check --outdated-only
101
+
102
+ # Output as JSON (for CI/CD pipelines)
103
+ depkeeper check --format json
104
+
105
+ # Update all packages to safe versions (within major version)
95
106
  depkeeper update
96
107
 
97
- # Run security audit
98
- depkeeper audit
108
+ # Preview updates without applying
109
+ depkeeper update --dry-run
110
+
111
+ # Update specific packages only
112
+ depkeeper update -p flask -p requests
113
+
114
+ # Create backup before updating and skip confirmation
115
+ depkeeper update --backup -y
116
+ ```
117
+
118
+ ---
119
+
120
+ ## Commands
121
+
122
+ ### `depkeeper check`
99
123
 
100
- # Generate lock file
101
- depkeeper lock
124
+ Analyze your `requirements.txt` file to identify packages with available updates.
102
125
 
103
- # Show dependency tree
104
- depkeeper tree
126
+ ```bash
127
+ depkeeper check [FILE] [OPTIONS]
128
+
129
+ Options:
130
+ --outdated-only Show only packages with available updates
131
+ -f, --format [table|simple|json]
132
+ Output format (default: table)
133
+ --strict-version-matching Only use exact version pins
134
+ --check-conflicts Check for dependency conflicts (default: enabled)
135
+ ```
136
+
137
+ ### `depkeeper update`
138
+
139
+ Update packages to their safe recommended versions (within major version boundaries).
140
+
141
+ ```bash
142
+ depkeeper update [FILE] [OPTIONS]
143
+
144
+ Options:
145
+ --dry-run Preview changes without applying
146
+ -y, --yes Skip confirmation prompt
147
+ --backup Create backup file before updating
148
+ -p, --packages TEXT Update only specific packages (repeatable)
149
+ --strict-version-matching Only use exact version pins
150
+ --check-conflicts Check for conflicts (default: enabled)
105
151
  ```
106
152
 
107
153
  ---
108
154
 
109
- ## 📚 Documentation
155
+ ## Documentation
110
156
 
111
157
  Full documentation will be available soon at **[https://docs.depkeeper.dev](https://docs.depkeeper.dev)**
112
158
 
113
159
  ---
114
160
 
115
- ## 💡 Why depkeeper?
161
+ ## Why depkeeper?
116
162
 
117
163
  Depkeeper bridges the gap between pip’s simplicity and Poetry’s sophistication:
118
164
 
@@ -121,12 +167,13 @@ Depkeeper bridges the gap between pip’s simplicity and Poetry’s sophisticati
121
167
  | simple | powerful | simple + powerful |
122
168
  | minimal tooling | strict workflow | flexible workflow |
123
169
  | limited dependency checking | strong resolver | strong resolver + update automation |
170
+ | no conflict detection | automatic | automatic with safe boundaries |
124
171
 
125
172
  **Focus on code — let depkeeper handle dependency hygiene.**
126
173
 
127
174
  ---
128
175
 
129
- ## 🤝 Contributing
176
+ ## Contributing
130
177
 
131
178
  We welcome contributions of all kinds!
132
179
  Please see our **[Contributing Guide](CONTRIBUTING.md)** for details.
@@ -150,24 +197,22 @@ pre-commit install
150
197
 
151
198
  ---
152
199
 
153
- ## 📄 License
200
+ ## License
154
201
 
155
202
  This project is licensed under the **Apache-2.0 License** — see the [LICENSE](LICENSE) file for details.
156
203
 
157
204
  ---
158
205
 
159
- ## 🙌 Acknowledgments
206
+ ## Acknowledgments
160
207
 
161
208
  - Built with amazing libraries like **Click**, **Rich**, and **httpx**
162
209
  - Inspired by tools such as **pip-tools**, **Poetry**, and **Dependabot**
163
210
 
164
211
  ---
165
212
 
166
- ## ❤️ Support
213
+ ## Support
167
214
 
168
- - 💬 GitHub Discussions: [https://github.com/rahulkaushal04/depkeeper/discussions](https://github.com/rahulkaushal04/depkeeper/discussions)
169
- - 🐞 Issues: [https://github.com/rahulkaushal04/depkeeper/issues](https://github.com/rahulkaushal04/depkeeper/issues)
215
+ - GitHub Discussions: [https://github.com/rahulkaushal04/depkeeper/discussions](https://github.com/rahulkaushal04/depkeeper/discussions)
216
+ - Issues: [https://github.com/rahulkaushal04/depkeeper/issues](https://github.com/rahulkaushal04/depkeeper/issues)
170
217
 
171
218
  ---
172
-
173
- **Made with ❤️ by the depkeeper team**
@@ -1,17 +1,17 @@
1
1
  click>=8.1.8
2
2
  packaging>=23.2
3
- httpx>=0.24.0
3
+ httpx[http2]>=0.24.1
4
4
  rich>=13.9.4
5
5
 
6
6
  [dev]
7
- pytest>=7.4.0
7
+ pytest>=7.4.4
8
8
  pytest-cov>=4.1.0
9
- pytest-asyncio>=0.21.0
10
- pytest-mock>=3.11.0
9
+ pytest-asyncio>=0.23.8
10
+ pytest-mock>=3.14.1
11
11
  pytest-httpx>=0.22.0
12
- mypy>=1.5.0
12
+ mypy>=1.14.1
13
13
  types-setuptools
14
- pre-commit>=3.4.0
14
+ pre-commit>=3.5.0
15
15
 
16
16
  [docs]
17
17
  mkdocs>=1.6.1
@@ -19,8 +19,8 @@ mkdocs-material>=9.7.1
19
19
  mkdocstrings[python]>=0.26.1
20
20
 
21
21
  [test]
22
- pytest>=7.4.0
22
+ pytest>=7.4.4
23
23
  pytest-cov>=4.1.0
24
- pytest-asyncio>=0.21.0
25
- pytest-mock>=3.11.0
24
+ pytest-asyncio>=0.23.8
25
+ pytest-mock>=3.14.1
26
26
  pytest-httpx>=0.22.0
@@ -13,7 +13,7 @@ build-backend = "setuptools.build_meta"
13
13
 
14
14
  [project]
15
15
  name = "depkeeper"
16
- version = "0.1.0.dev1"
16
+ version = "0.1.0.dev2"
17
17
  description = "Modern Python dependency management for requirements.txt files"
18
18
  readme = "README.md"
19
19
  requires-python = ">=3.8"
@@ -51,7 +51,7 @@ classifiers = [
51
51
  dependencies = [
52
52
  "click>=8.1.8",
53
53
  "packaging>=23.2",
54
- "httpx>=0.24.0",
54
+ "httpx[http2]>=0.24.1",
55
55
  "rich>=13.9.4",
56
56
  ]
57
57
 
@@ -63,20 +63,20 @@ dependencies = [
63
63
  [project.optional-dependencies]
64
64
 
65
65
  dev = [
66
- "pytest>=7.4.0",
66
+ "pytest>=7.4.4",
67
67
  "pytest-cov>=4.1.0",
68
- "pytest-asyncio>=0.21.0",
69
- "pytest-mock>=3.11.0",
68
+ "pytest-asyncio>=0.23.8",
69
+ "pytest-mock>=3.14.1",
70
70
  "pytest-httpx>=0.22.0",
71
- "mypy>=1.5.0",
71
+ "mypy>=1.14.1",
72
72
  "types-setuptools",
73
- "pre-commit>=3.4.0",
73
+ "pre-commit>=3.5.0",
74
74
  ]
75
75
  test = [
76
- "pytest>=7.4.0",
76
+ "pytest>=7.4.4",
77
77
  "pytest-cov>=4.1.0",
78
- "pytest-asyncio>=0.21.0",
79
- "pytest-mock>=3.11.0",
78
+ "pytest-asyncio>=0.23.8",
79
+ "pytest-mock>=3.14.1",
80
80
  "pytest-httpx>=0.22.0",
81
81
  ]
82
82
  docs = [
@@ -1,122 +0,0 @@
1
- # depkeeper 🛡️🐍
2
-
3
- [![Tests](https://github.com/rahulkaushal04/depkeeper/workflows/Tests/badge.svg)](https://github.com/rahulkaushal04/depkeeper/actions)
4
- [![Coverage](https://codecov.io/gh/rahulkaushal04/depkeeper/branch/main/graph/badge.svg)](https://codecov.io/gh/rahulkaushal04/depkeeper)
5
- [![PyPI version](https://badge.fury.io/py/depkeeper.svg)](https://badge.fury.io/py/depkeeper)
6
- [![Python versions](https://img.shields.io/pypi/pyversions/depkeeper.svg)](https://pypi.org/project/depkeeper/)
7
- [![License: Apache-2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
8
-
9
- Modern, intelligent Python dependency management for `requirements.txt` files.
10
- Keep your dependencies up-to-date, secure, and conflict-free — without switching from pip.
11
-
12
- ---
13
-
14
- ## ✨ Features
15
-
16
- - 🔍 **Smart Version Checking** — discover available package updates automatically
17
- - 🛡️ **Security Scanning** — detect known vulnerabilities via advisories
18
- - 🔒 **Lock File Generation** — create reproducible environments
19
- - 📊 **Health Scoring** — measure package quality & maintainability
20
- - 🧠 **Dependency Resolution** — detect and resolve version conflicts
21
- - 🎯 **Update Strategies** — conservative, moderate, or aggressive upgrade modes
22
- - 🔄 **Format Conversion** — import/export: `requirements.txt`, `pyproject.toml`, Pipfile, Poetry, Conda
23
- - ⚡ **Fast & Concurrent** — async operations for maximum performance
24
- - 🎨 **Beautiful CLI** — rich terminal UI with progress bars & status indicators
25
- - 🤝 **Flexible** — works with pip instead of replacing it
26
-
27
- ---
28
-
29
- ## 🚀 Quick Start
30
-
31
- ### Installation
32
-
33
- ```bash
34
- pip install depkeeper
35
- ```
36
-
37
- ### Basic Usage
38
-
39
- ```bash
40
- # Check for available updates
41
- depkeeper check
42
-
43
- # Update dependencies (safe, patch-level updates by default)
44
- depkeeper update
45
-
46
- # Run security audit
47
- depkeeper audit
48
-
49
- # Generate lock file
50
- depkeeper lock
51
-
52
- # Show dependency tree
53
- depkeeper tree
54
- ```
55
-
56
- ---
57
-
58
- ## 📚 Documentation
59
-
60
- Full documentation will be available soon at **[https://docs.depkeeper.dev](https://docs.depkeeper.dev)**
61
-
62
- ---
63
-
64
- ## 💡 Why depkeeper?
65
-
66
- Depkeeper bridges the gap between pip’s simplicity and Poetry’s sophistication:
67
-
68
- | pip | poetry | depkeeper |
69
- | --------------------------- | --------------- | ----------------------------------- |
70
- | simple | powerful | simple + powerful |
71
- | minimal tooling | strict workflow | flexible workflow |
72
- | limited dependency checking | strong resolver | strong resolver + update automation |
73
-
74
- **Focus on code — let depkeeper handle dependency hygiene.**
75
-
76
- ---
77
-
78
- ## 🤝 Contributing
79
-
80
- We welcome contributions of all kinds!
81
- Please see our **[Contributing Guide](CONTRIBUTING.md)** for details.
82
-
83
- ### Development Setup
84
-
85
- ```bash
86
- # Clone the repository
87
- git clone https://github.com/rahulkaushal04/depkeeper.git
88
- cd depkeeper
89
-
90
- # Run setup script
91
- bash scripts/setup_dev.sh
92
-
93
- # Or manually:
94
- python -m venv venv
95
- source venv/bin/activate # Windows: venv\Scripts\activate
96
- pip install -e ".[dev]"
97
- pre-commit install
98
- ```
99
-
100
- ---
101
-
102
- ## 📄 License
103
-
104
- This project is licensed under the **Apache-2.0 License** — see the [LICENSE](LICENSE) file for details.
105
-
106
- ---
107
-
108
- ## 🙌 Acknowledgments
109
-
110
- - Built with amazing libraries like **Click**, **Rich**, and **httpx**
111
- - Inspired by tools such as **pip-tools**, **Poetry**, and **Dependabot**
112
-
113
- ---
114
-
115
- ## ❤️ Support
116
-
117
- - 💬 GitHub Discussions: [https://github.com/rahulkaushal04/depkeeper/discussions](https://github.com/rahulkaushal04/depkeeper/discussions)
118
- - 🐞 Issues: [https://github.com/rahulkaushal04/depkeeper/issues](https://github.com/rahulkaushal04/depkeeper/issues)
119
-
120
- ---
121
-
122
- **Made with ❤️ by the depkeeper team**
File without changes
File without changes