Skip to main content

Artifact repository

Project description

dlrepo

builds.sr.ht status

dlrepo is an artifact repository. It supports storing build artifacts (binary packages, documentation, vm images, container images, etc.) in a structured file system tree. It exposes an HTTP API to upload files, delete them, add metadata, etc. dlrepo does not use an external database. It does de-duplication of artifacts by the use of file system hard links.

installation

pip install dlrepo

Or, as root on Debian testing:

curl -L https://repo.diabeteman.com/static/key.asc > /etc/apt/trusted.gpg.d/repo-diabeteman-com.asc
echo "deb https://repo.diabeteman.com/products/dlrepo/all/main/0.x/deb/ /" > /etc/apt/sources.list.d/dlrepo.list
apt update
apt install dlrepo

development quickstart

sudo apt install libldap2-dev libsasl2-dev python3-dev python3-pip python3-venv sassc
git clone https://git.sr.ht/~rjarry/dlrepo
cd dlrepo
make lint tests
make run

documentation

contributing

Anyone can contribute to dlrepo:

  • Clone the repository.
  • Patch the code.
  • Make some tests.
  • Ensure that your code is properly formatted with black (make format).
  • Ensure that the linters are happy (make lint).
  • Ensure that everything works as expected.
  • Ensure that you did not break anything.
  • If applicable, update unit tests.
  • If adding a new feature, please consider adding new tests.
  • Do not forget to update the docs.

Once you are happy with your work, you can create a commit (or several commits). Follow these general rules:

  • Limit the first line (title) of the commit message to 60 characters.
  • Use a short prefix for the commit title for readability with git log --oneline.
  • Use the body of the commit message to actually explain what your patch does and why it is useful.
  • Address only one issue/topic per commit.
  • If you are fixing a ticket, use appropriate commit trailers.
  • If you are fixing a regression introduced by another commit, add a Fixes: trailer with the commit id and its title.

There is a great reference for commit messages in the Linux kernel documentation.

Before sending the patch, you should configure your local clone with sane defaults:

git config format.subjectPrefix "PATCH dlrepo"
git config sendemail.to "~rjarry/dlrepo@lists.sr.ht"

And send the patch to the mailing list:

git sendemail --annotate -1

Wait for feedback. Address comments and amend changes to your original commit. Then you should send a v2:

git sendemail --in-reply-to=$first_message_id --annotate -v2 -1

Once the maintainer is happy with your patch, they will apply it and push it.

resources

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dlrepo-0.40.tar.gz (157.9 kB view details)

Uploaded Source

File details

Details for the file dlrepo-0.40.tar.gz.

File metadata

  • Download URL: dlrepo-0.40.tar.gz
  • Upload date:
  • Size: 157.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for dlrepo-0.40.tar.gz
Algorithm Hash digest
SHA256 5bf6140e1cc3585e9d73f89f3e811cc8b7d16fb7549a8682e438fbbaa692c4e5
MD5 35d50659fbc881a5268c254b7a02be89
BLAKE2b-256 bbd9977d6f3448b5081239bc8f8bbcff9b192180bf299cdb29a4e03fda65cc74

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page