This project represents a standard data job configuration at Fig and can be used for interview purposes.
If you look at the data/restaurant_data.xlsx
, there are restaurant menu items available.
We recommend using pyenv to manage your Python installations. This will allow you to safely use Python versions different from your system's default version.
This project is currently on Python 3.11. To install this version with pyenv:
pyenv install 3.11.1
This project uses Poetry to manage its packages and virtual environments. Poetry handles both installing the correct package versions, as well as ensuring those packages are available during runtime. See installation instructions here.
To setup the project, run:
make setup
This will install any needed packages as well as setup the pre-commit hooks. We currently use the following tools when committing code:
- flake8 - A linter.
- black - A code formatter. We are currently using a line length of 90 characters.
- mypy - A static type checker.
- isort - A package import formatter.
If you'd like to run these tools manually, run:
poetry run pre-commit run --all-files
or:
make pre-commit