Skip to main content

OpenRepos.net Web Client

pipeline status coverage report documentation PyPI

openrepos-webclient is a Python package to interface the OpenRepos.net website in an automated way.

Installation

To install, run from the repository root:

python3 -m pip install --user .

or install it from PyPi:

python3 -m pip install --user openrepos

(Run sudo apt-get update && sudo apt-get -y install python3-pip && pip3 install --user -U pip if it complains about pip not being found)

You will also need to install at least one selenium-compatible browser with webdriver, for example Firefox together with geckodriver.

If you want to run openrepos headlessly, you will also need Xvfb.

What can openrepos do?

OpenRepos Credentials

Define your OpenRepos.net login credentials as environment variables. You can either run this in each terminal session once before running the openrepos command:

export OPENREPOS_USERNAME=myuser OPENREPOS_PASSWORD=mypass

... or you can put the above in a file (say openrepos-credentials.sh) and then source this file, which is safer as you don't specify any credentials on the command-line:

source openrepos-credentials.sh

Executing

If running just openrepos errors out with something like command not found, then just run python3 -m openrepos instead.

Create a new app

This command creates a new SailfishOS app TestApp in the Libraries category.

openrepos -i new-app -n TestApp -p SailfishOS -c Libraries

Upload RPMs to an app

This command uploads all RPMs in the current directory to an app on OpenRepos called TestApp:

openrepos upload-rpm -n TestApp *.rpm

If you want to create the app if it doesn't exist yet, you have to provide the same metadata as above for new-app:

openrepos upload-rpm -n TestApp -p SailfishOS -c Libraries *.rpm

Delete an App

This delete a TestApp:

openrepos delete-app -n TestApp

Using this to automate uploading RPMs to OpenRepos in GitLab CI

This package was designed to automate RPM upload to OpenRepos.net. To do that in GitLab CI, you can include the file openrepos-upload-rpm.gitlab-ci.yml from this repository in your CI config. The file contains an example of how to do that.

Troubleshooting

If you experience problems and want to debug them, you can run openrepos interactively (--interacitve) and verbosely (-vvv):

openrepos --interactive -vvv upload-rpm ...

This will ask you before every step and tell you what's going on.

To run without opening the browser window (like in CI), run it with --xvfb:

openrepos --xvfb --interactive -vvv upload-rpm ...

Documentation

Documentation of the openrepos package can be found here on GitLab.

Also, the command-line help page openrepos -h is your friend.

Metadata

Release files for openrepos-webclient 1.5.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for openrepos-webclient 1.5.1
File Size Uploaded Provenance
openrepos-webclient-1.5.1.tar.gz 24.9 kB Without provenance Details

Release files / openrepos-webclient-1.5.1.tar.gz

Download URL openrepos-webclient-1.5.1.tar.gz
Size 24.9 kB
Tags Source
SHA-256 checksum
How to use checksums
9382d72bc37eaaa0753deea24a18daa0272282eed2071eb8fd0a5c6675e75656
BLAKE2b-256 checksum
How to use checksums
87f9dbf05725710caaf0df8d124def80945ef174fd1579674b525a00ee689c86
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

Security for openrepos-webclient 1.5.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page