Awesome
rfhub2
Introduction
RfHub2 is an opensource project aimed to provide nice and easy way of collecting, browsing and sharing documentation
of existing keywords written in RobotFramework and python. Built with Material-UI
and FastAPI, served by Uvicorn.
Project is inspired by robotframework-hub
created by Bryan Oakley and can be treated as its spiritual successor.
RfHub2 is hosted on GitHub, where sourcecode, current issues and additional documentation can be found.
Installation
As python package
latest version can be installed from PyPi:
pip install rfhub2
or directly from source code:
python setup.py install
With docker
pull docker image with SQLite:
docker pull pbylicki/rfhub2
or PostgreSQL:
docker pull pbylicki/rfhub2:postgres
With helm chart
create app on kubernetes cluster
helm upgrade --install rfhub2 helm/rfhub2 -n [NAMESPACE]
will create all needed resources with configuration from values.yaml
Starting application
Run application (web server)
To run with default (SQLite) database:
rfhub2
To run with PostgreSQL database:
RFHUB_DB_URI=postgresql://postgres:postgres@localhost:5432/postgres rfhub2
To run application using docker image with default (SQLite) database:
docker run -it -p 8000:8000 pbylicki/rfhub2
To run application using docker image with Postgres database:
docker run -it -p 8000:8000 --network=host -e RFHUB_DB_URI="postgresql://postgres:postgres@localhost:5432/postgres" pbylicki/rfhub2:postgres
Populate application with keywords documentation
To populate application running on localhost:
rfhub2-cli ../your_repo ../your_other_repo
To populate app running on another host, with non-default credentials:
rfhub2-cli -a http://your_host:8000 -u user -p password ../your_repo ../your_other_repo
To populate app but to skip loading RFWK installed libraries:
rfhub2-cli --no-installed-keywords ../your_repo ../your_other_repo
To populate app only including or excluding keywords with tags matching custom patterns (more information on the include/exclude feature here):
# Including keywords containing tag "your-tag" and not containing tag "your-other-tag":
rfhub2-cli --include your-tag --exclude your-other-tag ../your_repo ../your_other_repo
# To populate app only with keywords containing either tag "π‘" or "π§", and tag "π€":
rfhub2-cli --include π‘ORπ§ANDπ€ ../your_repo ../your_other_repo
# To populate app only with keywords containing tags starting by "important-tag-":
rfhub2-cli --include important-tag-* ../your_repo ../your_other_repo
Rfhub2-cli for keywords documentation can be run in three load-modes:
merge
, default mode, updates only matched collections, does nothing with not matched onesrfhub2-cli --load-mode=merge ../your_repo ../your_other_repo
insert
, that will clean up existing collections app and load all collections found in provided pathsrfhub2-cli --load-mode=insert ../your_repo ../your_other_repo
append
, which will only add collections from provided pathsrfhub2-cli --load-mode=append ../your_repo ../your_other_repo
update
, which will compare existing collections with newly found ones, and update existing, remove obsolete and add new onesrfhub2-cli --load-mode=update ../your_repo ../your_other_repo
Populate application with keywords execution statistics
To gather keywords execution statistics:
rfhub2-cli --mode=statistics ../your_execution_dir ../your_other_execution_dir
Since execution statistics from specific run does not change over time, there is no load-mode needed. Application will scan all of the executions and try to send aggregated data from each run to application. rfhub2-cli will complain that there are existing statistics for particular timestamp, and will proceed with next ones.
License
RfHub2 is an open source software provided under the Apache License 2.0