OpenRepos.net Web Client
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 pipif it complains aboutpipnot 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
openreposcommand:export OPENREPOS_USERNAME=myuser OPENREPOS_PASSWORD=mypass... or you can put the above in a file (say
openrepos-credentials.sh) and thensourcethis file, which is safer as you don't specify any credentials on the command-line:source openrepos-credentials.shExecuting
If running just
openreposerrors out with something likecommand not found, then just runpython3 -m openreposinstead.
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)
| 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.