APCloudy
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 projectsget_project(project_id): Get a specific projectget_spiders(project_id): List spiders in a projectget_spider(project_id, spider_name): Get a specific spiderstart_job(project_id, spider_name, **kwargs): Start a new jobget_job(job_id): Get job detailsget_jobs(project_id): List jobs for a projectstop_job(job_id): Stop a running job
Models
Project: Represents an APCloudy projectSpider: Represents a spider within a projectJob: Represents a scraping jobJobState: Enumeration of possible job states
Exceptions
APIError: Base exception for API errorsAuthenticationError: Raised when authentication failsProjectNotFoundError: Raised when a project is not foundSpiderNotFoundError: Raised when a spider is not foundJobNotFoundError: Raised when a job is not foundRateLimitError: 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.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - 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)
| File | Size | Uploaded | |
|---|---|---|---|
| apcloudy-0.1.6.tar.gz | 40.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|