Skip to main content

A command-line tool for deploying Scrapy spiders to APCloudy

Project description

PAB - APCloudy Deployment Tool

PAB is a command-line tool for deploying Scrapy spiders to APCloudy, similar to how shub works with Scrapinghub. It provides an easy way to manage and deploy your web scraping projects to the APCloudy platform.

Features

  • 🚀 Easy deployment of Scrapy spiders to APCloudy
  • 🔐 Secure authentication and credential management
  • 📦 Automatic project packaging and upload
  • 📋 Project and spider management
  • 🔄 Real-time deployment status tracking
  • 🌟 Cross-platform support (Windows, macOS, Linux)

Installation

You can install PAB using pip:

pip install pab-cli

Or install from source:

git clone https://github.com/fawadss1/pab-cli.git
cd pab-cli
pip install -e .

Quick Start

1. Login to APCloudy

pab login

This will prompt you for your APCloudy API key and save it securely.

2. List Available Projects

pab projects

This will show you all available projects with their IDs.

3. Deploy a Spider

Navigate to your Scrapy project directory and run:

pab deploy <project-id>

For example:

pab deploy 5465

PAB will automatically package your project and deploy it to the specified project on APCloudy.

You can also specify additional options:

pab deploy 5465 --version v0.1.0 --target /path/to/project

Commands

Authentication

  • pab login - Login to APCloudy with API key
  • pab logout - Logout from APCloudy
  • pab status - Show current authentication status

Deployment

  • pab deploy <project-id> - Deploy current project to specified APCloudy project
  • pab deploy <project-id> --version <version> - Deploy with specific version tag
  • pab deploy <project-id> --target <path> - Deploy from specific directory

Project Management

  • pab projects - List all available projects
  • pab spiders <project-id> - List spiders in a project

Configuration

PAB stores configuration in:

  • Windows: %APPDATA%\pab\pab_config.json
  • macOS/Linux: ~/.pab/pab_config.json

Examples

Basic Usage

# Login to APCloudy
pab login

# List available projects to get project IDs
pab projects

# Deploy to project ID 5465
pab deploy 5465

# Check authentication status
pab status

# List spiders in a project
pab spiders 5465

Advanced Usage

# Deploy with specific version
pab deploy 5465 --version production-2024

# Deploy from different directory
pab deploy 5465 --target /path/to/project

# Deploy with custom version and target
pab deploy 5465 --version v1.2.3 --target /my/scrapy/project

API Endpoints

PAB communicates with APCloudy using the following API endpoints:

  • POST /api/cli/auth/authenticate - API key authentication
  • POST /api/cli/auth/refresh - Token refresh
  • GET /api/cli/projects - List projects
  • POST /api/cli/projects/{id}/deploy - Deploy spider
  • GET /api/cli/projects/{id}/spiders - List spiders
  • GET /api/cli/deployments/{id}/status - Deployment status

Requirements

  • Python 3.7+
  • Scrapy 2.0+
  • Valid APCloudy account and API key

Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

For support, please contact:

Changelog

v0.1.0

  • Initial release
  • Basic authentication and deployment functionality
  • Project and spider management
  • Cross-platform support

Made with ❤️ by Fawad Ali for AskPablos

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

pab_cli-0.2.0.tar.gz (15.3 kB view details)

Uploaded Source

Built Distribution

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

pab_cli-0.2.0-py3-none-any.whl (15.0 kB view details)

Uploaded Python 3

File details

Details for the file pab_cli-0.2.0.tar.gz.

File metadata

  • Download URL: pab_cli-0.2.0.tar.gz
  • Upload date:
  • Size: 15.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for pab_cli-0.2.0.tar.gz
Algorithm Hash digest
SHA256 c3ea24b68a3069000e12dbf058acf65307231a38cfbb768b0cbd79bd5e15ba8a
MD5 74ef11921bc6e590aca34547b5bff978
BLAKE2b-256 7a2b7738a8bd01df37d145dd6fcfe8da0985da4bfcc6e4bdbe6e4aff0cdd14b4

See more details on using hashes here.

File details

Details for the file pab_cli-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: pab_cli-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 15.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for pab_cli-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ad1ebd241a4e453b93262a4285da1311fe2d29a690f398ac93ae87f362e16511
MD5 8ad9658800c4cd5e552715ba98526060
BLAKE2b-256 f8e8e23ccc747b865f0a62d46a5e73bbadadb2d55c29ca40d8da19a6b4e4b21a

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