Conversation
bh2smith
left a comment
There was a problem hiding this comment.
This seems cool and I would be happy to give it a try. However I think there seems to be some stuff that we should update accordingly.
- makefile
rm -rf requirements/- Maybe the readme.
| [tool.poetry.dependencies] | ||
| python = "^3.13" | ||
| dune-client = ">=1.7.7" | ||
| pandas = "*" | ||
| sqlalchemy = "*" | ||
| python-dotenv = "*" | ||
| psycopg2-binary = "*" | ||
| tomli = "*" |
There was a problem hiding this comment.
I think we are missing pyyaml here:
https://github.com/bh2smith/dune-sync/blob/main/requirements/prod.txt
Shouldn't we also delete our requirements directory as well?
There was a problem hiding this comment.
The contents of the requirements directory are still being used by the Dockerfile. I will adapt that to use poetry as well so we can remove it.
Sorry about the missing pyyaml dependency, I added it.
|
We now clear CI jobs too. Let me know if anything else stands out or needs changing. |
|
I tried this out and everything looks pretty good here. We can merge this whenever. |
We could use poetry to ship project configuration, which would make it easier to get up and running with a development setup after cloning the repo, as well as managing external dependencies inside the repository.
The following is a very quick crash course to Poetry, for reference.
Poetry Quick Start Guide
A crash course in Poetry for experienced Python developers
Installation
Key Concepts
Poetry manages project dependencies, virtual environments, and packaging in a single tool. It uses
pyproject.tomlfor configuration andpoetry.lockfor dependency locking.Essential Commands
Project Setup
Dependency Management
Running Scripts
pyproject.toml Example
Advanced Features
Environment Management
Dependency Resolution
Multiple Environment Dependencies
Best Practices
pyproject.tomlandpoetry.lockpoetry addinstead of manually editingpyproject.tomlpoetry.lockfor reproducible buildsCommon Issues & Solutions
poetry config installer.max-workers 10poetry.lockand.venv, then runpoetry installpoetry cache clear . --all