~~~~~~~~~~~~~~~~~~
Added
^^^^^
- Add ``scrapyd-client targets`` subcommand.
- ``scrapyd-client`` can be called as ``python -m scrapyd_client``.
- Add support for Python 3.12.
Changed
^^^^^^^
Changes to commands:
- **BREAKING CHANGE:** ``scrapyd-client`` subcommands accept the ``--target`` (``-t``) option, not the ``scrapyd-client`` command. The target is the name of a target in the ``scrapy.cfg`` file, like ``scrapyd-deploy``, instead of a URL.
- **BREAKING CHANGE:** ``scrapyd-client`` raises an error if no Scrapy project is found, like ``scrapyd-deploy``, instead of assuming a target at ``http://localhost:6800``.
- The ``scrapyd-client schedule`` subcommand accepts multiple ``--arg setting=...`` arguments. (mxdev88)
- The ``scrapyd_client.ScrapyClient.schedule`` methods accept ``args`` as a list, instead of as a dict.
- The ``scrapyd-deploy --debug`` option prints the subprocess' standard output and standard error, instead of writing to ``stdout`` and ``stderr`` files.
Changes to modules:
- **BREAKING CHANGE:** Move exceptions from ``scrapyd_client.utils`` to ``scrapyd_client.exceptions``.
- **BREAKING CHANGE:** Move ``DEFAULT_TARGET_URL`` and ``HEADERS`` from ``scrapyd_client.utils`` to ``scrapyd_client.pyclient``.
- **BREAKING CHANGE:** Merge ``scrapyd_client.commands`` and ``scrapyd_client.cli`` into ``scrapyd_client.__main__``.
Fixed
^^^^^
- Run ``clean`` separately from building the egg. (Setuptools caches the Python packages from before ``clean`` runs.)
- Add ``pip`` requirement for ``uberegg``.
Removed
^^^^^^^
- **BREAKING CHANGE:** Remove the ``scrapyd-client --username`` (``-u``) and ``--password`` (``-p``) options, in favor of using the ``scrapy.cfg`` file.
- **BREAKING CHANGE:** Remove the ``scrapyd-deploy --list-targets`` (``-l``) option, in favor of ``scrapyd-client targets``.
- **BREAKING CHANGE:** Remove the ``scrapyd-deploy --list-projects`` (``-L``) option, in favor of ``scrapyd-client projects``.
- **BREAKING CHANGE:** Remove the ``get_request`` and ``post_request`` functions from ``scrapyd_client.utils``.
- **BREAKING CHANGE:** Remove the ``scrapyd_client.lib`` module, in favor of ``scrapyd_client.ScrapydClient``.
- Remove ``urllib3`` and ``w3lib`` requirements.
- Drop support for Python 3.7, 3.8.