Skip to main content

This tool downloads and installs release binaries from GitHub repositories.

Project description

girsh - Git Install Released Software Helper

python version PyPI Build status codecov Commit activity License

This tool downloads and installs released binaries from GitHub repositories on Linux type systems.

Description

This script reads input from a YAML file to define GitHub release pages, binary package patterns, and extraction rules. The script handles downloads, extraction, renaming, and copying to the appropriate binary folder based on user permissions.

The script checks whether the user has root privileges to copy binaries to /usr/local/bin; otherwise, it defaults to ~/.local/bin.

Development

1. Clone the repository

First, clone the project repository, and then run the following commands:

git clone ssh://git@github.com:palto42/girsh.git

2. Set Up Your Development Environment

Then, install the environment and the pre-commit hooks with

make install

3. Run the pre-commit hooks

Initially, the CI/CD pipeline might be failing due to formatting issues. To resolve those run:

uv run pre-commit run -a

or run

make check`

4. Test the code

Run the Python unit tests with the command:

make test
  • For a console coverage report, run coverage report
  • For a local HTML coverage report, run coverage html

5. Commit the changes

Lastly, commit the changes made by the two steps above to your repository.

git add .
git commit -m 'Fix formatting issues'
git push origin main

You are now ready to start development on your project! The CI/CD pipeline will be triggered when you open a pull request, merge to main, or when you create a new release.

To finalize the set-up for publishing to PyPI, see here. For activating the automatic documentation with MkDocs, see here. To enable the code coverage reports, see here.

Releasing a new version

  • Create an API Token on PyPI.
  • Add the API Token to your projects secrets with the name PYPI_TOKEN by visiting this page.
  • Create a new release on Github.
  • Create a new tag in the form *.*.*.

For more details, see here.

3. Use make commands

make command Description
install Install the virtual environment and install the pre-commit hooks
check Run code quality tools.
test Test the code with pytest
build Build wheel file
clean-build Clean build artifacts
publish Publish a release to PyPI.
build-and-publish Build and publish.
docs Build and serve the documentation
docs-test Test if documentation can be built without warnings or errors

Note: make check validates the files stages with git add. Otherwise it may show only "(no files to check)Skipped" messages.

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

girsh-0.1.36.tar.gz (126.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

girsh-0.1.36-py3-none-any.whl (26.4 kB view details)

Uploaded Python 3

File details

Details for the file girsh-0.1.36.tar.gz.

File metadata

  • Download URL: girsh-0.1.36.tar.gz
  • Upload date:
  • Size: 126.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for girsh-0.1.36.tar.gz
Algorithm Hash digest
SHA256 9ff76d959ad90e39411a6f1a1ddbd94f12b47675e64dfdd2bed0a80a5d6f33c6
MD5 9273529425d0c51a45b86f3557b4bce8
BLAKE2b-256 f0043ee388e5681ac39f04665f74c10f74952d60b4a5012138298ed466294b40

See more details on using hashes here.

File details

Details for the file girsh-0.1.36-py3-none-any.whl.

File metadata

  • Download URL: girsh-0.1.36-py3-none-any.whl
  • Upload date:
  • Size: 26.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for girsh-0.1.36-py3-none-any.whl
Algorithm Hash digest
SHA256 8311f560232c3f0ef342b42df3fe3eacadd67fac476a85787374c96490a8cca6
MD5 43ee5924fb1c9ca2b5cecff520742c52
BLAKE2b-256 d0df0eb97ea0e7978bfe181a6b922ddc6dd63edb0ce7a8b80f933dd8d3336807

See more details on using hashes here.

Supported by

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