Skip to main content

A Scrapy addon that allows to access arguments via the dot

Project description

Title

Description

For those who are tired to use scrapy's brackets and quotes. In one line of code this library will increase the readability of your code, make it more stable to human error. And will introduce IDEs code completion features to your scrapy items. You will be able to use scrapy items as normal python objects using dot syntax.

The regular bulky way to do it:

regular_scrapy_item['some_field'] = 42
print(regular_scrapy_item.get('some_field'))

The simple dot-items way:

scrapy_dot_item.some_field = 42
print(scrapy_dot_item.some_field)

Installation

pip install scrapy-dot-items

Usage

Apply to a single scrapy item class

You can add functionality with the dot_item decorator to a single class

from scrapy_dot_items import dot_item

@dot_item
class RealEstateItem(scrapy.Item):
    price = scrapy.Field()

dot_scrapy_item = RealEstateItem()

dot_scrapy_item.price = 1000
print(dot_scrapy_item.price)  # prints 1000

Apply to all scrapy items

You can apply this functionality globally

from scrapy_dot_items import dot_items_globally

dot_items_globally()  # now every scrapy.Item class will have this functionality

class RealEstateItem(scrapy.Item):
    price = scrapy.Field()

dot_scrapy_item = RealEstateItem()

dot_scrapy_item.price = 1000
print(dot_scrapy_item.price)  # prints 1000

Backwards compatibility

scrapy-dot-items are backwards compatible. You can install it into your old project and mix regular and dot style.

dot_scrapy_item['price'] = 2000  # you can still set and get the items the regular way too
print(dot_scrapy_item.get('price'))  # prints 2000
print(dot_scrapy_item.price)  # prints 2000

For contributers

This project uses pipenv instead of pip. Setup:

  • intall pipenv with 'pip install pipenv'
  • create a virtual environment using pipenv with 'pipenv shell' in the root directory
  • install the dependencies with 'pipenv install'

Attention: Please install all packages with 'pipenv install <package_name>'. Do NOT use 'pip install ...'. The same for unistalling 'pipenv uninstall <package_name>'

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scrapy-dot-items-1.0.4.tar.gz (2.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

scrapy_dot_items-1.0.4-py3-none-any.whl (3.4 kB view details)

Uploaded Python 3

File details

Details for the file scrapy-dot-items-1.0.4.tar.gz.

File metadata

  • Download URL: scrapy-dot-items-1.0.4.tar.gz
  • Upload date:
  • Size: 2.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.5

File hashes

Hashes for scrapy-dot-items-1.0.4.tar.gz
Algorithm Hash digest
SHA256 1eac1984c150ae2936f9033ce76e36facf42f108fd15ec19f009b3a168f18432
MD5 d7b21e0a6564fe105cf8759ae55f803d
BLAKE2b-256 66b06cb5291e42c676ab6f2f4de466e072288853d0ed9c7672ed20aa4f591048

See more details on using hashes here.

File details

Details for the file scrapy_dot_items-1.0.4-py3-none-any.whl.

File metadata

File hashes

Hashes for scrapy_dot_items-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 079c93021a1ee40b641d27d78d123d2a0c452c138f10c91073e0fec68ac615ba
MD5 06d0540b4ba3fb794aa9b0ea55dfc49d
BLAKE2b-256 5e3d23e5cce3d52e82f1446a18aafa2bd8b7d6a79a2c7882afb66e3e79542b61

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page