Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jpcadena/solid-principles-machine-learning

S.O.L.I.D. Principles for Machine Learning project.
https://github.com/jpcadena/solid-principles-machine-learning

clean-code data-analysis data-engineering data-science deep-learning dependency-inversion-principle design-patterns design-principles interface-segregation-principle liskov-substitution-principle machine-learning machine-learning-models mlops models open-closed-principle pylint python single-responsibility-principle software-engineering solid-principles

Last synced: 7 days ago
JSON representation

S.O.L.I.D. Principles for Machine Learning project.

Awesome Lists containing this project

README

        

# solid-principles-machine-learning





Logo

S.O.L.I.D. Principles for Machine Learning


S.O.L.I.D. Principles for Machine Learning


Explore
the
docs
»




Table of Contents



  1. About The Project



  2. Getting Started


  3. Usage

  4. Contributing

  5. Security

  6. Code of Conduct

  7. License

  8. Contact

## About The Project

![Project][project-screenshot]

SOLID is an acronym for the first five object-oriented design (OOD) principles
by Robert C. Martin (also known as Uncle Bob).

These principles establish practices that lend to developing software with
considerations for maintaining and extending as the project grows. Adopting
these practices can also contribute to avoiding code smells, refactoring code,
and Agile or Adaptive software development.

SOLID stands for:

S - Single-responsibility Principle
O - Open-closed Principle
L - Liskov Substitution Principle
I - Interface Segregation Principle
D - Dependency Inversion Principle

(back to top)

### Built with

[![Python][python-shield]][python-url][![isort][isort-shield]][isort-url] [![Black][black-shield]][black-url] [![Ruff][ruff-shield]][ruff-url] [![MyPy][mypy-shield]][mypy-url] [![pre-commit][pre-commit-shield]][pre-commit-url][![GitHub Actions][github-actions-shield]][github-actions-url][![Poetry][poetry-shield]][poetry-url][![Pycharm][pycharm-shield]][pycharm-url] [![Visual Studio Code][visual-studio-code-shield]][visual-studio-code-url] [![Markdown][markdown-shield]][markdown-url] [![License: MIT][license-shield]][license-url]

(back to top)

## Getting started

### Prerequisites

- [Python 3.11][python-docs]

### Installation

1. Clone the **repository**
```
git clone https://github.com/jpcadena/solid-principles-machine-learning.git
```
2. Change the directory to **root project**
```
cd solid-principles-machine-learning
```
3. Install **Poetry** package manager
```
pip install poetry
```
4. Install the project's **dependencies**
```
poetry install
```
5. Activate the **environment**
```
poetry shell
```

(back to top)

## Usage

1. **Run the program:**

To run the scripts on your machine, run the following command in your
terminal by replacing the name of the principle:

```
python solid_principles/principle.py
```

(back to top)

## Contributing

[![GitHub][github-shield]][github-url]

Please read our [contributing guide](CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests to us.

(back to top)

## Security

For security considerations and best practices, please refer to our [Security Guide](SECURITY.md) for a detailed guide.

(back to top)

## Code of Conduct

We enforce a code of conduct for all maintainers and contributors. Please read our [Code of Conduct](CODE_OF_CONDUCT.md) to understand the expectations before making any contributions.

(back to top)

## License

Distributed under the MIT License. See [LICENSE](LICENSE) for more information.

(back to top)

## Contact

- [![LinkedIn][linkedin-shield]][linkedin-url]

- [![Outlook][outlook-shield]](mailto:[email protected]?subject=[GitHub]solid-principles-machine-learning)

(back to top)

[project-screenshot]: assets/images/project.png
[python-docs]: https://docs.python.org/3.11/

[//]: # "Shields"
[linkedin-shield]: https://img.shields.io/badge/linkedin-%230077B5.svg?style=for-the-badge&logo=linkedin&logoColor=white
[outlook-shield]: https://img.shields.io/badge/Microsoft_Outlook-0078D4?style=for-the-badge&logo=microsoft-outlook&logoColor=white
[python-shield]: https://img.shields.io/badge/python-3670A0?style=for-the-badge&logo=python&logoColor=ffdd54
[pycharm-shield]: https://img.shields.io/badge/PyCharm-21D789?style=for-the-badge&logo=pycharm&logoColor=white
[markdown-shield]: https://img.shields.io/badge/Markdown-000000?style=for-the-badge&logo=markdown&logoColor=white
[github-shield]: https://img.shields.io/badge/github-%23121011.svg?style=for-the-badge&logo=github&logoColor=white
[ruff-shield]: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v1.json
[black-shield]: https://img.shields.io/badge/code%20style-black-000000.svg?style=for-the-badge&logo=appveyor
[mypy-shield]: https://img.shields.io/badge/mypy-checked-2A6DB2.svg?style=for-the-badge&logo=appveyor
[visual-studio-code-shield]: https://img.shields.io/badge/Visual_Studio_Code-007ACC?style=for-the-badge&logo=visual-studio-code&logoColor=white
[poetry-shield]: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/python-poetry/website/main/static/badge/v0.json
[isort-shield]: https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336
[github-actions-shield]: https://img.shields.io/badge/github%20actions-%232671E5.svg?style=for-the-badge&logo=githubactions&logoColor=white
[pre-commit-shield]: https://img.shields.io/badge/pre--commit-F7B93E?style=for-the-badge&logo=pre-commit&logoColor=white
[license-shield]: https://img.shields.io/badge/License-MIT-yellow.svg
[//]: # "URL"
[linkedin-url]: https://linkedin.com/in/juanpablocadenaaguilar
[python-url]: https://www.python.org/
[pycharm-url]: https://www.jetbrains.com/pycharm/
[markdown-url]: https://daringfireball.net/projects/markdown/
[github-url]: https://github.com/jpcadena/solid-principles-machine-learning
[ruff-url]: https://beta.ruff.rs/docs/
[black-url]: https://github.com/psf/black
[mypy-url]: http://mypy-lang.org/
[visual-studio-code-url]: https://code.visualstudio.com/
[poetry-url]: https://python-poetry.org/
[isort-url]: https://pycqa.github.io/isort/
[github-actions-url]: https://github.com/features/actions
[pre-commit-url]: https://pre-commit.com/
[license-url]: https://opensource.org/licenses/MIT