Skip to content

Latest commit

 

History

History
67 lines (44 loc) · 2.27 KB

CONTRIBUTING.md

File metadata and controls

67 lines (44 loc) · 2.27 KB

Contributing to Dataherald

Hi there! Thank you for even being interested in contributing. As a growing open source project we are open to contributions, whether they be in the form of new features, integrations with other tools and frameworks, better documentation, or bug fixes.

Guidelines

To contribute to this project, please follow a "fork and pull request" workflow. Please do not try to push directly to this repo unless you are maintainer.

Lint & Formatting

Maintaining code quality and adhering to coding standards are essential for a well-structured and maintainable codebase. Ruff Python Linter and Black code formatter are powerful tools that can help you achieve these goals. Should you experience any difficulty getting setup, please contact a maintainer! Not only do we want to help get you unblocked, but we also want to make sure that the process is smooth for future contributors.

In a similar vein, we do enforce certain linting, formatting, and documentation standards in the codebase. If you are finding these difficult (or even just annoying) to work with, feel free to contact a maintainer for help - we do not want these to get in the way of getting good code into the codebase.

Ruff Python Linter

Ruff Python Linter analyzes Python code for errors, enforces coding standards, and provides suggestions for improvement.

The rules are set in the pyproject.toml file.

Lint all files in the current directory:

ruff check .

Lint and fix whenever possible:

ruff check --fix .

Lint specific files:

ruff check path/to/code.py

Black Code Formatter

Black is a Python code formatter that ensures consistent code style and improves readability.

Format all files in the current directory:

black .

Format a specific file:

black path/to/code.py

Recommendation: Look up for Ruff and Black IDE extensions to easily format and lint the code automatically while you're developing.

Testing with Docker

Once your containers are running just execute the next command

docker-compose exec app pytest