akamhy/waybackpy

View on GitHub
CONTRIBUTING.md

Summary

Maintainability
Test Coverage
# Welcome to waybackpy contributing guide


## Getting started

Read our [Code of Conduct](./CODE_OF_CONDUCT.md).

## Creating an issue

It's a good idea to open an issue and discuss suspected bugs and new feature ideas with the maintainers. Somebody might be working on your bug/idea and it would be best to discuss it to avoid wasting your time. It is a recommendation. You may avoid creating an issue and directly open pull requests.

## Fork this repository

Fork this repository. See '[Fork a repo](https://docs.github.com/en/get-started/quickstart/fork-a-repo)' for help forking this repository on GitHub.

## Make changes to the forked copy

Make the required changes to your forked copy of waybackpy, please don't forget to add or update comments and docstrings.

## Add tests for your changes

You have made the required changes to the codebase, now go ahead and add tests for newly written methods/functions and update the tests of code that you changed.

## Testing and Linting

You must run the tests and linter on your changes before opening a pull request.

### pytest

Runs all test from tests directory. pytest is a mature full-featured Python testing tool.
```bash
pytest
```

### mypy

Mypy is a static type checker for Python. Type checkers help ensure that you're using variables and functions in your code correctly.
```bash
mypy -p waybackpy -p tests
```

### black

After testing with pytest and type checking with mypy run black on the code base. The codestyle used by the project is 'black'.

```bash
black .
```

## Create a pull request

Read [Creating a pull request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request).

Try to make sure that all automated tests are passing, and if some of them do not pass then don't worry. Tests are meant to catch bugs and a failed test is better than introducing bugs to the master branch.