Starting from version 1.0.0, this project is using semantic versioning. For more infos about the features supported, see the releases.
This project is part of the cs-insights
-ecosystem. Please refer to the readme here to spin up the development and production system.
To maintain a consistent and well-tested repository, we use unit tests, linting, and typing checkers with GitHub actions. We use pytest for testing, pylint for linting, and pyright for typing. Every time code gets pushed to our repository these checks are executed and have to fullfill certain requirements before you can merge the code to our master branch.
We also use naming conventions for branches, commits, and pull requests to leverage GitHub workflow automation and keep the repository clean.
In the following we will describe how to run checks locally and which naming conventions we use.
Whenever you create a pull request against the default branch, GitHub actions will create a CI job executing unit tests and linting.
To make sure the code requirements are satisfied before you push code to the repository, we use pre-commit hooks.
Install the pre-commit hooks using:
poetry run pre-commit install
These hooks are automatically checked before you make a commit. To manually run the pre-commit checks, run:
poetry run pre-commit run --all-files
You can run each of the commands checked in .github/workflows/main.yml
:
poetry run poe lint
poetry run poe type
poetry run poe test
Each feature request, bug, enhancement, etc. has to be related to an issue. We have templates for bugs and features requests when you create an issue on GitHub. An issue should be a closed component that can be implemented by one developer in 1 day. If the issue is larger than that, split it into smaller components.
We group issues using a task list in another issue that has the Epic
label. These issues are larger components that need to be developed.
Each issue with the Epic
label has a task list with each element of the task list being a issue (e.g., this one #47).
Whenever a pull request with the above convention gets merged, the corresponding issue gets closed, and the task in the Epic gets checked.
When a branch is assigned to you, a new issue will be created from the dev
branch including the issue number.
To indicate whether the PR is a patch, minor, or major update, please use #patch, #minor, #major in the last commit message of the PR and in the PR description. See here for more information.
To build changelogs, each pull-request needs one of the labels "fix", "feature", or "test". See here for more information.
Fork the repo, make changes and send a PR. We'll review it together!
Commit messages should follow Angular's conventions.
This project is licensed under the terms of Apache 2.0 license. For more information, please see the LICENSE file.
If you use this repository, or use our tool for analysis, please cite our work:
@inproceedings{Wahle2022c,
title = {D3: A Massive Dataset of Scholarly Metadata for Analyzing the State of Computer Science Research},
author = {Wahle, Jan Philip and Ruas, Terry and Mohammad, Saif M. and Gipp, Bela},
year = {2022},
month = {July},
booktitle = {Proceedings of The 13th Language Resources and Evaluation Conference},
publisher = {European Language Resources Association},
address = {Marseille, France},
doi = {},
}