rg-cli is a command line tool for you to generate a basic report of attendees, e.g. a pie chart of fields according to job titles.
Currently it only supports a csv file as raw data input.
- Python 3.7
- pipenv
- for dependency management
pip install pipenv
- invoke
- for task management
pip install invoke
Fetch the source
git clone https://github.com/pycontw/pycontw-postevent-report-generator.git
Create a working folder to place your attendee raw data outside of the source folder so you won't commit your raw data accidentally.
mkdir pycontw-postevent-report-generator-working
inv env.init-dev
If you want to develop it, please run:
inv build.develop
If you just want to install it in your virtual environment lib, please run:
inv build.install
Now you should be ready to go.
inv build.test-cli
inv test
After launching your virtual environment, issue the following command:
rg-cli --csv ./a.csv --csv ./b.csv --csv ./c.csv --yaml ./report_generator/data/generic.yaml --package-yaml ./examples/packages.yaml --sponsor-yaml ./examples/sponsors.yaml
Follow the prompt instruction and you will get jpg images. So far it is well tested with the data of year 2017.
- Fork this repository to your GitHub
- Clone the repository from your GitHub
git clone https://github.com/[YOUR GITHUB ACCOUNT]/pycontw-postevent-report-generator.git
- Add this repository to the remote in your local repository
You can pull the latest code in master branch through
git remote add upstream "https://github.com/pycontw/pycontw-postevent-report-generator"
git pull upstream master
afterward. - Check out a branch for your new feature
git checkout -b [YOUR FEATURE]
- Work on your new feature
- Run
inv test.cov
to check the test coverage and see where you can add test cases - Run
inv test
and make sure all tests pass. - Run
inv style
and make sure your coding style passes the linter checks - [Optional] Run
inv style.pylint
to check your coding style throughpylint
. Note that you do not have to fix all the issues warned bypylint
. - Run
inv style.reformat
to format your code throughblack
. - Run
inv secure
to ensure the packages installed are secure - [Optional] Run
inv secure.bandit
to check whether there is common security issue in the code. Note that you do not have to fix all the issues warned bybandit
- Run
inv build.test-cli
to ensure that the command is runable - Create a Pull Request