semvec/pypi-packages huggingface dataset:
se-best-practices-ml-perspective 0.1.1
An opinionated, pedagogical guide on software engineering best practices for those of us in machine learning.
License: Apache-2.0
Requires Python: >=3.6.1,<4.0.0

![build](https://github.com/JohnGiorgi/se_best_practices_ml_perspective/workflows/build/badge.svg)

# Software Engineering Best Practices, a Machine Learners Perspective

This repository is meant to serve as an opinionated, pedagogical guide on software engineering best practices for those of us in machine learning.

__What is this guide NOT?__

It is _NOT_ a comprehensive overview of best practices in software engineering. It is a highly opinionated sampling of tools and ideas that are important for writing good code in a machine learning project. This includes linting, formatting and testing.

__Who is this guide for?__

Machine learners who are not currently following software engineering best practices in their projects but would like to.

__What is machine learning specific about this guide?__

In truth, nothing important. We use Python as the language of choice as it is popular in machine learning, and we write some machine learning specific tests. Otherwise, this guide could apply to (almost) any python project.

__What tools will this guide cover?__

- [`Poetry`](https://python-poetry.org/docs/#system-requirements), for managing virtual environments and package dependencies.
- [`flake8`](https://flake8.pycqa.org/en/latest/), for linting.
- [`black`](https://pypi.org/project/black/), for formatting.
- [`pytest`](https://docs.pytest.org/en/latest/), for testing.
- [GitHub Actions](https://github.com/features/actions), for continous integration / continous development (CI/CD).

Follow along with the guide here: https://johngiorgi.github.io/se_best_practices_ml_perspective/.