Python package to convert skills and competency categories from CSV to JSON/YAML format.
You can either clone the repository and run the src/skill_competencies_converter/convert_skills.py conversion script directly, or install this as a Python package via:
pip install git+https://github.com/softwaresaved/skill-competencies-converterInstalling it as a package will give you access to the skill_competencies_converter and create_user_profile commands which can be run from any location on your machine.
usage: skill_competencies_converter [-h] [--output-path OUTPUT_PATH] [--print-output | --no-print-output] [inputs ...]
Convert skills CSV or Google Sheet to YAML/JSON.
positional arguments:
inputs Either CSV file path or Google Sheet ID and sheet name
options:
-h, --help show this help message and exit
--output-path OUTPUT_PATH
Output filepath. Default: ./framework.json
--print-output, --no-print-output
Print output to stdout
Examples:
skill_competencies_converter <csv_file>
skill_competencies_converter <csv_file> --output-path <file-name>
skill_competencies_converter <google_sheet_id> <sheet_name>
skill_competencies_converter <google_sheet_id> <sheet_name> --print-outputusage: create_user_profile [-h] [--profile-name PROFILE_NAME] [--output-path OUTPUT_PATH] [--print-output | --no-print-output] [inputs ...]
Create user profile file in JSON from skills CSV or Google Sheet file.
positional arguments:
inputs Either CSV file path or Google Sheet ID and sheet name
options:
-h, --help show this help message and exit
--profile-name PROFILE_NAME
Profile header/column name to read skill level values from. If not provided, use the first column that contains the word 'profile'.
--output-path OUTPUT_PATH
Output filepath. Default: ./user_profile.json
--print-output, --no-print-output
Print output to stdout
Examples:
create_user_profile <csv_file>
create_user_profile <csv_file> --profile-name <profile_name> --output-path <output_file>
create_user_profile <google_sheet_id> <sheet_name>
create_user_profile <google_sheet_id> <sheet_name> --print-outputIf you would like to print the converted result directly to screen along with saving it to file, add the --print-output option to the end of the command.
skill_competencies_converter data/data.csvBy default, if the --output-path is not specified for skill_competencies_converter, it will output to ./framework.json.
create_user_profile data/data.csv --profile-name "RSE Team Lead profile" --output-path "data/profile.json"By default, if the --output-path is not specified for create_user_profile, it will output to ./user_profile.json.
skill_competencies_converter 1umVxBzuZGDgins6XqJwuGVf6BK_DgjknhuwDQpNwyjo "Competency framework - v1.0" --output-path framework.jsoncreate_user_profile 1umVxBzuZGDgins6XqJwuGVf6BK_DgjknhuwDQpNwyjo "Competency profiles - v1.0" --profile-name "RSE Team Lead profile" --output-path "data/profile.json"Make sure to activate a virtual environment and install dependencies from requirements.txt before running the code.
python3 src/skill_competencies_converter/convert_skills.py data/data.csv --output-path framework.jsonpython3 src/skill_competencies_converter/create_user_profile.py data/data.csv --profile-name "RSE Team Lead profile" --output-path "data/profile.json"python3 src/skill_competencies_converter/convert_skills.py 1umVxBzuZGDgins6XqJwuGVf6BK_DgjknhuwDQpNwyjo "Competency framework - v1.0" --output-path framework.jsonpython3 src/skill_competencies_converter/convert_skills.py 1umVxBzuZGDgins6XqJwuGVf6BK_DgjknhuwDQpNwyjo "Competency profiles - v1.0" --profile-name "RSE Team Lead profile" --output-path "data/profile.json"If you would like to print the converted result directly to screen along with saving it to file, add the --print-output option to the end of the command.
The code was written by Finn Bacall with small tweaks by Aleks Nenadic. Bryn Ubald converted it to a Python package.