nim-lang / packages

List of packages for Nimble
Creative Commons Attribution 4.0 International
443 stars 703 forks source link
nim nimble packages

Nim packages Build Status

This is a central listing of all packages for Nimble, a package manager for the Nim programming language.

An overview of all packages is available at https://nimble.directory.

NOTE: The packages listed here are not peer-reviewed or otherwise screened. We try to keep the list up-to-date but we cannot guarantee quality or maturity of the packages.

Adding your own package

To add your own package, fork this repository, edit packages.json and make a pull request.

Packages.json is a simple array of objects. Each package object should have the following fields (unless the field is marked as optional):

Requirements

While we really appreciate your contribution, please follow the requirements: other developers will rely on your package. Non-compliant packages might be removed with no warning.

Your packages may be removed if the url stops working. It goes without saying that your pull request will not be accepted unless you fill out all of the above required fields correctly, the package that url points to must also contain a .nimble file, or else it will be rejected.

The requirements might change in future.

Releasing a new package version

The version number in the directory is derived from git tags (not the version field in the .nimble script). To release a new version of a package, follow the instructions from the Nimble readme:

  • Increment the version in your .nimble file.
  • Commit your changes.
  • Tag your release, by for example running git tag v0.2.0.
  • Push your tags and commits.

Renaming packages

To rename a package you will need to add a new entry for your package. Simply perform the following steps:

For example:

...
  {
    "name": "myoldname",
    "alias": "mynewname"
  },
  {
    "name": "mynewname",
    "url": "...",
    "method": "git",
    ...
  },
...

License