Skip to main content

APCloudy

PyPI version Python versions License: MIT Documentation Status Downloads Code style: black

A Python client library for interacting with the APCloudy platform. This library provides a simple and intuitive interface for managing projects, spiders, and jobs on the APCloudy web scraping platform.

📚 Documentation

Complete documentation is available at apcloudy.readthedocs.io

Features

  • Project Management: Create, update, and manage your APCloudy projects
  • Spider Management: Deploy and manage web scraping spiders
  • Job Management: Start, monitor, and manage scraping jobs
  • Authentication: Secure API key-based authentication
  • Error Handling: Comprehensive error handling with custom exceptions
  • Rate Limiting: Built-in rate limiting support

Installation

Install apcloudy using pip:

pip install apcloudy

Quick Start

from apcloudy import APCloudyClient

# Initialize the client with your API key
client = APCloudyClient("your-api-key-here")

# Get all projects
projects = client.get_projects()

# Get a specific project
project = client.get_project("project-id")

# List spiders in a project
spiders = client.get_spiders("project-id")

# Start a job
job = client.start_job("project-id", "spider-name")

# Get job status
job_status = client.get_job("job-id")

API Reference

APCloudyClient

The main client class for interacting with the APCloudy API.

Methods

  • get_projects(): List all projects
  • get_project(project_id): Get a specific project
  • get_spiders(project_id): List spiders in a project
  • get_spider(project_id, spider_name): Get a specific spider
  • start_job(project_id, spider_name, **kwargs): Start a new job
  • get_job(job_id): Get job details
  • get_jobs(project_id): List jobs for a project
  • stop_job(job_id): Stop a running job

Models

  • Project: Represents an APCloudy project
  • Spider: Represents a spider within a project
  • Job: Represents a scraping job
  • JobState: Enumeration of possible job states

Exceptions

  • APIError: Base exception for API errors
  • AuthenticationError: Raised when authentication fails
  • ProjectNotFoundError: Raised when a project is not found
  • SpiderNotFoundError: Raised when a spider is not found
  • JobNotFoundError: Raised when a job is not found
  • RateLimitError: Raised when rate limits are exceeded

Development

Installing for Development

git clone https://github.com/yourusername/apcloudy.git
cd apcloudy
pip install -e ".[dev]"

Running Tests

pytest

Code Formatting

black apcloudy/
flake8 apcloudy/

Type Checking

mypy apcloudy/

Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

  1. Fork the repository
  2. Create your 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

If you encounter any issues or have questions, please file an issue on the GitHub repository.

Metadata

Release files for apcloudy 0.1.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for apcloudy 0.1.6
File Size Uploaded
apcloudy-0.1.6.tar.gz 40.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for apcloudy 0.1.6
File Interpreter ABI Platform
apcloudy-0.1.6-py3-none-any.whl Python 3 none any Details

Total release size: 56.9 kB

Release files / apcloudy-0.1.6.tar.gz

Download URL apcloudy-0.1.6.tar.gz
Size 40.8 kB
Tags Source
SHA-256 checksum
How to use checksums
232d6bb6e5c8354e387c30a34d10be7d4064d7d1e9da4f9fa47abd6e3d90d46d
BLAKE2b-256 checksum
How to use checksums
f0ff059333da28db9d2b2745a9b53e0bcb07cfc16ae3ab15dd5877773b5c0932
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.7

Release files / apcloudy-0.1.6-py3-none-any.whl

Download URL apcloudy-0.1.6-py3-none-any.whl
Size 16.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4c9a2d172ecf0eb40ffba808b2ade08b31212ed07acc8c16e4702c162fcb55b4
BLAKE2b-256 checksum
How to use checksums
e5d0afcc869a259508e91d071b05e28b006048746a24b761415f2672b0809968
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.7

Release history Release notifications | RSS feed

This release

0.1.6 This release

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page