apcloudy


Nameapcloudy JSON
Version 0.1.1 PyPI version JSON
download
home_pagehttps://github.com/fawadss1/apcloudy
SummaryA Python client for interacting with the APCloudy platform
upload_time2025-08-06 12:17:08
maintainerNone
docs_urlNone
authorFawad Ali
requires_python>=3.7
licenseMIT
keywords apcloudy api client web scraping spiders
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # APCloudy

[![PyPI version](https://badge.fury.io/py/apcloudy.svg)](https://badge.fury.io/py/apcloudy)
[![Python versions](https://img.shields.io/pypi/pyversions/apcloudy.svg)](https://pypi.org/project/apcloudy/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Documentation Status](https://readthedocs.org/projects/apcloudy/badge/?version=latest)](https://apcloudy.readthedocs.io/en/latest/?badge=latest)
[![Downloads](https://pepy.tech/badge/apcloudy)](https://pepy.tech/project/apcloudy)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/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](https://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:

```bash
pip install apcloudy
```

## Quick Start

```python
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

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

### Running Tests

```bash
pytest
```

### Code Formatting

```bash
black apcloudy/
flake8 apcloudy/
```

### Type Checking

```bash
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](LICENSE) file for details.

## Support

If you encounter any issues or have questions, please file an issue on the [GitHub repository](https://github.com/fawadss1/apcloudy/issues).


[Unreleased]: https://github.com/fawadss1/apcloudy/compare/v0.1.0...HEAD
[0.1.0]: https://github.com/fawadss1/apcloudy/releases/tag/v0.1.0

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/fawadss1/apcloudy",
    "name": "apcloudy",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "Fawad Ali <fawadstar6@gmail.com>",
    "keywords": "apcloudy, api, client, web scraping, spiders",
    "author": "Fawad Ali",
    "author_email": "Fawad Ali <fawadstar6@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/19/f5/8416c22760c70dd31dc5b0bb791392032779384ef6a9d940d125e2639276/apcloudy-0.1.1.tar.gz",
    "platform": null,
    "description": "# APCloudy\r\n\r\n[![PyPI version](https://badge.fury.io/py/apcloudy.svg)](https://badge.fury.io/py/apcloudy)\r\n[![Python versions](https://img.shields.io/pypi/pyversions/apcloudy.svg)](https://pypi.org/project/apcloudy/)\r\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\r\n[![Documentation Status](https://readthedocs.org/projects/apcloudy/badge/?version=latest)](https://apcloudy.readthedocs.io/en/latest/?badge=latest)\r\n[![Downloads](https://pepy.tech/badge/apcloudy)](https://pepy.tech/project/apcloudy)\r\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\r\n\r\nA 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.\r\n\r\n## \ud83d\udcda Documentation\r\n\r\nComplete documentation is available at **[apcloudy.readthedocs.io](https://apcloudy.readthedocs.io/)**\r\n\r\n## Features\r\n\r\n- **Project Management**: Create, update, and manage your APCloudy projects\r\n- **Spider Management**: Deploy and manage web scraping spiders\r\n- **Job Management**: Start, monitor, and manage scraping jobs\r\n- **Authentication**: Secure API key-based authentication\r\n- **Error Handling**: Comprehensive error handling with custom exceptions\r\n- **Rate Limiting**: Built-in rate limiting support\r\n\r\n## Installation\r\n\r\nInstall apcloudy using pip:\r\n\r\n```bash\r\npip install apcloudy\r\n```\r\n\r\n## Quick Start\r\n\r\n```python\r\nfrom apcloudy import APCloudyClient\r\n\r\n# Initialize the client with your API key\r\nclient = APCloudyClient(\"your-api-key-here\")\r\n\r\n# Get all projects\r\nprojects = client.get_projects()\r\n\r\n# Get a specific project\r\nproject = client.get_project(\"project-id\")\r\n\r\n# List spiders in a project\r\nspiders = client.get_spiders(\"project-id\")\r\n\r\n# Start a job\r\njob = client.start_job(\"project-id\", \"spider-name\")\r\n\r\n# Get job status\r\njob_status = client.get_job(\"job-id\")\r\n```\r\n\r\n## API Reference\r\n\r\n### APCloudyClient\r\n\r\nThe main client class for interacting with the APCloudy API.\r\n\r\n#### Methods\r\n\r\n- `get_projects()`: List all projects\r\n- `get_project(project_id)`: Get a specific project\r\n- `get_spiders(project_id)`: List spiders in a project\r\n- `get_spider(project_id, spider_name)`: Get a specific spider\r\n- `start_job(project_id, spider_name, **kwargs)`: Start a new job\r\n- `get_job(job_id)`: Get job details\r\n- `get_jobs(project_id)`: List jobs for a project\r\n- `stop_job(job_id)`: Stop a running job\r\n\r\n### Models\r\n\r\n- `Project`: Represents an APCloudy project\r\n- `Spider`: Represents a spider within a project\r\n- `Job`: Represents a scraping job\r\n- `JobState`: Enumeration of possible job states\r\n\r\n### Exceptions\r\n\r\n- `APIError`: Base exception for API errors\r\n- `AuthenticationError`: Raised when authentication fails\r\n- `ProjectNotFoundError`: Raised when a project is not found\r\n- `SpiderNotFoundError`: Raised when a spider is not found\r\n- `JobNotFoundError`: Raised when a job is not found\r\n- `RateLimitError`: Raised when rate limits are exceeded\r\n\r\n## Development\r\n\r\n### Installing for Development\r\n\r\n```bash\r\ngit clone https://github.com/yourusername/apcloudy.git\r\ncd apcloudy\r\npip install -e \".[dev]\"\r\n```\r\n\r\n### Running Tests\r\n\r\n```bash\r\npytest\r\n```\r\n\r\n### Code Formatting\r\n\r\n```bash\r\nblack apcloudy/\r\nflake8 apcloudy/\r\n```\r\n\r\n### Type Checking\r\n\r\n```bash\r\nmypy apcloudy/\r\n```\r\n\r\n## Contributing\r\n\r\nContributions 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.\r\n\r\n1. Fork the repository\r\n2. Create your feature branch (`git checkout -b feature/amazing-feature`)\r\n3. Commit your changes (`git commit -m 'Add some amazing feature'`)\r\n4. Push to the branch (`git push origin feature/amazing-feature`)\r\n5. Open a Pull Request\r\n\r\n## License\r\n\r\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\r\n\r\n## Support\r\n\r\nIf you encounter any issues or have questions, please file an issue on the [GitHub repository](https://github.com/fawadss1/apcloudy/issues).\r\n\r\n\r\n[Unreleased]: https://github.com/fawadss1/apcloudy/compare/v0.1.0...HEAD\r\n[0.1.0]: https://github.com/fawadss1/apcloudy/releases/tag/v0.1.0\r\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A Python client for interacting with the APCloudy platform",
    "version": "0.1.1",
    "project_urls": {
        "Bug Reports": "https://github.com/fawadss1/apcloudy/issues",
        "Documentation": "https://github.com/fawadss1/apcloudy#readme",
        "Homepage": "https://github.com/fawadss1/apcloudy",
        "Source": "https://github.com/fawadss1/apcloudy"
    },
    "split_keywords": [
        "apcloudy",
        " api",
        " client",
        " web scraping",
        " spiders"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9009944f6d9a7c66528a3565afe53916d71507cd9ac48e95f1271ec0ac49b5e6",
                "md5": "09c29b77552f51403e4fd5175f3e6fa6",
                "sha256": "83483a5f2827cd282a663efd404a1c0b5db77212d3f81dcfaacf08091f615877"
            },
            "downloads": -1,
            "filename": "apcloudy-0.1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "09c29b77552f51403e4fd5175f3e6fa6",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 15764,
            "upload_time": "2025-08-06T12:17:06",
            "upload_time_iso_8601": "2025-08-06T12:17:06.669693Z",
            "url": "https://files.pythonhosted.org/packages/90/09/944f6d9a7c66528a3565afe53916d71507cd9ac48e95f1271ec0ac49b5e6/apcloudy-0.1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "19f58416c22760c70dd31dc5b0bb791392032779384ef6a9d940d125e2639276",
                "md5": "f9447e8fcc766a557a0dfe7822939596",
                "sha256": "b2b047455e56cb62f0a1f303d93323d3ae6d258f8c6a9f480652327090db59bf"
            },
            "downloads": -1,
            "filename": "apcloudy-0.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "f9447e8fcc766a557a0dfe7822939596",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 41497,
            "upload_time": "2025-08-06T12:17:08",
            "upload_time_iso_8601": "2025-08-06T12:17:08.081075Z",
            "url": "https://files.pythonhosted.org/packages/19/f5/8416c22760c70dd31dc5b0bb791392032779384ef6a9d940d125e2639276/apcloudy-0.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-06 12:17:08",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "fawadss1",
    "github_project": "apcloudy",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "apcloudy"
}
        
Elapsed time: 0.98962s