A regression model that predicts the energy above hull of a perovskite oxide. API available here.
As a data scientist, my coding experience, as of a few months ago, have mostly been via Jupyter Notebooks so for the last few months, I have been trying to learn how to write production-ready code that isn't just spaghetti code in a notebook. This package is a culmination of sorts of my learnings, so while stableperovskites
is technically a regression model, I intended this project to show my skills in writing production-ready code, such as (but not limited to):
- Unit testing with pytest
- Type checking with mypy
- Data validation and settings management with pydantic
- Package building and publishing
- Error handling
- Automated building, testing, and deployment with tox and GitHub Actions
The project is meant to be consumed via API. The code for said API is also available in a separate repo.