Commit Graph

57 Commits

Author SHA1 Message Date
Rob Hudson ea063edf0a
Update linting configuration (#1915)
* Update linting configuration

This removes flake8 in favor of ruff, which also provides isort support, and
updates all files to be black, isort, and ruff compliant. This also adds black
and ruff checks to the tox and Github linting workflow.

* Tweak the code coverage config and calls
2023-05-17 23:19:14 +07:00
nhairs 67b2c982f9
Add py.typed for PEP561 compliance (#1882) 2023-04-23 16:15:42 +07:00
lowercase00 271e7a8727
Add 3.11 Support (#1780) 2023-01-30 11:49:40 +07:00
lowercase00 398d5784db
Removes Python 3.5 from the classifiers (#1776) 2023-01-30 09:02:06 +07:00
lowercase00 e163e224e2
Bugfix: Python & RQ Version (#1757)
* Fix min version on `setup.py`

* Fix rq version
2023-01-23 09:23:38 +08:00
Selwin Ong ef4f0611a7 Added Python 3.9 to test matrix 2021-05-17 14:00:00 +07:00
Selwin Ong a31d37f1ea Exclude tests directory from wheel builds 2020-09-10 08:26:26 +07:00
Paul Spooren 8432a916bd
setup: Set min Python version to 3.5 (#1291)
As `redis-py` in version 3.5.0 is now required, whoch only support
Python 3.5+, we should remove Python 3.4 from the supported Python
versions as well.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2020-07-07 07:26:12 +07:00
Paul Spooren 0b55981631
Improve requirements handling (#1287)
* setup: read requirements.txt for dependencies

This makes it easier to keep required packages in sync.

Signed-off-by: Paul Spooren <mail@aparcar.org>

* requirements: Update to click 5.0 and redis 3.5.0

Click 5.0 was already required by the `setup.py` and is not brought in
sync. Redis Python library 3.5.0 introduces the `HSET` command with
mapping support which replaces the previous `hmset`. By lifting the
minimal required version to 3.5.0 we can remove the combat function if
Redis server 4.0 is guaranteed.

Signed-off-by: Paul Spooren <mail@aparcar.org>

* ci: remove Python3.4 testing

`redis-py` 3.5.0 does no longer support Python 3.4, so drop it in CI.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2020-06-29 13:29:28 +07:00
Selwin Ong 52e426f40f Remove Python 2.7 from setup.py 2020-05-16 20:41:36 +07:00
Selwin Ong 02eb983e90 Bump version to 1.4.0 2020-05-13 08:10:29 +07:00
Selwin Ong 927fb5a3ed Bump version to 1.2.0 2020-01-21 19:02:39 +07:00
Wolfgang Langner 7893168c87 Remove Python 3.3 support. (#1031)
* Remove Python 3.3 support.
Redis >= 3.X does only support Python >=3.4.
Python 3.7 is no longer dev.

* Use dev for Python 3.7 build again.
2019-01-19 22:03:00 +07:00
Darshan Rai ada2ad03ca modify zadd calls for redis-py 3.0 (#1016)
* modify zadd calls for redis-py 3.0

redis-py 3.0 changes the zadd interface that accepts a single
mapping argument that is expected to be a dict.
https://github.com/andymccurdy/redis-py#mset-msetnx-and-zadd

* change FailedQueue.push_job_id to always push a str

redis-py 3.0 does not attempt to cast values to str and is left
to the user.

* remove Redis connection patching

Since in redis-py 3.0, Redis == StrictRedis class, we no longer
need to patch _zadd and other methods.
Ref: https://github.com/rq/rq/pull/1016#issuecomment-441010847
2018-12-03 07:28:36 +07:00
chevell c2b939d2df Replace 'async' keyword with 'is_async' for Queue objects (#977)
* Replaced async keyword with is_async in the Queue class to fix reserved keyword syntax errors in Python 3.7

* Updated tests to use is_async keyword when instantiating Queue objects

* Updated docs to reference is_async keyword for Queue objects

* Updated tox.ini, setup.py and .travis.yml with references to Python 3.7
2018-07-07 08:50:33 +07:00
Theo 4447aa1a82 Merge latest master.
Code reviews.
# Conflicts:
#	setup.py
2017-09-08 10:01:38 +01:00
Theo a30129669f Fixed #867 Simplified code in setup.py 2017-08-31 09:45:26 +01:00
Selwin Ong 04258d9946 Update clicks requirement in setup.py 2017-08-07 18:02:36 +07:00
Selwin Ong 8244b898fe Update PyPI classifiers. 2017-07-31 13:48:38 +07:00
Selwin Ong efcdd15902 Update setup.py to ensure Python 2.6 dependencies are installed by pip. 2015-06-01 11:00:26 +07:00
zhangliyong 842f27294a Convert rqworker to 'rq worker' subcommand 2014-09-12 10:26:35 +07:00
Vincent Driessen b5fbc3992b Restructure new CLI modules.
A few things have changed.  First of all, there is no separate copy of
the argparse-based `rqinfo` anymore.  It now fully utilizes the new
Click subcommand.  In other words: `rqinfo` and `rq info` both invoke
the same function under the hood.

In order to support this, the main command group now does NOT take
a `url` option and initializes the connection.  Besides supporting this
alias pattern, this change was useful for two more reasons: (1) it
allows us to add subcommands that don't need the Redis server running in
the future, and (2) it makes the `--url` option an option underneath
each subcommand.  This avoids command invocations that look like this:

    $ rq --url <url> info --more --flags

And instead allows us to pass the URL to each subcommand where it's
deemed necessary:

    $ rq info --url <url> --more --flags

Which is much friendlier to use/remember.
2014-09-06 11:13:04 +02:00
zhangliyong c796e3249d Fix click dependency version 2014-09-02 10:04:02 +07:00
zhangliyong 551483b477 Add rq info command 2014-08-19 10:29:39 +08:00
zhangliyong e948bde5d7 Add rq command when installing 2014-08-15 16:25:14 +08:00
Vincent Driessen 6ee28fae9c Redis 2.7.0 is required for lua scripting support 2014-05-07 19:35:46 +02:00
Vincent Driessen 3649ff863b Don't rely on external package `first`. 2014-04-04 13:01:30 +02:00
Vincent Driessen 3667e37ed3 Don't expose the envvar values through `rqinfo -h`. 2014-04-04 09:10:07 +02:00
Vincent Driessen dbcba85815 Properly declare Python 3 compatibility. 2014-03-10 15:16:50 -07:00
Malthe Borch c5a381fbe9 Remove dependency on 'times' library (see issue #286).
Basically, for the functionality needed, a dependency on 'times' (which
in turn depends on 'python-dateutil') seem unnecessary.
2013-12-11 10:47:42 +01:00
Maxime Rouyrre a8b6596145 Exclude tests package from setup.py.
Pull request nvie/rq#192 solved the issue for `pip install rq` but not when
directly installing from a git repository as in
`pip install git+git://github.com/nvie/rq@master` that still creates a
possibly conflicting `tests` folder.
2013-10-29 11:10:39 +01:00
Alex Morega 998ff1a1ab fix reading of version in py3 2013-08-20 13:01:10 +03:00
Vincent Driessen c7e54d8c1a Promote to 'beta' stage.
This should've been done on 0.3.0 already, actually.
2013-01-23 20:49:42 +01:00
Vincent Driessen d1c2b3b78d Merge branch 'selwin-remove-logbook'
Conflicts:
	rq/utils.py
	rq/worker.py
	setup.cfg
	setup.py
2013-01-18 15:47:21 +01:00
Jon Parise e90efc254b Use `redis.from_url()` for greater compatibility.
This lets us keep the redis-py version requirement back at 2.4.13.
2012-10-05 11:33:46 -07:00
Jon Parise eb00f69ced Add a standard --url argument to all scripts.
redis-py now supports URL-based connection configuration.  When --url
is specified, we use it to construct the Redis object.  Otherwise, we
use the existing argument-based construction method.

`Redis.from_url()` is new in redis-py 2.6.2, so that prerequisite has
been adjusted accordingly.
2012-10-04 16:57:49 -07:00
Vincent Driessen 879a87d158 Remove logbook and replace it with logging.
This reverts commit 1ab8c19696 and
reintroduces all changes made by @dstufft.

Still, it needs more patches to reeanble the default log-to-console
behaviour.  See #121.
2012-09-02 11:26:31 +02:00
Vincent Driessen 1ab8c19696 Revert "Remove logbook and replace it with logging".
This reverts the commit range f367c38..978ba2d.

Issue #121 is currently blocking the 0.3.1 release.
2012-08-30 21:35:44 +02:00
Vincent Driessen 481369a88d Require at least redis-py version 2.4.
This fixes #106.
2012-08-29 13:06:15 +02:00
Donald Stufft f188d66354 Remove logbook from the install_requires and other dependency areas 2012-08-21 11:45:55 -04:00
Vincent Driessen 074d42fe54 Remove strict procname dependency.
This fixes #80.
2012-06-03 22:08:50 +02:00
Vincent Driessen 8aaa975fa9 Find all packages.
This fixes #67.
2012-05-15 08:37:11 +02:00
Wichert Akkerman 97d2e4d784 Use console_scripts instead of scripts.
Unfortunately zc.buildout does not support distribute/setuptools script
option (see https://bugs.launchpad.net/zc.buildout/+bug/422724), but it
does support console_scripts. This also makes the scripts importable,
allowing for unittest and code reuse.
2012-05-04 09:49:18 +02:00
Vincent Driessen 100d23b72e Tag the first public release. 2012-03-28 22:17:40 +02:00
Vincent Driessen a662180fd3 Make importlib dependency conditional on the Python version. 2012-03-22 14:51:27 +01:00
Vincent Driessen 15342f14d3 Store pickled function calls as strings.
This aids unpacking in the case of a function that isn't importable from
the worker's runtime. The unpickling will now (almost) always succeed,
and throw an ImportError later on, when the function is actually
accessed (thus imported implicitly).

The end result is a job on the failed queue, with exc_info describing
the import error, which is tremendously useful.
2012-03-21 13:09:52 +01:00
Vincent Driessen 65105b44c3 CHECKPOINT: Initial part of the big refactor. 2012-02-08 00:40:43 +01:00
Vincent Driessen 27ddde2008 Make procname a hard dependency. 2011-11-28 14:17:42 +01:00
Vincent Driessen da228dd76c Fix casing. 2011-11-28 14:07:12 +01:00
Vincent Driessen 2300338893 Update dependencies accordingly 2011-11-28 14:07:04 +01:00