Console application for creating a bibliography list.
The application allows you to automate the process of generating a bibliography list according to the specified citation standard.
Supported citation styles:
- ГОСТ Р 7.0.5-2008
Clone the repository to your computer:
git clone https://github.com/mnv/python-course-bibliography-generator.git
Install the appropriate software:
- Docker Desktop.
- Git.
- PyCharm (optional).
-
Copy the given template file into the input Excel file that will allow you to fill it without changing the original template:
cp media/template.xlsx media/input.xlsx
-
To configure the application copy
.env.sample
into.env
file:cp .env.sample .env
This file contains environment variables that will share their values across the application. The sample file (
.env.sample
) contains a set of variables with default values. So it can be configured depending on the environment. -
Build the container using Docker Compose:
docker compose build
This command should be run from the root directory where
Dockerfile
is located. You also need to build the docker container again in case if you have updatedrequirements.txt
. -
To see the documentation for the console command run:
docker compose run app python main.py --help
-
Now it is possible to run the command inside the Docker container as usual, passing needed arguments to the console application:
docker compose run app python main.py --citation gost --path_input /media/input.xlsx --path_output /media/output.docx
Also, it is possible to omit the arguments to use their defaults:
docker compose run app python main.py
The project contains a special Makefile
that provides shortcuts for a set of commands:
-
Build the Docker container:
make build
-
Generate Sphinx documentation run:
make docs-html
-
Autoformat source code:
make format
-
Static analysis (linters):
make lint
-
Autotests:
make test
The test coverage report will be located at
src/htmlcov/index.html
. So you can estimate the quality of automated test coverage. -
Run autoformat, linters and tests in one command:
make all
Run these commands from the source directory where Makefile
is located.
The project integrated with the Sphinx documentation engine. It allows the creation of documentation from source code. So the source code should contain docstrings in reStructuredText format.
To create HTML documentation run this command from the source directory where Makefile
is located:
make docs-html
After generation documentation can be opened from a file docs/build/html/index.html
.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.