Skip to main content

OpenRepos.net web client

Project description

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.

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

openrepos-webclient-1.5.1.tar.gz (24.9 kB view details)

Uploaded Source

File details

Details for the file openrepos-webclient-1.5.1.tar.gz.

File metadata

  • Download URL: openrepos-webclient-1.5.1.tar.gz
  • Upload date:
  • Size: 24.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for openrepos-webclient-1.5.1.tar.gz
Algorithm Hash digest
SHA256 9382d72bc37eaaa0753deea24a18daa0272282eed2071eb8fd0a5c6675e75656
MD5 e901c772f5d0384da462acc03e331b10
BLAKE2b-256 87f9dbf05725710caaf0df8d124def80945ef174fd1579674b525a00ee689c86

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