A minimal, easy-to-use, and open-source dependency checker designed to simplify dependency management.
|
thacoon
e722fffdc9
All checks were successful
ci/woodpecker/tag/releases Pipeline was successful
Reviewed-on: #3 Co-authored-by: thacoon <thacoon@posteo.de> Co-committed-by: thacoon <thacoon@posteo.de> |
||
|---|---|---|
| .woodpecker | Add woodpecker ( #3 ) | |
| core | send mail for outdated dependencies | |
| examples | init | |
| forge | support GitLab issues | |
| python | send mail for outdated dependencies | |
| .gitignore | Add woodpecker ( #3 ) | |
| go.mod | init | |
| LICENSE | init | |
| main.go | send mail for outdated dependencies | |
| README.md | send mail for outdated dependencies | |
Deppy
A minimal, easy-to-use, and open-source dependency checker designed to simplify dependency management.
Usage
# Minimal
go run main.go -path examples/poetry.lock
# Enable GitLab
go run main.go -path examples/poetry.lock -gitlab
# See usage
go run main.go -help
Supports
Dependencies
| Language | Package Manager | File(s) | Description |
|---|---|---|---|
| Python | Poetry | poetry.lock |
Lock files generated by Poetry. |
Tools
| Tool | Features | Required Envs |
|---|---|---|
| GitLab | Create issues for outdated packages | DEPPY_GITLAB_API_KEY, CI_PROJECT_ID |
| Send an email for outdated packages | DEPPY_REPOSITORY_NAME, DEPPY_SMTP_USERNAME, DEPPY_SMTP_PASSWORD, DEPPY_SMTP_HOST, DEPPY_SMTP_PORT, DEPPY_SMTP_SENDER, DEPPY_SMTP_TO |
Some environment variables are automatically available inside a CI, like CI_PROJECT_ID in GitLab.
For DEPPY_SMTP_TO it is possible to define multiple mail recipients, they can simply seperated by a comma.
Roadmap
- Binaries: Provide compiled binaries, ready to be used in CIs
- Version Notification: Implement a system to create issues for new version notifications.
- Instead of providing all the smtp variables, somehow I would find it cool if I just provide a simple no-questions asked mail service. Only then recipients have to be opt-in (like in newsletters), have an unsubscribe link on each mail and throttle sending.
- Dependency Updates: Automate the process of submitting merge requests for updated dependencies.
- Automated Fixes: Utilize an LLM to automatically address breaking changes or failing tests.
- License Compatibility Check: Develop a feature to verify the compatibility of all dependency licenses.
- Tools: Create ticket in tools like Jira and issues / merge requests for GitHub or Codeberg
Side Quests
One primary objective of Deppy is to be developed with minimal dependencies, relying solely on the Go standard library.