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.
latest version can be installed from PyPi:
pip install rfhub2
or directly from source code:
python setup.py install
pull docker image with SQLite:
docker pull pbylicki/rfhub2
or PostgreSQL:
docker pull pbylicki/rfhub2:postgres
create app on kubernetes cluster
helm upgrade --install rfhub2 helm/rfhub2 -n [NAMESPACE]
will create all needed resources with configuration from values.yaml
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
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
merge
, default mode, updates only matched collections, does nothing with not matched ones
rfhub2-cli --load-mode=merge ../your_repo ../your_other_repo
insert
, that will clean up existing collections app and load all collections found in provided paths
rfhub2-cli --load-mode=insert ../your_repo ../your_other_repo
append
, which will only add collections from provided paths
rfhub2-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 ones
rfhub2-cli --load-mode=update ../your_repo ../your_other_repo
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.
RfHub2 is an open source software provided under the Apache License 2.0