UPS is a package handler, obviously.
No, don't be ridiculous. This is a library for package handling.
The idea is to create a library of basic Nim package handling machinery that can serve to illustrate/implement best practices, and which can eventually be used more broadly to unify the community's package management efforts.
Nimph's dependencies can be rather onerous -- I personally want to be able to perform basic package operations in other code without having to specify a dependency on Nimterop and libgit2. Similarly, this allows that use to help improve Nimph as well.
No, don't be ridiculous. The initial scope we're targeting looks like this:
- a proper Version type with https://semver.org/ semantics
- a Release type that references Version or tag combined with an Operator
- additional
^
,*
, and~
operators as used in Nimph - a Package type that represents published code with Nimble specifications
- Requirement parsing that connects a Package specification to a Release
- a Project type that represents code available for local
import
- Dependency resolution via multiple Package or Project values and multiple Requirement instances
- Lockfiles that declare these type-relations in a single data-structure
- Nim
.cfg
parsing, editing, and writing with/without compiler code
You're welcome, buddy. Enjoy. 😘
This code is in an active state of development and the API is likely to change frequently; use the tagged releases to protect yourself accordingly.
The documentation is built during the CI process and hosted on GitHub.
MIT