tobymao / saq

Simple Async Queues
https://saq-py.readthedocs.io/en/latest/
MIT License
532 stars 37 forks source link

Project organising #76

Closed grigi closed 1 year ago

grigi commented 1 year ago

Hi, I've recently discovered this project and I really like it's focus and simplicity. Apologies if this description is a little too wordy.

This is an initial project organising PR.

What I've done here is:

I was considering changing format.sh and run_checks.sh, but decided against it as I want your feedback first.

Anything I did here is up for change.

Rambling

This is purely out of selfish reasons where I need a simple and reliable queue manager that can run asyncio code. All the established ones are sync (Celery/rq), or in a weird limbo (arq). This seems to fit my requirements quite well.

It would need a few more things such as :

Less important, but useful:

I'll likely be working on a few of the above points in any case.

tobymao commented 1 year ago

@grigi thanks for this contribution, really appreciate it, left a couple comments, happy to discuss

grigi commented 1 year ago

Hi, I removed green, used coverage directly instead.

The reason I committed tests/requirements.txt was so that we won't get unexpected test failures during development, but only when on explicitly updates the test dependencies. Since you didn't want it I removed it and changed make up to simulate a clean install and update packages eagerly. This way you should be able to keep the dev environment a little cleaner.

Turns out I was wrong, and redis==5.0.0 does break something. I backed off on allowing it to upgrade for now.

grigi commented 1 year ago

There is a few janitorial things I would like to discuss:

  1. Move the [dev] dependencies into tests/requirements.txt because it's not ideal to allow users to install library dev dependencies.
  2. Clean up the remaining shell scripts in the root, in particular format.sh and run_checks.sh as they can be replaced with relevant Makefile commands.