Initial commit: AuroraMusic monorepo

This commit is contained in:
Kris
2026-08-29 21:21:51 -05:00
commit 18f124a3d6
8881 changed files with 2283044 additions and 0 deletions
@@ -0,0 +1,177 @@
Metadata-Version: 2.1
Name: rq
Version: 1.16.2
Summary: RQ is a simple, lightweight, library for creating background jobs, and processing them.
Project-URL: changelog, https://github.com/rq/rq/blob/master/CHANGES.md
Project-URL: documentation, https://python-rq.org/docs/
Project-URL: homepage, https://python-rq.org/
Project-URL: repository, https://github.com/rq/rq/
Author-email: Selwin Ong <[email protected]>, Vincent Driessen <[email protected]>
Maintainer: Selwin Ong
License-Expression: BSD-2-Clause
License-File: LICENSE
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: End Users/Desktop
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: MacOS
Classifier: Operating System :: POSIX
Classifier: Operating System :: Unix
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Internet
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Distributed Computing
Classifier: Topic :: System :: Monitoring
Classifier: Topic :: System :: Systems Administration
Requires-Python: >=3.7
Requires-Dist: click>=5
Requires-Dist: redis>=3.5
Description-Content-Type: text/markdown
RQ (_Redis Queue_) is a simple Python library for queueing jobs and processing
them in the background with workers. It is backed by Redis and it is designed
to have a low barrier to entry. It should be integrated in your web stack
easily.
RQ requires Redis >= 3.0.0.
[![Build status](https://github.com/rq/rq/workflows/Test%20rq/badge.svg)](https://github.com/rq/rq/actions?query=workflow%3A%22Test+rq%22)
[![PyPI](https://img.shields.io/pypi/pyversions/rq.svg)](https://pypi.python.org/pypi/rq)
[![Coverage](https://codecov.io/gh/rq/rq/branch/master/graph/badge.svg)](https://codecov.io/gh/rq/rq)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
Full documentation can be found [here][d].
## Support RQ
If you find RQ useful, please consider supporting this project via [Tidelift](https://tidelift.com/subscription/pkg/pypi-rq?utm_source=pypi-rq&utm_medium=referral&utm_campaign=readme).
## Getting started
First, run a Redis server, of course:
```console
$ redis-server
```
To put jobs on queues, you don't have to do anything special, just define
your typically lengthy or blocking function:
```python
import requests
def count_words_at_url(url):
"""Just an example function that's called async."""
resp = requests.get(url)
return len(resp.text.split())
```
You do use the excellent [requests][r] package, don't you?
Then, create an RQ queue:
```python
from redis import Redis
from rq import Queue
queue = Queue(connection=Redis())
```
And enqueue the function call:
```python
from my_module import count_words_at_url
job = queue.enqueue(count_words_at_url, 'http://nvie.com')
```
Scheduling jobs are also similarly easy:
```python
# Schedule job to run at 9:15, October 10th
job = queue.enqueue_at(datetime(2019, 10, 10, 9, 15), say_hello)
# Schedule job to run in 10 seconds
job = queue.enqueue_in(timedelta(seconds=10), say_hello)
```
Retrying failed jobs is also supported:
```python
from rq import Retry
# Retry up to 3 times, failed job will be requeued immediately
queue.enqueue(say_hello, retry=Retry(max=3))
# Retry up to 3 times, with configurable intervals between retries
queue.enqueue(say_hello, retry=Retry(max=3, interval=[10, 30, 60]))
```
For a more complete example, refer to the [docs][d]. But this is the essence.
### The worker
To start executing enqueued function calls in the background, start a worker
from your project's directory:
```console
$ rq worker --with-scheduler
*** Listening for work on default
Got count_words_at_url('http://nvie.com') from default
Job result = 818
*** Listening for work on default
```
That's about it.
## Installation
Simply use the following command to install the latest released version:
pip install rq
If you want the cutting edge version (that may well be broken), use this:
pip install git+https://github.com/rq/rq.git@master#egg=rq
## Related Projects
Check out these below repos which might be useful in your rq based project.
- [rq-dashboard](https://github.com/Parallels/rq-dashboard)
- [rqmonitor](https://github.com/pranavgupta1234/rqmonitor)
- [django-rq](https://github.com/rq/django-rq)
- [Flask-RQ2](https://github.com/rq/Flask-RQ2)
- [rq-scheduler](https://github.com/rq/rq-scheduler)
## Project history
This project has been inspired by the good parts of [Celery][1], [Resque][2]
and [this snippet][3], and has been created as a lightweight alternative to the
heaviness of Celery or other AMQP-based queueing implementations.
[r]: http://python-requests.org
[d]: http://python-rq.org/
[m]: http://pypi.python.org/pypi/mailer
[p]: http://docs.python.org/library/pickle.html
[1]: http://docs.celeryq.dev/
[2]: https://github.com/resque/resque
[3]: https://github.com/fengsp/flask-snippets/blob/1f65833a4291c5b833b195a09c365aa815baea4e/utilities/rq.py
@@ -0,0 +1,75 @@
../../../bin/rq,sha256=RAadC_fo8cYQJdr_5XwPrKE0VpFPJgX5sYqwShUsb84,201
../../../bin/rqinfo,sha256=IuJCsVe9peMTErbP5Lp8Cp66aFryIvOMRq1cKAd09zY,201
../../../bin/rqworker,sha256=MsBT9hdRacWszn8Lvby8MA0_x9yNZGgJsg3ZKeVVThU,205
rq-1.16.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
rq-1.16.2.dist-info/METADATA,sha256=EYHp9EMnlh9UTBxr3vz0fcL4eg1Zmapa9RmpC3My0GE,5685
rq-1.16.2.dist-info/RECORD,,
rq-1.16.2.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
rq-1.16.2.dist-info/WHEEL,sha256=TJPnKdtrSue7xZ_AVGkp9YXcvDrobsjBds1du3Nx6dc,87
rq-1.16.2.dist-info/entry_points.txt,sha256=l-JfhigX_Bzkg9SD4CpkBfpM1to8PiUDbVXq6bDnNKQ,81
rq-1.16.2.dist-info/licenses/LICENSE,sha256=hGC4rFkhifo4VDsJym6G5KmWOHr4zfeVG3SF_wMozq4,1502
rq/__init__.py,sha256=eX_L7fgF0f1dj_FCqp8dcBHHNc_91212x6gssQBQ_kw,549
rq/__pycache__/__init__.cpython-312.pyc,,
rq/__pycache__/command.cpython-312.pyc,,
rq/__pycache__/connections.cpython-312.pyc,,
rq/__pycache__/decorators.cpython-312.pyc,,
rq/__pycache__/defaults.cpython-312.pyc,,
rq/__pycache__/dependency.cpython-312.pyc,,
rq/__pycache__/exceptions.cpython-312.pyc,,
rq/__pycache__/intermediate_queue.cpython-312.pyc,,
rq/__pycache__/job.cpython-312.pyc,,
rq/__pycache__/local.cpython-312.pyc,,
rq/__pycache__/logutils.cpython-312.pyc,,
rq/__pycache__/maintenance.cpython-312.pyc,,
rq/__pycache__/queue.cpython-312.pyc,,
rq/__pycache__/registry.cpython-312.pyc,,
rq/__pycache__/results.cpython-312.pyc,,
rq/__pycache__/scheduler.cpython-312.pyc,,
rq/__pycache__/serializers.cpython-312.pyc,,
rq/__pycache__/suspension.cpython-312.pyc,,
rq/__pycache__/timeouts.cpython-312.pyc,,
rq/__pycache__/types.cpython-312.pyc,,
rq/__pycache__/utils.cpython-312.pyc,,
rq/__pycache__/version.cpython-312.pyc,,
rq/__pycache__/worker.cpython-312.pyc,,
rq/__pycache__/worker_pool.cpython-312.pyc,,
rq/__pycache__/worker_registration.cpython-312.pyc,,
rq/cli/__init__.py,sha256=xhdBguutcJB3Ww-kAsDXUxmckSG6067rF859L-eotOc,219
rq/cli/__main__.py,sha256=xk_tWTBcqbDbXrY-NVigC866WpiK_E6LVL17PPr0V8k,80
rq/cli/__pycache__/__init__.cpython-312.pyc,,
rq/cli/__pycache__/__main__.cpython-312.pyc,,
rq/cli/__pycache__/cli.cpython-312.pyc,,
rq/cli/__pycache__/helpers.cpython-312.pyc,,
rq/cli/cli.py,sha256=0HfThMv9XGoCDRyn2qpU3sBqF0ll08ssbsD3ihoBR54,18181
rq/cli/helpers.py,sha256=Exsa_T0jgGET6nv2px9qpYfAs0WrrpAu_fO_tVMoD3E,14489
rq/command.py,sha256=LvikyEe5v2JBX1TXAGCFiKJz0Y0Ou_WFEJcSbsj8ktk,4210
rq/connections.py,sha256=PSbSGmC59D5xZ-B-hbTjCP4X0BrSp6q8HXImJ6MLHq8,3719
rq/contrib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
rq/contrib/__pycache__/__init__.cpython-312.pyc,,
rq/contrib/__pycache__/legacy.cpython-312.pyc,,
rq/contrib/__pycache__/sentry.cpython-312.pyc,,
rq/contrib/legacy.py,sha256=F2l1z3t-FMf07tLtfY47kpCHS2NSjb4wghGs5Nn3Sr0,933
rq/contrib/sentry.py,sha256=npKZWEPIe-PWj2PgNbmD-CjwuoCQcJ1fgB-rA7Y_a3s,332
rq/decorators.py,sha256=5dioW1VfClHY_8dF4sMnokt8WukozUuXrNCsPbaMJqU,5095
rq/defaults.py,sha256=ebokMoX8YhK4zImr1PMpVDySVSZMPrw_VCbdQHVkBLU,2887
rq/dependency.py,sha256=Bknb-xy3GyUCq9OhwmkDKcOaR98tWUDtkV2Np_2KM8E,983
rq/exceptions.py,sha256=WQWmkRJHNgXwTGKKr8LQ9lHrc41vTw7GyfBf0Fxh-Gs,538
rq/intermediate_queue.py,sha256=sXDFcenZkxy14wAVmxpfQ-pBqan71zFIuijYBDCR4Ig,3842
rq/job.py,sha256=OO49s92YkDFKTxQJ9DQrYHw62oPRJs8221Fn4U-2mpM,66702
rq/local.py,sha256=CsbfhJFTxp7DSd2NlQGTDi-YvXmGJNhyvmONdOrgdMk,12034
rq/logutils.py,sha256=ruxV5a1b6T5I6w7s_NgHwUlag3siBet4M7-0y_jntVk,4994
rq/maintenance.py,sha256=25AnFci8n5KqhbtqLe7hnpkSOvchGQcgpMJ6r6cDjSY,941
rq/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
rq/queue.py,sha256=TKWT6iKZzhQ8CMK10pCHuj5MKjPwMZdu0EEq4H_564s,55456
rq/registry.py,sha256=LwRCpSF3fA5BU2mClX1PPVvrFz5Ls_v6svadPbjIUtM,16889
rq/results.py,sha256=qBP5xY8qtOC0jvZFuuW2glR4n3g8gDZTeTDRaDJ_xzI,7253
rq/scheduler.py,sha256=scMTy4vKiWINYpMxNLVz1XVt9yLpt86a4ddG-b1TVOI,8169
rq/serializers.py,sha256=UyiGwYgBlv6QPCORoL-hcf-WAcwHNpoE93YKRrV80Y8,1540
rq/suspension.py,sha256=2mUir1tk-EB_SDSAa2eDKH-lZiCAKmEVl89vRXVNTdc,1337
rq/timeouts.py,sha256=PFJtaCzar8a5so-OZEk9ezaNJdyZJ-qKwjdyW0IgUU8,4101
rq/types.py,sha256=wLXIK5K6jxxuwGnb0pEcHuBhMOzogsY9hSAsy98jzyQ,657
rq/utils.py,sha256=c08f6huYmxtxF9KjzE9Ith3A_qZ6hKKCxHKo-XvaftQ,11054
rq/version.py,sha256=5zvyKa4O8NF3AXw9Mq9Can9B7g1Yq88PMMMZk-nBfaI,19
rq/worker.py,sha256=V7sjylLkdjJyF_JyvspGQ-FNfnhzp0dCSL4gG-gIcXQ,65486
rq/worker_pool.py,sha256=shOvInHH1EhFJOMbOcRC1mJToniw_xV5L2vsHWl2dfc,9910
rq/worker_registration.py,sha256=xMJ9Lmbi_shoY83bXAvliwIQEmQbWkOOSFctU5-APds,3116
@@ -0,0 +1,4 @@
Wheel-Version: 1.0
Generator: hatchling 1.21.1
Root-Is-Purelib: true
Tag: py3-none-any
@@ -0,0 +1,4 @@
[console_scripts]
rq = rq.cli:main
rqinfo = rq.cli:info
rqworker = rq.cli:worker
@@ -0,0 +1,26 @@
Copyright 2012 Vincent Driessen. All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY VINCENT DRIESSEN ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
SHALL VINCENT DRIESSEN OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
The views and conclusions contained in the software and documentation are those
of the authors and should not be interpreted as representing official policies,
either expressed or implied, of Vincent Driessen.